Interface: ShapeProps
Extends
Properties
adjustHandles?
optionaladjustHandles?:ShapeAdjustHandle[]
Adjust handles (<a:ahLst>) for a custGeom shape: draggable handles (XY or polar), optionally bound to guides via gdRef*.
align?
optionalalign?:HAlign
Horizontal alignment
Default
ts
'left'altText?
optionalaltText?:string
Alt Text value ("How would you describe this object and its contents to someone who is blind?")
- serialized to the generated object's
p:cNvPrdescrattribute - PowerPoint: [right-click on the object] > "Edit Alt Text..."
Example
ts
'Quarterly revenue bar chart'Inherited from
angleRange?
optionalangleRange?: [number,number]
Radius (only for ShapeType.pie, ShapeType.arc, ShapeType.blockArc)
- In the case of ShapeType.blockArc you have to setup the arcThicknessRatio
- values: [0-359, 0-359]
Default
ts
[270, 0]arcThicknessRatio?
optionalarcThicknessRatio?:number
Radius (only for ShapeType.blockArc)
- You have to setup the angleRange values too
- values: 0.0-1.0
Default
ts
0.5connectionSites?
optionalconnectionSites?:ShapeConnectionSite[]
Connection sites (<a:cxnLst>) for a custGeom shape: the points a connector can attach to. Positions are absolute in the object's own space (like points); a startShapeIdx/endShapeIdx on an addConnector indexes into this list.
Example
ts
[{ ang: 0, x: 1, y: 0 }, { ang: 180, x: 0, y: 1 }]fill?
optionalfill?:FillOption
Shape fill color properties, or a bare Color as shorthand for a solid fill (FillOption).
Examples
ts
'FF0000' // hex color (red), shorthand for { color:'FF0000' }ts
{ color:'FF0000' } // hex color (red)ts
{ color:'0088CC', transparency:50 } // hex color, 50% transparentts
{ color:SchemeColor.accent1 } // Theme color Accent1flipH?
optionalflipH?:boolean
Flip shape horizontally?
Default
ts
falseflipV?
optionalflipV?:boolean
Flip shape vertical?
Default
ts
falseguides?
optionalguides?:ShapeGuide[]
Geometry guides (<a:gdLst>) for a custGeom shape: named construction formulas that connection sites / adjust handles can reference. Advanced: each formula is emitted verbatim.
Example
ts
[{ name: 'w2', formula: 'val 10800' }]h?
optionalh?:Coord
Height
- inches or percentage
Examples
ts
10.25 // height in inchests
'75%' // height as percentage of slide sizeInherited from
hyperlink?
optionalhyperlink?:HyperlinkProps
Add hyperlink to shape
Example
ts
hyperlink: { url: "https://example.com", tooltip: "Visit Homepage" },line?
optionalline?:ShapeLineProps
Line options
objectLock?
optionalobjectLock?:ObjectLockProps
Object lock flags (DrawingML a:spLocks / a:picLocks / a:graphicFrameLocks)
- restrict how the object can be manipulated in PowerPoint (e.g. prevent moving, resizing, or grouping)
- each flag maps 1:1 to the OOXML attribute of the same name; only flags set to
trueare emitted - PowerPoint UI: Selection Pane / right-click protections (most locks are honored at edit time, not as a password)
- flags only apply to the object types that support them (see each flag); flags set on an unsupported object type are ignored with a console warning
Examples
ts
{ noMove: true, noResize: true } // pin an object in placets
{ noGrp: true } // exclude from groupingInherited from
objectName?
optionalobjectName?:string
Object name
- used instead of the default name for the object's kind:
Text 1,Shape 2,Image 1and so on, numbered per kind (seedocs/reference/object-names.md) - PowerPoint: Home > Arrange > Selection Pane...
Example
ts
'Antenna Design 9'Inherited from
points?
optionalpoints?:GeometryPoint[]
Points (only for ShapeType.custGeom)
- type: 'arc' (no end point; it is computed from the pen position, radii and sweep)
hRShape Arc Height RadiuswRShape Arc Width RadiusstAngShape Arc Start Angle (degrees, not wrapped into 0..360)swAngShape Arc Swing Angle (degrees, not wrapped into 0..360)
See
http://www.datypic.com/sc/ooxml/e-a_arcTo-1.html
Example
ts
[{ x: 0, y: 0 }, { x: 10, y: 10 }] // draw a line between those two pointsrectRadius?
optionalrectRadius?:number
Corner radius (inches), for 'roundRect' and the other rounded presets
- resolved against the shorter side of the shape and written as the preset's corner guide
- not clamped: a radius past half the shorter side is written as given, and PowerPoint draws the corner at its limit
- omitted, the preset keeps its own radius
rotate?
optionalrotate?:number
Rotation (degrees)
- range: -360 to 360
Default
ts
0Example
ts
180 // rotate 180 degreesshadow?
optionalshadow?:ShadowProps
Shadow options
shapeAdjust?
optionalshapeAdjust?:ShapeAdjustValue|ShapeAdjustValue[]
Preset-geometry adjustment handles (<a:avLst> guides) for any preset shape.
- Use this to tune adjustment handles that lack a dedicated shortcut option, e.g. chevron/arrow point depth, callout pointer, bevel/frame thickness.
- Accepts a single guide or an array; each
valueis a0.0–1.0fraction of the handle's range (see ShapeAdjustValue). rectRadius/angleRangeremain friendly shortcuts; anyshapeAdjustguide that does not collide with a shortcut name is emitted in addition.
Examples
ts
{ name: 'adj', value: 0.25 } // set the single adjust handle to 25%ts
[{ name: 'adj1', value: 0.5 }, { name: 'adj2', value: 0.25 }] // two handlesw?
optionalw?:Coord
Width
- inches or percentage
Examples
ts
10.25 // width in inchests
'75%' // width as percentage of slide sizeInherited from
x?
optionalx?:Coord
Horizontal position
- inches or percentage
Examples
ts
10.25 // position in inchests
'75%' // position as percentage of slide sizeInherited from
y?
optionaly?:Coord
Vertical position
- inches or percentage
Examples
ts
10.25 // position in inchests
'75%' // position as percentage of slide size