Skip to content

Interface: ImportShapeOptions ​

Options for Presentation.importShape / Presentation.importShapes.

Properties ​

at? ​

optional at?: number

Insert position among the host shape tree's shape children (z-order, 0 = backmost). Out-of-range or omitted appends on top. A batch inserts in the given order starting at this position.


carryAnimation? ​

optional carryAnimation?: boolean

Carry the lifted shape's build animation across (default false). A shape's entrance/emphasis/exit build lives in the slide-scoped p:timing, not in the shape subtree, so it is dropped unless opted in. When set, the shape's effect click-group(s) and <p:bldP> are copied into the destination p:timing (created if absent), their spid references remapped to the shape's new id and their <p:cTn> ids renumbered to stay collision-free, and appended after any existing build — mirroring how PowerPoint merges a pasted shape's animation (see the import-animation-merge oracle).

Default ​

ts
false

height? ​

optional height?: number

Override height (EMU); must be positive.


left? ​

optional left?: number

Override left edge (EMU). Omitted axes keep the shape's source a:off/a:ext.


rescale? ​

optional rescale?: boolean | "stretch" | "fit"

What to do when the source slide size differs from this deck's. Default (false/omitted) throws on any mismatch. Set it to rescale the lifted shape's geometry onto this deck's canvas instead (mirrors ImportSlideOptions.rescale, scoped to one shape):

  • 'fit' (or true): uniform scale by min(sx, sy), slack centered — the shape keeps its aspect ratio (circles stay circles, rotations hold) and lands at the position it would occupy on a centered copy of the source canvas. Matches PowerPoint's "Ensure Fit".
  • 'stretch': independent per-axis scale; distorts. Matches "Maximize".

Only geometry is rescaled — the shape/group/graphicFrame transform (a:off/a:ext) and any table grid (a:gridCol@w, a:tr@h). Font sizes, line widths, and other absolute sizes are left as authored, so heavy down-scaling can leave text overflowing its (now smaller) box. Explicit left/top/width/height overrides are applied after rescale and win.

Default ​

ts
false

theme? ​

optional theme?: "copy" | "preserve" | "restyle"

How the lifted shape relates to themes, mirroring ImportSlideOptions but scoped to one shape subtree:

  • 'preserve' (default): bake the shape's scheme/style-matrix colours (and, for a lifted placeholder, its inherited geometry/colour/size/anchor/list style) to literals using the source slide's theme, so it keeps its look on a host slide whose theme differs. A lifted placeholder is also demoted to a plain shape (its p:ph stripped) once everything it inherited is baked, so it neither re-resolves against the host's placeholder of the same type/idx nor collides with it. The safe default for composing across decks.
  • 'restyle': leave the shape's theme references symbolic so it re-brands to the host theme. Only symbolic colours re-brand — literal a:srgbClr the source baked in stays put (same limitation as importSlide restyle).
  • 'copy': bring the shape's XML across untouched; only sane when the host already shares the source theme.

Unlike a slide import this never runs the slide-scoped background passes — a background belongs to a slide, not to a composed shape.


top? ​

optional top?: number

Override top edge (EMU).


width? ​

optional width?: number

Override width (EMU); must be positive.