@office-kit/pptx-dev 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/dist/animation-player.js +1 -1
- package/dist/cli.mjs +43 -18
- package/dist/cli.mjs.map +1 -1
- package/dist/editor-chunks/agent-tools-emRGeP2H-WN4XUNCN.js +425 -0
- package/dist/editor-chunks/chunk-Q3KT5ZGJ.js +738 -0
- package/dist/editor.js +24 -162
- package/dist/index.mjs +1 -1
- package/dist/src-DASlwPDd.mjs +457 -0
- package/dist/src-DASlwPDd.mjs.map +1 -0
- package/package.json +6 -6
- package/dist/editor.css +0 -1
- package/dist/src-CI73YbYS.mjs +0 -1741
- package/dist/src-CI73YbYS.mjs.map +0 -1
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
import{A as ee,B as te,C as ie,D as re,E as $,F as se,G as ae,I as w,a as b,b as A,c as k,d as v,e as O,f as E,g as V,h as S,i as I,j as B,k as q,l as F,m as M,n as W,o as H,p as L,q as N,r as z,s as U,t as _,u as X,v as Y,w as K,x as J,y as Z,z as Q}from"./chunk-Q3KT5ZGJ.js";var de={notTools:{createPresentation:"returns a new presentation instead of editing the open one",importSlide:"copies a slide from another presentation, which a model cannot pass",mergePresentations:"merges another presentation, which a model cannot pass",sortSlides:"takes a comparison function"},refs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},ChartRef:{$ref:"#/$defs/ShapeRef",description:"A chart, by the ShapeRef of the graphic frame that holds it."},CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},LayoutRef:{type:"string",pattern:"^/ppt/slideLayouts/[^/]+\\.xml$",description:'A slide layout, by its part name as `listLayouts` reports it, e.g. "/ppt/slideLayouts/slideLayout1.xml".'},CommentRef:{type:"object",description:"A comment, by its slide and its 0-based position in `listComments` for that slide.",properties:{slide:{$ref:"#/$defs/SlideRef"},index:{type:"integer",minimum:0}},required:["slide","index"],additionalProperties:!1},Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."},DateTime:{type:"string",format:"date-time",description:"An RFC 3339 date-time."}},tools:[{name:"addBlankSlide",description:`Convenience over \`addSlide\` that picks a layout automatically:
|
|
2
|
+
|
|
3
|
+
1. The layout with \`<p:sldLayout type="blank">\`, if present.
|
|
4
|
+
2. Otherwise, the first available layout (alphabetical by
|
|
5
|
+
part name).
|
|
6
|
+
|
|
7
|
+
Throws when the package carries no layouts at all (which would
|
|
8
|
+
be a structurally-broken deck).`,args:[null],input_schema:{type:"object",properties:{},additionalProperties:!1},output:{$ref:"#/$defs/SlideRef",$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"addContentSlide",description:'Sugar over `addSlide` + `setSlideTitle` + `setSlideBody` for the\n"title + body" pattern. Picks the `obj` (Title and Content)\nlayout when present, falling back to the first layout with a\nbody placeholder.\n\nThrows if no layout in the package offers a body slot.',args:[null,"opts"],input_schema:{type:"object",properties:{opts:{type:"object",properties:{title:{type:"string"},body:{type:"string"}},additionalProperties:!1}},required:["opts"],additionalProperties:!1},output:{$ref:"#/$defs/SlideRef",$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"addMissingSlidePlaceholders",description:`Restore missing slide placeholders using the current layout.
|
|
9
|
+
Existing content, geometry and formatting are untouched, including grouped
|
|
10
|
+
placeholders. New slots inherit their layout's geometry and text style;
|
|
11
|
+
layout prompt text and layout-only relationships are not copied.
|
|
12
|
+
Returns the number of added placeholders. Repeated calls do not add duplicates.`,args:["slide"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"number"}},{name:"addSectionHeaderSlide",description:'Sugar over `addSlide` + `setSlideTitle` for the section-divider\npattern. Picks `<p:sldLayout type="secHead">` when present (the\nthe reference desktop app\'s "Section Header" layout); otherwise falls back to a\n`title`-typed layout or the first available layout.',args:[null,"title"],input_schema:{type:"object",properties:{title:{type:"string"}},required:["title"],additionalProperties:!1},output:{$ref:"#/$defs/SlideRef",$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"addSlide",description:"Adds a new slide bound to `layout`. Returns the new `SlideData`.\n\nAllocates a fresh part name, sldId, and rId; clones layout\nplaceholders into the slide; writes `[Content_Types].xml`, the\nslide's `.rels`, presentation's `.rels`, and `<p:sldIdLst>`. The\ndeck cache is updated while existing slide handles remain valid.\nThe layout must belong to this presentation.",args:[null,"options"],input_schema:{type:"object",properties:{options:{type:"object",properties:{layout:{$ref:"#/$defs/LayoutRef"}},required:["layout"],additionalProperties:!1}},required:["options"],additionalProperties:!1,$defs:{LayoutRef:{type:"string",pattern:"^/ppt/slideLayouts/[^/]+\\.xml$",description:'A slide layout, by its part name as `listLayouts` reports it, e.g. "/ppt/slideLayouts/slideLayout1.xml".'}}},output:{$ref:"#/$defs/SlideRef",$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"addSlideAt",description:`Inserts slides at a 0-based index, clamped to the presentation bounds.
|
|
13
|
+
A list of layout options inserts a contiguous batch in the same order,
|
|
14
|
+
allocating IDs and updating shared package parts once. Existing slide handles
|
|
15
|
+
remain valid. All layouts must belong to the target presentation.`,args:[null,"atIndex","options"],input_schema:{type:"object",properties:{atIndex:{type:"number"},options:{type:"array",items:{type:"object",properties:{layout:{$ref:"#/$defs/LayoutRef"}},required:["layout"],additionalProperties:!1}}},required:["atIndex","options"],additionalProperties:!1,$defs:{LayoutRef:{type:"string",pattern:"^/ppt/slideLayouts/[^/]+\\.xml$",description:'A slide layout, by its part name as `listLayouts` reports it, e.g. "/ppt/slideLayouts/slideLayout1.xml".'}}},output:{type:"array",items:{$ref:"#/$defs/SlideRef"},$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"addSlideChart",description:"Adds a native chart to the slide at `x`/`y` with size `w`\xD7`h` (EMU),\nbuilt from `spec`, with an embedded workbook so the reference desktop app's \"Edit data\"\nopens the chart's numbers. Returns the chart's graphic-frame shape.",args:["slide","opts"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},opts:{type:"object",properties:{spec:{anyOf:[{anyOf:[{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},grouping:{$ref:"#/$defs/Grouping"},gapWidthPct:{$ref:"#/$defs/GapWidthPct"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},view3D:{$ref:"#/$defs/View3D2"},bar3DShape:{$ref:"#/$defs/Bar3DShape"},gapDepthPct:{$ref:"#/$defs/GapDepthPct"},seriesAxis:{$ref:"#/$defs/SeriesAxis"},dataTable:{$ref:"#/$defs/DataTable"},categoryAxisDate:{$ref:"#/$defs/CategoryAxisDate"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",enum:["bar","column"]},series:{$ref:"#/$defs/Series"}},required:["categories","view3D","categoryAxisDate","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},grouping:{$ref:"#/$defs/Grouping"},gapWidthPct:{$ref:"#/$defs/GapWidthPct"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},view3D:{$ref:"#/$defs/View3D2"},bar3DShape:{$ref:"#/$defs/Bar3DShape"},gapDepthPct:{$ref:"#/$defs/GapDepthPct"},seriesAxis:{$ref:"#/$defs/SeriesAxis"},dataTable:{$ref:"#/$defs/DataTable"},categoryGroupLevels:{$ref:"#/$defs/CategoryGroupLevels"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",enum:["bar","column"]},series:{$ref:"#/$defs/Series"}},required:["categories","view3D","kind","series"],additionalProperties:!1}]},{anyOf:[{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},dropLines:{$ref:"#/$defs/DropLines"},hiLowLines:{$ref:"#/$defs/HiLowLines"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},upDownBars:{$ref:"#/$defs/UpDownBars"},dataTable:{$ref:"#/$defs/DataTable"},categoryAxisDate:{$ref:"#/$defs/CategoryAxisDate"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"stock"},series:{$ref:"#/$defs/Series3"}},required:["categories","categoryAxisDate","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},dropLines:{$ref:"#/$defs/DropLines"},hiLowLines:{$ref:"#/$defs/HiLowLines"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},upDownBars:{$ref:"#/$defs/UpDownBars"},dataTable:{$ref:"#/$defs/DataTable"},categoryGroupLevels:{$ref:"#/$defs/CategoryGroupLevels"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"stock"},series:{$ref:"#/$defs/Series3"}},required:["categories","kind","series"],additionalProperties:!1}]},{anyOf:[{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},secondaryValueAxis:{$ref:"#/$defs/SecondaryValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},grouping:{$ref:"#/$defs/Grouping"},dropLines:{$ref:"#/$defs/DropLines"},hiLowLines:{$ref:"#/$defs/HiLowLines"},lineMarkers:{$ref:"#/$defs/LineMarkers"},gapWidthPct:{$ref:"#/$defs/GapWidthPct"},overlapPct:{$ref:"#/$defs/OverlapPct"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},upDownBars:{$ref:"#/$defs/UpDownBars"},dataTable:{$ref:"#/$defs/DataTable"},categoryAxisDate:{$ref:"#/$defs/CategoryAxisDate"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",enum:["bar","column","line","area"]},series:{$ref:"#/$defs/Series5"}},required:["categories","categoryAxisDate","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},secondaryValueAxis:{$ref:"#/$defs/SecondaryValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},grouping:{$ref:"#/$defs/Grouping"},dropLines:{$ref:"#/$defs/DropLines"},hiLowLines:{$ref:"#/$defs/HiLowLines"},lineMarkers:{$ref:"#/$defs/LineMarkers"},gapWidthPct:{$ref:"#/$defs/GapWidthPct"},overlapPct:{$ref:"#/$defs/OverlapPct"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},upDownBars:{$ref:"#/$defs/UpDownBars"},dataTable:{$ref:"#/$defs/DataTable"},categoryGroupLevels:{$ref:"#/$defs/CategoryGroupLevels"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",enum:["bar","column","line","area"]},series:{$ref:"#/$defs/Series5"}},required:["categories","kind","series"],additionalProperties:!1}]},{anyOf:[{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},grouping:{$ref:"#/$defs/Grouping"},dropLines:{$ref:"#/$defs/DropLines"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},view3D:{$ref:"#/$defs/View3D"},gapDepthPct:{$ref:"#/$defs/GapDepthPct"},seriesAxis:{$ref:"#/$defs/SeriesAxis"},dataTable:{$ref:"#/$defs/DataTable"},categoryAxisDate:{$ref:"#/$defs/CategoryAxisDate"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",enum:["line","area"]},series:{$ref:"#/$defs/Series"}},required:["categories","view3D","categoryAxisDate","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},grouping:{$ref:"#/$defs/Grouping"},dropLines:{$ref:"#/$defs/DropLines"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},view3D:{$ref:"#/$defs/View3D"},gapDepthPct:{$ref:"#/$defs/GapDepthPct"},seriesAxis:{$ref:"#/$defs/SeriesAxis"},dataTable:{$ref:"#/$defs/DataTable"},categoryGroupLevels:{$ref:"#/$defs/CategoryGroupLevels"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",enum:["line","area"]},series:{$ref:"#/$defs/Series"}},required:["categories","view3D","kind","series"],additionalProperties:!1}]},{anyOf:[{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},radarStyle:{$ref:"#/$defs/RadarStyle"},dataTable:{$ref:"#/$defs/DataTable"},categoryAxisDate:{$ref:"#/$defs/CategoryAxisDate"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"radar"},series:{$ref:"#/$defs/Series"}},required:["categories","categoryAxisDate","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},radarStyle:{$ref:"#/$defs/RadarStyle"},dataTable:{$ref:"#/$defs/DataTable"},categoryGroupLevels:{$ref:"#/$defs/CategoryGroupLevels"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"radar"},series:{$ref:"#/$defs/Series"}},required:["categories","kind","series"],additionalProperties:!1}]},{anyOf:[{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},dropLines:{$ref:"#/$defs/DropLines"},hiLowLines:{$ref:"#/$defs/HiLowLines"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},dataTable:{$ref:"#/$defs/DataTable"},categoryAxisDate:{$ref:"#/$defs/CategoryAxisDate"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"stock"},series:{$ref:"#/$defs/Series4"}},required:["categories","categoryAxisDate","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},dropLines:{$ref:"#/$defs/DropLines"},hiLowLines:{$ref:"#/$defs/HiLowLines"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},dataTable:{$ref:"#/$defs/DataTable"},categoryGroupLevels:{$ref:"#/$defs/CategoryGroupLevels"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"stock"},series:{$ref:"#/$defs/Series4"}},required:["categories","kind","series"],additionalProperties:!1}]},{anyOf:[{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},view3D:{$ref:"#/$defs/View3D"},seriesAxis:{$ref:"#/$defs/SeriesAxis"},surfaceContour:{$ref:"#/$defs/SurfaceContour"},surfaceWireframe:{$ref:"#/$defs/SurfaceWireframe"},dataTable:{$ref:"#/$defs/DataTable"},categoryAxisDate:{$ref:"#/$defs/CategoryAxisDate"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"surface"},series:{$ref:"#/$defs/Series"}},required:["categories","categoryAxisDate","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},view3D:{$ref:"#/$defs/View3D"},seriesAxis:{$ref:"#/$defs/SeriesAxis"},surfaceContour:{$ref:"#/$defs/SurfaceContour"},surfaceWireframe:{$ref:"#/$defs/SurfaceWireframe"},dataTable:{$ref:"#/$defs/DataTable"},categoryGroupLevels:{$ref:"#/$defs/CategoryGroupLevels"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"surface"},series:{$ref:"#/$defs/Series"}},required:["categories","kind","series"],additionalProperties:!1}]},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},firstSliceAngleDeg:{$ref:"#/$defs/FirstSliceAngleDeg"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},kind:{type:"string",const:"pie"},series:{$ref:"#/$defs/Series2"}},required:["categories","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},ofPie:{type:"object",properties:{type:{type:"string",enum:["bar","pie"],description:"Shape of the second plot (`<c:ofPieType>`)."},splitType:{type:"string",enum:["auto","cust","percent","pos","val"],description:"What decides which points move (`<c:splitType>`): `pos` \u2014 the last\n`splitPos` points; `val` \u2014 points below `splitPos`; `percent` \u2014 points\nbelow `splitPos` percent of the total; `cust` \u2014 the `customSplit`\nindices; `auto` \u2014 the application's choice."},splitPos:{type:"number",description:"Threshold for `splitType` `pos` / `val` / `percent` (`<c:splitPos>`)."},customSplit:{type:"array",items:{type:"number"},description:"Point indices in the second plot for `splitType: 'cust'` (`<c:custSplit>`)."},secondPieSizePct:{type:"number",description:"Second plot size as a percent of the first, 5..200 (`<c:secondPieSize>`)."},gapWidthPct:{type:"number",description:"Gap between the two plots, 0..500 percent (`<c:gapWidth>`)."},seriesLines:{type:"boolean",description:"Connector lines between the two plots (`<c:serLines>`)."}},required:["type"],additionalProperties:!1,description:"Turns a `pie` into a pie-of-pie / bar-of-pie chart."},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},kind:{type:"string",const:"pie"},series:{$ref:"#/$defs/Series2"}},required:["categories","ofPie","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},view3D:{$ref:"#/$defs/View3D"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},kind:{type:"string",const:"pie"},series:{$ref:"#/$defs/Series2"}},required:["categories","view3D","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},firstSliceAngleDeg:{$ref:"#/$defs/FirstSliceAngleDeg"},holeSizePct:{type:"number",description:'Doughnut hole size as a percent of the outer radius (10..90).\nMirrors `<c:holeSize val="\u2026"/>`. Default 50.'},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},kind:{type:"string",const:"doughnut"},series:{$ref:"#/$defs/Series2"}},required:["categories","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},scatterStyle:{type:"string",enum:["line","smooth","none","marker","lineMarker","smoothMarker"],description:"Scatter sub-type from `<c:scatterChart><c:scatterStyle val=\"\u2026\"/>`\n(ECMA-376 ST_ScatterStyle). Governs whether the renderer connects\npoints with straight / smoothed lines and whether it draws markers:\n\n - `'marker'` (and the renderer's default when absent) \u2014 markers only\n - `'line'` / `'smooth'` \u2014 connecting line only\n - `'lineMarker'` / `'smoothMarker'` \u2014 line + markers\n - `'none'` \u2014 neither"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling2"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"scatter"},series:{type:"array",items:{type:"object",properties:{name:{$ref:"#/$defs/Name"},dataLabels:{$ref:"#/$defs/DataLabels2"},values:{$ref:"#/$defs/Values"},color:{$ref:"#/$defs/Color"},lineWidthEmu:{$ref:"#/$defs/LineWidthEmu"},lineColor:{$ref:"#/$defs/LineColor"},lineDash:{$ref:"#/$defs/LineDash"},markerSymbol:{$ref:"#/$defs/MarkerSymbol"},markerSizePt:{$ref:"#/$defs/MarkerSizePt"},markerColor:{$ref:"#/$defs/MarkerColor"},markerLineColor:{$ref:"#/$defs/MarkerLineColor"},invertIfNegative:{$ref:"#/$defs/InvertIfNegative"},pointColors:{$ref:"#/$defs/PointColors"},pointExplosions:{$ref:"#/$defs/PointExplosions"},pointDataLabels:{$ref:"#/$defs/PointDataLabels"},smooth:{$ref:"#/$defs/Smooth"},trendline:{$ref:"#/$defs/Trendline"},fillOpacity:{$ref:"#/$defs/FillOpacity"},errorBars:{$ref:"#/$defs/ErrorBars"},xErrorBars:{$ref:"#/$defs/XErrorBars"},xValues:{type:"array",items:{type:["null","number"]}}},required:["name","values","xValues"],additionalProperties:!1}}},required:["categories","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},bubbleScale:{type:"number",description:`Bubble-size scale percentage from \`<c:bubbleChart><c:bubbleScale
|
|
16
|
+
val="N"/>\` (0..300, the reference desktop app's default 100). Scales every bubble's
|
|
17
|
+
rendered radius proportionally.`},bubbleSizeRepresents:{type:"string",enum:["area","width"],description:"Whether a bubble's `<c:bubbleSize>` maps to the bubble's area or its\nwidth \u2014 `<c:bubbleChart><c:sizeRepresents val=\"area|w\"/>` (ECMA-376\nST_SizeRepresents; the `'w'` token is surfaced as `'width'`).\nThe reference desktop app's default is `'area'`, so radius scales with `sqrt(size)`;\n`'width'` scales radius linearly with size."},bubble3D:{type:"boolean",description:'Shade bubbles as spheres \u2014 `<c:bubble3D val="1"/>` on each series of the\nbubble chart (the reference desktop app\'s "3-D Bubble" subtype). Unlike the\nother 3-D variants it has no camera, so `view3D` does not apply.'},showNegativeBubbles:{type:"boolean",description:"Plot bubbles with a negative size (`<c:showNegBubbles>`)."},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling2"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"bubble"},series:{type:"array",items:{type:"object",properties:{name:{$ref:"#/$defs/Name"},dataLabels:{$ref:"#/$defs/DataLabels2"},values:{$ref:"#/$defs/Values"},color:{$ref:"#/$defs/Color"},lineWidthEmu:{$ref:"#/$defs/LineWidthEmu"},lineColor:{$ref:"#/$defs/LineColor"},lineDash:{$ref:"#/$defs/LineDash"},markerSymbol:{$ref:"#/$defs/MarkerSymbol"},markerSizePt:{$ref:"#/$defs/MarkerSizePt"},markerColor:{$ref:"#/$defs/MarkerColor"},markerLineColor:{$ref:"#/$defs/MarkerLineColor"},invertIfNegative:{$ref:"#/$defs/InvertIfNegative"},pointColors:{$ref:"#/$defs/PointColors"},pointExplosions:{$ref:"#/$defs/PointExplosions"},pointDataLabels:{$ref:"#/$defs/PointDataLabels"},smooth:{$ref:"#/$defs/Smooth"},trendline:{$ref:"#/$defs/Trendline"},fillOpacity:{$ref:"#/$defs/FillOpacity"},errorBars:{$ref:"#/$defs/ErrorBars"},xErrorBars:{$ref:"#/$defs/XErrorBars"},xValues:{type:"array",items:{type:["null","number"]}},bubbleSizes:{type:"array",items:{type:["null","number"]}}},required:["name","values","xValues","bubbleSizes"],additionalProperties:!1}}},required:["categories","kind","series"],additionalProperties:!1}]},x:{$ref:"#/$defs/Emu"},y:{$ref:"#/$defs/Emu"},w:{$ref:"#/$defs/Emu"},h:{$ref:"#/$defs/Emu"},name:{type:"string"}},required:["spec","x","y","w","h"],additionalProperties:!1}},required:["slide","opts"],additionalProperties:!1,$defs:{AnimationInOut:{type:"string",enum:["in","out"]},AnimationInOutOrString:{anyOf:[{$ref:"#/$defs/AnimationInOut"},{type:"string",enum:["none","cross"]}]},Bar3DShape:{type:"string",enum:["box","cone","coneToMax","cylinder","pyramid","pyramidToMax"],description:"Shape of 3-D bars / columns (`<c:bar3DChart><c:shape>`). Requires `view3D`."},Categories:{type:"array",items:{type:"string"},description:"Category labels along the x-axis (or pie slice labels for `kind: 'pie'`)."},CategoryAxisDate:{$ref:"#/$defs/ChartDateAxis",description:"Turns the category axis into a date axis \u2014 see `ChartDateAxis`."},CategoryAxisHidden:{type:"boolean",description:'When `true`, category axis is hidden (`<c:catAx><c:delete val="1"/>`).'},CategoryAxisLabelAlign:{type:"string",enum:["ctr","l","r"],description:'Multi-line category-label alignment relative to the tick mark \u2014\n`<c:catAx><c:lblAlgn val="ctr|l|r"/>`. The reference desktop app defaults to\n`ctr` when omitted; the authored value wins.'},CategoryAxisLabelOffset:{type:"number",description:`Distance from the axis line to the labels, expressed as a percent of
|
|
18
|
+
the chart text size \u2014 \`<c:catAx><c:lblOffset val="N"/>\` where N is
|
|
19
|
+
0..1000 (default 100). Larger values push category labels further
|
|
20
|
+
from the axis. Per ECMA-376 \xA721.2.2.94.`},CategoryAxisLabelRotationDeg:{type:"number",description:'Authored rotation on the category-axis tick labels, in degrees. From\n`<c:catAx><c:txPr><a:bodyPr rot="N"/>` where N is in 60000ths of a\ndegree. Positive values rotate clockwise (the reference desktop app\'s convention),\nmatching the SVG `transform=rotate()` sense.'},CategoryAxisLabelStyle:{$ref:"#/$defs/ChartTextStyle",description:"Authored font / color on the category-axis *tick labels* \u2014 `<c:catAx><c:txPr>`."},CategoryAxisLineColor:{type:"string",description:"Authored color on the category-axis line (same shape as `valueAxisLineColor`)."},CategoryAxisLineHidden:{type:"boolean",description:"Hide the category-axis line while keeping its labels."},CategoryAxisLineWidthEmu:{type:"number",description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point.\n\nWidth of the category-axis line (same shape as `valueAxisLineWidthEmu`)."},CategoryAxisMajorGridlineColor:{type:"string",description:"Authored color on the category-axis major gridlines (same shape as `valueAxisMajorGridlineColor`)."},CategoryAxisMajorGridlineWidthEmu:{type:"number",description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point.\n\nWidth of the category-axis major gridlines (same shape as `valueAxisMajorGridlineWidthEmu`)."},CategoryAxisMajorGridlines:{type:"boolean",description:`Whether the category axis emits \`<c:majorGridlines/>\`. Sounds odd
|
|
21
|
+
for column charts (where category gridlines are vertical, between
|
|
22
|
+
categories) but bar charts put the cat axis on the vertical edge
|
|
23
|
+
and use these as horizontal guide lines per category band.`},CategoryAxisMajorTickMark:{anyOf:[{$ref:"#/$defs/AnimationInOut"},{type:"string",enum:["none","cross"]}],description:"Major-tick mark mode on the category axis (`<c:catAx><c:majorTickMark>`)."},CategoryAxisMinorGridlineColor:{type:"string",description:"Authored color on the category-axis minor gridlines."},CategoryAxisMinorGridlineWidthEmu:{type:"number",description:`In EMU: 914400 per inch, 360000 per cm, 12700 per point.
|
|
24
|
+
|
|
25
|
+
Width of the category-axis minor gridlines.`},CategoryAxisMinorGridlines:{type:"boolean",description:"Companion `<c:minorGridlines/>` on the category axis."},CategoryAxisMinorTickMark:{anyOf:[{$ref:"#/$defs/AnimationInOut"},{type:"string",enum:["none","cross"]}],description:"Minor-tick mark mode on the category axis (`<c:catAx><c:minorTickMark>`)."},CategoryAxisNoMultiLevelLabel:{type:"boolean",description:'Toggle multi-level (hierarchical) category labels \u2014\n`<c:catAx><c:noMultiLvlLbl val="0|1"/>`. The reference desktop app defaults to\n`0` (multi-level labels stack). Set to `true` to flatten\nhierarchical categories into a single row.'},CategoryAxisNumberFormat:{type:"string",description:'Number-format code for the category-axis tick labels \u2014\n`<c:catAx><c:numFmt formatCode="\u2026"/>`. Most useful on date-style\ncategories (`"mm/dd/yyyy"`, `"mmm"`, etc.) but accepts any spreadsheet\nformat string. Independent of `valueAxis.numberFormat` (which\ntargets the value axis).'},CategoryAxisOrientation:{type:"string",enum:["minMax","maxMin"],description:"Category-axis order \u2014 `'minMax'` (the data's natural order) or\n`'maxMin'` (reversed). For bar charts the reference desktop app typically emits\n`maxMin` so the first category sits at the top instead of the\nbottom; honour the authored value when present."},CategoryAxisScaling:{$ref:"#/$defs/ChartAxisScaling",description:"Scaling of the horizontal axis where it is numeric: the x value axis\nof `scatter` / `bubble` charts (every field applies) and a date axis\n(`min` / `max` only, as date serials). Rejected on a text category\naxis, which has no scale to set.\nDate-serial range of the axis; only `min` / `max` apply."},CategoryAxisScaling2:{$ref:"#/$defs/ChartAxisScaling",description:"Scaling of the horizontal axis where it is numeric: the x value axis\nof `scatter` / `bubble` charts (every field applies) and a date axis\n(`min` / `max` only, as date serials). Rejected on a text category\naxis, which has no scale to set."},CategoryAxisTickLabelPos:{type:"string",enum:["none","low","high","nextTo"],description:'Category-axis tick label position (`<c:catAx><c:tickLblPos val="\u2026"/>`):\n - `none` hides labels but keeps the axis line\n - `low` / `high` puts them at the start / end (rare)\n - `nextTo` (default) is the standard position next to the axis'},CategoryAxisTickLabelSkip:{type:"number",description:'Category-axis tick label skip step (`<c:catAx><c:tickLblSkip val="N"/>`):\nrender every Nth category label. Commonly 2 / 5 / 10 on dense\ntime-series charts to keep labels from overlapping.'},CategoryAxisTickMarkSkip:{type:"number",description:`Category-axis tick *mark* skip (\`<c:catAx><c:tickMarkSkip val="N"/>\`):
|
|
26
|
+
draw every Nth tick mark independently of the label-skip stride.
|
|
27
|
+
Useful when you want fewer label collisions but the same dense
|
|
28
|
+
tick lattice; defaults to 1 (every tick).`},CategoryAxisTitle:{type:"string",description:"Optional axis title text (`<c:catAx><c:title>` / `<c:valAx><c:title>`)."},CategoryAxisTitleRotationDeg:{type:"number",description:'Rotation of the category-axis title, in degrees clockwise. Maps\nto `<c:catAx><c:title><c:tx><c:rich><a:bodyPr rot="N"/>` (the OOXML\nvalue is in 60000ths of a degree, but the API surface uses plain\ndegrees). Omit to inherit the default (`0`).'},CategoryAxisTitleStyle:{$ref:"#/$defs/ChartTextStyle",description:"Authored font / color on the category-axis title (same `<a:rPr>` shape as `titleStyle`)."},CategoryGroupLevels:{type:"array",items:{type:"array",items:{type:"string"}},description:"Outer levels of a multi-level category axis (`<c:multiLvlStrRef>`),\nordered from the level next to `categories` outward. Each level has\none entry per category; an empty string continues the previous\ngroup, so `['2024', '', '', '', '2025', '', '', '']` groups eight\nquarters into two years."},ChartAreaFill:{type:"string",description:'Chart-area background fill \u2014 `<c:chartSpace><c:spPr><a:solidFill>\n<a:srgbClr val="\u2026"/>`. Renderers can use this as the outer card\ncolor instead of the hard-coded white.'},ChartAreaStrokeColor:{type:"string",description:"Chart-area outline color from `<c:chartSpace><c:spPr><a:ln>\n<a:solidFill><a:srgbClr/>`. Overrides the renderer's default\n`#E5E7EB` card border."},ChartAxisScaling:{type:"object",properties:{min:{type:"number"},max:{type:"number"},majorUnit:{type:"number",description:'Major tick spacing (`<c:majorUnit val="N"/>`).'},minorUnit:{type:"number",description:'Minor tick spacing (`<c:minorUnit val="N"/>`).'},numberFormat:{type:"string",description:'Number-format code from `<c:numFmt formatCode="\u2026"/>`. Common\nvalues: `"0%"`, `"0.0%"`, `"#,##0"`, `"$#,##0"`, `"yyyy-mm-dd"`.\nRenderers project a subset of spreadsheet number formats to label text.'},logBase:{type:"number",description:'Logarithmic base for the axis from `<c:scaling><c:logBase val="N"/>`.\nTypical values are `2`, `10`, `Math.E`. When set, the renderer\nprojects values through `Math.log(v) / Math.log(logBase)` before\nmapping to plot coordinates. Linear when omitted.'},displayUnits:{type:"string",enum:["hundreds","thousands","tenThousands","hundredThousands","millions","tenMillions","hundredMillions","billions","trillions"],description:"Authored display-units scale from `<c:dispUnits><c:builtInUnit val=\"\u2026\"/>`.\nToken values map to divisors:\n\n - `'hundreds'` (100), `'thousands'` (1e3), `'tenThousands'` (1e4),\n `'hundredThousands'` (1e5), `'millions'` (1e6),\n `'tenMillions'` (1e7), `'hundredMillions'` (1e8),\n `'billions'` (1e9), `'trillions'` (1e12)\n\nRenderers divide axis labels by the divisor and may append a unit\nsuffix (\"K\", \"M\", \"B\") for readability."},displayUnitsLabel:{type:"boolean",description:'Show the display-units caption next to the axis ("Thousands",\n"Millions", \u2026) \u2014 an empty `<c:dispUnitsLbl/>` under `<c:dispUnits>`.\nOnly meaningful together with `displayUnits`.'}},additionalProperties:!1},ChartDataLabels:{type:"object",properties:{showValue:{type:"boolean",description:"Numeric value of each data point."},showCategory:{type:"boolean",description:"Category label of each data point."},showSeriesName:{type:"boolean",description:"Series name on each data point."},showPercent:{type:"boolean",description:"Percentage of total (for pie / doughnut)."},numberFormat:{type:"string",description:'Number-format code from `<c:dLbls><c:numFmt formatCode="\u2026"/>`. When\nset, value labels are projected through this spreadsheet-style format\n(same subset the value axis honors: `"0%"`, `"#,##0"`, `"$#,##0"`,\n`"0.00"`). Independent of `ChartAxisScaling.numberFormat`.'},position:{type:"string",enum:["ctr","inEnd","outEnd","inBase","t","b","l","r","bestFit"],description:'Position of the label relative to its data point \u2014 from\n`<c:dLbls><c:dLblPos val="\u2026"/>`.'},separator:{type:"string",description:'Separator between concatenated label parts when more than one of\n`showValue` / `showCategory` / `showSeriesName` / `showPercent` is\nset. Read from `<c:dLbls><c:separator>\u2026</c:separator>` (a\nleaf-text-only element). Common values: `" "` (default), `", "`,\n`"\\n"`, `"; "`.'},textStyle:{$ref:"#/$defs/ChartTextStyle",description:"Default-run text style for the labels \u2014 projected from\n`<c:dLbls><c:txPr>\u2026<a:defRPr/>\u2026</c:txPr>`. Applies to whichever\nlabel parts are turned on by the `show*` toggles. Independent of\nthe chart-title style and the axis-label style."},showLeaderLines:{type:"boolean",description:'Leader lines between a label and its data point\n(`<c:dLbls><c:showLeaderLines val="\u2026"/>`). Omitted = the\napplication default (shown). Series- and chart-level only: a\nper-point `<c:dLbl>` has no such element, so `pointDataLabels`\nignores it on write and never reads it.'},showBubbleSize:{type:"boolean",description:"Bubble size of each data point (`<c:showBubbleSize>`); bubble charts only."},showLegendKey:{type:"boolean",description:"Legend key swatch next to each label (`<c:showLegendKey>`)."},fillColor:{type:"string",description:"Label background fill as `#RRGGBB` (`<c:spPr><a:solidFill>`)."},text:{type:"string",description:"Literal label text replacing the generated one (`<c:dLbl><c:tx>\n<c:rich>`) \u2014 how a scatter point gets a name. Per-point only: the\nseries- and chart-level `<c:dLbls>` have no `<c:tx>`, so it is ignored\nthere on write and never read."}},required:["showValue","showCategory","showSeriesName","showPercent"],additionalProperties:!1},ChartDataTable:{type:"object",properties:{showHorizontalBorder:{type:"boolean"},showVerticalBorder:{type:"boolean"},showOutline:{type:"boolean"},showKeys:{type:"boolean",description:"Legend keys next to the series names."},textStyle:{$ref:"#/$defs/ChartTextStyle"}},additionalProperties:!1},ChartDateAxis:{type:"object",properties:{baseTimeUnit:{$ref:"#/$defs/ChartTimeUnit"},majorUnit:{type:"number"},majorTimeUnit:{$ref:"#/$defs/ChartTimeUnit"},minorUnit:{type:"number"},minorTimeUnit:{$ref:"#/$defs/ChartTimeUnit"}},additionalProperties:!1},ChartErrorBars:{type:"object",properties:{barType:{type:"string",enum:["both","plus","minus"],description:"Which side of the point gets a bar (`<c:errBarType>`)."},amount:{anyOf:[{type:"object",properties:{type:{type:"string",enum:["fixedVal","percentage","stdDev"]},value:{type:"number"}},required:["type","value"],additionalProperties:!1},{type:"object",properties:{type:{type:"string",const:"stdErr"}},required:["type"],additionalProperties:!1},{type:"object",properties:{type:{type:"string",const:"cust"},plus:{type:"array",items:{type:["null","number"]},description:"Per-point positive amounts (`<c:plus><c:numLit>`)."},minus:{type:"array",items:{type:["null","number"]},description:"Per-point negative amounts (`<c:minus><c:numLit>`)."}},required:["type"],additionalProperties:!1}]},noEndCap:{type:"boolean",description:'Drop the T-shaped end caps (`<c:noEndCap val="1"/>`).'},color:{type:"string",description:"Bar stroke color as `#RRGGBB`."},lineWidthEmu:{type:"number",description:"Bar stroke width in EMU."}},required:["barType","amount"],additionalProperties:!1},ChartGrouping:{type:"string",enum:["clustered","stacked","percentStacked","standard"]},ChartManualLayout:{type:"object",properties:{x:{type:"number"},y:{type:"number"},w:{type:"number"},h:{type:"number"},target:{type:"string",enum:["inner","outer"],description:"Plot area only: whether the box bounds the plot alone (`inner`) or the\nplot plus its tick labels and axis titles (`outer`, the default)."}},required:["x","y","w","h"],additionalProperties:!1},ChartSecondaryValueAxis:{type:"object",properties:{scaling:{$ref:"#/$defs/ChartAxisScaling"},title:{type:"string"},titleStyle:{$ref:"#/$defs/ChartTextStyle"},labelStyle:{$ref:"#/$defs/ChartTextStyle"},majorGridlines:{type:"boolean"},majorGridlineColor:{type:"string"},majorGridlineWidthEmu:{type:"number",description:"Major gridline width in EMU, the mirror of `ChartSpec.valueAxisMajorGridlineWidthEmu`."},lineColor:{type:"string"},lineWidthEmu:{type:"number",description:"Axis line width in EMU, the mirror of `ChartSpec.valueAxisLineWidthEmu`."},majorTickMark:{$ref:"#/$defs/AnimationInOutOrString"},minorTickMark:{$ref:"#/$defs/AnimationInOutOrString"},tickLabelPos:{type:"string",enum:["none","low","high","nextTo"],description:"Tick-label position, the mirror of `ChartSpec.valueAxisTickLabelPos`."},crossBetween:{type:"string",enum:["between","midCat"]}},additionalProperties:!1},ChartSeriesAxis:{type:"object",properties:{hidden:{type:"boolean"},title:{type:"string"},titleStyle:{$ref:"#/$defs/ChartTextStyle"},labelStyle:{$ref:"#/$defs/ChartTextStyle"},majorGridlines:{type:"boolean"},orientation:{type:"string",enum:["minMax","maxMin"]},tickLabelPos:{type:"string",enum:["none","low","high","nextTo"]},tickLabelSkip:{type:"number"},lineColor:{type:"string"}},additionalProperties:!1},ChartStyle:{type:"number",description:`The reference desktop app's built-in chart-style preset
|
|
29
|
+
(\`<c:chartSpace><c:style val="N"/>\`), 1\u201348. Encodes a curated combo
|
|
30
|
+
of theme accent colors, gradients, effects, and font sizes that
|
|
31
|
+
the reference desktop app applies when the user picks a chart style from the
|
|
32
|
+
"Chart Styles" gallery. Surface for round-trip parity; renderers in`},ChartTextStyle:{type:"object",properties:{font:{type:"string",description:`Font face applied to both the latin and east-asian typeface slots \u2014
|
|
33
|
+
\`<a:rPr><a:latin typeface="\u2026"/><a:ea typeface="\u2026"/>\`. East-asian is
|
|
34
|
+
set alongside latin so a Japanese / CJK family (e.g. \`'Yu Gothic'\`)
|
|
35
|
+
renders the labels instead of the renderer's latin-only fallback.
|
|
36
|
+
Mirrors the latin/ea pairing the reference desktop app emits for CJK chart fonts.`},fontComplexScript:{type:"string",description:'Complex-script font face \u2014 `<a:rPr><a:cs typeface="\u2026"/>`. Written only\nwhen set: `font` fills the latin and east-asian slots and never the\ncomplex-script one, so a chart that mixes Arabic / Hebrew / Thai labels\nhas to name the face here as well.'},sizePt:{type:"number",description:'Font size in points. From `<a:rPr sz="N"/>` where N is in 100ths of a pt.'},bold:{type:"boolean",description:'Bold flag from `<a:rPr b="1"/>`.'},italic:{type:"boolean",description:'Italic flag from `<a:rPr i="1"/>`.'},color:{type:"string",description:"Fill color as `#RRGGBB` from `<a:rPr><a:solidFill><a:srgbClr/></a:solidFill>`."}},additionalProperties:!1},ChartTimeUnit:{type:"string",enum:["days","months","years"]},ChartTrendline:{type:"object",properties:{name:{type:"string",description:`Optional custom label for the trendline (\`<c:trendline><c:name>\u2026\`).
|
|
37
|
+
Defaults to the reference desktop app's auto-generated label
|
|
38
|
+
(e.g. "Linear (X)" / "MA(5) (X)") when omitted.`},type:{type:"string",enum:["linear","exp","log","poly","power","movingAvg"],description:"Regression type \u2014 linear / exp / log / poly / power / movingAvg."},forward:{type:"number",description:'Forward extension (`<c:forward val="N"/>`) \u2014 the trendline runs N\ndata-point periods past the last point. Used to project future\nvalues from the regression line.'},backward:{type:"number",description:'Backward extension (`<c:backward val="N"/>`) \u2014 the trendline runs N\ndata-point periods before the first point.'},period:{type:"number",description:"Optional moving-average period (only meaningful for type='movingAvg')."},order:{type:"number",description:"Polynomial order (only meaningful for type='poly')."},color:{type:"string",description:"Override stroke color; defaults to the series color."},displayEquation:{type:"boolean",description:'Show the regression equation next to the trendline\n(`<c:dispEq val="1"/>`). Defaults to `false`.'},displayRSquared:{type:"boolean",description:'Show the R\xB2 coefficient next to the trendline\n(`<c:dispRSqr val="1"/>`). Defaults to `false`.'}},required:["type"],additionalProperties:!1},ChartUpDownBars:{type:"object",properties:{gapWidthPct:{type:"number",description:"Bar width gap, 0..500 percent (`<c:gapWidth>`); the reference desktop app's default is 150."},upColor:{type:"string",description:"Fill of the rising bars as `#RRGGBB` (`<c:upBars>`)."},downColor:{type:"string",description:"Fill of the falling bars as `#RRGGBB` (`<c:downBars>`)."}},additionalProperties:!1},ChartView3D:{type:"object",properties:{rotX:{type:"number",description:"Elevation in degrees, -90..90 (`<c:rotX>`)."},rotY:{type:"number",description:"Rotation about the vertical axis in degrees, 0..360 (`<c:rotY>`)."},rightAngleAxes:{type:"boolean",description:"Right-angle axes (`<c:rAngAx>`): an oblique projection that ignores\n`perspective`. The reference desktop app's default for bar / column / line / area."},perspective:{type:"number",description:"Field of view, 0..240 (`<c:perspective>`); the reference desktop app's default is 30."},depthPercent:{type:"number",description:"Depth as a percent of the chart width, 20..2000 (`<c:depthPercent>`)."},heightPercent:{type:"number",description:"Height as a percent of the chart width, 5..500 (`<c:hPercent>`)."}},additionalProperties:!1},Color:{type:"string",description:"Optional `#RRGGBB` fill override. Defaults to the theme's accent palette."},ComboChartSeries:{type:"object",properties:{name:{$ref:"#/$defs/Name"},dataLabels:{$ref:"#/$defs/DataLabels2"},values:{$ref:"#/$defs/Values"},color:{$ref:"#/$defs/Color"},lineWidthEmu:{$ref:"#/$defs/LineWidthEmu"},lineColor:{$ref:"#/$defs/LineColor"},lineDash:{$ref:"#/$defs/LineDash"},markerSymbol:{$ref:"#/$defs/MarkerSymbol"},markerSizePt:{$ref:"#/$defs/MarkerSizePt"},markerColor:{$ref:"#/$defs/MarkerColor"},markerLineColor:{$ref:"#/$defs/MarkerLineColor"},invertIfNegative:{$ref:"#/$defs/InvertIfNegative"},pointColors:{$ref:"#/$defs/PointColors"},pointExplosions:{$ref:"#/$defs/PointExplosions"},pointDataLabels:{$ref:"#/$defs/PointDataLabels"},smooth:{$ref:"#/$defs/Smooth"},trendline:{$ref:"#/$defs/Trendline"},fillOpacity:{$ref:"#/$defs/FillOpacity"},errorBars:{$ref:"#/$defs/ErrorBars"},xErrorBars:{$ref:"#/$defs/XErrorBars"},chartKind:{type:"string",enum:["bar","column","line","area"]},secondaryAxis:{type:"boolean"}},required:["name","values"],additionalProperties:!1},DataLabels:{$ref:"#/$defs/ChartDataLabels",description:"Optional chart-level data-label toggles."},DataLabels2:{$ref:"#/$defs/ChartDataLabels",description:"Per-series data-label toggle overrides. Same shape as the chart-level\n`ChartSpec.dataLabels`; overrides win when present. Read from\n`<c:ser><c:dLbls>`."},DataTable:{$ref:"#/$defs/ChartDataTable",description:"Data table under the plot area. Rejected for the axis-less kinds."},Date1904:{type:"boolean",description:'`<c:chartSpace><c:date1904 val="\u2026"/>` \u2014 the spreadsheet date-system flag.\n`false` (the default) uses the 1900-epoch; `true` uses 1904.\nSurface for parity; renderers don\'t act on it yet.'},DispBlanksAs:{type:"string",enum:["gap","zero","span"],description:"`<c:dispBlanksAs val=\"\u2026\"/>` \u2014 how line / area renderers should\ntreat `null` values in series:\n\n - `'gap'` \u2014 leave a gap (the default)\n - `'zero'` \u2014 substitute zero\n - `'span'` \u2014 connect the surrounding points across the gap"},DropLines:{type:"boolean",description:"Drop lines (`<c:dropLines>`) \u2014 vertical guide lines from each data\npoint down to the value axis. Common on line / area charts."},Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."},ErrorBars:{$ref:"#/$defs/ChartErrorBars",description:'Error bars along the value direction (`<c:errBars>`; `<c:errDir\nval="y"/>` on scatter / bubble). Valid on bar / column / line / area /\nscatter / bubble series; rejected elsewhere, where CT_*Ser has no\n`errBars` child.'},FillOpacity:{type:"number",description:'Opacity of the series fill, `0` (transparent) to `1` (opaque) \u2014\n`<a:srgbClr><a:alpha val="\u2026"/>` on the series\' `<a:solidFill>`. Applies\nto `color` and to every `pointColors` override. Overlapping area,\nradar and bubble series are the usual reason to set it.'},FirstSliceAngleDeg:{type:"number",description:`Pie / doughnut: angle (in degrees, 0\u2013360) at which the first slice
|
|
39
|
+
starts, measured clockwise from 12 o'clock. Mirrors
|
|
40
|
+
\`<c:firstSliceAng val="\u2026"/>\`. Default 0 = start at the top.`},GapDepthPct:{type:"number",description:"Depth gap between the series rows of a 3-D bar / column / line / area\nchart, 0..500 percent (`<c:gapDepth>`). Requires `view3D`."},GapWidthPct:{type:"number",description:'Gap between adjacent bar groups in `<c:gapWidth val="N"/>` units\n(0..500, percent of bar width). Default 150 (= 1.5\xD7) in the reference desktop app.'},Grouping:{$ref:"#/$defs/ChartGrouping",description:"Bar / column / area grouping mode. Absent for line / pie."},HiLowLines:{type:"boolean",description:"High-low lines (`<c:hiLowLines>`) \u2014 vertical lines spanning the\nhighest and lowest series value at each category. Used by stock\ncharts and side-by-side line charts."},InvertIfNegative:{type:"boolean",description:'Invert the series color for negative values (bar / column charts).\nMirrors `<c:ser><c:invertIfNegative val="1"/>`. Renderers typically\npaint the negative bars in the inverted shade of the series color.'},Language:{type:"string",description:"Language code for the chart's number / date formatters\n(`<c:chartSpace><c:lang val=\"\u2026\"/>`). The reference desktop app emits the user's\nAuthoring app UI language (e.g. `'en-US'`, `'ja-JP'`). Carried for\nround-trip parity; renderers in"},Legend:{type:"object",properties:{position:{anyOf:[{type:"string",enum:["t","b","l","r","tr"]},{type:"null"}]},overlay:{type:"boolean",description:"When `true`, legend overlays the plot area instead of taking a strip."},layout:{$ref:"#/$defs/ChartManualLayout",description:"Manual position of the legend box; `target` does not apply."},textStyle:{$ref:"#/$defs/ChartTextStyle",description:"Authored font / color on the legend's text. From `<c:legend><c:txPr>`'s\nfirst `<a:p><a:pPr><a:defRPr>` (or `<a:r><a:rPr>` as fallback). Same\nshape as `titleStyle`."},hiddenIndices:{type:"array",items:{type:"number"},description:`Series indices that the legend hides via \`<c:legend><c:legendEntry>
|
|
41
|
+
<c:idx val="N"/><c:delete val="1"/></c:legendEntry>\`. Renderers
|
|
42
|
+
filter them from the legend list while still plotting them.
|
|
43
|
+
Common use: keep a trendline series in the data but drop its
|
|
44
|
+
legend entry.`}},required:["position"],additionalProperties:!1,description:"Optional legend configuration. `position` mirrors\n`<c:legend><c:legendPos val=\"\u2026\"/>` \u2014 `'r'` (right) is the default,\n`'t'`, `'b'`, `'l'`, `'tr'` (top-right) the other tokens. `null`\nfor `position` means no legend at all (the chart explicitly hides\nit). `undefined` overall means the chart didn't author a legend\nelement \u2014 renderers should fall back to their own default."},LineColor:{type:"string",description:"Optional stroke color of the series outline / line\n(`<c:ser><c:spPr><a:ln><a:solidFill>`), as an sRGB hex. Defaults to\n`color`; on a pie / doughnut series it is the border between slices."},LineDash:{type:"string",description:"Optional line dash style token (`<c:ser><c:spPr><a:ln><a:prstDash\nval=\"\u2026\"/>`), e.g. `'dash'`, `'dot'`, `'sysDash'`. Only\nmeaningful for line / area / scatter series."},LineMarkers:{type:"boolean",description:'Whether a line chart draws point markers (`<c:lineChart><c:marker\nval="1"/>`). `true` is the reference desktop app\'s "Line with Markers" subtype;\nabsent / `false` is the plain "Line" subtype (no markers). Only\nmeaningful for `kind: \'line\'`.'},LineWidthEmu:{type:"number",description:`Optional line stroke width in EMU (\`<c:ser><c:spPr><a:ln w="\u2026"/>\`).
|
|
45
|
+
Only meaningful for line / area / scatter series. Default falls
|
|
46
|
+
back to the renderer's own pick.`},MarkerColor:{type:"string",description:"Optional marker fill + outline color (`<c:marker><c:spPr>`), as an sRGB\nhex. Defaults to `color`. The builder always writes it for line /\nscatter / radar series, because the reference desktop app paints a marker without\n`<c:spPr>` in the theme's automatic color instead of the series color."},MarkerLineColor:{type:"string",description:"Optional marker outline color (`<c:marker><c:spPr><a:ln>`), as an sRGB\nhex. Defaults to `markerColor`, then `color`."},MarkerSizePt:{type:"number",description:'Marker size in points (`<c:marker><c:size val="N"/>`). The reference desktop app\ndefault ~5. Only meaningful when `markerSymbol` isn\'t `none`.'},MarkerSymbol:{anyOf:[{$ref:"#/$defs/TextWrap"},{type:"string",enum:["circle","diamond","plus","x","dot","dash","triangle","picture","auto","star"]}],description:"Optional marker style for line / scatter series (`<c:ser><c:marker>`).\n`none` hides the markers; the others render the matching glyph at\neach data point. Defaults to `auto`, which renderers map to a small\nfilled circle."},Name:{type:"string",description:"Series label rendered in the legend."},OverlapPct:{type:"number",description:'Overlap of adjacent bars within a category in `<c:overlap val="N"/>`\npercent (-100..100). Negative pulls bars apart, positive overlaps.\nDefaults to 0 (clustered) / 100 (stacked).'},PlainChartSeries:{type:"object",properties:{name:{$ref:"#/$defs/Name"},dataLabels:{$ref:"#/$defs/DataLabels2"},values:{$ref:"#/$defs/Values"},color:{$ref:"#/$defs/Color"},lineWidthEmu:{$ref:"#/$defs/LineWidthEmu"},lineColor:{$ref:"#/$defs/LineColor"},lineDash:{$ref:"#/$defs/LineDash"},markerSymbol:{$ref:"#/$defs/MarkerSymbol"},markerSizePt:{$ref:"#/$defs/MarkerSizePt"},markerColor:{$ref:"#/$defs/MarkerColor"},markerLineColor:{$ref:"#/$defs/MarkerLineColor"},invertIfNegative:{$ref:"#/$defs/InvertIfNegative"},pointColors:{$ref:"#/$defs/PointColors"},pointExplosions:{$ref:"#/$defs/PointExplosions"},pointDataLabels:{$ref:"#/$defs/PointDataLabels"},smooth:{$ref:"#/$defs/Smooth"},trendline:{$ref:"#/$defs/Trendline"},fillOpacity:{$ref:"#/$defs/FillOpacity"},errorBars:{$ref:"#/$defs/ErrorBars"},xErrorBars:{$ref:"#/$defs/XErrorBars"}},required:["name","values"],additionalProperties:!1},PlotAreaFill:{type:"string",description:'Plot-area background fill \u2014 `<c:plotArea><c:spPr><a:solidFill>\n<a:srgbClr val="\u2026"/>`. `null` for no fill / unsupported fill kind.'},PlotAreaLayout:{$ref:"#/$defs/ChartManualLayout",description:"Manual position of the plot area."},PlotAreaStrokeColor:{type:"string",description:"Plot-area outline color from `<c:plotArea><c:spPr><a:ln>\n<a:solidFill><a:srgbClr/>`. `undefined` means no outline."},PlotVisibleCellsOnly:{type:"boolean",description:'When `false`, plot data from hidden cells in the embedded workbook\n\u2014 maps to `<c:plotVisOnly val="0"/>`. The reference desktop app\'s default is\n`true` (only plot visible cells), so omitting this field emits\n`val="1"` to stay round-trip-safe with files the reference desktop app authored.'},PointColors:{type:"array",items:{type:["null","string"]},description:`Optional per-data-point color overrides, indexed by point index
|
|
47
|
+
(\`<c:dPt><c:idx val="N"/><c:spPr><a:solidFill>\u2026\`). Sparse \u2014 only
|
|
48
|
+
the indices that author an override appear. Pie / doughnut decks
|
|
49
|
+
almost always emit one of these per slice to break out of the
|
|
50
|
+
single-series-color default.`},PointDataLabels:{type:"array",items:{anyOf:[{type:"null"},{$ref:"#/$defs/ChartDataLabels"}]},description:'Optional per-data-point data-label overrides\n(`<c:dLbls><c:dLbl><c:idx val="N"/>\u2026`). Sparse \u2014 `null` slots fall back\nto the series-level `dataLabels`. The reference desktop app draws the per-point element\nover the series defaults, which is how pie / doughnut exporters give each\nslice its own label content and font.'},PointExplosions:{type:"array",items:{type:["null","number"]},description:'Optional per-data-point pie/doughnut slice explosion percentages\n(`<c:dPt><c:explosion val="N"/>`). Sparse \u2014 only the indices that\nauthor an explosion appear. The value is the radial offset as a\npercentage of the slice radius (`25` \u2248 a quarter-radius pull-out).'},RadarStyle:{type:"string",enum:["standard","marker","filled"],description:"Radar sub-type from `<c:radarChart><c:radarStyle val=\"\u2026\"/>`\n(ECMA-376 ST_RadarStyle): `'standard'` (polyline only), `'marker'`\n(polyline + point markers), or `'filled'` (the polygon is filled at\nreduced opacity)."},RoundedCorners:{type:"boolean",description:"Renders the chart area with rounded corners\n(`<c:chartSpace><c:roundedCorners val=\"1\"/>`). The reference desktop app's default\nis `false`; surface only when explicitly `true` so the round-trip\ndoesn't add a redundant `false`."},SecondaryValueAxis:{$ref:"#/$defs/ChartSecondaryValueAxis",description:"Formatting for the secondary value axis. Only meaningful when at least\none series sets `secondaryAxis: true`; ignored otherwise."},Series:{type:"array",items:{$ref:"#/$defs/PlainChartSeries"}},Series2:{type:"array",prefixItems:[{$ref:"#/$defs/PlainChartSeries"}],minItems:1,maxItems:1},Series3:{type:"array",prefixItems:[{$ref:"#/$defs/PlainChartSeries"},{$ref:"#/$defs/PlainChartSeries"},{$ref:"#/$defs/PlainChartSeries"},{$ref:"#/$defs/PlainChartSeries"}],minItems:4,maxItems:4},Series4:{type:"array",prefixItems:[{$ref:"#/$defs/PlainChartSeries"},{$ref:"#/$defs/PlainChartSeries"},{$ref:"#/$defs/PlainChartSeries"}],minItems:3,maxItems:3},Series5:{type:"array",items:{$ref:"#/$defs/ComboChartSeries"}},SeriesAxis:{$ref:"#/$defs/ChartSeriesAxis",description:"Series (depth) axis formatting for 3-D charts and `surface`."},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'},Smooth:{type:"boolean",description:'Line-smoothing toggle (`<c:smooth val="1"/>`) \u2014 only meaningful for\nline / scatter / area series. When `true`, the renderer interpolates\na smooth curve through the data points instead of straight segments.'},SurfaceContour:{type:"boolean",description:"Surface charts: `true` draws the top-down contour plot\n(`<c:surfaceChart>`), absent / `false` the 3-D surface\n(`<c:surface3DChart>`)."},SurfaceWireframe:{type:"boolean",description:"Surface charts: draw the mesh only, without color bands (`<c:wireframe>`)."},TextWrap:{type:"string",enum:["none","square"]},Title:{type:"string",description:"Optional chart title rendered above the plot area."},TitleLayout:{type:"object",properties:{x:{type:"number"},y:{type:"number"}},required:["x","y"],additionalProperties:!1,description:`Manual position of the chart title's top-left corner, as fractions of
|
|
51
|
+
the chart space. A title sizes itself to its text, so there is no
|
|
52
|
+
width / height to set.`},TitleOverlay:{type:"boolean",description:"When `true`, the chart title overlays the plot area instead of taking a strip."},TitleStyle:{$ref:"#/$defs/ChartTextStyle",description:"Optional font / color overrides for the chart title."},Trendline:{$ref:"#/$defs/ChartTrendline",description:`Optional trendline overlay. ECMA-376 \xA721.2.2.211 allows several
|
|
53
|
+
regression types; we surface the most common subset. The line is
|
|
54
|
+
painted on top of the series in the renderer.`},UpDownBars:{$ref:"#/$defs/ChartUpDownBars",description:"Up / down bars. Valid on `line` charts (between the first and last\nseries) and on `stock` charts with an open series, where they are the\ncandlestick bodies."},ValueAxis:{$ref:"#/$defs/ChartAxisScaling",description:"Optional value-axis scaling override (min / max)."},ValueAxisCrossBetween:{type:"string",enum:["between","midCat"],description:`Whether the value axis crosses the category axis *between* tick
|
|
55
|
+
marks (the default for bar / column / area) or *at* each tick mark
|
|
56
|
+
(the default for line / scatter). Maps to \`<c:valAx>
|
|
57
|
+
<c:crossBetween val="between|midCat"/>\`. The reference desktop app emits this when
|
|
58
|
+
the chart kind makes the default value non-obvious \u2014 surface it
|
|
59
|
+
here so the round-trip preserves the authored intent.`},ValueAxisCrosses:{anyOf:[{type:"string",enum:["autoZero","min","max"]},{type:"object",properties:{at:{type:"number"}},required:["at"],additionalProperties:!1}],description:'Where the category axis crosses the value axis. Either an enum\nkeyword (`<c:valAx><c:crosses val="autoZero|min|max"/>`) or a\nspecific numeric value (`<c:valAx><c:crossesAt val="N"/>`). The two\nforms are mutually exclusive \u2014 the reference desktop app emits one or the other.\nDefault is `autoZero` (the category axis sits at value 0 if the\nrange straddles zero, otherwise at the closer extreme).'},ValueAxisHidden:{type:"boolean",description:'When `true`, value axis is hidden (`<c:valAx><c:delete val="1"/>`).'},ValueAxisLabelRotationDeg:{type:"number",description:'Authored rotation on the value-axis tick labels, in degrees. From\n`<c:valAx><c:txPr><a:bodyPr rot="N"/>` (N in 60000ths of a degree).\nSame sense as `categoryAxisLabelRotationDeg`.'},ValueAxisLabelStyle:{$ref:"#/$defs/ChartTextStyle",description:"Authored font / color on the value-axis *tick labels* \u2014 `<c:valAx><c:txPr>`."},ValueAxisLineColor:{type:"string",description:'Authored color on the value-axis line itself \u2014 `<c:valAx><c:spPr>\n<a:ln><a:solidFill><a:srgbClr val="\u2026"/>`. Returned as `#RRGGBB`.\n`undefined` falls back to the renderer\'s default axis stroke.'},ValueAxisLineHidden:{type:"boolean",description:"Hide the value-axis line while keeping its tick labels\n(`<c:valAx><c:spPr><a:ln><a:noFill/>`). `valueAxisHidden` removes the\nlabels too; this does not."},ValueAxisLineWidthEmu:{type:"number",description:"Authored width of the value-axis line in EMU \u2014 the `w` of the same\n`<a:ln>` as `valueAxisLineColor`. `undefined` leaves it to the application."},ValueAxisMajorGridlineColor:{type:"string",description:'Authored color on the value-axis major gridlines \u2014 `<c:valAx>\n<c:majorGridlines><c:spPr><a:ln><a:solidFill><a:srgbClr val="\u2026"/>`.\nReturned as `#RRGGBB`. `undefined` falls back to the renderer\'s\ndefault (a light gray).'},ValueAxisMajorGridlineWidthEmu:{type:"number",description:"Authored width of the value-axis major gridlines in EMU \u2014 the `w` of\nthe same `<a:ln>` as `valueAxisMajorGridlineColor` (12700 = 1 pt).\n`undefined` leaves the width to the application (the reference desktop app: 0.75 pt)."},ValueAxisMajorGridlines:{type:"boolean",description:"When the value-axis emits `<c:majorGridlines/>` \u2014 its gridlines are visible."},ValueAxisMajorTickMark:{anyOf:[{$ref:"#/$defs/AnimationInOut"},{type:"string",enum:["none","cross"]}],description:"Major-tick mark mode on the value axis (`<c:valAx><c:majorTickMark val=\"\u2026\"/>`):\n\n - `'out'` \u2014 outside the plot edge (default)\n - `'in'` \u2014 inside the plot\n - `'cross'` \u2014 across the axis line\n - `'none'` \u2014 no tick marks"},ValueAxisMinorGridlineColor:{type:"string",description:"Companion authored color on the value-axis minor gridlines."},ValueAxisMinorGridlineWidthEmu:{type:"number",description:`In EMU: 914400 per inch, 360000 per cm, 12700 per point.
|
|
60
|
+
|
|
61
|
+
Companion width of the value-axis minor gridlines.`},ValueAxisMinorGridlines:{type:"boolean",description:"When the value-axis emits `<c:minorGridlines/>` \u2014 minor gridlines are visible."},ValueAxisMinorTickMark:{anyOf:[{$ref:"#/$defs/AnimationInOut"},{type:"string",enum:["none","cross"]}],description:"Minor-tick mark mode on the value axis (`<c:valAx><c:minorTickMark>`)."},ValueAxisOrientation:{type:"string",enum:["minMax","maxMin"],description:"Same for the value axis."},ValueAxisTickLabelPos:{type:"string",enum:["none","low","high","nextTo"],description:'Value-axis tick label position (`<c:valAx><c:tickLblPos val="\u2026"/>`),\nthe same choices as `categoryAxisTickLabelPos`: `none` hides the\nlabels, `low` / `high` puts them at the plot\'s start / end, `nextTo`\n(default) next to the axis. Primary axis only.'},ValueAxisTitleRotationDeg:{type:"number",description:'Rotation of the value-axis title, in degrees clockwise. The reference desktop app\noften emits `-90` (or `vert270`) so the title reads bottom-to-top\nalongside the axis. Maps to `<c:valAx><c:title><c:tx><c:rich>\n<a:bodyPr rot="N"/>` (60000ths of a degree on the wire).'},ValueAxisTitleStyle:{$ref:"#/$defs/ChartTextStyle",description:"Authored font / color on the value-axis title."},Values:{type:"array",items:{type:["null","number"]},description:"Numeric values, one per category. `null` slots become empty cells in\nthe embedded workbook (the reference desktop app draws them as a gap). Lengths\nshorter than the category count are right-padded with `null`.\n\nFor `scatter` / `bubble` kinds there are no categories: `values`\nholds the series' y-channel (`<c:yVal>`), paired positionally with\n`xValues`. For `radar` it behaves like `line` (values per category).\n\nA `stock` chart reads its series by position, not by name: three\nseries are high, low, close; four are open, high, low, close\n(CT_StockChart allows exactly 3 or 4). A `surface` chart is a grid:\neach series is one row of depth, each category one column."},VaryColors:{type:"boolean",description:'`<c:barChart><c:varyColors val="1"/>` etc. \u2014 when `true` and the\nchart has a single series, each data point gets a distinct color\nfrom the palette. Pie / doughnut already vary colors implicitly;\nthis flag is most useful for single-series bar / column.'},View3D:{$ref:"#/$defs/ChartView3D",description:"3-D view. Its presence selects the 3-D plot-group element for `bar` /\n`column` / `line` / `area` / `pie`; for `surface` it only positions the\ncamera. Rejected for every other kind, and for combo charts (a 3-D\ngroup cannot share a plot area with another group in the reference desktop app)."},View3D2:{$ref:"#/$defs/ChartView3D",description:"3-D view. Its presence selects the 3-D plot-group element for `bar` /\n`column` / `line` / `area` / `pie`; for `surface` it only positions the\ncamera. Rejected for every other kind, and for combo charts (a 3-D\ngroup cannot share a plot area with another group in the reference desktop app).\nIts presence is what selects the 3-D element; a combo cannot be 3-D."},XErrorBars:{$ref:"#/$defs/ChartErrorBars",description:'Error bars along the x direction (`<c:errDir val="x"/>`). Only scatter\nand bubble series have an x channel to attach them to.'}}},output:{$ref:"#/$defs/ShapeRef",$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"addSlideComment",description:"Adds a comment to the slide. Returns the new comment handle.\n\nWhich format it is written in follows the file rather than the caller: a\nreply joins its own thread, and a new thread goes where the slide \u2014 or,\nfailing that, the deck \u2014 already keeps its comments. Only a deck with no\ncomments at all starts an ECMA-376 `<p:cm>` list, which everything can\nread.\n\nAuthor handling: if an author with the given `name`+`initials` already\nexists in the relevant author list, the existing record is reused (and, in\nthe legacy list, its `lastIdx` is bumped). Otherwise a new author is\nallocated. `initials` defaults to the first character of `name`.\n\n`position` is the comment pin, in EMU. The legacy schema makes `<p:pos>`\nmandatory, so a legacy comment added without one is pinned to the slide's\norigin rather than written without the element; the modern schema makes it\noptional, so a modern comment added without one has no pin.\n\n`date` defaults to the current time.",args:["slide","opts"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},opts:{type:"object",properties:{author:{type:"object",properties:{name:{type:"string"},initials:{type:"string"}},required:["name"],additionalProperties:!1},text:{type:"string"},position:{anyOf:[{type:"null"},{type:"object",properties:{x:{type:"number"},y:{type:"number"}},required:["x","y"],additionalProperties:!1}]},date:{$ref:"#/$defs/DateTime"},replyTo:{$ref:"#/$defs/CommentRef",description:"Existing comment on this slide to reply to."}},required:["author","text"],additionalProperties:!1}},required:["slide","opts"],additionalProperties:!1,$defs:{CommentRef:{type:"object",description:"A comment, by its slide and its 0-based position in `listComments` for that slide.",properties:{slide:{$ref:"#/$defs/SlideRef"},index:{type:"integer",minimum:0}},required:["slide","index"],additionalProperties:!1},DateTime:{type:"string",format:"date-time",description:"An RFC 3339 date-time."},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{$ref:"#/$defs/CommentRef",$defs:{CommentRef:{type:"object",description:"A comment, by its slide and its 0-based position in `listComments` for that slide.",properties:{slide:{$ref:"#/$defs/SlideRef"},index:{type:"integer",minimum:0}},required:["slide","index"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"addSlideImage",description:"Adds a picture to the slide from raw bytes. Returns the new shape.\n\nAllocates a `/ppt/media/imageN.<ext>` part, registers a Content_Types\nDefault if the extension isn't yet covered, allocates a slide\u2192image\nrel, and appends a `<p:pic>` element to the slide's `<p:spTree>`.\n\nFormat is detected from magic bytes; pass `opts.format` to override.\n\n`opts.fit` controls how the image fills the `w \xD7 h` box. `'fill'` (the\ndefault) stretches to the exact box, ignoring aspect ratio. `'contain'`\nscales the image to fit inside the box preserving its aspect ratio and\ncenters it \u2014 measured from the PNG / JPEG header. For other formats (or\nan unreadable header) `'contain'` falls back to `'fill'` rather than\nerroring, since the natural size is unknown.",args:["slide","bytes","opts"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},bytes:{$ref:"#/$defs/Bytes"},opts:{type:"object",properties:{x:{$ref:"#/$defs/Emu"},y:{$ref:"#/$defs/Emu"},w:{$ref:"#/$defs/Emu"},h:{$ref:"#/$defs/Emu"},format:{type:"string",enum:["png","jpeg","gif","bmp","tiff","webp","svg"]},name:{type:"string"},fit:{type:"string",enum:["fill","contain"]}},required:["x","y","w","h"],additionalProperties:!1}},required:["slide","bytes","opts"],additionalProperties:!1,$defs:{Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."},Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{$ref:"#/$defs/ShapeRef",$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"addSlideLayout",description:'Insert Layout: adds the reference desktop app\'s "Custom Layout" \u2014 a title and the date,\nfooter and slide-number placeholders \u2014 to `master`, at `index` in its layout\nlist (the end by default). Repeats are named "1_Custom Layout", and so on.',args:[null,"master","options"],input_schema:{type:"object",properties:{master:{type:"string"},options:{type:"object",properties:{index:{type:"number"}},additionalProperties:!1}},required:["master"],additionalProperties:!1},output:{$ref:"#/$defs/LayoutRef",$defs:{LayoutRef:{type:"string",pattern:"^/ppt/slideLayouts/[^/]+\\.xml$",description:'A slide layout, by its part name as `listLayouts` reports it, e.g. "/ppt/slideLayouts/slideLayout1.xml".'}}}},{name:"addSlideLayoutPlaceholder",description:`Insert Placeholder: draws a placeholder of \`kind\` on the layout at \`bounds\`.
|
|
62
|
+
Slides added on the layout get the placeholder; content and text
|
|
63
|
+
placeholders carry the master's five prompt levels, the others their
|
|
64
|
+
kind's prompt ("Picture", "Chart", \u2026). Returns the placeholder's index in
|
|
65
|
+
\`getSlideLayoutPlaceholders\`.`,args:["layout","kind","bounds"],input_schema:{type:"object",properties:{layout:{$ref:"#/$defs/LayoutRef"},kind:{type:"string",enum:["content","verticalContent","text","verticalText","picture","chart","table","smartArt","media","onlineImage"]},bounds:{type:"object",properties:{x:{$ref:"#/$defs/Emu"},y:{$ref:"#/$defs/Emu"},w:{$ref:"#/$defs/Emu"},h:{$ref:"#/$defs/Emu"}},required:["x","y","w","h"],additionalProperties:!1}},required:["layout","kind","bounds"],additionalProperties:!1,$defs:{Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."},LayoutRef:{type:"string",pattern:"^/ppt/slideLayouts/[^/]+\\.xml$",description:'A slide layout, by its part name as `listLayouts` reports it, e.g. "/ppt/slideLayouts/slideLayout1.xml".'}}},output:{type:"number"}},{name:"addSlideLine",description:"Adds a straight-line connector between two points.",args:["slide","opts"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},opts:{type:"object",properties:{from:{$ref:"#/$defs/From"},to:{$ref:"#/$defs/From"},color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},widthEmu:{type:"number",description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point."},name:{type:"string"}},required:["from","to"],additionalProperties:!1}},required:["slide","opts"],additionalProperties:!1,$defs:{Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."},From:{type:"object",properties:{x:{$ref:"#/$defs/Emu"},y:{$ref:"#/$defs/Emu"}},required:["x","y"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{$ref:"#/$defs/ShapeRef",$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"addSlideMaster",description:`Insert Slide Master: adds the reference desktop app's default master, with its own
|
|
66
|
+
copy of the default theme named "Custom Design" and the eleven default
|
|
67
|
+
layouts, after the existing masters. The master is preserved, as the reference desktop app
|
|
68
|
+
marks a master it inserts. Returns the new master's part name.`,args:[null],input_schema:{type:"object",properties:{},additionalProperties:!1},output:{type:"string"}},{name:"addSlideMedia",description:"Adds a video, an audio clip or an online (URL) video to the slide. Returns\nthe new picture shape \u2014 the clip's poster frame.\n\nEmbedded clips are stored once per package: adding the same bytes again\nreuses the existing `/ppt/media/mediaN.<ext>` part. The container format is\ndetected from the bytes (mp4 / m4v / mov / webm / avi / wmv, mp3 / wav / m4a /\nogg / wma); pass `format` for anything the signature check cannot tell.\nWhether a clip plays depends on the codecs of the viewing application.\n\nThe shape is an ordinary picture: `getShapeImageBytes` / `setShapeImage`\nread and replace the poster, `getShapeMedia` reads the clip.",args:["slide","opts"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},opts:{anyOf:[{type:"object",properties:{kind:{type:"string",const:"video"},data:{$ref:"#/$defs/Bytes"},format:{type:"string",enum:["mp4","m4v","mov","webm","avi","wmv"],description:"Container of `data`. Detected from its signature when omitted."},x:{$ref:"#/$defs/Emu"},y:{$ref:"#/$defs/Emu"},w:{$ref:"#/$defs/Emu"},h:{$ref:"#/$defs/Emu"},name:{type:"string"},poster:{$ref:"#/$defs/Poster"},posterFormat:{$ref:"#/$defs/PosterFormat"}},required:["kind","data","x","y","w","h"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"audio"},data:{$ref:"#/$defs/Bytes"},format:{type:"string",enum:["mp3","wav","m4a","ogg","wma"],description:"Container of `data`. Detected from its signature when omitted."},x:{$ref:"#/$defs/Emu"},y:{$ref:"#/$defs/Emu"},w:{$ref:"#/$defs/Emu"},h:{$ref:"#/$defs/Emu"},name:{type:"string"},poster:{$ref:"#/$defs/Poster"},posterFormat:{$ref:"#/$defs/PosterFormat"}},required:["kind","data","x","y","w","h"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"online"},url:{type:"string",description:"`http(s)` URL of the video. YouTube page URLs are rewritten to the embed form."},x:{$ref:"#/$defs/Emu"},y:{$ref:"#/$defs/Emu"},w:{$ref:"#/$defs/Emu"},h:{$ref:"#/$defs/Emu"},name:{type:"string"},poster:{$ref:"#/$defs/Poster"},posterFormat:{$ref:"#/$defs/PosterFormat"}},required:["kind","url","x","y","w","h"],additionalProperties:!1}]}},required:["slide","opts"],additionalProperties:!1,$defs:{Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."},Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."},ImageFormat:{type:"string",enum:["png","jpeg","gif","bmp","tiff","webp","svg"]},Poster:{$ref:"#/$defs/Bytes",description:"Poster frame shown until the clip plays. A neutral play-button image when omitted."},PosterFormat:{$ref:"#/$defs/ImageFormat",description:"Format of `poster`. Detected from its signature when omitted."},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{$ref:"#/$defs/ShapeRef",$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"addSlidePlaceholder",description:"Adds the single placeholder of `type` that the layout defines and the slide\nis missing \u2014 how an editor inserts a slide number, date or footer into a\nslide without also restoring every other slot the author deleted.\n\n`type` is an ECMA-376 `ST_PlaceholderType` token (`sldNum`, `dt`, `ftr`,\n`title`, `body`, \u2026), matched as `findSlidePlaceholder` matches it. Returns\nthe slide's placeholder of that type \u2014 the one just added or the one already\nthere \u2014 or `null` when the layout reserves no such slot. Like the added slots\nof `addMissingSlidePlaceholders`, it starts empty and inherits its geometry\nand text style from the layout and master.\nPass `source: 'master'` to create an unmatched slot that inherits directly\nfrom the master, without changing the layout (as the reference desktop app does when\ndemoting outline text into a Title Only slide). Returns null if absent there.",args:["slide","type","options"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},type:{anyOf:[{anyOf:[{type:"string",enum:["hdr","dt","ftr","sldNum"]},{type:"string",enum:["body","sldImg"]}]},{type:"string",enum:["title","chart","media","ctrTitle","subTitle","obj","tbl","clipArt","dgm","pic"]}]},options:{type:"object",properties:{source:{type:"string",enum:["layout","master"]}},additionalProperties:!1}},required:["slide","type"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{anyOf:[{type:"null"},{$ref:"#/$defs/ShapeRef"}],$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"addSlideShape",description:"Adds a preset shape (rectangle, ellipse, arrow, ...) to the slide.\nOptional `text` seeds a single run.",args:["slide","opts"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},opts:{type:"object",properties:{preset:{type:"string"},x:{$ref:"#/$defs/Emu"},y:{$ref:"#/$defs/Emu"},w:{$ref:"#/$defs/Emu"},h:{$ref:"#/$defs/Emu"},text:{type:"string"},textAnchor:{type:"string",enum:["ctr","t","b"],description:"Vertical text anchor (`t` / `ctr` / `b`). Horizontal alignment is set\nseparately via `setShapeAlignment` / `setParagraphAlignment`."},name:{type:"string"}},required:["preset","x","y","w","h"],additionalProperties:!1}},required:["slide","opts"],additionalProperties:!1,$defs:{Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{$ref:"#/$defs/ShapeRef",$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"addSlideTable",description:'Adds a table to the slide. Cells render as plain text; `firstRow` /\n`bandRow` flags drive the reference desktop app\'s banded-header look unless options say\notherwise.\n\nCell text color is baked from the deck\'s resolved body-text color so the\ntable stays readable even on templates with an inverted color map\n(`bg1="dk1" tx1="lt1"`), where the default `tx1` text token would otherwise\npaint the text the same as the background. Override per cell afterwards with\n`setTableCellTextFormat`.',args:["slide","opts"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},opts:{type:"object",properties:{x:{$ref:"#/$defs/Emu"},y:{$ref:"#/$defs/Emu"},w:{$ref:"#/$defs/Emu"},h:{$ref:"#/$defs/Emu"},rows:{type:"array",items:{type:"array",items:{type:"string"}}},colWidths:{type:"array",items:{$ref:"#/$defs/Emu"}},rowHeights:{type:"array",items:{$ref:"#/$defs/Emu"}},firstRow:{type:"boolean"},bandRow:{type:"boolean"},name:{type:"string"}},required:["x","y","w","h","rows"],additionalProperties:!1}},required:["slide","opts"],additionalProperties:!1,$defs:{Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{$ref:"#/$defs/ShapeRef",$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"addSlideTextBox",description:`Adds a free-form text box to the slide. Returns the new shape.
|
|
69
|
+
|
|
70
|
+
The box is a plain rectangle with no fill or outline carrying one
|
|
71
|
+
paragraph with one run. The shape id is allocated as one more than
|
|
72
|
+
the current max id.`,args:["slide","opts"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},opts:{type:"object",properties:{x:{$ref:"#/$defs/Emu"},y:{$ref:"#/$defs/Emu"},w:{$ref:"#/$defs/Emu"},h:{$ref:"#/$defs/Emu"},text:{type:"string"},name:{type:"string"}},required:["x","y","w","h","text"],additionalProperties:!1}},required:["slide","opts"],additionalProperties:!1,$defs:{Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{$ref:"#/$defs/ShapeRef",$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"addTitleSlide",description:'Sugar over `addSlide` + `setSlideTitle` for the common\n"title slide + set heading" pattern. Picks the `title` layout\nfirst, then falls back to the first non-blank layout.\n\nThrows when the package carries no layouts at all.',args:[null,"title"],input_schema:{type:"object",properties:{title:{type:"string"}},required:["title"],additionalProperties:!1},output:{$ref:"#/$defs/SlideRef",$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"appendShapeText",description:"Appends `value` to the shape's existing text on a new line. The\nshape's existing run / paragraph formatting is preserved by\n`setTextBody`; the new paragraph inherits the same template.\n\nEquivalent to `setShapeText(shape, getShapeText(shape) + '\\n' + value)`,\nminus the leading newline when there was no existing text.",args:["shape","value"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},value:{type:"string"}},required:["shape","value"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"appendSlideNotes",description:"Appends `text` to the slide's existing notes on its own line.\nEquivalent to `setSlideNotes(slide, (getSlideNotes(slide) ?? '') + '\\n' + text)`,\nminus the leading newline when there were no notes yet.",args:["slide","text"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},text:{type:"string"}},required:["slide","text"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"applySlideBackgroundToAll",description:`Applies the source slide's effective background throughout its presentation.
|
|
73
|
+
Like the reference desktop app on Mac, stores the fill on masters and clears slide/layout
|
|
74
|
+
overrides. Theme colors and image relationships are preserved without flattening the fill.`,args:[null,"slide"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"bringShapeForward",description:"Move one shape or a selection one step forward among siblings.",args:["shape"],input_schema:{type:"object",properties:{shape:{anyOf:[{$ref:"#/$defs/ShapeRef"},{type:"array",items:{$ref:"#/$defs/ShapeRef"}}]}},required:["shape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"bringShapeToFront",description:"Move one shape or a selection in front of all siblings, preserving their stacking order.",args:["shape"],input_schema:{type:"object",properties:{shape:{anyOf:[{$ref:"#/$defs/ShapeRef"},{type:"array",items:{$ref:"#/$defs/ShapeRef"}}]}},required:["shape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"clearAllHyperlinks",description:`Removes every external hyperlink across the deck \u2014 useful for
|
|
75
|
+
sanitizing a template before sharing, or for stripping outbound
|
|
76
|
+
URLs from an exported preview. Returns the number of shapes
|
|
77
|
+
cleared. Each call goes through \`setShapeHyperlink(_, null)\`.`,args:[null],input_schema:{type:"object",properties:{},additionalProperties:!1},output:{type:"number"}},{name:"clearAllSlideComments",description:`Strips every comment from every slide in the deck. Returns the
|
|
78
|
+
number of comments removed. Built on \`writeCommentsForSlide\`,
|
|
79
|
+
so each slide's legacy comment part is rewritten with an empty
|
|
80
|
+
list. The \`commentAuthors.xml\` registry is left intact for any
|
|
81
|
+
caller that still needs author identity.
|
|
82
|
+
|
|
83
|
+
Useful as a sanitizer before sharing a draft externally \u2014 pairs
|
|
84
|
+
with \`clearAllSlideNotes\` for a "remove reviewer chatter" pass.`,args:[null],input_schema:{type:"object",properties:{},additionalProperties:!1},output:{type:"number"}},{name:"clearAllSlideNotes",description:`Removes the speaker-notes part from every slide that has one.
|
|
85
|
+
Built on \`removeSlideNotes\`. Returns the number of slides
|
|
86
|
+
stripped. Useful as a privacy/sharing helper before exporting a
|
|
87
|
+
deck whose notes contain internal commentary.`,args:[null],input_schema:{type:"object",properties:{},additionalProperties:!1},output:{type:"number"}},{name:"clearShapeEffects",description:"Removes any effects (shadow / glow / future presets) from the shape.",args:["shape"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"}},required:["shape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"clearShapeFill",description:`Removes any fill choice from the shape; it then inherits its fill
|
|
88
|
+
from the layout / master placeholder it descends from.`,args:["shape"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"}},required:["shape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"clearShapeStroke",description:"Removes any outline override; the shape then inherits stroke from layout.",args:["shape"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"}},required:["shape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"clearSlideAnimations",description:"Removes every animation on the slide, keeping its media play controls.",args:["slide"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"clearSlideBackground",description:"Clears any explicit slide background, restoring layout inheritance.",args:["slide"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"clearSlideComments",description:"Slide-scoped sibling of `clearAllSlideComments`. Removes every\ncomment on the given slide and returns the number removed.",args:["slide"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"number"}},{name:"clearSlideHyperlinks",description:"Slide-scoped sibling of `clearAllHyperlinks`. Removes every\nexternal hyperlink on this slide and returns the number of\nshapes cleared.",args:["slide"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"number"}},{name:"clearSlideLayoutBackground",description:"Drops the layout's own background so it inherits the master's again.",args:["layout"],input_schema:{type:"object",properties:{layout:{$ref:"#/$defs/LayoutRef"}},required:["layout"],additionalProperties:!1,$defs:{LayoutRef:{type:"string",pattern:"^/ppt/slideLayouts/[^/]+\\.xml$",description:'A slide layout, by its part name as `listLayouts` reports it, e.g. "/ppt/slideLayouts/slideLayout1.xml".'}}},output:{type:"null"}},{name:"clearSlideShapes",description:`Removes every shape (sp / pic / cxnSp / graphicFrame / grpSp) from
|
|
89
|
+
the slide's \`<p:spTree>\`. The required \`<p:nvGrpSpPr>\` and
|
|
90
|
+
\`<p:grpSpPr>\` preface stays in place, so the slide is still valid
|
|
91
|
+
and re-applies its layout's placeholders on the next open.
|
|
92
|
+
|
|
93
|
+
Useful for "start this slide over but keep its layout binding."`,args:["slide"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"clearSlideTransition",description:"Removes any existing transition on the slide, including its sound.",args:["slide"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"clearTableCellFill",description:"Removes any background fill from a cell.",args:["cell"],input_schema:{type:"object",properties:{cell:{$ref:"#/$defs/CellRef"}},required:["cell"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"compactPackage",description:`Removes media parts that no rels graph references. Returns the
|
|
94
|
+
list of removed part names. Useful after a sequence of slide
|
|
95
|
+
removals leaves orphan images behind.
|
|
96
|
+
|
|
97
|
+
Only \`/ppt/media/...\` parts are considered. The check walks every
|
|
98
|
+
\`.rels\` part in the package and resolves each internal rel target
|
|
99
|
+
against its source part name to build the live media set.`,args:[null],input_schema:{type:"object",properties:{},additionalProperties:!1},output:{type:"object",properties:{removed:{type:"array",items:{type:"string"}}},required:["removed"],additionalProperties:!1}},{name:"copyShape",description:`Copies a shape into \`targetSlide\`, including nested shapes and relationships.
|
|
100
|
+
Within a presentation, media and other referenced parts remain shared.
|
|
101
|
+
Across presentations, dependencies are cloned with collision-free part names,
|
|
102
|
+
retaining embedded workbooks, unknown parts and external links.
|
|
103
|
+
With \`preserveGroupTransform\`, a nested source retains its ancestor group
|
|
104
|
+
transforms as wrappers, excluding sibling objects. Returns the outermost
|
|
105
|
+
copied shape on the target slide.`,args:["targetSlide","sourceShape","opts"],input_schema:{type:"object",properties:{targetSlide:{$ref:"#/$defs/SlideRef"},sourceShape:{$ref:"#/$defs/ShapeRef"},opts:{type:"object",properties:{preserveGroupTransform:{type:"boolean"}},additionalProperties:!1}},required:["targetSlide","sourceShape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{$ref:"#/$defs/ShapeRef",$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"copySlideBackground",description:`Copies the source's effective background into a target slide, retaining its XML
|
|
106
|
+
and referenced parts. Inherited fills become explicit on the target. Theme
|
|
107
|
+
references use the target's theme; background graphics visibility is unchanged.
|
|
108
|
+
Across presentations, dependencies are copied with collision-free names.`,args:["targetSlide","sourceSlide"],input_schema:{type:"object",properties:{targetSlide:{$ref:"#/$defs/SlideRef"},sourceSlide:{$ref:"#/$defs/SlideRef"}},required:["targetSlide","sourceSlide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"duplicateSlide",description:`Duplicates a slide. Returns the new \`SlideData\` appended to deck order.
|
|
109
|
+
|
|
110
|
+
Charts, embedded workbooks, notes and other owned dependencies are copied.
|
|
111
|
+
Layouts, masters, themes, media and links to other slides remain shared.
|
|
112
|
+
Unknown dependency bodies are retained without interpreting their content.`,args:[null,"slide"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{$ref:"#/$defs/SlideRef",$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"duplicateSlideAt",description:"Convenience over `duplicateSlide` + `moveSlide`. Duplicates `slide`\nand inserts the duplicate at `atIndex` instead of at the end.",args:[null,"atIndex","slide"],input_schema:{type:"object",properties:{atIndex:{type:"number"},slide:{$ref:"#/$defs/SlideRef"}},required:["atIndex","slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{$ref:"#/$defs/SlideRef",$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"groupShapes",description:`Groups two or more sibling shapes into a single \`<p:grpSp>\`,
|
|
113
|
+
returning the new group as a \`SlideShapeData\`. The group's
|
|
114
|
+
parent-space bounds are the union of its members' bounds; the members
|
|
115
|
+
keep their own relative position/size (nothing is rescaled). The
|
|
116
|
+
target slide is taken from the first shape \u2014 every shape must belong
|
|
117
|
+
to the same slide.
|
|
118
|
+
|
|
119
|
+
Every shape must:
|
|
120
|
+
- belong to the same slide as the others,
|
|
121
|
+
- share the same immediate parent (the slide or a group),
|
|
122
|
+
- have an explicit \`<a:xfrm>\` (placeholders that inherit position
|
|
123
|
+
from the layout have none and can't be grouped),
|
|
124
|
+
- appear at most once in \`shapes\` (grouping the same shape twice
|
|
125
|
+
would duplicate its id).
|
|
126
|
+
|
|
127
|
+
The group replaces its members at the position of the earliest one in
|
|
128
|
+
z-order, preserving member order regardless of selection order. Members
|
|
129
|
+
become one contiguous block, which can change interleaving with unselected shapes.`,args:["shapes","opts"],input_schema:{type:"object",properties:{shapes:{type:"array",items:{$ref:"#/$defs/ShapeRef"}},opts:{type:"object",properties:{name:{type:"string"}},additionalProperties:!1}},required:["shapes"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{$ref:"#/$defs/ShapeRef",$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"incrementRevision",description:"Convenience: bumps core-properties' `cp:revision` by one (treating\nan unset / unparseable value as 0). Returns the new revision\nnumber. Useful right before `savePresentation` so consumers can\ntell decks apart.",args:[null],input_schema:{type:"object",properties:{},additionalProperties:!1},output:{type:"number"}},{name:"insertTableColumn",description:"Inserts a column into the table. `atIndex` defaults to the end.\n`widthEmu` defaults to the average of existing column widths (or\n914400 = 1in if the table has no columns). Existing rows get a new\nblank cell at `atIndex`.",args:["table","atIndex","widthEmu"],input_schema:{type:"object",properties:{table:{$ref:"#/$defs/ShapeRef"},atIndex:{type:"number"},widthEmu:{type:"number",description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point."}},required:["table"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"insertTableRow",description:"Inserts a row into the table. `atIndex` is 0-based; `undefined`\nappends at the end. `cells` supplies cell values; missing cells\nbecome blank, extras are dropped. The row's height matches the\naverage of existing rows (or a 0.4in default for empty tables).",args:["table","atIndex","cells"],input_schema:{type:"object",properties:{table:{$ref:"#/$defs/ShapeRef"},atIndex:{type:"number"},cells:{type:"array",items:{type:"string"}}},required:["table"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"mergeTableCells",description:"Merges a rectangular block of table cells into a single visual cell.\n\nThe block's top-left cell `(row, col)` becomes the anchor and carries\n`gridSpan` (= `colSpan`) / `rowSpan`; the cells it covers are marked\n`hMerge` / `vMerge` per ECMA-376 \xA721.1.3.18 (`CT_TableCell`) so the\ngrid stays rectangular while the reference desktop app paints only the anchor. This\nis the write counterpart to {@link getTableCellSpan}.\n\nConstraints, enforced loudly (these are authoring-boundary inputs):\n\n - `rowSpan` / `colSpan` must be \u2265 1, and at least one must be > 1\n (a 1\xD71 \"merge\" is a no-op the caller didn't mean).\n - The block must lie fully inside the table grid.\n - No cell in the block may already participate in another merge \u2014\n overlapping merges corrupt the grid and trip the reference desktop app's repair\n dialog. Split the existing merge first.\n\nThe anchor cell's text is preserved. `coveredText: 'keep'` (the default)\nleaves each covered cell's `<a:txBody>` in the XML; `'drop'` removes it,\nso the covered cells carry no `<a:txBody>` at all (CT_TableCell allows\nthat), which is how PptxGenJS writes a merge; `getTableCellParagraphs`\nreads them as `[]`. `'append'` moves covered paragraphs into the anchor in\nrow-major order, preserving their formatting and leaving covered cells empty.",args:["table","block","options"],input_schema:{type:"object",properties:{table:{$ref:"#/$defs/ShapeRef"},block:{type:"object",properties:{row:{type:"number"},col:{type:"number"},rowSpan:{type:"number"},colSpan:{type:"number"}},required:["row","col","rowSpan","colSpan"],additionalProperties:!1},options:{type:"object",properties:{coveredText:{type:"string",enum:["keep","drop","append"]}},additionalProperties:!1}},required:["table","block"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"moveSlide",description:"Reorders a slide. The slide's identity (part, rels, sldId) is\nunchanged \u2014 only `<p:sldIdLst>`'s child order changes.",args:[null,"slide","toIndex"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},toIndex:{type:"number"}},required:["slide","toIndex"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"moveSlideAnimation",description:"Moves one effect to `index` in the click order, counting only the slide's\nmain sequence \u2014 the order `getSlideAnimations` reports for steps whose\n`sequence` is `'mainSeq'`.\n\nEach effect keeps the start condition it had, so moving a `'withPrevious'`\neffect to the front does not turn it into a click: it becomes the first thing\nthat runs as the slide appears, which is what it already meant.",args:["slide","id","index"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},id:{type:"number"},index:{type:"number"}},required:["slide","id","index"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"removeShape",description:`Removes the shape from its slide's shape tree. Subsequent property
|
|
130
|
+
reads on this handle reflect the stale snapshot \u2014 discard it after.
|
|
131
|
+
|
|
132
|
+
Removing a picture does NOT delete the underlying media part \u2014 it
|
|
133
|
+
may be referenced from other slides.`,args:["shape"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"}},required:["shape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"removeSlide",description:"Removes the given slide from the deck. Removes the `<p:sldId>`, the\n`presentation.xml.rels` entry, and the slide part + its `.rels` part.\nLinks to this slide from other slides are cleared to prevent accidental\nretargeting when a slide part name is reused.\n\nMedia parts are intentionally NOT cleaned up \u2014 they may be shared\nwith other slides. The freed `sldId` is NOT reused on subsequent\n`addSlide` calls (the reference desktop app's quirk, see plan \xA7Risks).",args:[null,"slide"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"removeSlideAnimation",description:`Removes one effect. The effects after it move one place earlier in the click
|
|
134
|
+
order and are retimed to match.
|
|
135
|
+
|
|
136
|
+
A paragraph of a build is removed on its own: the build entry the rest of the
|
|
137
|
+
paragraphs share stays, and goes only once the last of them is gone.`,args:["slide","id"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},id:{type:"number"}},required:["slide","id"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"removeSlideComment",description:`Removes the comment and all its replies from its slide's comments part. If the comment
|
|
138
|
+
was the last one on the slide, the comments part and the
|
|
139
|
+
slide \u2192 comments rel are also removed. The author entry in
|
|
140
|
+
\`commentAuthors.xml\` is left intact (an author may have comments on
|
|
141
|
+
other slides).`,args:["comment"],input_schema:{type:"object",properties:{comment:{$ref:"#/$defs/CommentRef"}},required:["comment"],additionalProperties:!1,$defs:{CommentRef:{type:"object",description:"A comment, by its slide and its 0-based position in `listComments` for that slide.",properties:{slide:{$ref:"#/$defs/SlideRef"},index:{type:"integer",minimum:0}},required:["slide","index"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"removeSlideLayout",description:`Deletes a layout. Like the reference desktop app's Delete, this refuses (throws) while any
|
|
142
|
+
slide uses the layout, and for a master's only layout.`,args:["layout"],input_schema:{type:"object",properties:{layout:{$ref:"#/$defs/LayoutRef"}},required:["layout"],additionalProperties:!1,$defs:{LayoutRef:{type:"string",pattern:"^/ppt/slideLayouts/[^/]+\\.xml$",description:'A slide layout, by its part name as `listLayouts` reports it, e.g. "/ppt/slideLayouts/slideLayout1.xml".'}}},output:{type:"null"}},{name:"removeSlideMaster",description:`Deletes a master with its layouts and, when nothing else uses it, its theme.
|
|
143
|
+
Like the reference desktop app's Delete, this refuses (throws) while any slide uses one of
|
|
144
|
+
the master's layouts, and for the presentation's only master.`,args:[null,"master"],input_schema:{type:"object",properties:{master:{type:"string"}},required:["master"],additionalProperties:!1},output:{type:"null"}},{name:"removeSlideNotes",description:"Removes the slide's speaker-notes part entirely. Drops the\n`notesSlide` part + its `.rels`, and unwires the slide \u2192 notesSlide\nrelationship. No-op when the slide has no notes.\n\nThe shared `notesMaster` part is left alone; other slides may still\nreference it.",args:["slide"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"removeTableColumn",description:"Removes the column at `atIndex` (and the corresponding cell in every row).",args:["table","atIndex"],input_schema:{type:"object",properties:{table:{$ref:"#/$defs/ShapeRef"},atIndex:{type:"number"}},required:["table","atIndex"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"removeTableRow",description:"Removes the row at `atIndex` from the table. Throws on out-of-range.",args:["table","atIndex"],input_schema:{type:"object",properties:{table:{$ref:"#/$defs/ShapeRef"},atIndex:{type:"number"}},required:["table","atIndex"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"removeThumbnail",description:`Removes the package's thumbnail entirely (drops the rel + the
|
|
145
|
+
underlying part). No-op when the package has no thumbnail.`,args:[null],input_schema:{type:"object",properties:{},additionalProperties:!1},output:{type:"null"}},{name:"renameShape",description:"Renames the shape: the name the Selection Pane shows (`<p:cNvPr name>`).",args:["shape","newName"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},newName:{type:"string"}},required:["shape","newName"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"replaceHyperlink",description:"Bulk URL migration. Re-points every shape across the deck whose\nfirst hyperlink exactly equals `from` to instead point at `to`.\nReturns the number of shapes updated. Built on\n`setShapeHyperlink`, so each update goes through the standard\nrels-allocation path and stays schema-valid.\n\nMatching is exact (case-sensitive). To migrate by pattern, use\n`findSlidesByHyperlink` to locate slides and rewrite each shape\nyourself.",args:[null,"from","to"],input_schema:{type:"object",properties:{from:{type:"string"},to:{type:"string"}},required:["from","to"],additionalProperties:!1},output:{type:"number"}},{name:"replaceTextInNotes",description:"Replaces every occurrence of `from` in every slide's speaker\nnotes with `to`. Returns the number of slides updated. Sibling\nof `replaceTextInPresentation` for the reviewer-annotation pass.\n\nSlides without notes are skipped. For string needles, replacement\nis global; for RegExp needles, the global flag is forced.",args:[null,"from","to"],input_schema:{type:"object",properties:{from:{type:"string"},to:{type:"string"}},required:["from","to"],additionalProperties:!1},output:{type:"number"}},{name:"replaceTextInPresentation",description:'Replaces every occurrence of `from` in every slide\'s text with `to`.\n`from` may be a string (treated as a literal) or a `RegExp`. Returns\nthe number of `<a:t>` elements mutated across the whole deck. Matches can\nspan formatting runs within a paragraph, but not explicit line breaks.\nInserted text inherits the first matched run\u2019s formatting. `to` follows\nJavaScript replacement-string rules (`$$`, `$&`, capture groups).\n\nUse this for the broad "rename product X to Y" pattern; for\n`{{token}}` style substitutions, prefer\n`replaceTokensInPresentation` which is more explicit about intent.',args:[null,"from","to"],input_schema:{type:"object",properties:{from:{type:"string"},to:{type:"string"}},required:["from","to"],additionalProperties:!1},output:{type:"number"}},{name:"replaceTextInSlide",description:"Replaces every occurrence of `from` in the slide's text with `to`.\nMatches span adjacent formatting runs, bounded by paragraphs and explicit\nline breaks. Inserted text inherits the first matched run\u2019s formatting;\n`to` follows JavaScript replacement-string rules. Returns the number of\n`<a:t>` elements mutated on this slide.",args:["slide","from","to"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},from:{type:"string"},to:{type:"string"}},required:["slide","from","to"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"number"}},{name:"replaceTextInSlideNotes",description:"Slide-scoped sibling of `replaceTextInNotes`. Replaces every\noccurrence of `from` in the slide's speaker notes with `to`.\nReturns `true` if the notes changed, `false` otherwise (no notes\npresent, or no match).",args:["slide","from","to"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},from:{type:"string"},to:{type:"string"}},required:["slide","from","to"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"boolean"}},{name:"replaceTokensInPresentation",description:"Replaces `{{key}}` tokens on every slide. Returns the total number of\nsubstitutions performed.",args:[null,"tokens"],input_schema:{type:"object",properties:{tokens:{type:"object",additionalProperties:{type:"string"}}},required:["tokens"],additionalProperties:!1},output:{type:"number"}},{name:"replaceTokensInSlide",description:"Replaces `{{key}}` tokens in every text-bearing shape on this slide.\nReturns the number of substitutions performed.\n\nTokens must fit within a single text run (see `replaceTokensInTree`\nin `drawingml/`). Cross-run replacements aren't supported \u2014 use\n`findSlidePlaceholder` + a setText path when the reference desktop app has\nfragmented the run sequence.",args:["slide","tokens"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},tokens:{type:"object",additionalProperties:{type:"string"}}},required:["slide","tokens"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"number"}},{name:"resetShapeImageColorEffects",description:"Clears the reference desktop app's image color corrections from a picture or image fill.\nThis removes grayscale (`grayscl`), duotone, bi-level recolor, and\nbrightness/contrast (`lum`) effects while preserving opacity, media\nreferences, and all other known or extension effects.",args:["shape"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"}},required:["shape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"resetShapeVideoFormatting",description:`Restores a video to the reference desktop app's default shape formatting.
|
|
146
|
+
|
|
147
|
+
This is deliberately restricted to video media pictures. It clears the
|
|
148
|
+
image recolor/correction elements and the shape-level fill, line, effects,
|
|
149
|
+
and 3-D style children, while preserving the poster/media relationship,
|
|
150
|
+
crop, transform, and unknown extension XML.`,args:["shape"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"}},required:["shape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"resetSlideLayout",description:`Reset the current slide's layout: restore deleted slots, reset top-level
|
|
151
|
+
placeholder geometry and clear direct shape/text appearance to inherit the
|
|
152
|
+
layout again. Content, picture crops, relationships, IDs and unrelated shapes
|
|
153
|
+
remain intact.
|
|
154
|
+
|
|
155
|
+
A placeholder inside a group has its appearance and text formatting reset
|
|
156
|
+
like any other, but keeps its geometry: where it sits is a statement about
|
|
157
|
+
the group's arrangement, and the layout has nothing to say about that.
|
|
158
|
+
|
|
159
|
+
Returns the number of layout placeholders processed, including new slots.`,args:["slide"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"number"}},{name:"resetSlidePlaceholderGeometry",description:`Restore top-level placeholders' position, size, rotation and flips from the
|
|
160
|
+
current layout (or its master when the layout inherits its geometry).
|
|
161
|
+
Text, formatting, IDs, relationships and other shapes are preserved. Slots
|
|
162
|
+
without matching layout geometry are left intact; deleted placeholders are
|
|
163
|
+
not recreated.
|
|
164
|
+
|
|
165
|
+
A placeholder inside a group is left where it is. The layout states a
|
|
166
|
+
rectangle on the slide, while a grouped shape's own geometry is written in
|
|
167
|
+
its group's coordinate space \u2014 so restoring it would mean either tearing the
|
|
168
|
+
shape out of the arrangement it was grouped into, or inventing a rectangle
|
|
169
|
+
the layout never described. Its formatting and appearance are still reset by
|
|
170
|
+
the two functions below.
|
|
171
|
+
|
|
172
|
+
Returns the number of placeholders restored.`,args:["slide"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"number"}},{name:"resetSlidePlaceholderTextFormatting",description:`Restore inherited text formatting on placeholders bound to the current
|
|
173
|
+
layout, including placeholders inside a group. Clears direct run, paragraph
|
|
174
|
+
and text-body appearance while preserving text, fields, hyperlinks,
|
|
175
|
+
language, outline levels and unknown extensions. Geometry and shape
|
|
176
|
+
appearance remain unchanged.
|
|
177
|
+
Returns the number of matching text placeholders processed.`,args:["slide"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"number"}},{name:"reverseSlides",description:"Reverses the slide order across the whole deck. Built on\n`sortSlides` for predictable rels behavior.",args:[null],input_schema:{type:"object",properties:{},additionalProperties:!1},output:{type:"null"}},{name:"sendShapeBackward",description:"Move one shape or a selection one step backward among siblings.",args:["shape"],input_schema:{type:"object",properties:{shape:{anyOf:[{$ref:"#/$defs/ShapeRef"},{type:"array",items:{$ref:"#/$defs/ShapeRef"}}]}},required:["shape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"sendShapeToBack",description:"Move one shape or a selection behind all siblings, preserving their stacking order.",args:["shape"],input_schema:{type:"object",properties:{shape:{anyOf:[{$ref:"#/$defs/ShapeRef"},{type:"array",items:{$ref:"#/$defs/ShapeRef"}}]}},required:["shape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setChartSpec",description:`Replaces the chart definition on an existing graphic-frame chart
|
|
178
|
+
shape. Updates the inline \`<c:strCache>\` / \`<c:numCache>\` blocks so
|
|
179
|
+
the reference desktop app renders the new data without opening the embedded
|
|
180
|
+
workbook. The shape's geometry (position / size / rotation) is
|
|
181
|
+
preserved verbatim.
|
|
182
|
+
|
|
183
|
+
The embedded xlsx is re-written too \u2014 it's what the "Edit data"
|
|
184
|
+
affordance opens. The previous workbook is replaced wholesale (no
|
|
185
|
+
attempt to preserve styles a user added in a spreadsheet app).
|
|
186
|
+
|
|
187
|
+
Pass any \`ChartSpec\`, including a different \`kind\` from the
|
|
188
|
+
original; this acts as "change my column chart to a line chart with
|
|
189
|
+
fresh data."`,args:["chart","spec"],input_schema:{type:"object",properties:{chart:{$ref:"#/$defs/ChartRef"},spec:{anyOf:[{anyOf:[{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},grouping:{$ref:"#/$defs/Grouping"},gapWidthPct:{$ref:"#/$defs/GapWidthPct"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},view3D:{$ref:"#/$defs/View3D2"},bar3DShape:{$ref:"#/$defs/Bar3DShape"},gapDepthPct:{$ref:"#/$defs/GapDepthPct"},seriesAxis:{$ref:"#/$defs/SeriesAxis"},dataTable:{$ref:"#/$defs/DataTable"},categoryAxisDate:{$ref:"#/$defs/CategoryAxisDate"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",enum:["bar","column"]},series:{$ref:"#/$defs/Series"}},required:["categories","view3D","categoryAxisDate","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},grouping:{$ref:"#/$defs/Grouping"},gapWidthPct:{$ref:"#/$defs/GapWidthPct"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},view3D:{$ref:"#/$defs/View3D2"},bar3DShape:{$ref:"#/$defs/Bar3DShape"},gapDepthPct:{$ref:"#/$defs/GapDepthPct"},seriesAxis:{$ref:"#/$defs/SeriesAxis"},dataTable:{$ref:"#/$defs/DataTable"},categoryGroupLevels:{$ref:"#/$defs/CategoryGroupLevels"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",enum:["bar","column"]},series:{$ref:"#/$defs/Series"}},required:["categories","view3D","kind","series"],additionalProperties:!1}]},{anyOf:[{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},dropLines:{$ref:"#/$defs/DropLines"},hiLowLines:{$ref:"#/$defs/HiLowLines"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},upDownBars:{$ref:"#/$defs/UpDownBars"},dataTable:{$ref:"#/$defs/DataTable"},categoryAxisDate:{$ref:"#/$defs/CategoryAxisDate"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"stock"},series:{$ref:"#/$defs/Series3"}},required:["categories","categoryAxisDate","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},dropLines:{$ref:"#/$defs/DropLines"},hiLowLines:{$ref:"#/$defs/HiLowLines"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},upDownBars:{$ref:"#/$defs/UpDownBars"},dataTable:{$ref:"#/$defs/DataTable"},categoryGroupLevels:{$ref:"#/$defs/CategoryGroupLevels"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"stock"},series:{$ref:"#/$defs/Series3"}},required:["categories","kind","series"],additionalProperties:!1}]},{anyOf:[{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},secondaryValueAxis:{$ref:"#/$defs/SecondaryValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},grouping:{$ref:"#/$defs/Grouping"},dropLines:{$ref:"#/$defs/DropLines"},hiLowLines:{$ref:"#/$defs/HiLowLines"},lineMarkers:{$ref:"#/$defs/LineMarkers"},gapWidthPct:{$ref:"#/$defs/GapWidthPct"},overlapPct:{$ref:"#/$defs/OverlapPct"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},upDownBars:{$ref:"#/$defs/UpDownBars"},dataTable:{$ref:"#/$defs/DataTable"},categoryAxisDate:{$ref:"#/$defs/CategoryAxisDate"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",enum:["bar","column","line","area"]},series:{$ref:"#/$defs/Series5"}},required:["categories","categoryAxisDate","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},secondaryValueAxis:{$ref:"#/$defs/SecondaryValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},grouping:{$ref:"#/$defs/Grouping"},dropLines:{$ref:"#/$defs/DropLines"},hiLowLines:{$ref:"#/$defs/HiLowLines"},lineMarkers:{$ref:"#/$defs/LineMarkers"},gapWidthPct:{$ref:"#/$defs/GapWidthPct"},overlapPct:{$ref:"#/$defs/OverlapPct"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},upDownBars:{$ref:"#/$defs/UpDownBars"},dataTable:{$ref:"#/$defs/DataTable"},categoryGroupLevels:{$ref:"#/$defs/CategoryGroupLevels"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",enum:["bar","column","line","area"]},series:{$ref:"#/$defs/Series5"}},required:["categories","kind","series"],additionalProperties:!1}]},{anyOf:[{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},grouping:{$ref:"#/$defs/Grouping"},dropLines:{$ref:"#/$defs/DropLines"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},view3D:{$ref:"#/$defs/View3D"},gapDepthPct:{$ref:"#/$defs/GapDepthPct"},seriesAxis:{$ref:"#/$defs/SeriesAxis"},dataTable:{$ref:"#/$defs/DataTable"},categoryAxisDate:{$ref:"#/$defs/CategoryAxisDate"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",enum:["line","area"]},series:{$ref:"#/$defs/Series"}},required:["categories","view3D","categoryAxisDate","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},grouping:{$ref:"#/$defs/Grouping"},dropLines:{$ref:"#/$defs/DropLines"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},view3D:{$ref:"#/$defs/View3D"},gapDepthPct:{$ref:"#/$defs/GapDepthPct"},seriesAxis:{$ref:"#/$defs/SeriesAxis"},dataTable:{$ref:"#/$defs/DataTable"},categoryGroupLevels:{$ref:"#/$defs/CategoryGroupLevels"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",enum:["line","area"]},series:{$ref:"#/$defs/Series"}},required:["categories","view3D","kind","series"],additionalProperties:!1}]},{anyOf:[{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},radarStyle:{$ref:"#/$defs/RadarStyle"},dataTable:{$ref:"#/$defs/DataTable"},categoryAxisDate:{$ref:"#/$defs/CategoryAxisDate"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"radar"},series:{$ref:"#/$defs/Series"}},required:["categories","categoryAxisDate","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},radarStyle:{$ref:"#/$defs/RadarStyle"},dataTable:{$ref:"#/$defs/DataTable"},categoryGroupLevels:{$ref:"#/$defs/CategoryGroupLevels"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"radar"},series:{$ref:"#/$defs/Series"}},required:["categories","kind","series"],additionalProperties:!1}]},{anyOf:[{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},dropLines:{$ref:"#/$defs/DropLines"},hiLowLines:{$ref:"#/$defs/HiLowLines"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},dataTable:{$ref:"#/$defs/DataTable"},categoryAxisDate:{$ref:"#/$defs/CategoryAxisDate"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"stock"},series:{$ref:"#/$defs/Series4"}},required:["categories","categoryAxisDate","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},dropLines:{$ref:"#/$defs/DropLines"},hiLowLines:{$ref:"#/$defs/HiLowLines"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},dataTable:{$ref:"#/$defs/DataTable"},categoryGroupLevels:{$ref:"#/$defs/CategoryGroupLevels"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"stock"},series:{$ref:"#/$defs/Series4"}},required:["categories","kind","series"],additionalProperties:!1}]},{anyOf:[{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},view3D:{$ref:"#/$defs/View3D"},seriesAxis:{$ref:"#/$defs/SeriesAxis"},surfaceContour:{$ref:"#/$defs/SurfaceContour"},surfaceWireframe:{$ref:"#/$defs/SurfaceWireframe"},dataTable:{$ref:"#/$defs/DataTable"},categoryAxisDate:{$ref:"#/$defs/CategoryAxisDate"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"surface"},series:{$ref:"#/$defs/Series"}},required:["categories","categoryAxisDate","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelSkip:{$ref:"#/$defs/CategoryAxisTickLabelSkip"},categoryAxisTickMarkSkip:{$ref:"#/$defs/CategoryAxisTickMarkSkip"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisLabelOffset:{$ref:"#/$defs/CategoryAxisLabelOffset"},categoryAxisLabelAlign:{$ref:"#/$defs/CategoryAxisLabelAlign"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisNoMultiLevelLabel:{$ref:"#/$defs/CategoryAxisNoMultiLevelLabel"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},view3D:{$ref:"#/$defs/View3D"},seriesAxis:{$ref:"#/$defs/SeriesAxis"},surfaceContour:{$ref:"#/$defs/SurfaceContour"},surfaceWireframe:{$ref:"#/$defs/SurfaceWireframe"},dataTable:{$ref:"#/$defs/DataTable"},categoryGroupLevels:{$ref:"#/$defs/CategoryGroupLevels"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"surface"},series:{$ref:"#/$defs/Series"}},required:["categories","kind","series"],additionalProperties:!1}]},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},firstSliceAngleDeg:{$ref:"#/$defs/FirstSliceAngleDeg"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},kind:{type:"string",const:"pie"},series:{$ref:"#/$defs/Series2"}},required:["categories","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},ofPie:{type:"object",properties:{type:{type:"string",enum:["bar","pie"],description:"Shape of the second plot (`<c:ofPieType>`)."},splitType:{type:"string",enum:["auto","cust","percent","pos","val"],description:"What decides which points move (`<c:splitType>`): `pos` \u2014 the last\n`splitPos` points; `val` \u2014 points below `splitPos`; `percent` \u2014 points\nbelow `splitPos` percent of the total; `cust` \u2014 the `customSplit`\nindices; `auto` \u2014 the application's choice."},splitPos:{type:"number",description:"Threshold for `splitType` `pos` / `val` / `percent` (`<c:splitPos>`)."},customSplit:{type:"array",items:{type:"number"},description:"Point indices in the second plot for `splitType: 'cust'` (`<c:custSplit>`)."},secondPieSizePct:{type:"number",description:"Second plot size as a percent of the first, 5..200 (`<c:secondPieSize>`)."},gapWidthPct:{type:"number",description:"Gap between the two plots, 0..500 percent (`<c:gapWidth>`)."},seriesLines:{type:"boolean",description:"Connector lines between the two plots (`<c:serLines>`)."}},required:["type"],additionalProperties:!1,description:"Turns a `pie` into a pie-of-pie / bar-of-pie chart."},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},kind:{type:"string",const:"pie"},series:{$ref:"#/$defs/Series2"}},required:["categories","ofPie","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},view3D:{$ref:"#/$defs/View3D"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},kind:{type:"string",const:"pie"},series:{$ref:"#/$defs/Series2"}},required:["categories","view3D","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},firstSliceAngleDeg:{$ref:"#/$defs/FirstSliceAngleDeg"},holeSizePct:{type:"number",description:'Doughnut hole size as a percent of the outer radius (10..90).\nMirrors `<c:holeSize val="\u2026"/>`. Default 50.'},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},kind:{type:"string",const:"doughnut"},series:{$ref:"#/$defs/Series2"}},required:["categories","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},scatterStyle:{type:"string",enum:["line","smooth","none","marker","lineMarker","smoothMarker"],description:"Scatter sub-type from `<c:scatterChart><c:scatterStyle val=\"\u2026\"/>`\n(ECMA-376 ST_ScatterStyle). Governs whether the renderer connects\npoints with straight / smoothed lines and whether it draws markers:\n\n - `'marker'` (and the renderer's default when absent) \u2014 markers only\n - `'line'` / `'smooth'` \u2014 connecting line only\n - `'lineMarker'` / `'smoothMarker'` \u2014 line + markers\n - `'none'` \u2014 neither"},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling2"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"scatter"},series:{type:"array",items:{type:"object",properties:{name:{$ref:"#/$defs/Name"},dataLabels:{$ref:"#/$defs/DataLabels2"},values:{$ref:"#/$defs/Values"},color:{$ref:"#/$defs/Color"},lineWidthEmu:{$ref:"#/$defs/LineWidthEmu"},lineColor:{$ref:"#/$defs/LineColor"},lineDash:{$ref:"#/$defs/LineDash"},markerSymbol:{$ref:"#/$defs/MarkerSymbol"},markerSizePt:{$ref:"#/$defs/MarkerSizePt"},markerColor:{$ref:"#/$defs/MarkerColor"},markerLineColor:{$ref:"#/$defs/MarkerLineColor"},invertIfNegative:{$ref:"#/$defs/InvertIfNegative"},pointColors:{$ref:"#/$defs/PointColors"},pointExplosions:{$ref:"#/$defs/PointExplosions"},pointDataLabels:{$ref:"#/$defs/PointDataLabels"},smooth:{$ref:"#/$defs/Smooth"},trendline:{$ref:"#/$defs/Trendline"},fillOpacity:{$ref:"#/$defs/FillOpacity"},errorBars:{$ref:"#/$defs/ErrorBars"},xErrorBars:{$ref:"#/$defs/XErrorBars"},xValues:{type:"array",items:{type:["null","number"]}}},required:["name","values","xValues"],additionalProperties:!1}}},required:["categories","kind","series"],additionalProperties:!1},{type:"object",properties:{categories:{$ref:"#/$defs/Categories"},title:{$ref:"#/$defs/Title"},titleStyle:{$ref:"#/$defs/TitleStyle"},dataLabels:{$ref:"#/$defs/DataLabels"},valueAxis:{$ref:"#/$defs/ValueAxis"},plotAreaFill:{$ref:"#/$defs/PlotAreaFill"},plotAreaStrokeColor:{$ref:"#/$defs/PlotAreaStrokeColor"},chartAreaFill:{$ref:"#/$defs/ChartAreaFill"},chartAreaStrokeColor:{$ref:"#/$defs/ChartAreaStrokeColor"},categoryAxisTitle:{$ref:"#/$defs/CategoryAxisTitle"},categoryAxisTitleStyle:{$ref:"#/$defs/CategoryAxisTitleStyle"},categoryAxisTitleRotationDeg:{$ref:"#/$defs/CategoryAxisTitleRotationDeg"},categoryAxisLabelStyle:{$ref:"#/$defs/CategoryAxisLabelStyle"},categoryAxisLabelRotationDeg:{$ref:"#/$defs/CategoryAxisLabelRotationDeg"},valueAxisTitle:{type:"string"},valueAxisTitleStyle:{$ref:"#/$defs/ValueAxisTitleStyle"},valueAxisTitleRotationDeg:{$ref:"#/$defs/ValueAxisTitleRotationDeg"},valueAxisLabelStyle:{$ref:"#/$defs/ValueAxisLabelStyle"},valueAxisLabelRotationDeg:{$ref:"#/$defs/ValueAxisLabelRotationDeg"},valueAxisHidden:{$ref:"#/$defs/ValueAxisHidden"},categoryAxisHidden:{$ref:"#/$defs/CategoryAxisHidden"},valueAxisMajorGridlines:{$ref:"#/$defs/ValueAxisMajorGridlines"},valueAxisMajorTickMark:{$ref:"#/$defs/ValueAxisMajorTickMark"},categoryAxisMajorTickMark:{$ref:"#/$defs/CategoryAxisMajorTickMark"},valueAxisMinorTickMark:{$ref:"#/$defs/ValueAxisMinorTickMark"},valueAxisTickLabelPos:{$ref:"#/$defs/ValueAxisTickLabelPos"},categoryAxisMinorTickMark:{$ref:"#/$defs/CategoryAxisMinorTickMark"},valueAxisMajorGridlineColor:{$ref:"#/$defs/ValueAxisMajorGridlineColor"},valueAxisMinorGridlineColor:{$ref:"#/$defs/ValueAxisMinorGridlineColor"},categoryAxisMajorGridlineColor:{$ref:"#/$defs/CategoryAxisMajorGridlineColor"},categoryAxisMinorGridlineColor:{$ref:"#/$defs/CategoryAxisMinorGridlineColor"},valueAxisMajorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMajorGridlineWidthEmu"},valueAxisMinorGridlineWidthEmu:{$ref:"#/$defs/ValueAxisMinorGridlineWidthEmu"},categoryAxisMajorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMajorGridlineWidthEmu"},categoryAxisMinorGridlineWidthEmu:{$ref:"#/$defs/CategoryAxisMinorGridlineWidthEmu"},valueAxisLineColor:{$ref:"#/$defs/ValueAxisLineColor"},categoryAxisLineColor:{$ref:"#/$defs/CategoryAxisLineColor"},valueAxisLineWidthEmu:{$ref:"#/$defs/ValueAxisLineWidthEmu"},categoryAxisLineWidthEmu:{$ref:"#/$defs/CategoryAxisLineWidthEmu"},valueAxisMinorGridlines:{$ref:"#/$defs/ValueAxisMinorGridlines"},categoryAxisMajorGridlines:{$ref:"#/$defs/CategoryAxisMajorGridlines"},categoryAxisMinorGridlines:{$ref:"#/$defs/CategoryAxisMinorGridlines"},categoryAxisTickLabelPos:{$ref:"#/$defs/CategoryAxisTickLabelPos"},categoryAxisNumberFormat:{$ref:"#/$defs/CategoryAxisNumberFormat"},categoryAxisOrientation:{$ref:"#/$defs/CategoryAxisOrientation"},valueAxisOrientation:{$ref:"#/$defs/ValueAxisOrientation"},valueAxisCrosses:{$ref:"#/$defs/ValueAxisCrosses"},valueAxisCrossBetween:{$ref:"#/$defs/ValueAxisCrossBetween"},plotVisibleCellsOnly:{$ref:"#/$defs/PlotVisibleCellsOnly"},roundedCorners:{$ref:"#/$defs/RoundedCorners"},chartStyle:{$ref:"#/$defs/ChartStyle"},language:{$ref:"#/$defs/Language"},date1904:{$ref:"#/$defs/Date1904"},legend:{$ref:"#/$defs/Legend"},titleOverlay:{$ref:"#/$defs/TitleOverlay"},varyColors:{$ref:"#/$defs/VaryColors"},dispBlanksAs:{$ref:"#/$defs/DispBlanksAs"},bubbleScale:{type:"number",description:`Bubble-size scale percentage from \`<c:bubbleChart><c:bubbleScale
|
|
190
|
+
val="N"/>\` (0..300, the reference desktop app's default 100). Scales every bubble's
|
|
191
|
+
rendered radius proportionally.`},bubbleSizeRepresents:{type:"string",enum:["area","width"],description:"Whether a bubble's `<c:bubbleSize>` maps to the bubble's area or its\nwidth \u2014 `<c:bubbleChart><c:sizeRepresents val=\"area|w\"/>` (ECMA-376\nST_SizeRepresents; the `'w'` token is surfaced as `'width'`).\nThe reference desktop app's default is `'area'`, so radius scales with `sqrt(size)`;\n`'width'` scales radius linearly with size."},bubble3D:{type:"boolean",description:'Shade bubbles as spheres \u2014 `<c:bubble3D val="1"/>` on each series of the\nbubble chart (the reference desktop app\'s "3-D Bubble" subtype). Unlike the\nother 3-D variants it has no camera, so `view3D` does not apply.'},showNegativeBubbles:{type:"boolean",description:"Plot bubbles with a negative size (`<c:showNegBubbles>`)."},categoryAxisScaling:{$ref:"#/$defs/CategoryAxisScaling2"},plotAreaLayout:{$ref:"#/$defs/PlotAreaLayout"},titleLayout:{$ref:"#/$defs/TitleLayout"},valueAxisLineHidden:{$ref:"#/$defs/ValueAxisLineHidden"},categoryAxisLineHidden:{$ref:"#/$defs/CategoryAxisLineHidden"},kind:{type:"string",const:"bubble"},series:{type:"array",items:{type:"object",properties:{name:{$ref:"#/$defs/Name"},dataLabels:{$ref:"#/$defs/DataLabels2"},values:{$ref:"#/$defs/Values"},color:{$ref:"#/$defs/Color"},lineWidthEmu:{$ref:"#/$defs/LineWidthEmu"},lineColor:{$ref:"#/$defs/LineColor"},lineDash:{$ref:"#/$defs/LineDash"},markerSymbol:{$ref:"#/$defs/MarkerSymbol"},markerSizePt:{$ref:"#/$defs/MarkerSizePt"},markerColor:{$ref:"#/$defs/MarkerColor"},markerLineColor:{$ref:"#/$defs/MarkerLineColor"},invertIfNegative:{$ref:"#/$defs/InvertIfNegative"},pointColors:{$ref:"#/$defs/PointColors"},pointExplosions:{$ref:"#/$defs/PointExplosions"},pointDataLabels:{$ref:"#/$defs/PointDataLabels"},smooth:{$ref:"#/$defs/Smooth"},trendline:{$ref:"#/$defs/Trendline"},fillOpacity:{$ref:"#/$defs/FillOpacity"},errorBars:{$ref:"#/$defs/ErrorBars"},xErrorBars:{$ref:"#/$defs/XErrorBars"},xValues:{type:"array",items:{type:["null","number"]}},bubbleSizes:{type:"array",items:{type:["null","number"]}}},required:["name","values","xValues","bubbleSizes"],additionalProperties:!1}}},required:["categories","kind","series"],additionalProperties:!1}]}},required:["chart","spec"],additionalProperties:!1,$defs:{AnimationInOut:{type:"string",enum:["in","out"]},AnimationInOutOrString:{anyOf:[{$ref:"#/$defs/AnimationInOut"},{type:"string",enum:["none","cross"]}]},Bar3DShape:{type:"string",enum:["box","cone","coneToMax","cylinder","pyramid","pyramidToMax"],description:"Shape of 3-D bars / columns (`<c:bar3DChart><c:shape>`). Requires `view3D`."},Categories:{type:"array",items:{type:"string"},description:"Category labels along the x-axis (or pie slice labels for `kind: 'pie'`)."},CategoryAxisDate:{$ref:"#/$defs/ChartDateAxis",description:"Turns the category axis into a date axis \u2014 see `ChartDateAxis`."},CategoryAxisHidden:{type:"boolean",description:'When `true`, category axis is hidden (`<c:catAx><c:delete val="1"/>`).'},CategoryAxisLabelAlign:{type:"string",enum:["ctr","l","r"],description:'Multi-line category-label alignment relative to the tick mark \u2014\n`<c:catAx><c:lblAlgn val="ctr|l|r"/>`. The reference desktop app defaults to\n`ctr` when omitted; the authored value wins.'},CategoryAxisLabelOffset:{type:"number",description:`Distance from the axis line to the labels, expressed as a percent of
|
|
192
|
+
the chart text size \u2014 \`<c:catAx><c:lblOffset val="N"/>\` where N is
|
|
193
|
+
0..1000 (default 100). Larger values push category labels further
|
|
194
|
+
from the axis. Per ECMA-376 \xA721.2.2.94.`},CategoryAxisLabelRotationDeg:{type:"number",description:'Authored rotation on the category-axis tick labels, in degrees. From\n`<c:catAx><c:txPr><a:bodyPr rot="N"/>` where N is in 60000ths of a\ndegree. Positive values rotate clockwise (the reference desktop app\'s convention),\nmatching the SVG `transform=rotate()` sense.'},CategoryAxisLabelStyle:{$ref:"#/$defs/ChartTextStyle",description:"Authored font / color on the category-axis *tick labels* \u2014 `<c:catAx><c:txPr>`."},CategoryAxisLineColor:{type:"string",description:"Authored color on the category-axis line (same shape as `valueAxisLineColor`)."},CategoryAxisLineHidden:{type:"boolean",description:"Hide the category-axis line while keeping its labels."},CategoryAxisLineWidthEmu:{type:"number",description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point.\n\nWidth of the category-axis line (same shape as `valueAxisLineWidthEmu`)."},CategoryAxisMajorGridlineColor:{type:"string",description:"Authored color on the category-axis major gridlines (same shape as `valueAxisMajorGridlineColor`)."},CategoryAxisMajorGridlineWidthEmu:{type:"number",description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point.\n\nWidth of the category-axis major gridlines (same shape as `valueAxisMajorGridlineWidthEmu`)."},CategoryAxisMajorGridlines:{type:"boolean",description:`Whether the category axis emits \`<c:majorGridlines/>\`. Sounds odd
|
|
195
|
+
for column charts (where category gridlines are vertical, between
|
|
196
|
+
categories) but bar charts put the cat axis on the vertical edge
|
|
197
|
+
and use these as horizontal guide lines per category band.`},CategoryAxisMajorTickMark:{anyOf:[{$ref:"#/$defs/AnimationInOut"},{type:"string",enum:["none","cross"]}],description:"Major-tick mark mode on the category axis (`<c:catAx><c:majorTickMark>`)."},CategoryAxisMinorGridlineColor:{type:"string",description:"Authored color on the category-axis minor gridlines."},CategoryAxisMinorGridlineWidthEmu:{type:"number",description:`In EMU: 914400 per inch, 360000 per cm, 12700 per point.
|
|
198
|
+
|
|
199
|
+
Width of the category-axis minor gridlines.`},CategoryAxisMinorGridlines:{type:"boolean",description:"Companion `<c:minorGridlines/>` on the category axis."},CategoryAxisMinorTickMark:{anyOf:[{$ref:"#/$defs/AnimationInOut"},{type:"string",enum:["none","cross"]}],description:"Minor-tick mark mode on the category axis (`<c:catAx><c:minorTickMark>`)."},CategoryAxisNoMultiLevelLabel:{type:"boolean",description:'Toggle multi-level (hierarchical) category labels \u2014\n`<c:catAx><c:noMultiLvlLbl val="0|1"/>`. The reference desktop app defaults to\n`0` (multi-level labels stack). Set to `true` to flatten\nhierarchical categories into a single row.'},CategoryAxisNumberFormat:{type:"string",description:'Number-format code for the category-axis tick labels \u2014\n`<c:catAx><c:numFmt formatCode="\u2026"/>`. Most useful on date-style\ncategories (`"mm/dd/yyyy"`, `"mmm"`, etc.) but accepts any spreadsheet\nformat string. Independent of `valueAxis.numberFormat` (which\ntargets the value axis).'},CategoryAxisOrientation:{type:"string",enum:["minMax","maxMin"],description:"Category-axis order \u2014 `'minMax'` (the data's natural order) or\n`'maxMin'` (reversed). For bar charts the reference desktop app typically emits\n`maxMin` so the first category sits at the top instead of the\nbottom; honour the authored value when present."},CategoryAxisScaling:{$ref:"#/$defs/ChartAxisScaling",description:"Scaling of the horizontal axis where it is numeric: the x value axis\nof `scatter` / `bubble` charts (every field applies) and a date axis\n(`min` / `max` only, as date serials). Rejected on a text category\naxis, which has no scale to set.\nDate-serial range of the axis; only `min` / `max` apply."},CategoryAxisScaling2:{$ref:"#/$defs/ChartAxisScaling",description:"Scaling of the horizontal axis where it is numeric: the x value axis\nof `scatter` / `bubble` charts (every field applies) and a date axis\n(`min` / `max` only, as date serials). Rejected on a text category\naxis, which has no scale to set."},CategoryAxisTickLabelPos:{type:"string",enum:["none","low","high","nextTo"],description:'Category-axis tick label position (`<c:catAx><c:tickLblPos val="\u2026"/>`):\n - `none` hides labels but keeps the axis line\n - `low` / `high` puts them at the start / end (rare)\n - `nextTo` (default) is the standard position next to the axis'},CategoryAxisTickLabelSkip:{type:"number",description:'Category-axis tick label skip step (`<c:catAx><c:tickLblSkip val="N"/>`):\nrender every Nth category label. Commonly 2 / 5 / 10 on dense\ntime-series charts to keep labels from overlapping.'},CategoryAxisTickMarkSkip:{type:"number",description:`Category-axis tick *mark* skip (\`<c:catAx><c:tickMarkSkip val="N"/>\`):
|
|
200
|
+
draw every Nth tick mark independently of the label-skip stride.
|
|
201
|
+
Useful when you want fewer label collisions but the same dense
|
|
202
|
+
tick lattice; defaults to 1 (every tick).`},CategoryAxisTitle:{type:"string",description:"Optional axis title text (`<c:catAx><c:title>` / `<c:valAx><c:title>`)."},CategoryAxisTitleRotationDeg:{type:"number",description:'Rotation of the category-axis title, in degrees clockwise. Maps\nto `<c:catAx><c:title><c:tx><c:rich><a:bodyPr rot="N"/>` (the OOXML\nvalue is in 60000ths of a degree, but the API surface uses plain\ndegrees). Omit to inherit the default (`0`).'},CategoryAxisTitleStyle:{$ref:"#/$defs/ChartTextStyle",description:"Authored font / color on the category-axis title (same `<a:rPr>` shape as `titleStyle`)."},CategoryGroupLevels:{type:"array",items:{type:"array",items:{type:"string"}},description:"Outer levels of a multi-level category axis (`<c:multiLvlStrRef>`),\nordered from the level next to `categories` outward. Each level has\none entry per category; an empty string continues the previous\ngroup, so `['2024', '', '', '', '2025', '', '', '']` groups eight\nquarters into two years."},ChartAreaFill:{type:"string",description:'Chart-area background fill \u2014 `<c:chartSpace><c:spPr><a:solidFill>\n<a:srgbClr val="\u2026"/>`. Renderers can use this as the outer card\ncolor instead of the hard-coded white.'},ChartAreaStrokeColor:{type:"string",description:"Chart-area outline color from `<c:chartSpace><c:spPr><a:ln>\n<a:solidFill><a:srgbClr/>`. Overrides the renderer's default\n`#E5E7EB` card border."},ChartAxisScaling:{type:"object",properties:{min:{type:"number"},max:{type:"number"},majorUnit:{type:"number",description:'Major tick spacing (`<c:majorUnit val="N"/>`).'},minorUnit:{type:"number",description:'Minor tick spacing (`<c:minorUnit val="N"/>`).'},numberFormat:{type:"string",description:'Number-format code from `<c:numFmt formatCode="\u2026"/>`. Common\nvalues: `"0%"`, `"0.0%"`, `"#,##0"`, `"$#,##0"`, `"yyyy-mm-dd"`.\nRenderers project a subset of spreadsheet number formats to label text.'},logBase:{type:"number",description:'Logarithmic base for the axis from `<c:scaling><c:logBase val="N"/>`.\nTypical values are `2`, `10`, `Math.E`. When set, the renderer\nprojects values through `Math.log(v) / Math.log(logBase)` before\nmapping to plot coordinates. Linear when omitted.'},displayUnits:{type:"string",enum:["hundreds","thousands","tenThousands","hundredThousands","millions","tenMillions","hundredMillions","billions","trillions"],description:"Authored display-units scale from `<c:dispUnits><c:builtInUnit val=\"\u2026\"/>`.\nToken values map to divisors:\n\n - `'hundreds'` (100), `'thousands'` (1e3), `'tenThousands'` (1e4),\n `'hundredThousands'` (1e5), `'millions'` (1e6),\n `'tenMillions'` (1e7), `'hundredMillions'` (1e8),\n `'billions'` (1e9), `'trillions'` (1e12)\n\nRenderers divide axis labels by the divisor and may append a unit\nsuffix (\"K\", \"M\", \"B\") for readability."},displayUnitsLabel:{type:"boolean",description:'Show the display-units caption next to the axis ("Thousands",\n"Millions", \u2026) \u2014 an empty `<c:dispUnitsLbl/>` under `<c:dispUnits>`.\nOnly meaningful together with `displayUnits`.'}},additionalProperties:!1},ChartDataLabels:{type:"object",properties:{showValue:{type:"boolean",description:"Numeric value of each data point."},showCategory:{type:"boolean",description:"Category label of each data point."},showSeriesName:{type:"boolean",description:"Series name on each data point."},showPercent:{type:"boolean",description:"Percentage of total (for pie / doughnut)."},numberFormat:{type:"string",description:'Number-format code from `<c:dLbls><c:numFmt formatCode="\u2026"/>`. When\nset, value labels are projected through this spreadsheet-style format\n(same subset the value axis honors: `"0%"`, `"#,##0"`, `"$#,##0"`,\n`"0.00"`). Independent of `ChartAxisScaling.numberFormat`.'},position:{type:"string",enum:["ctr","inEnd","outEnd","inBase","t","b","l","r","bestFit"],description:'Position of the label relative to its data point \u2014 from\n`<c:dLbls><c:dLblPos val="\u2026"/>`.'},separator:{type:"string",description:'Separator between concatenated label parts when more than one of\n`showValue` / `showCategory` / `showSeriesName` / `showPercent` is\nset. Read from `<c:dLbls><c:separator>\u2026</c:separator>` (a\nleaf-text-only element). Common values: `" "` (default), `", "`,\n`"\\n"`, `"; "`.'},textStyle:{$ref:"#/$defs/ChartTextStyle",description:"Default-run text style for the labels \u2014 projected from\n`<c:dLbls><c:txPr>\u2026<a:defRPr/>\u2026</c:txPr>`. Applies to whichever\nlabel parts are turned on by the `show*` toggles. Independent of\nthe chart-title style and the axis-label style."},showLeaderLines:{type:"boolean",description:'Leader lines between a label and its data point\n(`<c:dLbls><c:showLeaderLines val="\u2026"/>`). Omitted = the\napplication default (shown). Series- and chart-level only: a\nper-point `<c:dLbl>` has no such element, so `pointDataLabels`\nignores it on write and never reads it.'},showBubbleSize:{type:"boolean",description:"Bubble size of each data point (`<c:showBubbleSize>`); bubble charts only."},showLegendKey:{type:"boolean",description:"Legend key swatch next to each label (`<c:showLegendKey>`)."},fillColor:{type:"string",description:"Label background fill as `#RRGGBB` (`<c:spPr><a:solidFill>`)."},text:{type:"string",description:"Literal label text replacing the generated one (`<c:dLbl><c:tx>\n<c:rich>`) \u2014 how a scatter point gets a name. Per-point only: the\nseries- and chart-level `<c:dLbls>` have no `<c:tx>`, so it is ignored\nthere on write and never read."}},required:["showValue","showCategory","showSeriesName","showPercent"],additionalProperties:!1},ChartDataTable:{type:"object",properties:{showHorizontalBorder:{type:"boolean"},showVerticalBorder:{type:"boolean"},showOutline:{type:"boolean"},showKeys:{type:"boolean",description:"Legend keys next to the series names."},textStyle:{$ref:"#/$defs/ChartTextStyle"}},additionalProperties:!1},ChartDateAxis:{type:"object",properties:{baseTimeUnit:{$ref:"#/$defs/ChartTimeUnit"},majorUnit:{type:"number"},majorTimeUnit:{$ref:"#/$defs/ChartTimeUnit"},minorUnit:{type:"number"},minorTimeUnit:{$ref:"#/$defs/ChartTimeUnit"}},additionalProperties:!1},ChartErrorBars:{type:"object",properties:{barType:{type:"string",enum:["both","plus","minus"],description:"Which side of the point gets a bar (`<c:errBarType>`)."},amount:{anyOf:[{type:"object",properties:{type:{type:"string",enum:["fixedVal","percentage","stdDev"]},value:{type:"number"}},required:["type","value"],additionalProperties:!1},{type:"object",properties:{type:{type:"string",const:"stdErr"}},required:["type"],additionalProperties:!1},{type:"object",properties:{type:{type:"string",const:"cust"},plus:{type:"array",items:{type:["null","number"]},description:"Per-point positive amounts (`<c:plus><c:numLit>`)."},minus:{type:"array",items:{type:["null","number"]},description:"Per-point negative amounts (`<c:minus><c:numLit>`)."}},required:["type"],additionalProperties:!1}]},noEndCap:{type:"boolean",description:'Drop the T-shaped end caps (`<c:noEndCap val="1"/>`).'},color:{type:"string",description:"Bar stroke color as `#RRGGBB`."},lineWidthEmu:{type:"number",description:"Bar stroke width in EMU."}},required:["barType","amount"],additionalProperties:!1},ChartGrouping:{type:"string",enum:["clustered","stacked","percentStacked","standard"]},ChartManualLayout:{type:"object",properties:{x:{type:"number"},y:{type:"number"},w:{type:"number"},h:{type:"number"},target:{type:"string",enum:["inner","outer"],description:"Plot area only: whether the box bounds the plot alone (`inner`) or the\nplot plus its tick labels and axis titles (`outer`, the default)."}},required:["x","y","w","h"],additionalProperties:!1},ChartRef:{$ref:"#/$defs/ShapeRef",description:"A chart, by the ShapeRef of the graphic frame that holds it."},ChartSecondaryValueAxis:{type:"object",properties:{scaling:{$ref:"#/$defs/ChartAxisScaling"},title:{type:"string"},titleStyle:{$ref:"#/$defs/ChartTextStyle"},labelStyle:{$ref:"#/$defs/ChartTextStyle"},majorGridlines:{type:"boolean"},majorGridlineColor:{type:"string"},majorGridlineWidthEmu:{type:"number",description:"Major gridline width in EMU, the mirror of `ChartSpec.valueAxisMajorGridlineWidthEmu`."},lineColor:{type:"string"},lineWidthEmu:{type:"number",description:"Axis line width in EMU, the mirror of `ChartSpec.valueAxisLineWidthEmu`."},majorTickMark:{$ref:"#/$defs/AnimationInOutOrString"},minorTickMark:{$ref:"#/$defs/AnimationInOutOrString"},tickLabelPos:{type:"string",enum:["none","low","high","nextTo"],description:"Tick-label position, the mirror of `ChartSpec.valueAxisTickLabelPos`."},crossBetween:{type:"string",enum:["between","midCat"]}},additionalProperties:!1},ChartSeriesAxis:{type:"object",properties:{hidden:{type:"boolean"},title:{type:"string"},titleStyle:{$ref:"#/$defs/ChartTextStyle"},labelStyle:{$ref:"#/$defs/ChartTextStyle"},majorGridlines:{type:"boolean"},orientation:{type:"string",enum:["minMax","maxMin"]},tickLabelPos:{type:"string",enum:["none","low","high","nextTo"]},tickLabelSkip:{type:"number"},lineColor:{type:"string"}},additionalProperties:!1},ChartStyle:{type:"number",description:`The reference desktop app's built-in chart-style preset
|
|
203
|
+
(\`<c:chartSpace><c:style val="N"/>\`), 1\u201348. Encodes a curated combo
|
|
204
|
+
of theme accent colors, gradients, effects, and font sizes that
|
|
205
|
+
the reference desktop app applies when the user picks a chart style from the
|
|
206
|
+
"Chart Styles" gallery. Surface for round-trip parity; renderers in`},ChartTextStyle:{type:"object",properties:{font:{type:"string",description:`Font face applied to both the latin and east-asian typeface slots \u2014
|
|
207
|
+
\`<a:rPr><a:latin typeface="\u2026"/><a:ea typeface="\u2026"/>\`. East-asian is
|
|
208
|
+
set alongside latin so a Japanese / CJK family (e.g. \`'Yu Gothic'\`)
|
|
209
|
+
renders the labels instead of the renderer's latin-only fallback.
|
|
210
|
+
Mirrors the latin/ea pairing the reference desktop app emits for CJK chart fonts.`},fontComplexScript:{type:"string",description:'Complex-script font face \u2014 `<a:rPr><a:cs typeface="\u2026"/>`. Written only\nwhen set: `font` fills the latin and east-asian slots and never the\ncomplex-script one, so a chart that mixes Arabic / Hebrew / Thai labels\nhas to name the face here as well.'},sizePt:{type:"number",description:'Font size in points. From `<a:rPr sz="N"/>` where N is in 100ths of a pt.'},bold:{type:"boolean",description:'Bold flag from `<a:rPr b="1"/>`.'},italic:{type:"boolean",description:'Italic flag from `<a:rPr i="1"/>`.'},color:{type:"string",description:"Fill color as `#RRGGBB` from `<a:rPr><a:solidFill><a:srgbClr/></a:solidFill>`."}},additionalProperties:!1},ChartTimeUnit:{type:"string",enum:["days","months","years"]},ChartTrendline:{type:"object",properties:{name:{type:"string",description:`Optional custom label for the trendline (\`<c:trendline><c:name>\u2026\`).
|
|
211
|
+
Defaults to the reference desktop app's auto-generated label
|
|
212
|
+
(e.g. "Linear (X)" / "MA(5) (X)") when omitted.`},type:{type:"string",enum:["linear","exp","log","poly","power","movingAvg"],description:"Regression type \u2014 linear / exp / log / poly / power / movingAvg."},forward:{type:"number",description:'Forward extension (`<c:forward val="N"/>`) \u2014 the trendline runs N\ndata-point periods past the last point. Used to project future\nvalues from the regression line.'},backward:{type:"number",description:'Backward extension (`<c:backward val="N"/>`) \u2014 the trendline runs N\ndata-point periods before the first point.'},period:{type:"number",description:"Optional moving-average period (only meaningful for type='movingAvg')."},order:{type:"number",description:"Polynomial order (only meaningful for type='poly')."},color:{type:"string",description:"Override stroke color; defaults to the series color."},displayEquation:{type:"boolean",description:'Show the regression equation next to the trendline\n(`<c:dispEq val="1"/>`). Defaults to `false`.'},displayRSquared:{type:"boolean",description:'Show the R\xB2 coefficient next to the trendline\n(`<c:dispRSqr val="1"/>`). Defaults to `false`.'}},required:["type"],additionalProperties:!1},ChartUpDownBars:{type:"object",properties:{gapWidthPct:{type:"number",description:"Bar width gap, 0..500 percent (`<c:gapWidth>`); the reference desktop app's default is 150."},upColor:{type:"string",description:"Fill of the rising bars as `#RRGGBB` (`<c:upBars>`)."},downColor:{type:"string",description:"Fill of the falling bars as `#RRGGBB` (`<c:downBars>`)."}},additionalProperties:!1},ChartView3D:{type:"object",properties:{rotX:{type:"number",description:"Elevation in degrees, -90..90 (`<c:rotX>`)."},rotY:{type:"number",description:"Rotation about the vertical axis in degrees, 0..360 (`<c:rotY>`)."},rightAngleAxes:{type:"boolean",description:"Right-angle axes (`<c:rAngAx>`): an oblique projection that ignores\n`perspective`. The reference desktop app's default for bar / column / line / area."},perspective:{type:"number",description:"Field of view, 0..240 (`<c:perspective>`); the reference desktop app's default is 30."},depthPercent:{type:"number",description:"Depth as a percent of the chart width, 20..2000 (`<c:depthPercent>`)."},heightPercent:{type:"number",description:"Height as a percent of the chart width, 5..500 (`<c:hPercent>`)."}},additionalProperties:!1},Color:{type:"string",description:"Optional `#RRGGBB` fill override. Defaults to the theme's accent palette."},ComboChartSeries:{type:"object",properties:{name:{$ref:"#/$defs/Name"},dataLabels:{$ref:"#/$defs/DataLabels2"},values:{$ref:"#/$defs/Values"},color:{$ref:"#/$defs/Color"},lineWidthEmu:{$ref:"#/$defs/LineWidthEmu"},lineColor:{$ref:"#/$defs/LineColor"},lineDash:{$ref:"#/$defs/LineDash"},markerSymbol:{$ref:"#/$defs/MarkerSymbol"},markerSizePt:{$ref:"#/$defs/MarkerSizePt"},markerColor:{$ref:"#/$defs/MarkerColor"},markerLineColor:{$ref:"#/$defs/MarkerLineColor"},invertIfNegative:{$ref:"#/$defs/InvertIfNegative"},pointColors:{$ref:"#/$defs/PointColors"},pointExplosions:{$ref:"#/$defs/PointExplosions"},pointDataLabels:{$ref:"#/$defs/PointDataLabels"},smooth:{$ref:"#/$defs/Smooth"},trendline:{$ref:"#/$defs/Trendline"},fillOpacity:{$ref:"#/$defs/FillOpacity"},errorBars:{$ref:"#/$defs/ErrorBars"},xErrorBars:{$ref:"#/$defs/XErrorBars"},chartKind:{type:"string",enum:["bar","column","line","area"]},secondaryAxis:{type:"boolean"}},required:["name","values"],additionalProperties:!1},DataLabels:{$ref:"#/$defs/ChartDataLabels",description:"Optional chart-level data-label toggles."},DataLabels2:{$ref:"#/$defs/ChartDataLabels",description:"Per-series data-label toggle overrides. Same shape as the chart-level\n`ChartSpec.dataLabels`; overrides win when present. Read from\n`<c:ser><c:dLbls>`."},DataTable:{$ref:"#/$defs/ChartDataTable",description:"Data table under the plot area. Rejected for the axis-less kinds."},Date1904:{type:"boolean",description:'`<c:chartSpace><c:date1904 val="\u2026"/>` \u2014 the spreadsheet date-system flag.\n`false` (the default) uses the 1900-epoch; `true` uses 1904.\nSurface for parity; renderers don\'t act on it yet.'},DispBlanksAs:{type:"string",enum:["gap","zero","span"],description:"`<c:dispBlanksAs val=\"\u2026\"/>` \u2014 how line / area renderers should\ntreat `null` values in series:\n\n - `'gap'` \u2014 leave a gap (the default)\n - `'zero'` \u2014 substitute zero\n - `'span'` \u2014 connect the surrounding points across the gap"},DropLines:{type:"boolean",description:"Drop lines (`<c:dropLines>`) \u2014 vertical guide lines from each data\npoint down to the value axis. Common on line / area charts."},ErrorBars:{$ref:"#/$defs/ChartErrorBars",description:'Error bars along the value direction (`<c:errBars>`; `<c:errDir\nval="y"/>` on scatter / bubble). Valid on bar / column / line / area /\nscatter / bubble series; rejected elsewhere, where CT_*Ser has no\n`errBars` child.'},FillOpacity:{type:"number",description:'Opacity of the series fill, `0` (transparent) to `1` (opaque) \u2014\n`<a:srgbClr><a:alpha val="\u2026"/>` on the series\' `<a:solidFill>`. Applies\nto `color` and to every `pointColors` override. Overlapping area,\nradar and bubble series are the usual reason to set it.'},FirstSliceAngleDeg:{type:"number",description:`Pie / doughnut: angle (in degrees, 0\u2013360) at which the first slice
|
|
213
|
+
starts, measured clockwise from 12 o'clock. Mirrors
|
|
214
|
+
\`<c:firstSliceAng val="\u2026"/>\`. Default 0 = start at the top.`},GapDepthPct:{type:"number",description:"Depth gap between the series rows of a 3-D bar / column / line / area\nchart, 0..500 percent (`<c:gapDepth>`). Requires `view3D`."},GapWidthPct:{type:"number",description:'Gap between adjacent bar groups in `<c:gapWidth val="N"/>` units\n(0..500, percent of bar width). Default 150 (= 1.5\xD7) in the reference desktop app.'},Grouping:{$ref:"#/$defs/ChartGrouping",description:"Bar / column / area grouping mode. Absent for line / pie."},HiLowLines:{type:"boolean",description:"High-low lines (`<c:hiLowLines>`) \u2014 vertical lines spanning the\nhighest and lowest series value at each category. Used by stock\ncharts and side-by-side line charts."},InvertIfNegative:{type:"boolean",description:'Invert the series color for negative values (bar / column charts).\nMirrors `<c:ser><c:invertIfNegative val="1"/>`. Renderers typically\npaint the negative bars in the inverted shade of the series color.'},Language:{type:"string",description:"Language code for the chart's number / date formatters\n(`<c:chartSpace><c:lang val=\"\u2026\"/>`). The reference desktop app emits the user's\nAuthoring app UI language (e.g. `'en-US'`, `'ja-JP'`). Carried for\nround-trip parity; renderers in"},Legend:{type:"object",properties:{position:{anyOf:[{type:"string",enum:["t","b","l","r","tr"]},{type:"null"}]},overlay:{type:"boolean",description:"When `true`, legend overlays the plot area instead of taking a strip."},layout:{$ref:"#/$defs/ChartManualLayout",description:"Manual position of the legend box; `target` does not apply."},textStyle:{$ref:"#/$defs/ChartTextStyle",description:"Authored font / color on the legend's text. From `<c:legend><c:txPr>`'s\nfirst `<a:p><a:pPr><a:defRPr>` (or `<a:r><a:rPr>` as fallback). Same\nshape as `titleStyle`."},hiddenIndices:{type:"array",items:{type:"number"},description:`Series indices that the legend hides via \`<c:legend><c:legendEntry>
|
|
215
|
+
<c:idx val="N"/><c:delete val="1"/></c:legendEntry>\`. Renderers
|
|
216
|
+
filter them from the legend list while still plotting them.
|
|
217
|
+
Common use: keep a trendline series in the data but drop its
|
|
218
|
+
legend entry.`}},required:["position"],additionalProperties:!1,description:"Optional legend configuration. `position` mirrors\n`<c:legend><c:legendPos val=\"\u2026\"/>` \u2014 `'r'` (right) is the default,\n`'t'`, `'b'`, `'l'`, `'tr'` (top-right) the other tokens. `null`\nfor `position` means no legend at all (the chart explicitly hides\nit). `undefined` overall means the chart didn't author a legend\nelement \u2014 renderers should fall back to their own default."},LineColor:{type:"string",description:"Optional stroke color of the series outline / line\n(`<c:ser><c:spPr><a:ln><a:solidFill>`), as an sRGB hex. Defaults to\n`color`; on a pie / doughnut series it is the border between slices."},LineDash:{type:"string",description:"Optional line dash style token (`<c:ser><c:spPr><a:ln><a:prstDash\nval=\"\u2026\"/>`), e.g. `'dash'`, `'dot'`, `'sysDash'`. Only\nmeaningful for line / area / scatter series."},LineMarkers:{type:"boolean",description:'Whether a line chart draws point markers (`<c:lineChart><c:marker\nval="1"/>`). `true` is the reference desktop app\'s "Line with Markers" subtype;\nabsent / `false` is the plain "Line" subtype (no markers). Only\nmeaningful for `kind: \'line\'`.'},LineWidthEmu:{type:"number",description:`Optional line stroke width in EMU (\`<c:ser><c:spPr><a:ln w="\u2026"/>\`).
|
|
219
|
+
Only meaningful for line / area / scatter series. Default falls
|
|
220
|
+
back to the renderer's own pick.`},MarkerColor:{type:"string",description:"Optional marker fill + outline color (`<c:marker><c:spPr>`), as an sRGB\nhex. Defaults to `color`. The builder always writes it for line /\nscatter / radar series, because the reference desktop app paints a marker without\n`<c:spPr>` in the theme's automatic color instead of the series color."},MarkerLineColor:{type:"string",description:"Optional marker outline color (`<c:marker><c:spPr><a:ln>`), as an sRGB\nhex. Defaults to `markerColor`, then `color`."},MarkerSizePt:{type:"number",description:'Marker size in points (`<c:marker><c:size val="N"/>`). The reference desktop app\ndefault ~5. Only meaningful when `markerSymbol` isn\'t `none`.'},MarkerSymbol:{anyOf:[{$ref:"#/$defs/TextWrap"},{type:"string",enum:["circle","diamond","plus","x","dot","dash","triangle","picture","auto","star"]}],description:"Optional marker style for line / scatter series (`<c:ser><c:marker>`).\n`none` hides the markers; the others render the matching glyph at\neach data point. Defaults to `auto`, which renderers map to a small\nfilled circle."},Name:{type:"string",description:"Series label rendered in the legend."},OverlapPct:{type:"number",description:'Overlap of adjacent bars within a category in `<c:overlap val="N"/>`\npercent (-100..100). Negative pulls bars apart, positive overlaps.\nDefaults to 0 (clustered) / 100 (stacked).'},PlainChartSeries:{type:"object",properties:{name:{$ref:"#/$defs/Name"},dataLabels:{$ref:"#/$defs/DataLabels2"},values:{$ref:"#/$defs/Values"},color:{$ref:"#/$defs/Color"},lineWidthEmu:{$ref:"#/$defs/LineWidthEmu"},lineColor:{$ref:"#/$defs/LineColor"},lineDash:{$ref:"#/$defs/LineDash"},markerSymbol:{$ref:"#/$defs/MarkerSymbol"},markerSizePt:{$ref:"#/$defs/MarkerSizePt"},markerColor:{$ref:"#/$defs/MarkerColor"},markerLineColor:{$ref:"#/$defs/MarkerLineColor"},invertIfNegative:{$ref:"#/$defs/InvertIfNegative"},pointColors:{$ref:"#/$defs/PointColors"},pointExplosions:{$ref:"#/$defs/PointExplosions"},pointDataLabels:{$ref:"#/$defs/PointDataLabels"},smooth:{$ref:"#/$defs/Smooth"},trendline:{$ref:"#/$defs/Trendline"},fillOpacity:{$ref:"#/$defs/FillOpacity"},errorBars:{$ref:"#/$defs/ErrorBars"},xErrorBars:{$ref:"#/$defs/XErrorBars"}},required:["name","values"],additionalProperties:!1},PlotAreaFill:{type:"string",description:'Plot-area background fill \u2014 `<c:plotArea><c:spPr><a:solidFill>\n<a:srgbClr val="\u2026"/>`. `null` for no fill / unsupported fill kind.'},PlotAreaLayout:{$ref:"#/$defs/ChartManualLayout",description:"Manual position of the plot area."},PlotAreaStrokeColor:{type:"string",description:"Plot-area outline color from `<c:plotArea><c:spPr><a:ln>\n<a:solidFill><a:srgbClr/>`. `undefined` means no outline."},PlotVisibleCellsOnly:{type:"boolean",description:'When `false`, plot data from hidden cells in the embedded workbook\n\u2014 maps to `<c:plotVisOnly val="0"/>`. The reference desktop app\'s default is\n`true` (only plot visible cells), so omitting this field emits\n`val="1"` to stay round-trip-safe with files the reference desktop app authored.'},PointColors:{type:"array",items:{type:["null","string"]},description:`Optional per-data-point color overrides, indexed by point index
|
|
221
|
+
(\`<c:dPt><c:idx val="N"/><c:spPr><a:solidFill>\u2026\`). Sparse \u2014 only
|
|
222
|
+
the indices that author an override appear. Pie / doughnut decks
|
|
223
|
+
almost always emit one of these per slice to break out of the
|
|
224
|
+
single-series-color default.`},PointDataLabels:{type:"array",items:{anyOf:[{type:"null"},{$ref:"#/$defs/ChartDataLabels"}]},description:'Optional per-data-point data-label overrides\n(`<c:dLbls><c:dLbl><c:idx val="N"/>\u2026`). Sparse \u2014 `null` slots fall back\nto the series-level `dataLabels`. The reference desktop app draws the per-point element\nover the series defaults, which is how pie / doughnut exporters give each\nslice its own label content and font.'},PointExplosions:{type:"array",items:{type:["null","number"]},description:'Optional per-data-point pie/doughnut slice explosion percentages\n(`<c:dPt><c:explosion val="N"/>`). Sparse \u2014 only the indices that\nauthor an explosion appear. The value is the radial offset as a\npercentage of the slice radius (`25` \u2248 a quarter-radius pull-out).'},RadarStyle:{type:"string",enum:["standard","marker","filled"],description:"Radar sub-type from `<c:radarChart><c:radarStyle val=\"\u2026\"/>`\n(ECMA-376 ST_RadarStyle): `'standard'` (polyline only), `'marker'`\n(polyline + point markers), or `'filled'` (the polygon is filled at\nreduced opacity)."},RoundedCorners:{type:"boolean",description:"Renders the chart area with rounded corners\n(`<c:chartSpace><c:roundedCorners val=\"1\"/>`). The reference desktop app's default\nis `false`; surface only when explicitly `true` so the round-trip\ndoesn't add a redundant `false`."},SecondaryValueAxis:{$ref:"#/$defs/ChartSecondaryValueAxis",description:"Formatting for the secondary value axis. Only meaningful when at least\none series sets `secondaryAxis: true`; ignored otherwise."},Series:{type:"array",items:{$ref:"#/$defs/PlainChartSeries"}},Series2:{type:"array",prefixItems:[{$ref:"#/$defs/PlainChartSeries"}],minItems:1,maxItems:1},Series3:{type:"array",prefixItems:[{$ref:"#/$defs/PlainChartSeries"},{$ref:"#/$defs/PlainChartSeries"},{$ref:"#/$defs/PlainChartSeries"},{$ref:"#/$defs/PlainChartSeries"}],minItems:4,maxItems:4},Series4:{type:"array",prefixItems:[{$ref:"#/$defs/PlainChartSeries"},{$ref:"#/$defs/PlainChartSeries"},{$ref:"#/$defs/PlainChartSeries"}],minItems:3,maxItems:3},Series5:{type:"array",items:{$ref:"#/$defs/ComboChartSeries"}},SeriesAxis:{$ref:"#/$defs/ChartSeriesAxis",description:"Series (depth) axis formatting for 3-D charts and `surface`."},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'},Smooth:{type:"boolean",description:'Line-smoothing toggle (`<c:smooth val="1"/>`) \u2014 only meaningful for\nline / scatter / area series. When `true`, the renderer interpolates\na smooth curve through the data points instead of straight segments.'},SurfaceContour:{type:"boolean",description:"Surface charts: `true` draws the top-down contour plot\n(`<c:surfaceChart>`), absent / `false` the 3-D surface\n(`<c:surface3DChart>`)."},SurfaceWireframe:{type:"boolean",description:"Surface charts: draw the mesh only, without color bands (`<c:wireframe>`)."},TextWrap:{type:"string",enum:["none","square"]},Title:{type:"string",description:"Optional chart title rendered above the plot area."},TitleLayout:{type:"object",properties:{x:{type:"number"},y:{type:"number"}},required:["x","y"],additionalProperties:!1,description:`Manual position of the chart title's top-left corner, as fractions of
|
|
225
|
+
the chart space. A title sizes itself to its text, so there is no
|
|
226
|
+
width / height to set.`},TitleOverlay:{type:"boolean",description:"When `true`, the chart title overlays the plot area instead of taking a strip."},TitleStyle:{$ref:"#/$defs/ChartTextStyle",description:"Optional font / color overrides for the chart title."},Trendline:{$ref:"#/$defs/ChartTrendline",description:`Optional trendline overlay. ECMA-376 \xA721.2.2.211 allows several
|
|
227
|
+
regression types; we surface the most common subset. The line is
|
|
228
|
+
painted on top of the series in the renderer.`},UpDownBars:{$ref:"#/$defs/ChartUpDownBars",description:"Up / down bars. Valid on `line` charts (between the first and last\nseries) and on `stock` charts with an open series, where they are the\ncandlestick bodies."},ValueAxis:{$ref:"#/$defs/ChartAxisScaling",description:"Optional value-axis scaling override (min / max)."},ValueAxisCrossBetween:{type:"string",enum:["between","midCat"],description:`Whether the value axis crosses the category axis *between* tick
|
|
229
|
+
marks (the default for bar / column / area) or *at* each tick mark
|
|
230
|
+
(the default for line / scatter). Maps to \`<c:valAx>
|
|
231
|
+
<c:crossBetween val="between|midCat"/>\`. The reference desktop app emits this when
|
|
232
|
+
the chart kind makes the default value non-obvious \u2014 surface it
|
|
233
|
+
here so the round-trip preserves the authored intent.`},ValueAxisCrosses:{anyOf:[{type:"string",enum:["autoZero","min","max"]},{type:"object",properties:{at:{type:"number"}},required:["at"],additionalProperties:!1}],description:'Where the category axis crosses the value axis. Either an enum\nkeyword (`<c:valAx><c:crosses val="autoZero|min|max"/>`) or a\nspecific numeric value (`<c:valAx><c:crossesAt val="N"/>`). The two\nforms are mutually exclusive \u2014 the reference desktop app emits one or the other.\nDefault is `autoZero` (the category axis sits at value 0 if the\nrange straddles zero, otherwise at the closer extreme).'},ValueAxisHidden:{type:"boolean",description:'When `true`, value axis is hidden (`<c:valAx><c:delete val="1"/>`).'},ValueAxisLabelRotationDeg:{type:"number",description:'Authored rotation on the value-axis tick labels, in degrees. From\n`<c:valAx><c:txPr><a:bodyPr rot="N"/>` (N in 60000ths of a degree).\nSame sense as `categoryAxisLabelRotationDeg`.'},ValueAxisLabelStyle:{$ref:"#/$defs/ChartTextStyle",description:"Authored font / color on the value-axis *tick labels* \u2014 `<c:valAx><c:txPr>`."},ValueAxisLineColor:{type:"string",description:'Authored color on the value-axis line itself \u2014 `<c:valAx><c:spPr>\n<a:ln><a:solidFill><a:srgbClr val="\u2026"/>`. Returned as `#RRGGBB`.\n`undefined` falls back to the renderer\'s default axis stroke.'},ValueAxisLineHidden:{type:"boolean",description:"Hide the value-axis line while keeping its tick labels\n(`<c:valAx><c:spPr><a:ln><a:noFill/>`). `valueAxisHidden` removes the\nlabels too; this does not."},ValueAxisLineWidthEmu:{type:"number",description:"Authored width of the value-axis line in EMU \u2014 the `w` of the same\n`<a:ln>` as `valueAxisLineColor`. `undefined` leaves it to the application."},ValueAxisMajorGridlineColor:{type:"string",description:'Authored color on the value-axis major gridlines \u2014 `<c:valAx>\n<c:majorGridlines><c:spPr><a:ln><a:solidFill><a:srgbClr val="\u2026"/>`.\nReturned as `#RRGGBB`. `undefined` falls back to the renderer\'s\ndefault (a light gray).'},ValueAxisMajorGridlineWidthEmu:{type:"number",description:"Authored width of the value-axis major gridlines in EMU \u2014 the `w` of\nthe same `<a:ln>` as `valueAxisMajorGridlineColor` (12700 = 1 pt).\n`undefined` leaves the width to the application (the reference desktop app: 0.75 pt)."},ValueAxisMajorGridlines:{type:"boolean",description:"When the value-axis emits `<c:majorGridlines/>` \u2014 its gridlines are visible."},ValueAxisMajorTickMark:{anyOf:[{$ref:"#/$defs/AnimationInOut"},{type:"string",enum:["none","cross"]}],description:"Major-tick mark mode on the value axis (`<c:valAx><c:majorTickMark val=\"\u2026\"/>`):\n\n - `'out'` \u2014 outside the plot edge (default)\n - `'in'` \u2014 inside the plot\n - `'cross'` \u2014 across the axis line\n - `'none'` \u2014 no tick marks"},ValueAxisMinorGridlineColor:{type:"string",description:"Companion authored color on the value-axis minor gridlines."},ValueAxisMinorGridlineWidthEmu:{type:"number",description:`In EMU: 914400 per inch, 360000 per cm, 12700 per point.
|
|
234
|
+
|
|
235
|
+
Companion width of the value-axis minor gridlines.`},ValueAxisMinorGridlines:{type:"boolean",description:"When the value-axis emits `<c:minorGridlines/>` \u2014 minor gridlines are visible."},ValueAxisMinorTickMark:{anyOf:[{$ref:"#/$defs/AnimationInOut"},{type:"string",enum:["none","cross"]}],description:"Minor-tick mark mode on the value axis (`<c:valAx><c:minorTickMark>`)."},ValueAxisOrientation:{type:"string",enum:["minMax","maxMin"],description:"Same for the value axis."},ValueAxisTickLabelPos:{type:"string",enum:["none","low","high","nextTo"],description:'Value-axis tick label position (`<c:valAx><c:tickLblPos val="\u2026"/>`),\nthe same choices as `categoryAxisTickLabelPos`: `none` hides the\nlabels, `low` / `high` puts them at the plot\'s start / end, `nextTo`\n(default) next to the axis. Primary axis only.'},ValueAxisTitleRotationDeg:{type:"number",description:'Rotation of the value-axis title, in degrees clockwise. The reference desktop app\noften emits `-90` (or `vert270`) so the title reads bottom-to-top\nalongside the axis. Maps to `<c:valAx><c:title><c:tx><c:rich>\n<a:bodyPr rot="N"/>` (60000ths of a degree on the wire).'},ValueAxisTitleStyle:{$ref:"#/$defs/ChartTextStyle",description:"Authored font / color on the value-axis title."},Values:{type:"array",items:{type:["null","number"]},description:"Numeric values, one per category. `null` slots become empty cells in\nthe embedded workbook (the reference desktop app draws them as a gap). Lengths\nshorter than the category count are right-padded with `null`.\n\nFor `scatter` / `bubble` kinds there are no categories: `values`\nholds the series' y-channel (`<c:yVal>`), paired positionally with\n`xValues`. For `radar` it behaves like `line` (values per category).\n\nA `stock` chart reads its series by position, not by name: three\nseries are high, low, close; four are open, high, low, close\n(CT_StockChart allows exactly 3 or 4). A `surface` chart is a grid:\neach series is one row of depth, each category one column."},VaryColors:{type:"boolean",description:'`<c:barChart><c:varyColors val="1"/>` etc. \u2014 when `true` and the\nchart has a single series, each data point gets a distinct color\nfrom the palette. Pie / doughnut already vary colors implicitly;\nthis flag is most useful for single-series bar / column.'},View3D:{$ref:"#/$defs/ChartView3D",description:"3-D view. Its presence selects the 3-D plot-group element for `bar` /\n`column` / `line` / `area` / `pie`; for `surface` it only positions the\ncamera. Rejected for every other kind, and for combo charts (a 3-D\ngroup cannot share a plot area with another group in the reference desktop app)."},View3D2:{$ref:"#/$defs/ChartView3D",description:"3-D view. Its presence selects the 3-D plot-group element for `bar` /\n`column` / `line` / `area` / `pie`; for `surface` it only positions the\ncamera. Rejected for every other kind, and for combo charts (a 3-D\ngroup cannot share a plot area with another group in the reference desktop app).\nIts presence is what selects the 3-D element; a combo cannot be 3-D."},XErrorBars:{$ref:"#/$defs/ChartErrorBars",description:'Error bars along the x direction (`<c:errDir val="x"/>`). Only scatter\nand bubble series have an x channel to attach them to.'}}},output:{type:"null"}},{name:"setCommentStatus",description:`Resolves a thread, reopens it (\`'active'\`), or closes it. Replies carry a
|
|
236
|
+
status of their own, so this works on any modern comment.
|
|
237
|
+
|
|
238
|
+
Throws for a legacy comment: the ECMA-376 schema has no place to put it,
|
|
239
|
+
and quietly doing nothing would leave the caller believing a thread had
|
|
240
|
+
been resolved.`,args:["comment","status"],input_schema:{type:"object",properties:{comment:{$ref:"#/$defs/CommentRef"},status:{type:"string",enum:["active","resolved","closed"]}},required:["comment","status"],additionalProperties:!1,$defs:{CommentRef:{type:"object",description:"A comment, by its slide and its 0-based position in `listComments` for that slide.",properties:{slide:{$ref:"#/$defs/SlideRef"},index:{type:"integer",minimum:0}},required:["slide","index"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setCommentText",description:"Updates comment text while retaining author, date, position, and extension XML.",args:["comment","text"],input_schema:{type:"object",properties:{comment:{$ref:"#/$defs/CommentRef"},text:{type:"string"}},required:["comment","text"],additionalProperties:!1,$defs:{CommentRef:{type:"object",description:"A comment, by its slide and its 0-based position in `listComments` for that slide.",properties:{slide:{$ref:"#/$defs/SlideRef"},index:{type:"integer",minimum:0}},required:["slide","index"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setCoreProperties",description:"Writes selected fields on `/docProps/core.xml`. Unspecified fields\nare left as-is; pass `null` to clear a field that's currently set.\nBootstraps the part (and the `/_rels/.rels` entry + content-type\noverride) if the package didn't have one.\n\nNote: setting `created` / `modified` requires an ISO-8601 timestamp\nstring (e.g. `'2026-05-15T12:34:56Z'`). The reference desktop app expects the\n`xsi:type=\"dcterms:W3CDTF\"` attribute on these elements but readers\nwe tested all accept missing-attribute output too; this helper\ntherefore omits the attribute for simplicity.",args:[null,"values"],input_schema:{type:"object",properties:{values:{type:"object",properties:{title:{type:["null","string"]},subject:{type:["null","string"]},creator:{type:["null","string"]},keywords:{type:["null","string"]},description:{type:["null","string"]},lastModifiedBy:{type:["null","string"]},revision:{type:["null","string"]},created:{$ref:"#/$defs/Created"},modified:{$ref:"#/$defs/Created"},category:{type:["null","string"]}},additionalProperties:!1}},required:["values"],additionalProperties:!1,$defs:{Created:{type:["null","string"],description:"ISO-8601 timestamp string when set; `null` otherwise."}}},output:{type:"null"}},{name:"setCustomShows",description:`Replaces the custom-show list atomically, retaining metadata on surviving IDs.
|
|
241
|
+
Slide handles must belong to this presentation. IDs are stable unsigned integers.`,args:[null,"shows"],input_schema:{type:"object",properties:{shows:{type:"array",items:{type:"object",properties:{id:{type:"number"},name:{type:"string"},slides:{type:"array",items:{$ref:"#/$defs/SlideRef"}}},required:["id","name","slides"],additionalProperties:!1}}},required:["shows"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setDrawingGuides",description:"Replaces presentation guides, retaining metadata/extensions on surviving guide IDs.",args:[null,"guides"],input_schema:{type:"object",properties:{guides:{type:"array",items:{type:"object",properties:{id:{type:"number"},axis:{type:"string",enum:["x","y"]},position:{type:"number"},color:{type:"string"}},required:["id","axis","position","color"],additionalProperties:!1}}},required:["guides"],additionalProperties:!1},output:{type:"null"}},{name:"setDrawingGuidesVisible",description:"Persists slide-view guide visibility without changing other view preferences.",args:[null,"visible"],input_schema:{type:"object",properties:{visible:{type:"boolean"}},required:["visible"],additionalProperties:!1},output:{type:"null"}},{name:"setExtendedProperties",description:"Writes selected fields on `/docProps/app.xml`. Throws when the\npackage has no extended-properties part \u2014 unlike core-properties,\nwe don't bootstrap app.xml from scratch because its schema\nrequires several derived `<vt:*>` elements (`HeadingPairs`,\n`TitlesOfParts`, \u2026) that aren't user-facing.\n\nPass `null` to clear an existing field's text. Unspecified keys\nare left untouched.",args:[null,"values"],input_schema:{type:"object",properties:{values:{type:"object",properties:{application:{type:["null","string"]},appVersion:{type:["null","string"]},company:{type:["null","string"]},manager:{type:["null","string"]},presentationFormat:{type:["null","string"]},hyperlinkBase:{type:["null","string"]}},additionalProperties:!1}},required:["values"],additionalProperties:!1},output:{type:"null"}},{name:"setGridSpacing",description:"Sets the document grid's horizontal (`x`) and vertical (`y`) spacing, in EMU.",args:[null,"spacing"],input_schema:{type:"object",properties:{spacing:{type:"object",properties:{x:{type:"number"},y:{type:"number"}},required:["x","y"],additionalProperties:!1}},required:["spacing"],additionalProperties:!1},output:{type:"null"}},{name:"setHandoutMasterPlaceholderIncluded",description:"The Handout Master tab's placeholder checkboxes; see `setNotesMasterPlaceholderIncluded`.",args:[null,"type","included"],input_schema:{type:"object",properties:{type:{type:"string",enum:["hdr","dt","ftr","sldNum"]},included:{type:"boolean"}},required:["type","included"],additionalProperties:!1},output:{type:"null"}},{name:"setHandoutSlidesPerPage",description:"Sets the handout's slides per page; see `getHandoutSlidesPerPage`.",args:[null,"slidesPerPage"],input_schema:{type:"object",properties:{slidesPerPage:{anyOf:[{type:"string",const:"outline"},{type:"integer",enum:[1,2,3,4,6,9]}]}},required:["slidesPerPage"],additionalProperties:!1},output:{type:"null"}},{name:"setMediaPartBytes",description:'Replaces the bytes of a media part in place. Returns `true` if the\npart was found and updated, `false` otherwise. The content type is\npreserved.\n\nUseful for the "swap every instance of this logo" workflow \u2014 pick\nthe right `partName` via `getMediaParts` and call this once. Every\n`<a:blip r:embed="\u2026"/>` reference is unaffected because the rels\nalready point at this part name.',args:[null,"partName","bytes"],input_schema:{type:"object",properties:{partName:{type:"string"},bytes:{$ref:"#/$defs/Bytes"}},required:["partName","bytes"],additionalProperties:!1,$defs:{Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."}}},output:{type:"boolean"}},{name:"setNotesMasterPlaceholderIncluded",description:`The Notes Master tab's placeholder checkboxes: removes a placeholder from
|
|
242
|
+
the notes master, or puts it back where the reference desktop app's default puts it.
|
|
243
|
+
Creates the default notes master when the presentation has none.`,args:[null,"type","included"],input_schema:{type:"object",properties:{type:{anyOf:[{type:"string",enum:["hdr","dt","ftr","sldNum"]},{type:"string",enum:["body","sldImg"]}]},included:{type:"boolean"}},required:["type","included"],additionalProperties:!1},output:{type:"null"}},{name:"setNotesPageOrientation",description:"Handout Orientation / Notes Page Orientation. Both turn the one notes page\n(`<p:notesSz>`) that notes pages and handouts share, and the reference desktop app moves\nthe notes master, the handout master and every notes page with it.",args:[null,"orientation"],input_schema:{type:"object",properties:{orientation:{type:"string",enum:["portrait","landscape"]}},required:["orientation"],additionalProperties:!1},output:{type:"null"}},{name:"setParagraphAlignment",description:"Sets the horizontal alignment of a single paragraph. Same token set\nas `setShapeAlignment`. Other paragraphs are untouched.",args:["shape","paragraphIndex","align"],input_schema:{type:"object",properties:{shape:{anyOf:[{$ref:"#/$defs/ShapeRef"},{$ref:"#/$defs/CellRef"}]},paragraphIndex:{type:"number"},align:{anyOf:[{type:"string",enum:["ctr","l","r","just","dist","justLow","thaiDist"]},{type:"string",enum:["right","left","center","justify","distribute"]}]}},required:["shape","paragraphIndex","align"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setParagraphBullet",description:"Sets the bullet style on a single paragraph. Same `BulletStyle` shape\nas `setShapeBulletStyle` \u2014 pass `'bullet'` / `'number'` / `'none'` or an\nobject like `{ char: '\u25C6' }` / `{ autoNum: 'romanLcPeriod' }`.",args:["shape","paragraphIndex","style"],input_schema:{type:"object",properties:{shape:{anyOf:[{$ref:"#/$defs/ShapeRef"},{$ref:"#/$defs/CellRef"}]},paragraphIndex:{type:"number"},style:{anyOf:[{type:"string",enum:["number","none","bullet"]},{type:"object",properties:{char:{type:"string"}},required:["char"],additionalProperties:!1},{type:"object",properties:{autoNum:{type:"string"}},required:["autoNum"],additionalProperties:!1}]}},required:["shape","paragraphIndex","style"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setParagraphIndent",description:`Sets paragraph indents in EMU. The first-line offset is relative to the
|
|
244
|
+
left indent; negative values create a hanging indent. Omitted sides are
|
|
245
|
+
preserved, and \`null\` removes an override to restore inheritance.
|
|
246
|
+
Values are rounded to whole EMU and must satisfy the OOXML text bounds.`,args:["shape","paragraphIndex","opts"],input_schema:{type:"object",properties:{shape:{anyOf:[{$ref:"#/$defs/ShapeRef"},{$ref:"#/$defs/CellRef"}]},paragraphIndex:{type:"number"},opts:{type:"object",properties:{leftEmu:{$ref:"#/$defs/LeftEmu"},rightEmu:{$ref:"#/$defs/LeftEmu"},firstLineEmu:{$ref:"#/$defs/LeftEmu"}},additionalProperties:!1}},required:["shape","paragraphIndex","opts"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},LeftEmu:{type:["null","number"],description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point."},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setParagraphLevel",description:`Sets the paragraph's nesting level (\`<a:pPr lvl="N"/>\`). Levels are
|
|
247
|
+
0-indexed; the reference desktop app accepts 0 through 8. Pass \`0\` to clear an
|
|
248
|
+
existing level \u2014 \`<a:pPr lvl="0"/>\` is the same as omitting the attr.
|
|
249
|
+
Indents matching the previous level's default bullet pair follow the level;
|
|
250
|
+
other indent values are preserved.
|
|
251
|
+
|
|
252
|
+
A UTF-16 range selects all touched paragraphs (exclusive end; a caret selects
|
|
253
|
+
its paragraph). Pass \`{ offset }\` to shift their existing levels, clamped to
|
|
254
|
+
0 through 8. Range updates preserve run XML and commit the text body once.
|
|
255
|
+
|
|
256
|
+
Used in tandem with bullets to author nested lists:
|
|
257
|
+
|
|
258
|
+
setShapeText(shape, 'Item 1\\nNested\\nItem 2');
|
|
259
|
+
setShapeBulletStyle(shape, 'bullet');
|
|
260
|
+
setParagraphLevel(shape, 1, 1); // indent the second line`,args:["shape","paragraphIndex","level"],input_schema:{type:"object",properties:{shape:{anyOf:[{$ref:"#/$defs/ShapeRef"},{$ref:"#/$defs/CellRef"}]},paragraphIndex:{anyOf:[{type:"number"},{type:"object",properties:{start:{type:"number"},end:{type:"number"}},required:["start","end"],additionalProperties:!1}]},level:{anyOf:[{type:"number"},{type:"object",properties:{offset:{type:"number"}},required:["offset"],additionalProperties:!1}]}},required:["shape","paragraphIndex","level"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setParagraphLineSpacing",description:"Sets a paragraph's line spacing \u2014 the writer counterpart to\n`getParagraphLineSpacing`. Two modes (mirroring `<a:lnSpc>`):\n\n - `{ kind: 'pct', value }` \u2014 a multiple of single spacing\n (`1` = single, `1.5` = 150%, `2` = double) \u2192 `<a:spcPct>`.\n - `{ kind: 'pts', value }` \u2014 a fixed leading in points \u2192 `<a:spcPts>`.\n\nPass `null` to clear the override (the paragraph then inherits line\nspacing from the layout / master).",args:["shape","paragraphIndex","spacing"],input_schema:{type:"object",properties:{shape:{anyOf:[{$ref:"#/$defs/ShapeRef"},{$ref:"#/$defs/CellRef"}]},paragraphIndex:{type:"number"},spacing:{anyOf:[{type:"null"},{type:"object",properties:{kind:{type:"string",const:"pct"},value:{type:"number"}},required:["kind","value"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"pts"},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]}},required:["shape","paragraphIndex","spacing"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setParagraphSpacing",description:`Sets the spacing before and/or after a paragraph, in points (where
|
|
261
|
+
a "point" is 1/72 inch). The reference desktop app stores these as hundredths of a
|
|
262
|
+
point inside \`<a:pPr><a:spcBef>/<a:spcAft><a:spcPts val="\u2026"/>\` \u2014
|
|
263
|
+
the helper converts.
|
|
264
|
+
|
|
265
|
+
setParagraphSpacing(shape, 0, { beforePts: 6, afterPts: 3 });
|
|
266
|
+
|
|
267
|
+
Omitting a side keeps the existing value (or layout default).
|
|
268
|
+
Passing a side as \`null\` removes that spacing element.`,args:["shape","paragraphIndex","opts"],input_schema:{type:"object",properties:{shape:{anyOf:[{$ref:"#/$defs/ShapeRef"},{$ref:"#/$defs/CellRef"}]},paragraphIndex:{type:"number"},opts:{type:"object",properties:{beforePts:{type:["null","number"]},afterPts:{type:["null","number"]}},additionalProperties:!1}},required:["shape","paragraphIndex","opts"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setParagraphTabs",description:"Set custom and automatic tab stops. Null restores inheritance; [] clears custom stops.",args:["shape","paragraphIndex","settings"],input_schema:{type:"object",properties:{shape:{anyOf:[{$ref:"#/$defs/ShapeRef"},{$ref:"#/$defs/CellRef"}]},paragraphIndex:{type:"number"},settings:{type:"object",properties:{tabStops:{anyOf:[{type:"null"},{type:"array",items:{type:"object",properties:{positionEmu:{type:"number",description:"Position relative to the left margin, in EMU."},alignment:{type:"string",enum:["right","left","center","decimal"]}},required:["positionEmu","alignment"],additionalProperties:!1}}]},defaultTabSizeEmu:{type:["null","number"],description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point."}},additionalProperties:!1}},required:["shape","paragraphIndex","settings"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setParagraphTypography",description:`Update paragraph line-breaking rules and character alignment. Omitted fields
|
|
269
|
+
are preserved; null removes the local override so the style can inherit.`,args:["shape","paragraphIndex","settings"],input_schema:{type:"object",properties:{shape:{anyOf:[{$ref:"#/$defs/ShapeRef"},{$ref:"#/$defs/CellRef"}]},paragraphIndex:{type:"number"},settings:{type:"object",properties:{asianLineBreak:{type:["boolean","null"]},latinLineBreak:{type:["boolean","null"]},hangingPunctuation:{type:["boolean","null"]},fontAlignment:{anyOf:[{type:"string",enum:["top","bottom","center"]},{type:"string",enum:["baseline","auto"]},{type:"null"}]}},additionalProperties:!1}},required:["shape","paragraphIndex","settings"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setPresentationFonts",description:`Overwrites the named typefaces of the deck theme's font scheme
|
|
270
|
+
(major = headings, minor = body), leaving unset fields untouched. As
|
|
271
|
+
with \`setPresentationTheme\`, only the first slide master's theme is
|
|
272
|
+
branded.
|
|
273
|
+
|
|
274
|
+
Throws if the presentation has no theme part.`,args:[null,"fonts"],input_schema:{type:"object",properties:{fonts:{type:"object",properties:{majorLatin:{type:"string"},majorEastAsian:{type:"string"},majorComplexScript:{type:"string"},minorLatin:{type:"string"},minorEastAsian:{type:"string"},minorComplexScript:{type:"string"}},additionalProperties:!1}},required:["fonts"],additionalProperties:!1},output:{type:"null"}},{name:"setPresentationTheme",description:"Overwrites the named slots of the deck theme's color\nscheme (`<a:clrScheme>`), leaving every other slot untouched. Slot\nvalues are `#RRGGBB` (or 3-digit `#RGB`) strings; every branded\n`srgbClr`/`sysClr` slot is normalized to a plain `<a:srgbClr>` on\nwrite, since a theme slot is never a scheme-color reference.\n\nAs with `getPresentationTheme`, multi-master decks are branded via\ntheir first slide master's theme only.\n\nThrows if the presentation has no theme part, or if a provided color\nisn't a valid `#RRGGBB` string.",args:[null,"theme"],input_schema:{type:"object",properties:{theme:{type:"object",properties:{accent1:{type:"string"},accent2:{type:"string"},accent3:{type:"string"},accent4:{type:"string"},accent5:{type:"string"},accent6:{type:"string"},dark1:{type:"string"},light1:{type:"string"},dark2:{type:"string"},light2:{type:"string"},hyperlink:{type:"string"},followedHyperlink:{type:"string"},name:{type:"string"}},additionalProperties:!1}},required:["theme"],additionalProperties:!1},output:{type:"null"}},{name:"setShape3D",description:"Sets the shape's own 3-D \u2014 `<a:scene3d>` (camera, rotation, lighting) and\n`<a:sp3d>` (bevels, depth, contour, material, distance from ground) in\n`<p:spPr>`, what the reference desktop app's 3-D Format and 3-D Rotation write. Same\nvocabulary as `setShapeText3D`, which puts it on the text body instead. A\nfield left out removes what it describes; settings this API does not model\n(camera zoom, backdrop, ...) are kept while their element remains. `null`\nremoves both elements.",args:["shape","value"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},value:{anyOf:[{type:"null"},{type:"object",properties:{scene:{type:"object",properties:{camera:{type:"string",enum:["legacyObliqueTopLeft","legacyObliqueTop","legacyObliqueTopRight","legacyObliqueLeft","legacyObliqueFront","legacyObliqueRight","legacyObliqueBottomLeft","legacyObliqueBottom","legacyObliqueBottomRight","legacyPerspectiveTopLeft","legacyPerspectiveTop","legacyPerspectiveTopRight","legacyPerspectiveLeft","legacyPerspectiveFront","legacyPerspectiveRight","legacyPerspectiveBottomLeft","legacyPerspectiveBottom","legacyPerspectiveBottomRight","orthographicFront","isometricTopUp","isometricTopDown","isometricBottomUp","isometricBottomDown","isometricLeftUp","isometricLeftDown","isometricRightUp","isometricRightDown","isometricOffAxis1Left","isometricOffAxis1Right","isometricOffAxis1Top","isometricOffAxis2Left","isometricOffAxis2Right","isometricOffAxis2Top","isometricOffAxis3Left","isometricOffAxis3Right","isometricOffAxis3Bottom","isometricOffAxis4Left","isometricOffAxis4Right","isometricOffAxis4Bottom","obliqueTopLeft","obliqueTop","obliqueTopRight","obliqueLeft","obliqueRight","obliqueBottomLeft","obliqueBottom","obliqueBottomRight","perspectiveFront","perspectiveLeft","perspectiveRight","perspectiveAbove","perspectiveBelow","perspectiveAboveLeftFacing","perspectiveAboveRightFacing","perspectiveContrastingLeftFacing","perspectiveContrastingRightFacing","perspectiveHeroicLeftFacing","perspectiveHeroicRightFacing","perspectiveHeroicExtremeLeftFacing","perspectiveHeroicExtremeRightFacing","perspectiveRelaxed","perspectiveRelaxedModerately"]},cameraRotation:{$ref:"#/$defs/Rotation3D",description:"The camera's `<a:rot>`, which overrides the preset's orientation \u2014\nthe reference desktop app's X / Y / Z Rotation fields."},fieldOfViewDeg:{type:"number",description:"The camera's field of view (`fov`) in degrees, `[0, 180]`; the reference desktop app's Perspective field."},lightRig:{type:"object",properties:{type:{type:"string",enum:["legacyFlat1","legacyFlat2","legacyFlat3","legacyFlat4","legacyNormal1","legacyNormal2","legacyNormal3","legacyNormal4","legacyHarsh1","legacyHarsh2","legacyHarsh3","legacyHarsh4","threePt","balanced","soft","harsh","flood","contrasting","morning","sunrise","sunset","chilly","freezing","flat","twoPt","glow","brightRoom"]},direction:{type:"string",enum:["t","b","l","r","tl","tr","bl","br"]},rotation:{$ref:"#/$defs/Rotation3D",description:"`<a:rot>`; omitted, the rig keeps its preset orientation."}},required:["type","direction"],additionalProperties:!1}},required:["camera","lightRig"],additionalProperties:!1},bevelTop:{$ref:"#/$defs/Bevel",description:"Top bevel (`<a:bevelT>`)."},bevelBottom:{$ref:"#/$defs/Bevel",description:"Bottom bevel (`<a:bevelB>`)."},extrusionHeightEmu:{type:"number",description:"Extrusion depth (`extrusionH`) in EMU."},extrusionColor:{$ref:"#/$defs/Color",description:"Extrusion color (`<a:extrusionClr>`). Same accepted forms as `TextFormat.color`."},extrusionColorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `extrusionColor`. Requires `extrusionColor`."},contourWidthEmu:{type:"number",description:"Contour width (`contourW`) in EMU."},distanceFromGroundEmu:{type:"number",description:"Distance from the ground (`z`) in EMU; may be negative."},material:{type:"string",enum:["flat","legacyMatte","legacyPlastic","legacyMetal","legacyWireframe","matte","plastic","metal","warmMatte","translucentPowder","powder","dkEdge","softEdge","clear","softmetal"],description:"Surface material (`prstMaterial`)."},contourColor:{$ref:"#/$defs/Color",description:"Contour color (`<a:contourClr>`). Same accepted forms as `TextFormat.color`."},contourColorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `contourColor`. Requires `contourColor`."}},additionalProperties:!1}]}},required:["shape","value"],additionalProperties:!1,$defs:{Bevel:{type:"object",properties:{preset:{type:"string",enum:["circle","relaxedInset","slope","cross","angle","softRound","convex","coolSlant","divot","riblet","hardEdge","artDeco"]},widthEmu:{$ref:"#/$defs/WidthEmu"},heightEmu:{$ref:"#/$defs/WidthEmu"}},additionalProperties:!1},Color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},ColorTransform:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},Rotation3D:{type:"object",properties:{latitudeDeg:{type:"number"},longitudeDeg:{type:"number"},revolutionDeg:{type:"number"}},required:["latitudeDeg","longitudeDeg","revolutionDeg"],additionalProperties:!1},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'},WidthEmu:{type:"number",description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point."}}},output:{type:"null"}},{name:"setShapeAdjustValues",description:"Sets the shape's preset-geometry adjust values (`<a:prstGeom><a:avLst>`),\nreplacing any guides already authored. Keys are ECMA-376 guide names and\nvalues are the raw guide numbers (rounded to integers). The companion\nreader is {@link getShapeAdjustValues }.\n\nThe common use is the corner radius of the `roundRect` preset, whose `adj`\nguide runs `0..50000` (thousandths of a percent of the shorter side;\n`16667` \u2248 the reference desktop app's default, `0` = square corners, `50000` = fully\nrounded). For example, `setShapeAdjustValues(shape, { adj: 5000 })` gives a\nsubtle 5% rounding.\n\nThrows when the shape has no preset geometry (`<a:prstGeom>`) \u2014 a custom or\ninherited geometry has no adjust list to author.",args:["shape","values"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},values:{type:"object",additionalProperties:{type:"number"}}},required:["shape","values"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeAlignment",description:"Sets the horizontal alignment of every paragraph in the shape's text.",args:["shape","align"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},align:{anyOf:[{type:"string",enum:["ctr","l","r","just","dist","justLow","thaiDist"]},{type:"string",enum:["right","left","center","justify","distribute"]}]}},required:["shape","align"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeAltTitle",description:'Sets the shape\'s alt-text title (`<p:cNvPr title="...">`). Pass\n`null` to clear. Distinct from `renameShape`, which writes the\n`name` attribute used in the selection pane.',args:["shape","title"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},title:{type:["null","string"]}},required:["shape","title"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeAnimation",description:"Adds a single animation effect to the given shape.\n\nThe effect is *merged* into any existing `<p:timing>` on the slide rather\nthan replacing it: animating a second shape (or re-running on a template that\nalready has authored animations) preserves the existing effects, with cTn ids\nrenumbered to stay unique. To clear every animation first, call\n`clearSlideAnimations`.\n\n`effect` is any entry of the reference desktop app's Entrance, Emphasis and Exit\ngalleries (see `AnimationEffect`), written exactly as the reference desktop app writes it:\nthe same preset numbers and the same behaviours, so the deck plays the same\nin the reference desktop app as an effect picked from its gallery.\n\nEffect Options are the options the reference desktop app offers for the preset:\n\n - `direction` \u2014 `'flyIn'` / `'flyOut'` take any edge or corner of the\n slide (`'bottom'` by default); `'wipe\u2026'` and `'peek\u2026'` one of the four\n edges; `'strips\u2026'` one of the four corners (`'bottomLeft'` by default).\n - `orientation` \u2014 blinds, random bars and checkerboard (`'horizontal'`)\n and split (`'vertical'`).\n - `inOut` \u2014 shape and split: close in on the centre (`'in'`) or open out\n of it (`'out'`). The reference desktop app's Shape exit defaults to `'out'`.\n - `shape` \u2014 `'circle'` (the default), `'box'`, `'diamond'` or `'plus'`.\n - `spokes` \u2014 wheel: 1 (the default), 2, 3, 4 or 8.\n - `spinDirection` and `spinDegrees` \u2014 spin: `'clockwise'` (the default)\n or `'counterclockwise'`, through any positive angle (360 by default).\n - `scaleDirection` and `scalePercent` \u2014 grow/shrink: `'both'` axes (the\n default), `'horizontal'` or `'vertical'`, to any positive size (150 %).\n - `transparencyPercent` \u2014 transparency: 0\u2013100 (50 by default).\n - `color` \u2014 the colour emphasis effects (fill, font, line, brush and\n object colour, colour pulse, grow with colour): a theme slot or\n `#RRGGBB`, optionally with colour transforms. Accent 2 by default, and\n Background 1 for colour pulse.\n\nAn option passed for an effect that does not take it is an error rather\nthan a no-op.\n\n`durationMs` defaults to the reference desktop app's default for the preset\n(`defaultAnimationDurationMs`). An effect made of several behaviours \u2014 a\nBounce, a Teeter \u2014 is scaled as a whole, the way the reference desktop app's Duration box\nscales it. `appear` and `disappear` are instantaneous and write no timed\nbehaviour; `transparency` and `boldReveal` hold until the slide ends and\ntake no duration.\n\n`start` decides where the effect lands. The default `'click'` gives it a\nclick stop of its own, so the viewer sees it on the next click.\n`'withPrevious'` and `'afterPrevious'` join the stop the last effect is in,\nrunning alongside it or once it has finished \u2014 both off the same click. As\nthe slide's first effect neither has a predecessor, so both run when the\nslide appears. `delayMs` waits that long once the start condition is met.\n\n`'afterPrevious'` throws when the slide's timing does not say when the effect\nbefore it ends \u2014 it runs indefinitely, states no duration, repeats, runs\nletter by letter, or starts from another node rather than at a fixed offset.\nThe slide is left untouched; `'click'` and `'withPrevious'` need no such\nmeasurement.\n\n`build` is the reference desktop app's Effect Options \"Sequence\". `'asOneObject'` (the\ndefault) animates the shape with its text as one effect. `'allAtOnce'` and\n`'byParagraph'` give every paragraph its own effect: all of them starting\ntogether, or each on its own `start` \u2014 so the default `'click'` advances a\nparagraph per click. They share a single `<p:bldP>`, which is how the reference desktop app\nand Google Slides both present the build as one animation.\n`getSlideAnimations` reports each paragraph as its own step, targeting a\nparagraph range.\n\nReading the result back, including the order and start condition of every\neffect on the slide, is `getSlideAnimations`.",args:["shape","opts"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},opts:{type:"object",properties:{effect:{type:"string",enum:["lineColor","appear","blindsIn","checkerboardIn","dissolveIn","flyIn","peekIn","randomBarsIn","shapeIn","splitIn","stripsIn","wedgeIn","wheelIn","wipeIn","expandIn","fadeIn","swivelIn","zoomIn","centerRevolveIn","floatIn","growTurnIn","riseUpIn","spinnerIn","basicZoomIn","stretchIn","boomerangIn","bounceIn","creditsIn","curveUpIn","dropIn","flipIn","floatingIn","pinwheelIn","spiralIn","basicSwivelIn","whipIn","blindsOut","checkerboardOut","disappear","dissolveOut","flyOut","peekOut","randomBarsOut","shapeOut","splitOut","stripsOut","wedgeOut","wheelOut","wipeOut","contractOut","fadeOut","swivelOut","zoomOut","centerRevolveOut","collapseOut","floatOut","shrinkTurnOut","sinkDownOut","spinnerOut","basicZoomOut","stretchyOut","boomerangOut","bounceOut","creditsOut","curveDownOut","dropOut","flipOut","floatingOut","pinwheelOut","spiralOut","basicSwivelOut","whipOut","fillColor","fontColor","growShrink","spin","transparency","boldFlash","brushColor","complementaryColor","complementaryColor2","contrastingColor","darken","desaturate","lighten","objectColor","pulse","underline","colorPulse","growWithColor","shimmer","teeter","blink","boldReveal","wave"],description:"Which preset effect to apply."},direction:{type:"string",enum:["top","right","bottom","left","topLeft","topRight","bottomLeft","bottomRight"],description:"Which edge of the slide a `'flyIn'` comes from, or a `'flyOut'` leaves by\n\u2014 any of the eight. `'wipeIn'`, `'wipeOut'`, `'peekIn'` and `'peekOut'`\ntake one of the four edges, `'stripsIn'` and `'stripsOut'` one of the four\ncorners. Defaults to the reference desktop app's own default for the preset (`'bottom'`;\n`'bottomLeft'` for strips). Passing it for an effect that takes no\ndirection is an error rather than a no-op: it would otherwise read as a\ndirection the file never records. The same holds for the options below."},orientation:{$ref:"#/$defs/AnimationOrientation",description:"For blinds, random bars and split: which way the bars run. For a\ncheckerboard, `'horizontal'` is the reference desktop app's \"Across\" and `'vertical'` its\n\"Down\". Defaults to `'horizontal'` (`'vertical'` for split)."},inOut:{type:"string",enum:["in","out"],description:"For shape and split: open from the centre (`'out'`) or close in on it\n(`'in'`). Defaults to `'in'` \u2014 `'out'` for `'shapeOut'`, as in the reference desktop app."},shape:{type:"string",enum:["circle","box","diamond","plus"],description:"For `'shapeIn'` / `'shapeOut'`: the outline. Defaults to `'circle'`."},spokes:{type:"number",description:"For `'wheelIn'` / `'wheelOut'`: 1, 2, 3, 4 or 8 spokes. Defaults to 1."},spinDirection:{type:"string",enum:["clockwise","counterclockwise"],description:"For `'spin'`: which way it turns. Defaults to `'clockwise'`."},spinDegrees:{type:"number",description:"For `'spin'`: how far it turns, in degrees. The reference desktop app's menu offers 90\n(Quarter Spin), 180 (Half Spin), 360 (Full Spin, the default) and 720\n(Two Spins); any positive angle can be written."},scaleDirection:{anyOf:[{$ref:"#/$defs/AnimationOrientation"},{type:"string",const:"both"}],description:"For `'growShrink'`: scale both axes (the default), or only the width\n(`'horizontal'`) or only the height (`'vertical'`)."},scalePercent:{type:"number",description:"For `'growShrink'`: the size to reach, in percent of the shape's own.\nThe reference desktop app's menu offers 25 (Tiny), 50 (Smaller), 150 (Larger, the\ndefault) and 400 (Huge)."},transparencyPercent:{type:"number",description:"For `'transparency'`: how transparent the shape becomes, 0\u2013100. The reference desktop app\noffers 25, 50 (the default), 75 and 100."},color:{anyOf:[{$ref:"#/$defs/Color"},{type:"object",properties:{color:{$ref:"#/$defs/Color"},colorTransforms:{type:"array",items:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]}}},required:["color"],additionalProperties:!1}],description:"For the colour emphasis effects \u2014 `'fillColor'`, `'fontColor'`,\n`'lineColor'`, `'brushColor'`, `'objectColor'`, `'colorPulse'` and\n`'growWithColor'` \u2014 the colour to change to. Defaults to Accent 2, and to\nBackground 1 for `'colorPulse'`, as the reference desktop app's gallery does."},durationMs:{type:"number",description:"How long the effect runs, in milliseconds. Defaults to the reference desktop app's default\nfor the preset (`defaultAnimationDurationMs`). An effect made of several\nbehaviours is scaled as a whole, the way the reference desktop app's Duration box does.\n`'appear'` and `'disappear'` are instantaneous and write no timed\nbehaviour, so it does not reach them; `'transparency'` and `'boldReveal'`\nhold until the end of the slide and take none."},start:{type:"string",enum:["click","withPrevious","afterPrevious"],description:"What starts the effect. Defaults to `'click'` \u2014 the effect waits for the\nviewer's next click. `'withPrevious'` runs it alongside the effect before\nit, `'afterPrevious'` once that effect has finished. When the effect is\nthe slide's first, neither has a predecessor to follow, so both start as\nsoon as the slide appears instead of waiting for a click."},delayMs:{type:"number",description:"How long to wait once the start condition is met. Defaults to 0ms."},build:{type:"string",enum:["asOneObject","allAtOnce","byParagraph"],description:"How the shape's text is animated \u2014 the reference desktop app's Effect Options \"Sequence\".\nDefaults to `'asOneObject'`, the gallery's own default. `'allAtOnce'` and\n`'byParagraph'` give every paragraph an effect of its own: started together\nfor the first, each on its own start (a click apiece by default) for the\nsecond. Fill Color and Line Color animate the shape and take neither."}},required:["effect"],additionalProperties:!1}},required:["shape","opts"],additionalProperties:!1,$defs:{AnimationOrientation:{type:"string",enum:["horizontal","vertical"]},Color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeAspectRatioLocked",description:"Sets the DrawingML `noChangeAspect` constraint without disturbing other\nnonvisual properties. An absent constraint and an explicit false value both\nread as unlocked; disabling the constraint removes only this attribute.",args:["shapes","locked"],input_schema:{type:"object",properties:{shapes:{anyOf:[{$ref:"#/$defs/ShapeRef"},{type:"array",items:{$ref:"#/$defs/ShapeRef"}}]},locked:{type:"boolean"}},required:["shapes","locked"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeBounds",description:"Sets both position and size in one call. Equivalent to calling\n`setShapePosition` followed by `setShapeSize`, but commits the slide\njust once.",args:["shape","bounds"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},bounds:{type:"object",properties:{x:{$ref:"#/$defs/Emu"},y:{$ref:"#/$defs/Emu"},w:{$ref:"#/$defs/Emu"},h:{$ref:"#/$defs/Emu"}},required:["x","y","w","h"],additionalProperties:!1}},required:["shape","bounds"],additionalProperties:!1,$defs:{Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeBulletStyle",description:"Sets the bullet style on every paragraph in the shape's text body.",args:["shape","style"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},style:{anyOf:[{type:"string",enum:["number","none","bullet"]},{type:"object",properties:{char:{type:"string"}},required:["char"],additionalProperties:!1},{type:"object",properties:{autoNum:{type:"string"}},required:["autoNum"],additionalProperties:!1}]}},required:["shape","style"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeClickAction",description:"Sets (or clears) the click action on the shape. Side effects:\n\n - For `kind: 'url'`, a `hyperlink` rel is added (or reused) on the\n slide's rels with `targetMode=\"External\"`. `<a:hlinkClick r:id=\u2026/>`\n points at it.\n - For `kind: 'slide'`, a `slide` rel is added pointing at the\n target slide's part. The `<a:hlinkClick>` carries\n `action=\"ppaction://hlinksldjump\"`.\n - For preset navigations and `customShow`, no rel is allocated; just the\n `action` attribute carries the destination.\n - `null` removes any existing `<a:hlinkClick>`.\n\nOptional `range` applies the action to selected UTF-16 text offsets instead\nof the whole shape, preserving links and formatting outside the range.\nOptional `tooltip` sets the link description; omission clears an old description.\n\nThe shape must be one of `shape | picture | connector | graphicFrame`.\nGroups don't carry their own click action in our model.",args:["shape","action","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},action:{anyOf:[{anyOf:[{type:"object",properties:{kind:{type:"string",const:"url"},url:{type:"string"}},required:["kind","url"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"slide"},slide:{$ref:"#/$defs/SlideRef"}},required:["kind","slide"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"nextSlide"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"prevSlide"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"firstSlide"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"lastSlide"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"lastSlideViewed"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"endShow"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"customShow"},id:{type:"number"},returnToShow:{type:"boolean"}},required:["kind","id","returnToShow"],additionalProperties:!1}]},{type:"null"}]},options:{type:"object",properties:{range:{type:"object",properties:{start:{type:"number"},end:{type:"number"}},required:["start","end"],additionalProperties:!1},tooltip:{type:"string"}},additionalProperties:!1}},required:["shape","action"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeCustomGeometry",description:`Replaces the shape's geometry (preset or custom) with the given paths. The
|
|
275
|
+
text rectangle is the whole shape, as the reference desktop app writes for freeforms.
|
|
276
|
+
Coordinates are rounded to integers, which the schema requires.`,args:["shape","geometry"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},geometry:{type:"object",properties:{paths:{type:"array",items:{type:"object",properties:{w:{type:"number",description:"Path coordinate-space width and height (`ST_PositiveCoordinate`)."},h:{type:"number"},fill:{type:"string",enum:["darken","lighten","none","norm","lightenLess","darkenLess"]},stroke:{type:"boolean"},commands:{type:"array",items:{anyOf:[{type:"object",properties:{kind:{type:"string",const:"moveTo"},pt:{$ref:"#/$defs/GeomPoint"}},required:["kind","pt"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"lnTo"},pt:{$ref:"#/$defs/GeomPoint"}},required:["kind","pt"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"arcTo"},wR:{type:"number"},hR:{type:"number"},stAng:{type:"number"},swAng:{type:"number"}},required:["kind","wR","hR","stAng","swAng"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"quadBezTo"},pts:{type:"array",prefixItems:[{$ref:"#/$defs/GeomPoint"},{$ref:"#/$defs/GeomPoint"}],minItems:2,maxItems:2}},required:["kind","pts"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"cubicBezTo"},pts:{type:"array",prefixItems:[{$ref:"#/$defs/GeomPoint"},{$ref:"#/$defs/GeomPoint"},{$ref:"#/$defs/GeomPoint"}],minItems:3,maxItems:3}},required:["kind","pts"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"close"}},required:["kind"],additionalProperties:!1}]}}},required:["w","h","commands"],additionalProperties:!1}}},required:["paths"],additionalProperties:!1}},required:["shape","geometry"],additionalProperties:!1,$defs:{GeomPoint:{type:"object",properties:{x:{type:"number"},y:{type:"number"}},required:["x","y"],additionalProperties:!1},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeDescription",description:'Sets the shape\'s alt-text description (`<p:cNvPr descr="...">`).\nPass `null` to clear. Important for accessibility \u2014 image shapes\nand decorative graphics should carry a descr that conveys the\nvisual meaning to screen readers.',args:["shape","description"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},description:{type:["null","string"]}},required:["shape","description"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeFill",description:`Sets a solid fill. A color string replaces the fill; an options object edits
|
|
277
|
+
only supplied properties and preserves existing opacity when changing color.
|
|
278
|
+
Opacity ranges from 0 (transparent) to 1 (opaque). Opacity-only edits require
|
|
279
|
+
an existing solid fill and preserve its theme reference and color transforms.`,args:["shape","color"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},color:{anyOf:[{$ref:"#/$defs/Color"},{type:"object",properties:{color:{$ref:"#/$defs/Color"},opacity:{type:"number"}},additionalProperties:!1}]}},required:["shape","color"],additionalProperties:!1,$defs:{Color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeFlip",description:"Sets the shape's flip flags. Properties default to current state when omitted.",args:["shape","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},options:{type:"object",properties:{horizontal:{type:"boolean"},vertical:{type:"boolean"}},additionalProperties:!1}},required:["shape","options"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeGlow",description:"Sets a glow around the shape. The radius is in EMU (default 5pt =\n63500). Replaces an existing glow and composes with a shadow, in the\norder `CT_EffectList` states. `null` removes only the glow.",args:["shape","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},options:{anyOf:[{type:"null"},{type:"object",properties:{color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}],description:"`#RRGGBB`, bare `RRGGBB`, or scheme token."},colorTransforms:{type:"array",items:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, ...), written\nas its children \u2014 the same field gradient stops take. Requires `color`.\nAn `opacity` that differs from the one these transforms state wins."},radiusEmu:{type:"number",description:"Glow radius in EMU. Defaults to 63500 (5pt)."},opacity:{type:"number",description:"Opacity (0\u20131). Defaults to fully opaque."}},required:["color"],additionalProperties:!1}]}},required:["shape","options"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeGradientFill",description:`Sets a linear gradient fill on the shape. Stops must lie in \`[0, 1]\`;
|
|
280
|
+
\`angleDeg\` defaults to \`90\` (top \u2192 bottom).
|
|
281
|
+
|
|
282
|
+
Example: red \u2192 blue top-to-bottom:
|
|
283
|
+
|
|
284
|
+
setShapeGradientFill(shape, {
|
|
285
|
+
stops: [{ offset: 0, color: '#FF0000' }, { offset: 1, color: '#0000FF' }],
|
|
286
|
+
angleDeg: 90,
|
|
287
|
+
});`,args:["shape","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},options:{type:"object",properties:{stops:{type:"array",items:{type:"object",properties:{offset:{type:"number",description:"Position on the gradient axis, 0-1."},color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}],description:"`#RRGGBB`, the `#RGB` shorthand, or a theme color token."},colorTransforms:{type:"array",items:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},description:"Ordered imported color adjustments. Brightness and opacity override their corresponding transforms when changed."},opacity:{type:"number",description:"Opacity from 0 (transparent) to 1 (opaque)."},brightness:{type:"number",description:"The reference desktop app's brightness from -1 (black) to 1 (white); 0 leaves the color unchanged."}},required:["offset","color"],additionalProperties:!1},description:"Two or more color stops along the axis."},angleDeg:{type:"number",description:"Gradient axis angle, in degrees. ECMA-376 measures clockwise from\nthe right (3 o'clock); `0` is a left-to-right gradient, `90` is\ntop-to-bottom, `180` right-to-left, `270` bottom-to-top. Defaults\nto `90` (top \u2192 bottom). Only meaningful for linear gradients."},rotateWithShape:{type:"boolean",description:"Rotate the gradient with the shape. Defaults to true."},scaled:{type:"boolean",description:"Scale a linear gradient with the shape's aspect ratio. Defaults to false."},path:{type:"string",enum:["circle","shape","rect","linear"],description:"Non-linear gradient path. `circle` paints concentric circles,\n`rect` paints nested rectangles, `shape` follows the shape's\noutline. Absent / `'linear'` \u2192 linear gradient using `angleDeg`.\nMirrors ECMA-376 \xA720.1.8.33 `<a:path path=\"\u2026\"/>`."},focus:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:`Focus rectangle for non-linear gradients, expressed as fractional insets
|
|
288
|
+
from each corresponding edge (1 = 100%). Four 0.5 insets describe
|
|
289
|
+
a point at the center; left/top 1 and right/bottom 0 describe the
|
|
290
|
+
bottom-right corner. Mirrors \`<a:fillToRect>\`.`},tileRect:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:"Gradient tile bounds as fractional insets from the shape's edges.\nNegative values extend the tile beyond that edge. The reference desktop app on Mac uses\nright/bottom -1 for its bottom-right radial direction. Mirrors `<a:tileRect>`."}},required:["stops"],additionalProperties:!1}},required:["shape","options"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeHidden",description:'Sets or clears `<p:cNvPr hidden="...">` on the shape. Hidden\nshapes remain in the document but the reference desktop app doesn\'t render them.',args:["shape","hidden"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},hidden:{type:"boolean"}},required:["shape","hidden"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeHyperlink",description:"Sets an external hyperlink on every run in the shape's text. Allocates\n(or reuses) a `hyperlink` relationship on the slide's `.rels`. Pass\n`null` to clear. Optional `range` limits the change to UTF-16 offsets in\ngetShapeText, preserving text and formatting outside the selection.",args:["shape","url","tooltip","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},url:{type:["null","string"]},tooltip:{type:"string"},options:{type:"object",properties:{range:{type:"object",properties:{start:{type:"number"},end:{type:"number"}},required:["start","end"],additionalProperties:!1}},additionalProperties:!1}},required:["shape","url"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeImage",description:"Replaces only this picture's media with `bytes`, detaching shared media\nor relationships when necessary. Unshared same-format media is updated\nin place. The geometry \u2014 crop, transform \u2014 is preserved.\n\nPass `options.fit: 'contain'` to re-fit the picture's extent to the\nreplacement image's aspect ratio, inscribed and centered in the shape's\ncurrent `(off, ext)` box. The default `'fill'` leaves the extent as-is\n(the historical behavior). When the new image's natural size can't be\nmeasured (non-PNG/JPEG), `'contain'` is a no-op rather than an error.",args:["shape","bytes","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},bytes:{$ref:"#/$defs/Bytes"},options:{type:"object",properties:{format:{type:"string",enum:["png","jpeg","gif","bmp","tiff","webp","svg"]},fit:{type:"string",enum:["fill","contain"]}},additionalProperties:!1}},required:["shape","bytes"],additionalProperties:!1,$defs:{Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeImageBrightness",description:'Adjusts a picture or image fill\'s brightness via `<a:blip><a:lum bright="\u2026"/>`. The value\nis a -1..1 fraction:\n\n - `1` \u2192 +100% brightness\n - `0` or `null` \u2192 no brightness change (the `bright` attribute is removed)\n - `-1` \u2192 -100% brightness\n\nBrightness and contrast share the one `<a:lum>` element, so setting one keeps\nthe other. Throws for shapes without an image and on values outside [-1, 1].',args:["shape","value"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},value:{type:["null","number"]}},required:["shape","value"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeImageCompressionState",description:"Records what a picture was compressed for, as Compress Pictures does: it\nsets `a:blip/@cstate` and adds the `a14:useLocalDpi` extension (without a\n`val`, meaning true) that the reference desktop app writes alongside it. `null` removes\nboth. This only labels the picture; resample the pixels with\n`setShapeImage`.",args:["shape","state"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},state:{anyOf:[{type:"string",enum:["none","email","screen","print","hqprint"]},{type:"null"}]}},required:["shape","state"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeImageContrast",description:'Adjusts a picture or image fill\'s contrast via `<a:blip><a:lum contrast="\u2026"/>`. The value\nis a -1..1 fraction (ECMA-376 `ST_FixedPercentage`):\n\n - `0` or `null` \u2192 no contrast change (the `contrast` attribute is removed)\n - `0.5` \u2192 +50% contrast (boosted)\n - `-0.5` \u2192 -50% contrast (washed out)\n\nBrightness and contrast share the one `<a:lum>` element, so setting one keeps\nthe other. Throws for shapes without an image and on values outside [-1, 1].',args:["shape","value"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},value:{type:["null","number"]}},required:["shape","value"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeImageCrop",description:"Sets (or clears) a `<a:srcRect>` on a picture or image-filled shape, cropping the\nembedded image by the given fraction on each side. Pass `null` to\nremove an existing crop.\n\nFractions use the signed `ST_Percentage` range per side. `{ left: 0.25 }`\nclips 25% off the left edge; negative values extend the source rectangle.\nStretch fills fit the remaining image to the frame;\ntiled fills repeat the remaining image. The shape's geometry (`<a:xfrm>`) is unchanged.",args:["shape","crop"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},crop:{anyOf:[{type:"null"},{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},additionalProperties:!1}]}},required:["shape","crop"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeImageFill",description:"Sets a picture fill on the shape, embedding `bytes` as a new media\npart and replacing any prior fill choice on the shape's `<p:spPr>`.\n\nThe image stretches to fill the shape (`<a:stretch><a:fillRect/>`).\nFormat is detected from magic bytes; pass `options.format` to\noverride (useful for SVG or unusual extensions).\n\nThrows if the format can't be detected and isn't provided explicitly,\nor if the shape kind doesn't carry a `<p:spPr>` (e.g. groups).",args:["shape","bytes","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},bytes:{$ref:"#/$defs/Bytes"},options:{type:"object",properties:{format:{type:"string",enum:["png","jpeg","gif","bmp","tiff","webp","svg"]}},additionalProperties:!1}},required:["shape","bytes"],additionalProperties:!1,$defs:{Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeImageFillLayout",description:"Changes placement without replacing media, crop, or effects. Invalid inputs leave the shape unchanged.",args:["shape","layout"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},layout:{anyOf:[{type:"object",properties:{rotateWithShape:{$ref:"#/$defs/RotateWithShape"},mode:{type:"string",const:"stretch"},left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["mode"],additionalProperties:!1},{type:"object",properties:{rotateWithShape:{$ref:"#/$defs/RotateWithShape"},mode:{type:"string",const:"tile"},offsetX:{$ref:"#/$defs/Emu"},offsetY:{$ref:"#/$defs/Emu"},scaleX:{type:"number"},scaleY:{type:"number"},alignment:{anyOf:[{type:"string",enum:["t","b","l","r","tl","tr","bl","br"]},{type:"string",const:"ctr"}]},flip:{type:"string",enum:["none","x","y","xy"]}},required:["mode"],additionalProperties:!1}]}},required:["shape","layout"],additionalProperties:!1,$defs:{Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."},RotateWithShape:{type:"boolean",description:"Omitted on write preserves the existing rotation setting."},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeImageOpacity",description:"Sets picture or image-fill opacity (0\u20131; `1` is fully opaque).\nPass `null` to restore the reference desktop app's default opacity.\nRejects shapes without an image and values outside `[0, 1]` without changing them.",args:["shape","opacity"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},opacity:{type:["null","number"]}},required:["shape","opacity"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeImageRecolor",description:"Applies an image recolor from the reference desktop app to a picture or image-filled shape.\n`none` removes the recolor while preserving opacity, media references, and\nunrelated DrawingML effects. Threshold is a percentage from 0 to 100.",args:["shape","recolor"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},recolor:{anyOf:[{type:"object",properties:{kind:{type:"string",const:"none"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"grayscale"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"duotone"},colors:{type:"array",prefixItems:[{$ref:"#/$defs/ImageRecolorColor"},{$ref:"#/$defs/ImageRecolorColor"}],minItems:2,maxItems:2}},required:["kind","colors"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"threshold"},threshold:{type:"number"}},required:["kind","threshold"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"washout"}},required:["kind"],additionalProperties:!1}]}},required:["shape","recolor"],additionalProperties:!1,$defs:{Color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},ImageRecolorColor:{anyOf:[{$ref:"#/$defs/Color"},{type:"object",properties:{color:{$ref:"#/$defs/Color"},colorTransforms:{type:"array",items:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]}}},required:["color"],additionalProperties:!1}]},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeInnerShadow",description:"Sets an inner shadow (`<a:innerShdw>`) on the shape, replacing only a\nprior inner shadow. Defaults: black, 4pt blur, 3pt offset, 45\xB0. `null`\nremoves it.",args:["shape","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},options:{anyOf:[{type:"null"},{type:"object",properties:{color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}],description:"`#RRGGBB`, bare `RRGGBB`, or scheme token. Defaults to black."},colorTransforms:{type:"array",items:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, ...), written\nas its children \u2014 the same field gradient stops take. Requires `color`.\nAn `opacity` that differs from the one these transforms state wins."},blurEmu:{type:"number",description:"Edge blur in EMU. Defaults to 50800 (4pt)."},offsetEmu:{type:"number",description:"Offset distance in EMU. Defaults to 38100 (3pt)."},angleDeg:{type:"number",description:"Direction in degrees, measured clockwise from the right. Defaults to 45\xB0."},opacity:{type:"number",description:"Opacity (0\u20131). Defaults to fully opaque."}},additionalProperties:!1}]}},required:["shape","options"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeLocked",description:`Locks or unlocks object geometry like the reference desktop app's Selection Pane. Text,
|
|
291
|
+
selection, aspect-ratio constraints and extension data remain unchanged.
|
|
292
|
+
Group children keep their own locks; pass all descendants for Lock All.
|
|
293
|
+
Arrays are committed once per slide, including selections across slides.`,args:["shapes","locked"],input_schema:{type:"object",properties:{shapes:{anyOf:[{$ref:"#/$defs/ShapeRef"},{type:"array",items:{$ref:"#/$defs/ShapeRef"}}]},locked:{type:"boolean"}},required:["shapes","locked"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeMediaPlayback",description:"Updates how the shape's clip plays. Omitted properties keep their current\nvalue. Throws when the shape has no media time node \u2014 `addSlideMedia` writes\none, and a picture that is not a clip never plays.\n\n`delayMs` is a nonnegative safe integer and requires automatic playback.\nSetting `autoplay: true` alone preserves an existing automatic delay;\nswitching from event playback starts immediately unless `delayMs` is supplied.\n\n`fullScreen` is a video attribute (`CT_TLMediaNodeVideo`); asking for it on\nan audio clip throws rather than writing an attribute the schema rejects.",args:["shape","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},options:{type:"object",properties:{autoplay:{type:"boolean",description:"Starts with the slide instead of waiting for a click."},delayMs:{type:"number",description:"Milliseconds to wait after the slide starts before automatic playback."},loop:{type:"boolean",description:"Plays again from the beginning until the slide moves on."},volume:{type:"number",description:"Playback volume, 0\u20131. The reference desktop app's own default is 0.8."},muted:{type:"boolean"},fullScreen:{type:"boolean",description:"Video only: plays filling the screen."},hideWhenStopped:{type:"boolean",description:'Hides the clip once it has played (`showWhenStopped="0"`).'},slideCount:{type:"number",description:"Number of slides across which the clip should keep playing (`numSld`).\nWhen absent, OOXML defaults to one slide."},rewindAfterPlaying:{type:"boolean",description:'Returns playback to the beginning after natural completion (`fill="remove"`).'},trim:{type:"object",properties:{startMs:{type:"number"},endMs:{type:"number",description:"Duration removed from the end of the source clip."}},required:["startMs","endMs"],additionalProperties:!1},fade:{type:"object",properties:{inMs:{type:"number"},outMs:{type:"number"}},required:["inMs","outMs"],additionalProperties:!1},bookmarks:{type:"array",items:{type:"object",properties:{name:{type:"string"},timeMs:{type:"number"}},required:["name","timeMs"],additionalProperties:!1},description:"Named positions in the clip, in the order stored in the media extension."}},additionalProperties:!1}},required:["shape","options"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeNoFill",description:"Sets `<a:noFill>` on the shape, leaving it transparent.",args:["shape"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"}},required:["shape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeNoStroke",description:'Sets an explicit "no outline" on the shape.',args:["shape"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"}},required:["shape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeParagraphs",description:`Replaces the shape's text with explicitly structured paragraphs, each
|
|
294
|
+
carrying its own runs and per-run formats. \`setShapeText\` yields one run
|
|
295
|
+
per paragraph; use this when a paragraph mixes formats (a bold lead-in
|
|
296
|
+
followed by plain text, for example). Read back with
|
|
297
|
+
\`getShapeParagraphElements\`.
|
|
298
|
+
Pass \`{ source, range? }\` to copy existing paragraph XML, including fields,
|
|
299
|
+
run formatting, bullets and remapped relationships. The optional range uses
|
|
300
|
+
UTF-16 offsets with an exclusive end; omitted range copies all source text.
|
|
301
|
+
Pass an array of targets and \`{ source, ranges }\` to distribute ranges in one
|
|
302
|
+
batch. All ranges are read before any target changes, including when the source
|
|
303
|
+
is a target. Each target must have a corresponding range.
|
|
304
|
+
Pass \`{ sources }\` to concatenate complete paragraph sequences in order,
|
|
305
|
+
preserving fields, paragraph properties and relationships across slides.
|
|
306
|
+
A single target with \`{ source, ranges }\` concatenates those ranges in order.
|
|
307
|
+
Target body properties and list styles remain unchanged.`,args:["shape","paragraphs"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},paragraphs:{anyOf:[{type:"array",items:{type:"object",properties:{align:{anyOf:[{type:"string",enum:["ctr","l","r","just","dist","justLow","thaiDist"]},{type:"string",enum:["right","left","center","justify","distribute"]}]},runs:{type:"array",items:{type:"object",properties:{text:{type:"string",description:"Run text, written verbatim \u2014 unlike `setShapeText`, newlines are not\nsplit into paragraphs (the reference desktop app shows a CR LF inside a run as a line\nbreak, which some exporters rely on)."},format:{$ref:"#/$defs/TextFormat"}},required:["text"],additionalProperties:!1}},endFormat:{$ref:"#/$defs/TextFormat",description:"Format of the paragraph-end mark (`<a:endParaRPr>`), the place to give a\nparagraph with no runs a font size. Omit to write no `<a:endParaRPr>`."}},required:["runs"],additionalProperties:!1}},{type:"object",properties:{source:{$ref:"#/$defs/ShapeRef"},range:{$ref:"#/$defs/Range"}},required:["source"],additionalProperties:!1},{type:"object",properties:{sources:{type:"array",items:{$ref:"#/$defs/ShapeRef"}}},required:["sources"],additionalProperties:!1},{type:"object",properties:{source:{$ref:"#/$defs/ShapeRef"},ranges:{type:"array",items:{$ref:"#/$defs/Range"}}},required:["source","ranges"],additionalProperties:!1}]}},required:["shape","paragraphs"],additionalProperties:!1,$defs:{AngleDeg:{type:"number",description:"Gradient axis angle, in degrees. ECMA-376 measures clockwise from\nthe right (3 o'clock); `0` is a left-to-right gradient, `90` is\ntop-to-bottom, `180` right-to-left, `270` bottom-to-top. Defaults\nto `90` (top \u2192 bottom). Only meaningful for linear gradients."},BlurEmu:{type:"number",description:"Edge blur in EMU. Defaults to 50800 (4pt)."},Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."},Color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},Color2:{$ref:"#/$defs/Color",description:"`#RRGGBB`, bare `RRGGBB`, or scheme token. Defaults to black."},ColorTransform:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},ColorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, ...), written\nas its children \u2014 the same field gradient stops take. Requires `color`.\nAn `opacity` that differs from the one these transforms state wins."},Focus:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:`Focus rectangle for non-linear gradients, expressed as fractional insets
|
|
308
|
+
from each corresponding edge (1 = 100%). Four 0.5 insets describe
|
|
309
|
+
a point at the center; left/top 1 and right/bottom 0 describe the
|
|
310
|
+
bottom-right corner. Mirrors \`<a:fillToRect>\`.`},GradientStop:{type:"object",properties:{offset:{type:"number",description:"Position on the gradient axis, 0-1."},color:{$ref:"#/$defs/Color",description:"`#RRGGBB`, the `#RGB` shorthand, or a theme color token."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered imported color adjustments. Brightness and opacity override their corresponding transforms when changed."},opacity:{type:"number",description:"Opacity from 0 (transparent) to 1 (opaque)."},brightness:{type:"number",description:"The reference desktop app's brightness from -1 (black) to 1 (white); 0 leaves the color unchanged."}},required:["offset","color"],additionalProperties:!1},ImageTileAlignment:{anyOf:[{type:"string",enum:["t","b","l","r","tl","tr","bl","br"]},{type:"string",const:"ctr"}]},OffsetEmu:{type:"number",description:"Offset distance in EMU. Defaults to 38100 (3pt)."},Opacity:{type:"number",description:"Opacity (0\u20131). Defaults to fully opaque."},Path:{type:"string",enum:["circle","shape","rect","linear"],description:"Non-linear gradient path. `circle` paints concentric circles,\n`rect` paints nested rectangles, `shape` follows the shape's\noutline. Absent / `'linear'` \u2192 linear gradient using `angleDeg`.\nMirrors ECMA-376 \xA720.1.8.33 `<a:path path=\"\u2026\"/>`."},Range:{type:"object",properties:{start:{type:"number"},end:{type:"number"}},required:["start","end"],additionalProperties:!1},RotateWithShape:{type:"boolean",description:"Rotate the gradient with the shape. Defaults to true."},Scaled:{type:"boolean",description:"Scale a linear gradient with the shape's aspect ratio. Defaults to false."},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'},Stops:{type:"array",items:{$ref:"#/$defs/GradientStop"},description:"Two or more color stops along the axis."},TextFormat:{type:"object",properties:{font:{type:"string",description:"Latin font family (`Calibri`, `Arial`, ...). Sets `<a:latin>`."},fontEastAsian:{type:"string",description:"East Asian font family (`\u6E38\u660E\u671D`, `\u30E1\u30A4\u30EA\u30AA`, ...). Sets `<a:ea>`.\nRenderers pick this typeface for CJK glyphs independently of `font`\n(which only governs Latin glyphs) \u2014 set both when a run mixes Latin\nand CJK text and needs a consistent look across the whole run."},fontComplexScript:{type:"string",description:"Complex-script font family. Sets `<a:cs>`, the typeface renderers pick\nfor complex scripts such as Arabic, Hebrew and Thai \u2014 independently of\n`font` (Latin) and `fontEastAsian` (CJK)."},size:{type:"number",description:"Font size in points; fractional values allowed (`12`, `12.5`)."},color:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Color. Accepts `#RRGGBB`, `RRGGBB`, an ECMA-376 scheme color token\n(`tx1`, `accent1`, ...), or `null` to clear."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, `<a:alpha>`,\n...), written as children of its color element \u2014 the reference desktop app's theme\ntints, such as Accent 2 Lighter 60%. Same field as on gradient stops;\nrequires `color`, and replaces any transforms the run's color had."},textFill:{anyOf:[{type:"object",properties:{kind:{type:"string",const:"gradient"},stops:{$ref:"#/$defs/Stops"},angleDeg:{$ref:"#/$defs/AngleDeg"},rotateWithShape:{$ref:"#/$defs/RotateWithShape"},scaled:{$ref:"#/$defs/Scaled"},path:{$ref:"#/$defs/Path"},focus:{$ref:"#/$defs/Focus"},tileRect:{$ref:"#/$defs/TileRect"}},required:["kind","stops"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"pattern"},preset:{type:"string",enum:["wave","cross","divot","pct5","pct10","pct20","pct25","pct30","pct40","pct50","pct60","pct70","pct75","pct80","pct90","horz","vert","ltHorz","ltVert","dkHorz","dkVert","narHorz","narVert","dashHorz","dashVert","dnDiag","upDiag","ltDnDiag","ltUpDiag","dkDnDiag","dkUpDiag","wdDnDiag","wdUpDiag","dashDnDiag","dashUpDiag","diagCross","smCheck","lgCheck","smGrid","lgGrid","dotGrid","smConfetti","lgConfetti","horzBrick","diagBrick","solidDmnd","openDmnd","dotDmnd","plaid","sphere","weave","shingle","trellis","zigZag"],description:"Preset pattern token, e.g. `'pct50'`, `'dkUpDiag'`, `'wave'`."},foreground:{type:"string",description:"Foreground (pattern stroke) color. `#RRGGBB`, bare `RRGGBB`, or scheme token."},background:{type:"string",description:"Background (fill behind the pattern) color."},foregroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}},backgroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}}},required:["kind","preset","foreground","background"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"none"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"image"},bytes:{$ref:"#/$defs/Bytes"}},required:["kind","bytes"],additionalProperties:!1}],description:"Non-solid glyph fill. The `color` field remains the shorthand for a solid\nfill. Both are the same OOXML fill choice, so supplying both is rejected."},bold:{type:["boolean","null"],description:'`null` removes `b`, so the run inherits its weight again; `false` writes\n`b="0"`, which overrides an inherited bold.'},italic:{type:"boolean"},underline:{type:["boolean","string"],description:"Underline style. `true` is shorthand for `'sng'` (single). Pass the\nexact `ST_TextUnderlineType` token for other styles (`'dbl'`, `'wavy'`,\n`'dash'`, ...)."},underlineColor:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Underline color. `null` explicitly follows the run's text color via\n`<a:uFillTx>`; omit the property to leave an existing underline fill\nuntouched."},strike:{type:["boolean","string"],description:"Strikethrough style. `true` is shorthand for `'sngStrike'` (single\nline). Pass the exact `ST_TextStrikeType` token (`'sngStrike'`,\n`'dblStrike'`, `'noStrike'`) for other styles. `false` clears."},spc:{type:["null","number"],description:'Character spacing in 1/100 points (`0` = default). Negative values\ntighten, positive values loosen. Mirrors `<a:rPr spc="\u2026"/>`. `null`\nremoves it, so the run inherits its spacing again.'},kern:{type:"number",description:'Kerning threshold in 1/100 points (`ST_TextNonNegativePoint`, the same\nunit as `spc`): `0` disables kerning, `1200` = apply kerning for runs\n\u226512pt. Mirrors `<a:rPr kern="\u2026"/>`. The reference desktop app on Mac was observed to\nsave the value as `kern="0"` when its Use kerning checkbox is cleared.'},normalizeHeight:{type:"boolean",description:"Normalize character heights (`<a:rPr normalizeH>`; the reference desktop app's Equalize character height)."},baseline:{type:"number",description:"Baseline offset as a fraction of 1 (`0.3` = superscript ~30% up,\n`-0.25` = subscript). The reference desktop app emits ST_Percentage; this getter\nreturns the unit-fraction form for ergonomic comparisons."},cap:{type:"string",enum:["none","small","all"],description:"Capitalization mode: `'none'`, `'small'` (smallCaps), or `'all'`\n(allCaps). Mirrors `<a:rPr cap=\"\u2026\"/>`."},highlight:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Highlight color (cell-fill style background per run). Same color\nformat as `color`. Mirrors `<a:rPr><a:highlight>\u2026</a:highlight></a:rPr>`."},outline:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color",description:"Same accepted forms as `TextFormat.color`."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color`, as on `TextFormat.colorTransforms`. Requires `color`."},widthEmu:{type:"number",description:"Line width in EMU. The reference desktop app's thinnest visible text outline is 9525 (0.75pt)."},fill:{type:"object",properties:{kind:{type:"string",const:"gradient"},stops:{$ref:"#/$defs/Stops"},angleDeg:{$ref:"#/$defs/AngleDeg"},rotateWithShape:{$ref:"#/$defs/RotateWithShape"},scaled:{$ref:"#/$defs/Scaled"},path:{$ref:"#/$defs/Path"},focus:{$ref:"#/$defs/Focus"},tileRect:{$ref:"#/$defs/TileRect"}},required:["kind","stops"],additionalProperties:!1,description:"Gradient outline (`<a:gradFill>` in the run's `<a:ln>`), as on\n`setShapeStroke`. Exclusive with `color`."}},additionalProperties:!1}],description:"Outline drawn around the glyphs \u2014 `<a:rPr><a:ln>`, the character-level\ntwin of `setShapeStroke`. `null` removes it, which is not the same as\nan outline of width 0: removing restores what the run inherits."},shadow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color2"},colorTransforms:{$ref:"#/$defs/ColorTransforms"},blurEmu:{$ref:"#/$defs/BlurEmu"},offsetEmu:{$ref:"#/$defs/OffsetEmu"},angleDeg:{type:"number",description:`Direction in degrees, measured clockwise from the right (3 o'clock).
|
|
311
|
+
Defaults to 45\xB0 (down-right).`},opacity:{$ref:"#/$defs/Opacity"},alignment:{$ref:"#/$defs/ImageTileAlignment",description:"Transform anchor; defaults to top left (`tl`) for authored shadows."},rotateWithShape:{type:"boolean",description:"Whether the shadow rotates with its shape; defaults to false."},scaleX:{type:"number",description:"Horizontal scale (`sx`); defaults to one. The reference desktop app's Size field sets\nboth scales, and its perspective presets flatten the shadow with `sy`."},scaleY:{type:"number",description:"Vertical scale (`sy`); defaults to one. Negative values mirror vertically."},skewX:{type:"number",description:"Horizontal skew (`kx`) in degrees, strictly between -90 and 90."},skewY:{type:"number",description:"Vertical skew (`ky`) in degrees, strictly between -90 and 90."}},additionalProperties:!1}],description:"Drop shadow behind the glyphs \u2014 `<a:outerShdw>` in the run's own\n`<a:effectLst>`. `null` removes it."},innerShadow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color2"},colorTransforms:{$ref:"#/$defs/ColorTransforms"},blurEmu:{$ref:"#/$defs/BlurEmu"},offsetEmu:{$ref:"#/$defs/OffsetEmu"},angleDeg:{type:"number",description:"Direction in degrees, measured clockwise from the right. Defaults to 45\xB0."},opacity:{$ref:"#/$defs/Opacity"}},additionalProperties:!1}],description:"Inner shadow inside the glyphs \u2014 `<a:innerShdw>` in the run's effect list."},glow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color",description:"`#RRGGBB`, bare `RRGGBB`, or scheme token."},colorTransforms:{$ref:"#/$defs/ColorTransforms"},radiusEmu:{type:"number",description:"Glow radius in EMU. Defaults to 63500 (5pt)."},opacity:{$ref:"#/$defs/Opacity"}},required:["color"],additionalProperties:!1}],description:"Glow around the glyphs \u2014 `<a:glow>` in the run's own `<a:effectLst>`.\n`null` removes it."},reflection:{anyOf:[{type:"null"},{type:"object",properties:{blurEmu:{type:"number",description:"Blur radius in EMU; defaults to zero."},offsetEmu:{type:"number",description:"Offset distance in EMU; defaults to zero."},angleDeg:{type:"number",description:"Offset direction in clockwise degrees from right; defaults to zero."},opacity:{type:"number",description:"Ending opacity (0\u20131); defaults to zero (`endA`)."},startOpacity:{type:"number",description:"Starting opacity (0\u20131); defaults to one."},startPosition:{type:"number",description:"Starting fade position (0\u20131); defaults to zero."},endPosition:{type:"number",description:"Ending fade position (0\u20131); defaults to one."},fadeDirection:{type:"number",description:"Fade direction in clockwise degrees from right; defaults to 90."},scaleX:{type:"number",description:"Horizontal scale; defaults to one. Negative values mirror horizontally."},scaleY:{type:"number",description:"Vertical scale; defaults to one. Negative values mirror vertically."},skewX:{type:"number",description:"Horizontal skew in degrees, strictly between -90 and 90."},skewY:{type:"number",description:"Vertical skew in degrees, strictly between -90 and 90."},alignment:{$ref:"#/$defs/ImageTileAlignment",description:"Transform anchor; defaults to bottom center (`b`)."},rotateWithShape:{type:"boolean",description:"Whether the effect rotates with its shape; defaults to true."}},additionalProperties:!1}],description:"Reflection below the glyphs \u2014 `<a:reflection>` in the run's effect list."}},additionalProperties:!1},TileRect:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:"Gradient tile bounds as fractional insets from the shape's edges.\nNegative values extend the tile beyond that edge. The reference desktop app on Mac uses\nright/bottom -1 for its bottom-right radial direction. Mirrors `<a:tileRect>`."}}},output:{type:"null"}},{name:"setShapePatternFill",description:"Sets a preset pattern fill on the shape (e.g. `pct50`, `dkUpDiag`).\n\n`foreground` is the pattern stroke color; `background` fills behind\nthe pattern. Both accept `#RRGGBB`, bare `RRGGBB`, or scheme tokens\n(`accent1`, `bg1`, ...). Omitted settings preserve existing pattern XML,\nincluding theme references and color transforms. A new pattern defaults to\n`pct5`, foreground `accent1` and background `bg1`, as in the reference desktop app on Mac.",args:["shape","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},options:{type:"object",properties:{preset:{type:"string",enum:["wave","cross","divot","pct5","pct10","pct20","pct25","pct30","pct40","pct50","pct60","pct70","pct75","pct80","pct90","horz","vert","ltHorz","ltVert","dkHorz","dkVert","narHorz","narVert","dashHorz","dashVert","dnDiag","upDiag","ltDnDiag","ltUpDiag","dkDnDiag","dkUpDiag","wdDnDiag","wdUpDiag","dashDnDiag","dashUpDiag","diagCross","smCheck","lgCheck","smGrid","lgGrid","dotGrid","smConfetti","lgConfetti","horzBrick","diagBrick","solidDmnd","openDmnd","dotDmnd","plaid","sphere","weave","shingle","trellis","zigZag"],description:"Preset pattern token, e.g. `'pct50'`, `'dkUpDiag'`, `'wave'`."},foreground:{type:"string",description:"Foreground (pattern stroke) color. `#RRGGBB`, bare `RRGGBB`, or scheme token."},background:{type:"string",description:"Background (fill behind the pattern) color."},foregroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}},backgroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}}},additionalProperties:!1}},required:["shape","options"],additionalProperties:!1,$defs:{ColorTransform:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapePictureStyle",description:"Applies one of the reference desktop app's built-in Picture Styles (see\n`BUILTIN_PICTURE_STYLES`) to a picture. Like the reference desktop app, it replaces the\npicture's geometry, fill, border, effects and 3-D in `<p:spPr>` with the\nstyle's own markup \u2014 which names no theme color, so the result does not\nfollow the theme \u2014 and keeps the picture, its crop and its position. Throws\nwhen the shape is not a picture or `style` is not a built-in name.",args:["shape","style"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},style:{type:"string",enum:["Simple Frame, White","Beveled Matte, White","Metal Frame","Drop Shadow Rectangle","Reflected Rounded Rectangle","Soft Edge Rectangle","Double Frame, Black","Thick Matte, Black","Simple Frame, Black","Beveled Oval, Black","Compound Frame, Black","Moderate Frame, Black","Center Shadow Rectangle","Rounded Diagonal Corner, White","Snip Diagonal Corner, White","Moderate Frame, White","Rotated, White","Perspective Shadow, White","Relaxed Perspective, White","Soft Edge Oval","Bevel Rectangle","Bevel Perspective","Reflected Perspective Right","Bevel Perspective Left, White","Reflected Bevel, Black","Reflected Bevel, White","Metal Rounded Rectangle","Metal Oval"]}},required:["shape","style"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapePosition",description:"Sets the shape's position in EMU. Companion to `setShapeSize`.",args:["shape","x","y"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},x:{$ref:"#/$defs/Emu"},y:{$ref:"#/$defs/Emu"}},required:["shape","x","y"],additionalProperties:!1,$defs:{Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapePreset",description:`Replace the preset or custom geometry of a shape, picture, or connector.
|
|
312
|
+
Picture geometry clips the image without modifying its bytes or crop.
|
|
313
|
+
Existing adjust guides are removed; use \`setShapeAdjustValues\` afterward
|
|
314
|
+
to customize the new preset. Position, size, fill, and effects are preserved.`,args:["shape","preset"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},preset:{type:"string",enum:["diamond","plus","triangle","rect","roundRect","ellipse","rtTriangle","parallelogram","trapezoid","pentagon","hexagon","heptagon","octagon","decagon","star4","star5","star6","star7","star8","star10","star12","star16","star24","star32","rightArrow","leftArrow","upArrow","downArrow","leftRightArrow","upDownArrow","bentArrow","curvedRightArrow","curvedLeftArrow","curvedUpArrow","curvedDownArrow","cloud","heart","lightningBolt","sun","moon","bracketPair","bracePair","leftBracket","rightBracket","leftBrace","rightBrace","cube","can","donut","noSmoking","mathPlus","mathMinus","mathMultiply","mathDivide","mathEqual","mathNotEqual"]}},required:["shape","preset"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeReflection",description:"Sets a reflection (`<a:reflection>`) of the shape, replacing only a prior\nreflection. A mirrored reflection below the shape is `scaleY: -1` with\n`alignment: 'bl'`, fading from `startOpacity` to `opacity` by\n`endPosition`. `null` removes it.",args:["shape","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},options:{anyOf:[{type:"null"},{type:"object",properties:{blurEmu:{type:"number",description:"Blur radius in EMU; defaults to zero."},offsetEmu:{type:"number",description:"Offset distance in EMU; defaults to zero."},angleDeg:{type:"number",description:"Offset direction in clockwise degrees from right; defaults to zero."},opacity:{type:"number",description:"Ending opacity (0\u20131); defaults to zero (`endA`)."},startOpacity:{type:"number",description:"Starting opacity (0\u20131); defaults to one."},startPosition:{type:"number",description:"Starting fade position (0\u20131); defaults to zero."},endPosition:{type:"number",description:"Ending fade position (0\u20131); defaults to one."},fadeDirection:{type:"number",description:"Fade direction in clockwise degrees from right; defaults to 90."},scaleX:{type:"number",description:"Horizontal scale; defaults to one. Negative values mirror horizontally."},scaleY:{type:"number",description:"Vertical scale; defaults to one. Negative values mirror vertically."},skewX:{type:"number",description:"Horizontal skew in degrees, strictly between -90 and 90."},skewY:{type:"number",description:"Vertical skew in degrees, strictly between -90 and 90."},alignment:{anyOf:[{type:"string",enum:["t","b","l","r","tl","tr","bl","br"]},{type:"string",const:"ctr"}],description:"Transform anchor; defaults to bottom center (`b`)."},rotateWithShape:{type:"boolean",description:"Whether the effect rotates with its shape; defaults to true."}},additionalProperties:!1}]}},required:["shape","options"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeRotation",description:"Sets the shape's rotation in degrees (positive clockwise). Values are\nnormalized into `[0, 360)`; pass `0` to clear an existing rotation.",args:["shape","degrees"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},degrees:{type:"number"}},required:["shape","degrees"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeRunFormat",description:`Applies \`format\` to a single run. Run-property attributes not
|
|
315
|
+
addressed by \`format\` are preserved \u2014 partial updates compose.
|
|
316
|
+
|
|
317
|
+
Example: bold the second word of the first paragraph:
|
|
318
|
+
|
|
319
|
+
setShapeRunFormat(shape, 0, 1, { bold: true, color: '#FF0000' });`,args:["shape","paragraphIndex","runIndex","format"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},paragraphIndex:{type:"number"},runIndex:{type:"number"},format:{type:"object",properties:{font:{type:"string",description:"Latin font family (`Calibri`, `Arial`, ...). Sets `<a:latin>`."},fontEastAsian:{type:"string",description:"East Asian font family (`\u6E38\u660E\u671D`, `\u30E1\u30A4\u30EA\u30AA`, ...). Sets `<a:ea>`.\nRenderers pick this typeface for CJK glyphs independently of `font`\n(which only governs Latin glyphs) \u2014 set both when a run mixes Latin\nand CJK text and needs a consistent look across the whole run."},fontComplexScript:{type:"string",description:"Complex-script font family. Sets `<a:cs>`, the typeface renderers pick\nfor complex scripts such as Arabic, Hebrew and Thai \u2014 independently of\n`font` (Latin) and `fontEastAsian` (CJK)."},size:{type:"number",description:"Font size in points; fractional values allowed (`12`, `12.5`)."},color:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Color. Accepts `#RRGGBB`, `RRGGBB`, an ECMA-376 scheme color token\n(`tx1`, `accent1`, ...), or `null` to clear."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, `<a:alpha>`,\n...), written as children of its color element \u2014 the reference desktop app's theme\ntints, such as Accent 2 Lighter 60%. Same field as on gradient stops;\nrequires `color`, and replaces any transforms the run's color had."},textFill:{anyOf:[{type:"object",properties:{kind:{type:"string",const:"gradient"},stops:{$ref:"#/$defs/Stops"},angleDeg:{$ref:"#/$defs/AngleDeg"},rotateWithShape:{$ref:"#/$defs/RotateWithShape"},scaled:{$ref:"#/$defs/Scaled"},path:{$ref:"#/$defs/Path"},focus:{$ref:"#/$defs/Focus"},tileRect:{$ref:"#/$defs/TileRect"}},required:["kind","stops"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"pattern"},preset:{type:"string",enum:["wave","cross","divot","pct5","pct10","pct20","pct25","pct30","pct40","pct50","pct60","pct70","pct75","pct80","pct90","horz","vert","ltHorz","ltVert","dkHorz","dkVert","narHorz","narVert","dashHorz","dashVert","dnDiag","upDiag","ltDnDiag","ltUpDiag","dkDnDiag","dkUpDiag","wdDnDiag","wdUpDiag","dashDnDiag","dashUpDiag","diagCross","smCheck","lgCheck","smGrid","lgGrid","dotGrid","smConfetti","lgConfetti","horzBrick","diagBrick","solidDmnd","openDmnd","dotDmnd","plaid","sphere","weave","shingle","trellis","zigZag"],description:"Preset pattern token, e.g. `'pct50'`, `'dkUpDiag'`, `'wave'`."},foreground:{type:"string",description:"Foreground (pattern stroke) color. `#RRGGBB`, bare `RRGGBB`, or scheme token."},background:{type:"string",description:"Background (fill behind the pattern) color."},foregroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}},backgroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}}},required:["kind","preset","foreground","background"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"none"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"image"},bytes:{$ref:"#/$defs/Bytes"}},required:["kind","bytes"],additionalProperties:!1}],description:"Non-solid glyph fill. The `color` field remains the shorthand for a solid\nfill. Both are the same OOXML fill choice, so supplying both is rejected."},bold:{type:["boolean","null"],description:'`null` removes `b`, so the run inherits its weight again; `false` writes\n`b="0"`, which overrides an inherited bold.'},italic:{type:"boolean"},underline:{type:["boolean","string"],description:"Underline style. `true` is shorthand for `'sng'` (single). Pass the\nexact `ST_TextUnderlineType` token for other styles (`'dbl'`, `'wavy'`,\n`'dash'`, ...)."},underlineColor:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Underline color. `null` explicitly follows the run's text color via\n`<a:uFillTx>`; omit the property to leave an existing underline fill\nuntouched."},strike:{type:["boolean","string"],description:"Strikethrough style. `true` is shorthand for `'sngStrike'` (single\nline). Pass the exact `ST_TextStrikeType` token (`'sngStrike'`,\n`'dblStrike'`, `'noStrike'`) for other styles. `false` clears."},spc:{type:["null","number"],description:'Character spacing in 1/100 points (`0` = default). Negative values\ntighten, positive values loosen. Mirrors `<a:rPr spc="\u2026"/>`. `null`\nremoves it, so the run inherits its spacing again.'},kern:{type:"number",description:'Kerning threshold in 1/100 points (`ST_TextNonNegativePoint`, the same\nunit as `spc`): `0` disables kerning, `1200` = apply kerning for runs\n\u226512pt. Mirrors `<a:rPr kern="\u2026"/>`. The reference desktop app on Mac was observed to\nsave the value as `kern="0"` when its Use kerning checkbox is cleared.'},normalizeHeight:{type:"boolean",description:"Normalize character heights (`<a:rPr normalizeH>`; the reference desktop app's Equalize character height)."},baseline:{type:"number",description:"Baseline offset as a fraction of 1 (`0.3` = superscript ~30% up,\n`-0.25` = subscript). The reference desktop app emits ST_Percentage; this getter\nreturns the unit-fraction form for ergonomic comparisons."},cap:{type:"string",enum:["none","small","all"],description:"Capitalization mode: `'none'`, `'small'` (smallCaps), or `'all'`\n(allCaps). Mirrors `<a:rPr cap=\"\u2026\"/>`."},highlight:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Highlight color (cell-fill style background per run). Same color\nformat as `color`. Mirrors `<a:rPr><a:highlight>\u2026</a:highlight></a:rPr>`."},outline:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color",description:"Same accepted forms as `TextFormat.color`."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color`, as on `TextFormat.colorTransforms`. Requires `color`."},widthEmu:{type:"number",description:"Line width in EMU. The reference desktop app's thinnest visible text outline is 9525 (0.75pt)."},fill:{type:"object",properties:{kind:{type:"string",const:"gradient"},stops:{$ref:"#/$defs/Stops"},angleDeg:{$ref:"#/$defs/AngleDeg"},rotateWithShape:{$ref:"#/$defs/RotateWithShape"},scaled:{$ref:"#/$defs/Scaled"},path:{$ref:"#/$defs/Path"},focus:{$ref:"#/$defs/Focus"},tileRect:{$ref:"#/$defs/TileRect"}},required:["kind","stops"],additionalProperties:!1,description:"Gradient outline (`<a:gradFill>` in the run's `<a:ln>`), as on\n`setShapeStroke`. Exclusive with `color`."}},additionalProperties:!1}],description:"Outline drawn around the glyphs \u2014 `<a:rPr><a:ln>`, the character-level\ntwin of `setShapeStroke`. `null` removes it, which is not the same as\nan outline of width 0: removing restores what the run inherits."},shadow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color2"},colorTransforms:{$ref:"#/$defs/ColorTransforms"},blurEmu:{$ref:"#/$defs/BlurEmu"},offsetEmu:{$ref:"#/$defs/OffsetEmu"},angleDeg:{type:"number",description:`Direction in degrees, measured clockwise from the right (3 o'clock).
|
|
320
|
+
Defaults to 45\xB0 (down-right).`},opacity:{$ref:"#/$defs/Opacity"},alignment:{$ref:"#/$defs/ImageTileAlignment",description:"Transform anchor; defaults to top left (`tl`) for authored shadows."},rotateWithShape:{type:"boolean",description:"Whether the shadow rotates with its shape; defaults to false."},scaleX:{type:"number",description:"Horizontal scale (`sx`); defaults to one. The reference desktop app's Size field sets\nboth scales, and its perspective presets flatten the shadow with `sy`."},scaleY:{type:"number",description:"Vertical scale (`sy`); defaults to one. Negative values mirror vertically."},skewX:{type:"number",description:"Horizontal skew (`kx`) in degrees, strictly between -90 and 90."},skewY:{type:"number",description:"Vertical skew (`ky`) in degrees, strictly between -90 and 90."}},additionalProperties:!1}],description:"Drop shadow behind the glyphs \u2014 `<a:outerShdw>` in the run's own\n`<a:effectLst>`. `null` removes it."},innerShadow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color2"},colorTransforms:{$ref:"#/$defs/ColorTransforms"},blurEmu:{$ref:"#/$defs/BlurEmu"},offsetEmu:{$ref:"#/$defs/OffsetEmu"},angleDeg:{type:"number",description:"Direction in degrees, measured clockwise from the right. Defaults to 45\xB0."},opacity:{$ref:"#/$defs/Opacity"}},additionalProperties:!1}],description:"Inner shadow inside the glyphs \u2014 `<a:innerShdw>` in the run's effect list."},glow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color",description:"`#RRGGBB`, bare `RRGGBB`, or scheme token."},colorTransforms:{$ref:"#/$defs/ColorTransforms"},radiusEmu:{type:"number",description:"Glow radius in EMU. Defaults to 63500 (5pt)."},opacity:{$ref:"#/$defs/Opacity"}},required:["color"],additionalProperties:!1}],description:"Glow around the glyphs \u2014 `<a:glow>` in the run's own `<a:effectLst>`.\n`null` removes it."},reflection:{anyOf:[{type:"null"},{type:"object",properties:{blurEmu:{type:"number",description:"Blur radius in EMU; defaults to zero."},offsetEmu:{type:"number",description:"Offset distance in EMU; defaults to zero."},angleDeg:{type:"number",description:"Offset direction in clockwise degrees from right; defaults to zero."},opacity:{type:"number",description:"Ending opacity (0\u20131); defaults to zero (`endA`)."},startOpacity:{type:"number",description:"Starting opacity (0\u20131); defaults to one."},startPosition:{type:"number",description:"Starting fade position (0\u20131); defaults to zero."},endPosition:{type:"number",description:"Ending fade position (0\u20131); defaults to one."},fadeDirection:{type:"number",description:"Fade direction in clockwise degrees from right; defaults to 90."},scaleX:{type:"number",description:"Horizontal scale; defaults to one. Negative values mirror horizontally."},scaleY:{type:"number",description:"Vertical scale; defaults to one. Negative values mirror vertically."},skewX:{type:"number",description:"Horizontal skew in degrees, strictly between -90 and 90."},skewY:{type:"number",description:"Vertical skew in degrees, strictly between -90 and 90."},alignment:{$ref:"#/$defs/ImageTileAlignment",description:"Transform anchor; defaults to bottom center (`b`)."},rotateWithShape:{type:"boolean",description:"Whether the effect rotates with its shape; defaults to true."}},additionalProperties:!1}],description:"Reflection below the glyphs \u2014 `<a:reflection>` in the run's effect list."}},additionalProperties:!1}},required:["shape","paragraphIndex","runIndex","format"],additionalProperties:!1,$defs:{AngleDeg:{type:"number",description:"Gradient axis angle, in degrees. ECMA-376 measures clockwise from\nthe right (3 o'clock); `0` is a left-to-right gradient, `90` is\ntop-to-bottom, `180` right-to-left, `270` bottom-to-top. Defaults\nto `90` (top \u2192 bottom). Only meaningful for linear gradients."},BlurEmu:{type:"number",description:"Edge blur in EMU. Defaults to 50800 (4pt)."},Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."},Color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},Color2:{$ref:"#/$defs/Color",description:"`#RRGGBB`, bare `RRGGBB`, or scheme token. Defaults to black."},ColorTransform:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},ColorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, ...), written\nas its children \u2014 the same field gradient stops take. Requires `color`.\nAn `opacity` that differs from the one these transforms state wins."},Focus:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:`Focus rectangle for non-linear gradients, expressed as fractional insets
|
|
321
|
+
from each corresponding edge (1 = 100%). Four 0.5 insets describe
|
|
322
|
+
a point at the center; left/top 1 and right/bottom 0 describe the
|
|
323
|
+
bottom-right corner. Mirrors \`<a:fillToRect>\`.`},GradientStop:{type:"object",properties:{offset:{type:"number",description:"Position on the gradient axis, 0-1."},color:{$ref:"#/$defs/Color",description:"`#RRGGBB`, the `#RGB` shorthand, or a theme color token."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered imported color adjustments. Brightness and opacity override their corresponding transforms when changed."},opacity:{type:"number",description:"Opacity from 0 (transparent) to 1 (opaque)."},brightness:{type:"number",description:"The reference desktop app's brightness from -1 (black) to 1 (white); 0 leaves the color unchanged."}},required:["offset","color"],additionalProperties:!1},ImageTileAlignment:{anyOf:[{type:"string",enum:["t","b","l","r","tl","tr","bl","br"]},{type:"string",const:"ctr"}]},OffsetEmu:{type:"number",description:"Offset distance in EMU. Defaults to 38100 (3pt)."},Opacity:{type:"number",description:"Opacity (0\u20131). Defaults to fully opaque."},Path:{type:"string",enum:["circle","shape","rect","linear"],description:"Non-linear gradient path. `circle` paints concentric circles,\n`rect` paints nested rectangles, `shape` follows the shape's\noutline. Absent / `'linear'` \u2192 linear gradient using `angleDeg`.\nMirrors ECMA-376 \xA720.1.8.33 `<a:path path=\"\u2026\"/>`."},RotateWithShape:{type:"boolean",description:"Rotate the gradient with the shape. Defaults to true."},Scaled:{type:"boolean",description:"Scale a linear gradient with the shape's aspect ratio. Defaults to false."},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'},Stops:{type:"array",items:{$ref:"#/$defs/GradientStop"},description:"Two or more color stops along the axis."},TileRect:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:"Gradient tile bounds as fractional insets from the shape's edges.\nNegative values extend the tile beyond that edge. The reference desktop app on Mac uses\nright/bottom -1 for its bottom-right radial direction. Mirrors `<a:tileRect>`."}}},output:{type:"null"}},{name:"setShapeRunHyperlink",description:"Sets `<a:hlinkClick>` on a single run. Per-run counterpart to\n`setShapeHyperlink` (which targets every run in the shape). Pass\n`null` to clear the link on that run alone \u2014 other runs are\nuntouched. Allocates or reuses a hyperlink rel on the slide\nexactly like the shape-level setter.",args:["shape","paragraphIndex","runIndex","url","tooltip"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},paragraphIndex:{type:"number"},runIndex:{type:"number"},url:{type:["null","string"]},tooltip:{type:"string"}},required:["shape","paragraphIndex","runIndex","url"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeRunText",description:`Sets the text of a single run. Existing rPr (font, size, color, ...)
|
|
324
|
+
is preserved \u2014 only the visible characters change.`,args:["shape","paragraphIndex","runIndex","text"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},paragraphIndex:{type:"number"},runIndex:{type:"number"},text:{type:"string"}},required:["shape","paragraphIndex","runIndex","text"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeShadow",description:"Sets an outer drop shadow on the shape. Defaults: black, 4pt blur,\n3pt offset, 45\xB0 (down-right). Pass `opacity` (0\u20131) to soften the\nshadow. Replaces an existing drop shadow and leaves the shape's other\neffects in place; `null` removes only the drop shadow and\n`clearShapeEffects` removes every effect.",args:["shape","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},options:{anyOf:[{type:"null"},{type:"object",properties:{color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}],description:"`#RRGGBB`, bare `RRGGBB`, or scheme token. Defaults to black."},colorTransforms:{type:"array",items:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, ...), written\nas its children \u2014 the same field gradient stops take. Requires `color`.\nAn `opacity` that differs from the one these transforms state wins."},blurEmu:{type:"number",description:"Edge blur in EMU. Defaults to 50800 (4pt)."},offsetEmu:{type:"number",description:"Offset distance in EMU. Defaults to 38100 (3pt)."},angleDeg:{type:"number",description:`Direction in degrees, measured clockwise from the right (3 o'clock).
|
|
325
|
+
Defaults to 45\xB0 (down-right).`},opacity:{type:"number",description:"Opacity (0\u20131). Defaults to fully opaque."},alignment:{anyOf:[{type:"string",enum:["t","b","l","r","tl","tr","bl","br"]},{type:"string",const:"ctr"}],description:"Transform anchor; defaults to top left (`tl`) for authored shadows."},rotateWithShape:{type:"boolean",description:"Whether the shadow rotates with its shape; defaults to false."},scaleX:{type:"number",description:"Horizontal scale (`sx`); defaults to one. The reference desktop app's Size field sets\nboth scales, and its perspective presets flatten the shadow with `sy`."},scaleY:{type:"number",description:"Vertical scale (`sy`); defaults to one. Negative values mirror vertically."},skewX:{type:"number",description:"Horizontal skew (`kx`) in degrees, strictly between -90 and 90."},skewY:{type:"number",description:"Vertical skew (`ky`) in degrees, strictly between -90 and 90."}},additionalProperties:!1}]}},required:["shape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeSize",description:"Sets the shape's size in EMU.",args:["shape","w","h"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},w:{$ref:"#/$defs/Emu"},h:{$ref:"#/$defs/Emu"}},required:["shape","w","h"],additionalProperties:!1,$defs:{Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeSlideBackgroundFill",description:"Paints a shape with the slide background at its position, covering objects\nbehind it. This is different from a transparent fill. Only ordinary shapes\nsupport the PresentationML `useBgFill` attribute; other kinds throw.",args:["shape"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"}},required:["shape"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeSoftEdge",description:"Softens the shape's edges (`<a:softEdge>`) by `radiusEmu`, replacing a\nprior soft edge. `null` removes it.",args:["shape","radiusEmu"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},radiusEmu:{type:["null","number"],description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point."}},required:["shape","radiusEmu"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeStroke",description:"Updates outline color, width and/or opacity (0\u20131); omitted properties are\npreserved. `fill: { kind: 'gradient', ... }` paints a gradient line instead\nof `color` (the reference desktop app's Gradient line); it takes the same options as\n`setShapeGradientFill` and is exclusive with `color` and `opacity`.",args:["shape","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},options:{type:"object",properties:{color:{$ref:"#/$defs/Color"},widthEmu:{type:"number",description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point."},opacity:{type:"number"},fill:{type:"object",properties:{kind:{type:"string",const:"gradient"},stops:{type:"array",items:{type:"object",properties:{offset:{type:"number",description:"Position on the gradient axis, 0-1."},color:{$ref:"#/$defs/Color",description:"`#RRGGBB`, the `#RGB` shorthand, or a theme color token."},colorTransforms:{type:"array",items:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},description:"Ordered imported color adjustments. Brightness and opacity override their corresponding transforms when changed."},opacity:{type:"number",description:"Opacity from 0 (transparent) to 1 (opaque)."},brightness:{type:"number",description:"The reference desktop app's brightness from -1 (black) to 1 (white); 0 leaves the color unchanged."}},required:["offset","color"],additionalProperties:!1},description:"Two or more color stops along the axis."},angleDeg:{type:"number",description:"Gradient axis angle, in degrees. ECMA-376 measures clockwise from\nthe right (3 o'clock); `0` is a left-to-right gradient, `90` is\ntop-to-bottom, `180` right-to-left, `270` bottom-to-top. Defaults\nto `90` (top \u2192 bottom). Only meaningful for linear gradients."},rotateWithShape:{type:"boolean",description:"Rotate the gradient with the shape. Defaults to true."},scaled:{type:"boolean",description:"Scale a linear gradient with the shape's aspect ratio. Defaults to false."},path:{type:"string",enum:["circle","shape","rect","linear"],description:"Non-linear gradient path. `circle` paints concentric circles,\n`rect` paints nested rectangles, `shape` follows the shape's\noutline. Absent / `'linear'` \u2192 linear gradient using `angleDeg`.\nMirrors ECMA-376 \xA720.1.8.33 `<a:path path=\"\u2026\"/>`."},focus:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:`Focus rectangle for non-linear gradients, expressed as fractional insets
|
|
326
|
+
from each corresponding edge (1 = 100%). Four 0.5 insets describe
|
|
327
|
+
a point at the center; left/top 1 and right/bottom 0 describe the
|
|
328
|
+
bottom-right corner. Mirrors \`<a:fillToRect>\`.`},tileRect:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:"Gradient tile bounds as fractional insets from the shape's edges.\nNegative values extend the tile beyond that edge. The reference desktop app on Mac uses\nright/bottom -1 for its bottom-right radial direction. Mirrors `<a:tileRect>`."}},required:["kind","stops"],additionalProperties:!1}},additionalProperties:!1}},required:["shape","options"],additionalProperties:!1,$defs:{Color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeStrokeArrow",description:"Sets an arrowhead on one end of the shape's outline.\n\n - `end: 'head'` writes `<a:headEnd>` (the start of the line).\n - `end: 'tail'` writes `<a:tailEnd>` (the end).\n\nUseful primarily on connector shapes added via `addSlideLine`.\n`type: 'none'` clears the arrowhead.",args:["shape","end","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},end:{type:"string",enum:["head","tail"]},options:{type:"object",properties:{type:{type:"string",enum:["diamond","none","triangle","stealth","oval","arrow"]},width:{$ref:"#/$defs/LineEndSize"},length:{$ref:"#/$defs/LineEndSize"}},required:["type"],additionalProperties:!1}},required:["shape","end","options"],additionalProperties:!1,$defs:{LineEndSize:{type:"string",enum:["sm","med","lg"]},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeStrokeCap",description:"Sets the line-cap style on the shape's outline (`<a:ln cap=\"\u2026\">`).\n\n - `'rnd'` \u2014 rounded ends.\n - `'sq'` \u2014 square ends extending past the endpoint.\n - `'flat'` \u2014 square ends flush at the endpoint (the OOXML default).\n\nPass `null` to clear the attribute so the cap inherits the default.\nCreates `<a:ln>` if absent.",args:["shape","cap"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},cap:{anyOf:[{type:"string",enum:["flat","rnd","sq"]},{type:"null"}]}},required:["shape","cap"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeStrokeCompound",description:'Sets the compound-line style on the shape\'s outline\n(`<a:ln cmpd="\u2026">`) \u2014 single, double, triple, or thick/thin variants.\nECMA-376 \xA720.1.10.31 `ST_CompoundLine`. Pass `null` to clear the\nattribute. Creates `<a:ln>` if absent.',args:["shape","cmpd"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},cmpd:{anyOf:[{type:"string",enum:["sng","dbl","thickThin","thinThick","tri"]},{type:"null"}]}},required:["shape","cmpd"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeStrokeDash",description:"Sets the dash pattern for the shape's outline (`<a:prstDash>`). One\nof ECMA-376's `ST_PresetLineDashVal` tokens:\n\n `'solid'` | `'dot'` | `'dash'` | `'lgDash'` | `'dashDot'` |\n `'lgDashDot'` | `'lgDashDotDot'` | `'sysDash'` | `'sysDot'` |\n `'sysDashDot'` | `'sysDashDotDot'`\n\nCreates `<a:ln>` if absent. Pairs naturally with `setShapeStroke`:\nusers typically set a color + width first, then the dash.",args:["shape","dash"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},dash:{type:"string",enum:["solid","dot","dash","lgDash","dashDot","lgDashDot","lgDashDotDot","sysDash","sysDot","sysDashDot","sysDashDotDot"]}},required:["shape","dash"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeStrokeJoin",description:"Sets the line-join style on the shape's outline. Picks one of the\nthree child-element variants of `<a:ln>`:\n\n - `'round'` \u2192 `<a:round/>`\n - `'bevel'` \u2192 `<a:bevel/>`\n - `'miter'` \u2192 `<a:miter/>`\n\nPass `null` to clear any prior join child so the shape inherits the\ndefault. Creates `<a:ln>` if absent.",args:["shape","join"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},join:{anyOf:[{type:"string",enum:["round","bevel","miter"]},{type:"null"}]}},required:["shape","join"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeStrokeSketch",description:"Sets the reference desktop app's Sketched style on the outline (`'curved'`, `'freehand'`\nor `'scribble'`), or removes it with `null`. Stored as the 2021\n`ask:lineSketchStyleProps` extension of `<a:ln>`, which older readers\nignore. A new sketch gets a seed derived from the shape id, so the same\ndeck always saves the same bytes.\n\nThe reference desktop app writes the hand-drawn outline into the shape's geometry and keeps the\noriginal beside the style; this library keeps the true geometry instead (and\nrestores it when editing a sketch the reference desktop app wrote), leaving the roughening to\nthe renderer.",args:["shape","sketch"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},sketch:{anyOf:[{type:"string",enum:["curved","freehand","scribble"]},{type:"null"}]}},required:["shape","sketch"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeStyle",description:"Apply a complete native OOXML shape style while preserving geometry/text.",args:["shape","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},options:{type:"object",properties:{line:{$ref:"#/$defs/ShapeStyleReference"},fill:{$ref:"#/$defs/ShapeStyleReference"},effect:{$ref:"#/$defs/ShapeStyleReference"},font:{type:"object",properties:{idx:{type:"string",enum:["none","major","minor"]},color:{$ref:"#/$defs/Color"},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}}},required:["idx"],additionalProperties:!1}},required:["line","fill","effect","font"],additionalProperties:!1}},required:["shape","options"],additionalProperties:!1,$defs:{Color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},ColorTransform:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},ShapeStyleReference:{type:"object",properties:{idx:{type:"number",description:"0 clears the reference; positive values index the theme format scheme."},color:{$ref:"#/$defs/Color",description:"Theme slot or sRGB color replacing the style list's `phClr`."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered DrawingML color transforms (for example the reference desktop app's shade)."}},required:["idx"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeText",description:"Replaces the shape's visible text with `value`. Newlines start a new\nparagraph by default; `newlines: 'break'` inserts paragraph-internal `<a:br>` instead.\nBy default, new paragraphs inherit the first existing run and\nparagraph properties (font, color, size, alignment and bullets). The paragraph-end\nformat (`<a:endParaRPr>`) is not kept by default; author it with `setShapeParagraphs`.\nSet `preserveFormatting` for incremental editing: unchanged prefix/suffix runs\nand paragraphs retain their XML; inserted text inherits the insertion point's\nformat. Multiple disjoint changes should be applied separately to retain the\nformatting between them. With `range`, `value` replaces exactly that UTF-16\nselection and unaffected formatting is always preserved.\nPass `{ case: 'upper' | 'lower' | 'sentence' | 'title' | 'toggle' }` to apply\nChange Case, as the reference desktop app does, to the whole text or to `options.range`.",args:["shape","value","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},value:{anyOf:[{type:"string"},{type:"object",properties:{case:{type:"string",enum:["title","sentence","lower","upper","toggle"]}},required:["case"],additionalProperties:!1}]},options:{type:"object",properties:{newlines:{type:"string",enum:["paragraph","break"]},bullets:{anyOf:[{type:"string",enum:["number","none","bullet"]},{type:"object",properties:{char:{type:"string"}},required:["char"],additionalProperties:!1},{type:"object",properties:{autoNum:{type:"string"}},required:["autoNum"],additionalProperties:!1}]},preserveFormatting:{type:"boolean"},range:{type:"object",properties:{start:{type:"number"},end:{type:"number"}},required:["start","end"],additionalProperties:!1}},additionalProperties:!1}},required:["shape","value"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeText3D",description:"Sets the 3-D on the shape's text body \u2014 `<a:scene3d>` and `<a:sp3d>` in\n`<a:bodyPr>`, where the reference desktop app writes its text-art bevels. `value.scene`\nwrites the camera and light rig; `bevelTop`, `extrusionHeightEmu`,\n`material` and `contourColor` write `<a:sp3d>` (replacing `<a:flatTx>`).\nA field left out removes what it describes; settings this API does not\nmodel (camera field of view, bottom bevel, extrusion color, ...) are kept\nwhile their element remains. `null` removes both elements. Throws for\nnon-text-bearing shape kinds.",args:["shape","value"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},value:{anyOf:[{type:"null"},{type:"object",properties:{scene:{type:"object",properties:{camera:{type:"string",enum:["legacyObliqueTopLeft","legacyObliqueTop","legacyObliqueTopRight","legacyObliqueLeft","legacyObliqueFront","legacyObliqueRight","legacyObliqueBottomLeft","legacyObliqueBottom","legacyObliqueBottomRight","legacyPerspectiveTopLeft","legacyPerspectiveTop","legacyPerspectiveTopRight","legacyPerspectiveLeft","legacyPerspectiveFront","legacyPerspectiveRight","legacyPerspectiveBottomLeft","legacyPerspectiveBottom","legacyPerspectiveBottomRight","orthographicFront","isometricTopUp","isometricTopDown","isometricBottomUp","isometricBottomDown","isometricLeftUp","isometricLeftDown","isometricRightUp","isometricRightDown","isometricOffAxis1Left","isometricOffAxis1Right","isometricOffAxis1Top","isometricOffAxis2Left","isometricOffAxis2Right","isometricOffAxis2Top","isometricOffAxis3Left","isometricOffAxis3Right","isometricOffAxis3Bottom","isometricOffAxis4Left","isometricOffAxis4Right","isometricOffAxis4Bottom","obliqueTopLeft","obliqueTop","obliqueTopRight","obliqueLeft","obliqueRight","obliqueBottomLeft","obliqueBottom","obliqueBottomRight","perspectiveFront","perspectiveLeft","perspectiveRight","perspectiveAbove","perspectiveBelow","perspectiveAboveLeftFacing","perspectiveAboveRightFacing","perspectiveContrastingLeftFacing","perspectiveContrastingRightFacing","perspectiveHeroicLeftFacing","perspectiveHeroicRightFacing","perspectiveHeroicExtremeLeftFacing","perspectiveHeroicExtremeRightFacing","perspectiveRelaxed","perspectiveRelaxedModerately"]},cameraRotation:{$ref:"#/$defs/Rotation3D",description:"The camera's `<a:rot>`, which overrides the preset's orientation \u2014\nthe reference desktop app's X / Y / Z Rotation fields."},fieldOfViewDeg:{type:"number",description:"The camera's field of view (`fov`) in degrees, `[0, 180]`; the reference desktop app's Perspective field."},lightRig:{type:"object",properties:{type:{type:"string",enum:["legacyFlat1","legacyFlat2","legacyFlat3","legacyFlat4","legacyNormal1","legacyNormal2","legacyNormal3","legacyNormal4","legacyHarsh1","legacyHarsh2","legacyHarsh3","legacyHarsh4","threePt","balanced","soft","harsh","flood","contrasting","morning","sunrise","sunset","chilly","freezing","flat","twoPt","glow","brightRoom"]},direction:{type:"string",enum:["t","b","l","r","tl","tr","bl","br"]},rotation:{$ref:"#/$defs/Rotation3D",description:"`<a:rot>`; omitted, the rig keeps its preset orientation."}},required:["type","direction"],additionalProperties:!1}},required:["camera","lightRig"],additionalProperties:!1},bevelTop:{$ref:"#/$defs/Bevel",description:"Top bevel (`<a:bevelT>`)."},bevelBottom:{$ref:"#/$defs/Bevel",description:"Bottom bevel (`<a:bevelB>`)."},extrusionHeightEmu:{type:"number",description:"Extrusion depth (`extrusionH`) in EMU."},extrusionColor:{$ref:"#/$defs/Color",description:"Extrusion color (`<a:extrusionClr>`). Same accepted forms as `TextFormat.color`."},extrusionColorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `extrusionColor`. Requires `extrusionColor`."},contourWidthEmu:{type:"number",description:"Contour width (`contourW`) in EMU."},distanceFromGroundEmu:{type:"number",description:"Distance from the ground (`z`) in EMU; may be negative."},material:{type:"string",enum:["flat","legacyMatte","legacyPlastic","legacyMetal","legacyWireframe","matte","plastic","metal","warmMatte","translucentPowder","powder","dkEdge","softEdge","clear","softmetal"],description:"Surface material (`prstMaterial`)."},contourColor:{$ref:"#/$defs/Color",description:"Contour color (`<a:contourClr>`). Same accepted forms as `TextFormat.color`."},contourColorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `contourColor`. Requires `contourColor`."}},additionalProperties:!1}]}},required:["shape","value"],additionalProperties:!1,$defs:{Bevel:{type:"object",properties:{preset:{type:"string",enum:["circle","relaxedInset","slope","cross","angle","softRound","convex","coolSlant","divot","riblet","hardEdge","artDeco"]},widthEmu:{$ref:"#/$defs/WidthEmu"},heightEmu:{$ref:"#/$defs/WidthEmu"}},additionalProperties:!1},Color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},ColorTransform:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},Rotation3D:{type:"object",properties:{latitudeDeg:{type:"number"},longitudeDeg:{type:"number"},revolutionDeg:{type:"number"}},required:["latitudeDeg","longitudeDeg","revolutionDeg"],additionalProperties:!1},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'},WidthEmu:{type:"number",description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point."}}},output:{type:"null"}},{name:"setShapeTextAnchor",description:"Sets vertical anchoring. `centered` centers the text block without changing\nparagraph alignment (the reference desktop app's Top / Middle / Bottom Centered options).\nOmit it to preserve centering; pass null to restore inherited centering.",args:["shape","anchor","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},anchor:{type:"string",enum:["top","bottom","center"]},options:{type:"object",properties:{centered:{type:["boolean","null"]}},additionalProperties:!1}},required:["shape","anchor"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeTextAutoFit",description:"Sets the text-body auto-fit mode:\n\n - `'none'` \u2192 `<a:noAutofit/>`\n - `'normal'` \u2192 `<a:normAutofit/>` shrink text to fit the shape\n - `'shape'` \u2192 `<a:spAutoFit/>` grow the shape to fit text\n\nReplaces any prior auto-fit child on `<a:bodyPr>`. Throws for\nnon-text-bearing shape kinds.",args:["shape","mode"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},mode:{type:"string",enum:["none","normal","shape"]}},required:["shape","mode"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeTextBodyRotationDeg",description:"Sets the shape's text-body rotation (`<a:bodyPr rot=\"N\"/>`), measured\nin degrees. Positive rotates clockwise per the reference desktop app's convention.\nPassing `null` clears the attribute so the shape inherits the default\n(`0`). Throws for non-text-bearing shape kinds.\n\nCompanion to `setShapeRotation`, which rotates the *whole* shape\nvia `<p:xfrm rot>`. `bodyPr rot` rotates only the text inside.",args:["shape","rotationDeg"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},rotationDeg:{type:["null","number"]}},required:["shape","rotationDeg"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeTextColumns",description:'Sets the multi-column layout on the shape\'s text body \u2014 writes\n`<a:bodyPr numCol="N" [spcCol="EMU"]/>`. Pass `null` to clear both\nattributes so the text body inherits its column settings (one column\nwhen no layout/master supplies them). `count` must be in `1..16`;\nuse `1` to override inherited columns explicitly. `gapEmu`, when omitted,\nremoves any prior `spcCol`. Throws for non-text-bearing shape kinds.',args:["shape","columns"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},columns:{anyOf:[{type:"null"},{type:"object",properties:{count:{type:"number"},gapEmu:{type:"number",description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point."}},required:["count"],additionalProperties:!1}]}},required:["shape","columns"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeTextDirection",description:"Sets the shape's text-direction via `<a:bodyPr vert=\"\u2026\"/>`. See\n`getShapeTextDirection` for the meaning of each value. Passing `null`\nclears the attribute, restoring layout/master inheritance. `'horz'` writes\nan explicit horizontal override. Throws for non-text-bearing shape kinds.",args:["shape","direction"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},direction:{anyOf:[{type:"string",enum:["horz","vert","vert270","wordArtVert","eaVert","mongolianVert","wordArtVertRtl"]},{type:"null"}]}},required:["shape","direction"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeTextField",description:"Replaces the shape's text with a single field \u2014 text the reference desktop app fills in\nwhen it opens the deck, rather than text the file states. `type` is an\nECMA-376 `ST_TextFieldType` token: `'slidenum'` for the slide's number,\n`'datetime'` (and its `datetime1`\u2026`datetime13` variants) for the current\ndate, `'footer'`, `'headerfooter'`, \u2026 Unrecognised tokens are written\nthrough, since the list is open and renderers differ on what they honour.\n\n`options.text` is the cached value stored in `<a:t>`, which is what a reader\nthat does not evaluate fields shows \u2014 the reference desktop app overwrites it on open, so\nit matters only for other consumers. The shape's first run's formatting is\ncarried onto the field, the way the reference desktop app keeps a placeholder's look when\nit inserts one.\n\nThis replaces the whole text body: a field placeholder holds the field and\nnothing else, which is how the reference desktop app writes slide numbers and dates.",args:["shape","type","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},type:{type:"string"},options:{type:"object",properties:{text:{type:"string"}},additionalProperties:!1}},required:["shape","type"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeTextFlat",description:"Sets the reference desktop app's Keep text flat (`<a:bodyPr><a:flatTx/>`): the text stays\nflat, out of the shape's 3-D scene, when the shape is rotated in 3-D.\n`<a:flatTx>` and the text body's own `<a:sp3d>` are one schema choice, so\nkeeping text flat removes a text bevel or extrusion set by\n`setShapeText3D`. Throws for non-text-bearing shape kinds.",args:["shape","flat"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},flat:{type:"boolean"}},required:["shape","flat"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeTextFormat",description:"Applies `format` to every run in the shape's text. Run-property\nattributes not addressed by `format` are preserved, so partial\nupdates compose. Optional `range` selects UTF-16 offsets in `getShapeText`,\nwith an exclusive end. Paragraph separators and line breaks each count as one\ncharacter. Empty ranges do nothing; invalid or split-surrogate boundaries throw.\nPartially selected fields become literal runs; fully selected fields stay fields.\nPass a zero-based `paragraphEnd` instead of `range` to update a paragraph's end mark\nwithout rebuilding its runs or paragraph properties.\nWith `reset`, clears direct visual run properties before applying `format`,\nrestoring inherited fonts and appearance while keeping links and language.\nWithout either target, also clears text-body and paragraph run-format defaults.\nBlank autoshapes receive a text body and paragraph-end formatting for future input.",args:["shape","format","options"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},format:{type:"object",properties:{font:{type:"string",description:"Latin font family (`Calibri`, `Arial`, ...). Sets `<a:latin>`."},fontEastAsian:{type:"string",description:"East Asian font family (`\u6E38\u660E\u671D`, `\u30E1\u30A4\u30EA\u30AA`, ...). Sets `<a:ea>`.\nRenderers pick this typeface for CJK glyphs independently of `font`\n(which only governs Latin glyphs) \u2014 set both when a run mixes Latin\nand CJK text and needs a consistent look across the whole run."},fontComplexScript:{type:"string",description:"Complex-script font family. Sets `<a:cs>`, the typeface renderers pick\nfor complex scripts such as Arabic, Hebrew and Thai \u2014 independently of\n`font` (Latin) and `fontEastAsian` (CJK)."},size:{type:"number",description:"Font size in points; fractional values allowed (`12`, `12.5`)."},color:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Color. Accepts `#RRGGBB`, `RRGGBB`, an ECMA-376 scheme color token\n(`tx1`, `accent1`, ...), or `null` to clear."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, `<a:alpha>`,\n...), written as children of its color element \u2014 the reference desktop app's theme\ntints, such as Accent 2 Lighter 60%. Same field as on gradient stops;\nrequires `color`, and replaces any transforms the run's color had."},textFill:{anyOf:[{type:"object",properties:{kind:{type:"string",const:"gradient"},stops:{$ref:"#/$defs/Stops"},angleDeg:{$ref:"#/$defs/AngleDeg"},rotateWithShape:{$ref:"#/$defs/RotateWithShape"},scaled:{$ref:"#/$defs/Scaled"},path:{$ref:"#/$defs/Path"},focus:{$ref:"#/$defs/Focus"},tileRect:{$ref:"#/$defs/TileRect"}},required:["kind","stops"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"pattern"},preset:{type:"string",enum:["wave","cross","divot","pct5","pct10","pct20","pct25","pct30","pct40","pct50","pct60","pct70","pct75","pct80","pct90","horz","vert","ltHorz","ltVert","dkHorz","dkVert","narHorz","narVert","dashHorz","dashVert","dnDiag","upDiag","ltDnDiag","ltUpDiag","dkDnDiag","dkUpDiag","wdDnDiag","wdUpDiag","dashDnDiag","dashUpDiag","diagCross","smCheck","lgCheck","smGrid","lgGrid","dotGrid","smConfetti","lgConfetti","horzBrick","diagBrick","solidDmnd","openDmnd","dotDmnd","plaid","sphere","weave","shingle","trellis","zigZag"],description:"Preset pattern token, e.g. `'pct50'`, `'dkUpDiag'`, `'wave'`."},foreground:{type:"string",description:"Foreground (pattern stroke) color. `#RRGGBB`, bare `RRGGBB`, or scheme token."},background:{type:"string",description:"Background (fill behind the pattern) color."},foregroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}},backgroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}}},required:["kind","preset","foreground","background"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"none"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"image"},bytes:{$ref:"#/$defs/Bytes"}},required:["kind","bytes"],additionalProperties:!1}],description:"Non-solid glyph fill. The `color` field remains the shorthand for a solid\nfill. Both are the same OOXML fill choice, so supplying both is rejected."},bold:{type:["boolean","null"],description:'`null` removes `b`, so the run inherits its weight again; `false` writes\n`b="0"`, which overrides an inherited bold.'},italic:{type:"boolean"},underline:{type:["boolean","string"],description:"Underline style. `true` is shorthand for `'sng'` (single). Pass the\nexact `ST_TextUnderlineType` token for other styles (`'dbl'`, `'wavy'`,\n`'dash'`, ...)."},underlineColor:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Underline color. `null` explicitly follows the run's text color via\n`<a:uFillTx>`; omit the property to leave an existing underline fill\nuntouched."},strike:{type:["boolean","string"],description:"Strikethrough style. `true` is shorthand for `'sngStrike'` (single\nline). Pass the exact `ST_TextStrikeType` token (`'sngStrike'`,\n`'dblStrike'`, `'noStrike'`) for other styles. `false` clears."},spc:{type:["null","number"],description:'Character spacing in 1/100 points (`0` = default). Negative values\ntighten, positive values loosen. Mirrors `<a:rPr spc="\u2026"/>`. `null`\nremoves it, so the run inherits its spacing again.'},kern:{type:"number",description:'Kerning threshold in 1/100 points (`ST_TextNonNegativePoint`, the same\nunit as `spc`): `0` disables kerning, `1200` = apply kerning for runs\n\u226512pt. Mirrors `<a:rPr kern="\u2026"/>`. The reference desktop app on Mac was observed to\nsave the value as `kern="0"` when its Use kerning checkbox is cleared.'},normalizeHeight:{type:"boolean",description:"Normalize character heights (`<a:rPr normalizeH>`; the reference desktop app's Equalize character height)."},baseline:{type:"number",description:"Baseline offset as a fraction of 1 (`0.3` = superscript ~30% up,\n`-0.25` = subscript). The reference desktop app emits ST_Percentage; this getter\nreturns the unit-fraction form for ergonomic comparisons."},cap:{type:"string",enum:["none","small","all"],description:"Capitalization mode: `'none'`, `'small'` (smallCaps), or `'all'`\n(allCaps). Mirrors `<a:rPr cap=\"\u2026\"/>`."},highlight:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Highlight color (cell-fill style background per run). Same color\nformat as `color`. Mirrors `<a:rPr><a:highlight>\u2026</a:highlight></a:rPr>`."},outline:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color",description:"Same accepted forms as `TextFormat.color`."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color`, as on `TextFormat.colorTransforms`. Requires `color`."},widthEmu:{type:"number",description:"Line width in EMU. The reference desktop app's thinnest visible text outline is 9525 (0.75pt)."},fill:{type:"object",properties:{kind:{type:"string",const:"gradient"},stops:{$ref:"#/$defs/Stops"},angleDeg:{$ref:"#/$defs/AngleDeg"},rotateWithShape:{$ref:"#/$defs/RotateWithShape"},scaled:{$ref:"#/$defs/Scaled"},path:{$ref:"#/$defs/Path"},focus:{$ref:"#/$defs/Focus"},tileRect:{$ref:"#/$defs/TileRect"}},required:["kind","stops"],additionalProperties:!1,description:"Gradient outline (`<a:gradFill>` in the run's `<a:ln>`), as on\n`setShapeStroke`. Exclusive with `color`."}},additionalProperties:!1}],description:"Outline drawn around the glyphs \u2014 `<a:rPr><a:ln>`, the character-level\ntwin of `setShapeStroke`. `null` removes it, which is not the same as\nan outline of width 0: removing restores what the run inherits."},shadow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color2"},colorTransforms:{$ref:"#/$defs/ColorTransforms"},blurEmu:{$ref:"#/$defs/BlurEmu"},offsetEmu:{$ref:"#/$defs/OffsetEmu"},angleDeg:{type:"number",description:`Direction in degrees, measured clockwise from the right (3 o'clock).
|
|
329
|
+
Defaults to 45\xB0 (down-right).`},opacity:{$ref:"#/$defs/Opacity"},alignment:{$ref:"#/$defs/ImageTileAlignment",description:"Transform anchor; defaults to top left (`tl`) for authored shadows."},rotateWithShape:{type:"boolean",description:"Whether the shadow rotates with its shape; defaults to false."},scaleX:{type:"number",description:"Horizontal scale (`sx`); defaults to one. The reference desktop app's Size field sets\nboth scales, and its perspective presets flatten the shadow with `sy`."},scaleY:{type:"number",description:"Vertical scale (`sy`); defaults to one. Negative values mirror vertically."},skewX:{type:"number",description:"Horizontal skew (`kx`) in degrees, strictly between -90 and 90."},skewY:{type:"number",description:"Vertical skew (`ky`) in degrees, strictly between -90 and 90."}},additionalProperties:!1}],description:"Drop shadow behind the glyphs \u2014 `<a:outerShdw>` in the run's own\n`<a:effectLst>`. `null` removes it."},innerShadow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color2"},colorTransforms:{$ref:"#/$defs/ColorTransforms"},blurEmu:{$ref:"#/$defs/BlurEmu"},offsetEmu:{$ref:"#/$defs/OffsetEmu"},angleDeg:{type:"number",description:"Direction in degrees, measured clockwise from the right. Defaults to 45\xB0."},opacity:{$ref:"#/$defs/Opacity"}},additionalProperties:!1}],description:"Inner shadow inside the glyphs \u2014 `<a:innerShdw>` in the run's effect list."},glow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color",description:"`#RRGGBB`, bare `RRGGBB`, or scheme token."},colorTransforms:{$ref:"#/$defs/ColorTransforms"},radiusEmu:{type:"number",description:"Glow radius in EMU. Defaults to 63500 (5pt)."},opacity:{$ref:"#/$defs/Opacity"}},required:["color"],additionalProperties:!1}],description:"Glow around the glyphs \u2014 `<a:glow>` in the run's own `<a:effectLst>`.\n`null` removes it."},reflection:{anyOf:[{type:"null"},{type:"object",properties:{blurEmu:{type:"number",description:"Blur radius in EMU; defaults to zero."},offsetEmu:{type:"number",description:"Offset distance in EMU; defaults to zero."},angleDeg:{type:"number",description:"Offset direction in clockwise degrees from right; defaults to zero."},opacity:{type:"number",description:"Ending opacity (0\u20131); defaults to zero (`endA`)."},startOpacity:{type:"number",description:"Starting opacity (0\u20131); defaults to one."},startPosition:{type:"number",description:"Starting fade position (0\u20131); defaults to zero."},endPosition:{type:"number",description:"Ending fade position (0\u20131); defaults to one."},fadeDirection:{type:"number",description:"Fade direction in clockwise degrees from right; defaults to 90."},scaleX:{type:"number",description:"Horizontal scale; defaults to one. Negative values mirror horizontally."},scaleY:{type:"number",description:"Vertical scale; defaults to one. Negative values mirror vertically."},skewX:{type:"number",description:"Horizontal skew in degrees, strictly between -90 and 90."},skewY:{type:"number",description:"Vertical skew in degrees, strictly between -90 and 90."},alignment:{$ref:"#/$defs/ImageTileAlignment",description:"Transform anchor; defaults to bottom center (`b`)."},rotateWithShape:{type:"boolean",description:"Whether the effect rotates with its shape; defaults to true."}},additionalProperties:!1}],description:"Reflection below the glyphs \u2014 `<a:reflection>` in the run's effect list."}},additionalProperties:!1},options:{anyOf:[{type:"object",properties:{range:{type:"object",properties:{start:{type:"number"},end:{type:"number"}},required:["start","end"],additionalProperties:!1},reset:{type:"boolean"}},additionalProperties:!1},{type:"object",properties:{paragraphEnd:{type:"number"},reset:{type:"boolean"}},required:["paragraphEnd"],additionalProperties:!1}]}},required:["shape","format"],additionalProperties:!1,$defs:{AngleDeg:{type:"number",description:"Gradient axis angle, in degrees. ECMA-376 measures clockwise from\nthe right (3 o'clock); `0` is a left-to-right gradient, `90` is\ntop-to-bottom, `180` right-to-left, `270` bottom-to-top. Defaults\nto `90` (top \u2192 bottom). Only meaningful for linear gradients."},BlurEmu:{type:"number",description:"Edge blur in EMU. Defaults to 50800 (4pt)."},Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."},Color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},Color2:{$ref:"#/$defs/Color",description:"`#RRGGBB`, bare `RRGGBB`, or scheme token. Defaults to black."},ColorTransform:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},ColorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, ...), written\nas its children \u2014 the same field gradient stops take. Requires `color`.\nAn `opacity` that differs from the one these transforms state wins."},Focus:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:`Focus rectangle for non-linear gradients, expressed as fractional insets
|
|
330
|
+
from each corresponding edge (1 = 100%). Four 0.5 insets describe
|
|
331
|
+
a point at the center; left/top 1 and right/bottom 0 describe the
|
|
332
|
+
bottom-right corner. Mirrors \`<a:fillToRect>\`.`},GradientStop:{type:"object",properties:{offset:{type:"number",description:"Position on the gradient axis, 0-1."},color:{$ref:"#/$defs/Color",description:"`#RRGGBB`, the `#RGB` shorthand, or a theme color token."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered imported color adjustments. Brightness and opacity override their corresponding transforms when changed."},opacity:{type:"number",description:"Opacity from 0 (transparent) to 1 (opaque)."},brightness:{type:"number",description:"The reference desktop app's brightness from -1 (black) to 1 (white); 0 leaves the color unchanged."}},required:["offset","color"],additionalProperties:!1},ImageTileAlignment:{anyOf:[{type:"string",enum:["t","b","l","r","tl","tr","bl","br"]},{type:"string",const:"ctr"}]},OffsetEmu:{type:"number",description:"Offset distance in EMU. Defaults to 38100 (3pt)."},Opacity:{type:"number",description:"Opacity (0\u20131). Defaults to fully opaque."},Path:{type:"string",enum:["circle","shape","rect","linear"],description:"Non-linear gradient path. `circle` paints concentric circles,\n`rect` paints nested rectangles, `shape` follows the shape's\noutline. Absent / `'linear'` \u2192 linear gradient using `angleDeg`.\nMirrors ECMA-376 \xA720.1.8.33 `<a:path path=\"\u2026\"/>`."},RotateWithShape:{type:"boolean",description:"Rotate the gradient with the shape. Defaults to true."},Scaled:{type:"boolean",description:"Scale a linear gradient with the shape's aspect ratio. Defaults to false."},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'},Stops:{type:"array",items:{$ref:"#/$defs/GradientStop"},description:"Two or more color stops along the axis."},TileRect:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:"Gradient tile bounds as fractional insets from the shape's edges.\nNegative values extend the tile beyond that edge. The reference desktop app on Mac uses\nright/bottom -1 for its bottom-right radial direction. Mirrors `<a:tileRect>`."}}},output:{type:"null"}},{name:"setShapeTextLanguage",description:"Marks every run in the shape's text (and the end-of-paragraph marks) as `lang`, e.g. `en-US`.",args:["shape","lang"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},lang:{type:"string"}},required:["shape","lang"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeTextMargins",description:`Sets the internal margins of the shape's text frame in EMU. Each
|
|
333
|
+
side is independent; omitted sides keep their current value (or the
|
|
334
|
+
layout-inherited default when the attribute is absent).
|
|
335
|
+
|
|
336
|
+
The reference desktop app's defaults for a textbox: left/right 91440 (0.1in),
|
|
337
|
+
top/bottom 45720 (0.05in).
|
|
338
|
+
|
|
339
|
+
setShapeTextMargins(shape, { left: 0, right: 0 }); // flush-left text`,args:["shape","margins"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},margins:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},additionalProperties:!1}},required:["shape","margins"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeTextWrap",description:`Sets the text-body word-wrap mode.
|
|
340
|
+
|
|
341
|
+
- \`'square'\` writes \`wrap="square"\` \u2014 the reference desktop app's default for textboxes.
|
|
342
|
+
- \`'none'\` writes \`wrap="none"\` \u2014 text can overflow horizontally.
|
|
343
|
+
|
|
344
|
+
Throws for non-text-bearing shape kinds.`,args:["shape","wrap"],input_schema:{type:"object",properties:{shape:{$ref:"#/$defs/ShapeRef"},wrap:{type:"string",enum:["none","square"]}},required:["shape","wrap"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setShapeZIndex",description:`Moves a shape or an ordered batch of siblings to a specific z-index.
|
|
345
|
+
A batch is inserted contiguously in the supplied order, back to front.
|
|
346
|
+
Index is clamped to the available range. Non-shape XML stays in place.`,args:["shape","toIndex"],input_schema:{type:"object",properties:{shape:{anyOf:[{$ref:"#/$defs/ShapeRef"},{type:"array",items:{$ref:"#/$defs/ShapeRef"}}]},toIndex:{type:"number"}},required:["shape","toIndex"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideBackground",description:"Sets a solid background; optional opacity is 0 (transparent) to 1 (opaque).",args:["slide","color","opacity"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},opacity:{type:"number"}},required:["slide","color"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideBackgroundGradientFill",description:"Replaces the slide background with a gradient. Uses the same stop and direction\nsettings as `setShapeGradientFill`; offsets and opacity range from 0 to 1.\nInvalid settings leave the previous background unchanged.",args:["slide","options"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},options:{type:"object",properties:{stops:{type:"array",items:{type:"object",properties:{offset:{type:"number",description:"Position on the gradient axis, 0-1."},color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}],description:"`#RRGGBB`, the `#RGB` shorthand, or a theme color token."},colorTransforms:{type:"array",items:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},description:"Ordered imported color adjustments. Brightness and opacity override their corresponding transforms when changed."},opacity:{type:"number",description:"Opacity from 0 (transparent) to 1 (opaque)."},brightness:{type:"number",description:"The reference desktop app's brightness from -1 (black) to 1 (white); 0 leaves the color unchanged."}},required:["offset","color"],additionalProperties:!1},description:"Two or more color stops along the axis."},angleDeg:{type:"number",description:"Gradient axis angle, in degrees. ECMA-376 measures clockwise from\nthe right (3 o'clock); `0` is a left-to-right gradient, `90` is\ntop-to-bottom, `180` right-to-left, `270` bottom-to-top. Defaults\nto `90` (top \u2192 bottom). Only meaningful for linear gradients."},rotateWithShape:{type:"boolean",description:"Rotate the gradient with the shape. Defaults to true."},scaled:{type:"boolean",description:"Scale a linear gradient with the shape's aspect ratio. Defaults to false."},path:{type:"string",enum:["circle","shape","rect","linear"],description:"Non-linear gradient path. `circle` paints concentric circles,\n`rect` paints nested rectangles, `shape` follows the shape's\noutline. Absent / `'linear'` \u2192 linear gradient using `angleDeg`.\nMirrors ECMA-376 \xA720.1.8.33 `<a:path path=\"\u2026\"/>`."},focus:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:`Focus rectangle for non-linear gradients, expressed as fractional insets
|
|
347
|
+
from each corresponding edge (1 = 100%). Four 0.5 insets describe
|
|
348
|
+
a point at the center; left/top 1 and right/bottom 0 describe the
|
|
349
|
+
bottom-right corner. Mirrors \`<a:fillToRect>\`.`},tileRect:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:"Gradient tile bounds as fractional insets from the shape's edges.\nNegative values extend the tile beyond that edge. The reference desktop app on Mac uses\nright/bottom -1 for its bottom-right radial direction. Mirrors `<a:tileRect>`."}},required:["stops"],additionalProperties:!1}},required:["slide","options"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideBackgroundGraphicsHidden",description:`Hide inherited decoration without removing shapes or changing background fills.
|
|
350
|
+
The reference desktop app's Hide Background Graphics suppresses layout decoration as well as
|
|
351
|
+
master shapes, despite the attribute's name. Slide placeholders remain visible.`,args:["slide","hidden"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},hidden:{type:"boolean"}},required:["slide","hidden"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideBackgroundImage",description:`Sets a picture as the slide's background. Embeds \`bytes\` as a new
|
|
352
|
+
media part, wires a slide \u2192 image rel, and replaces any prior
|
|
353
|
+
background with a \`<p:bgPr><a:blipFill><a:blip r:embed="\u2026"/>
|
|
354
|
+
<a:stretch><a:fillRect/></a:stretch></a:blipFill></p:bgPr>\` payload.
|
|
355
|
+
|
|
356
|
+
Format is detected from magic bytes; pass \`options.format\` to
|
|
357
|
+
override.`,args:["slide","bytes","options"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},bytes:{$ref:"#/$defs/Bytes"},options:{type:"object",properties:{format:{type:"string",enum:["png","jpeg","gif","bmp","tiff","webp","svg"]}},additionalProperties:!1}},required:["slide","bytes"],additionalProperties:!1,$defs:{Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideBackgroundImageFillLayout",description:`Changes background image placement while preserving media, crop and effects.
|
|
358
|
+
An inherited image becomes a slide override, leaving its layout/master unchanged.
|
|
359
|
+
Invalid settings or missing relationships leave the presentation unchanged.`,args:["slide","layout"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},layout:{anyOf:[{type:"object",properties:{rotateWithShape:{$ref:"#/$defs/RotateWithShape"},mode:{type:"string",const:"stretch"},left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["mode"],additionalProperties:!1},{type:"object",properties:{rotateWithShape:{$ref:"#/$defs/RotateWithShape"},mode:{type:"string",const:"tile"},offsetX:{$ref:"#/$defs/Emu"},offsetY:{$ref:"#/$defs/Emu"},scaleX:{type:"number"},scaleY:{type:"number"},alignment:{anyOf:[{type:"string",enum:["t","b","l","r","tl","tr","bl","br"]},{type:"string",const:"ctr"}]},flip:{type:"string",enum:["none","x","y","xy"]}},required:["mode"],additionalProperties:!1}]}},required:["slide","layout"],additionalProperties:!1,$defs:{Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."},RotateWithShape:{type:"boolean",description:"Omitted on write preserves the existing rotation setting."},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideBackgroundImageOpacity",description:`Sets background image opacity (0\u20131), preserving media and placement. Null restores the default.
|
|
360
|
+
Inherited images become slide overrides. Invalid values leave the deck unchanged.`,args:["slide","opacity"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},opacity:{type:["null","number"]}},required:["slide","opacity"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideBackgroundPatternFill",description:`Updates a slide pattern background, preserving unspecified colors and transforms.
|
|
361
|
+
Inherited patterns become a slide override; the layout and master stay unchanged.
|
|
362
|
+
A new pattern uses the reference desktop app's defaults: pct5, accent1 foreground, bg1
|
|
363
|
+
background.`,args:["slide","options"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},options:{type:"object",properties:{preset:{type:"string",enum:["wave","cross","divot","pct5","pct10","pct20","pct25","pct30","pct40","pct50","pct60","pct70","pct75","pct80","pct90","horz","vert","ltHorz","ltVert","dkHorz","dkVert","narHorz","narVert","dashHorz","dashVert","dnDiag","upDiag","ltDnDiag","ltUpDiag","dkDnDiag","dkUpDiag","wdDnDiag","wdUpDiag","dashDnDiag","dashUpDiag","diagCross","smCheck","lgCheck","smGrid","lgGrid","dotGrid","smConfetti","lgConfetti","horzBrick","diagBrick","solidDmnd","openDmnd","dotDmnd","plaid","sphere","weave","shingle","trellis","zigZag"],description:"Preset pattern token, e.g. `'pct50'`, `'dkUpDiag'`, `'wave'`."},foreground:{type:"string",description:"Foreground (pattern stroke) color. `#RRGGBB`, bare `RRGGBB`, or scheme token."},background:{type:"string",description:"Background (fill behind the pattern) color."},foregroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}},backgroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}}},additionalProperties:!1}},required:["slide","options"],additionalProperties:!1,$defs:{ColorTransform:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideBody",description:"Writes `text` into the first body placeholder on the slide.\nNewlines start a new paragraph (each becomes its own bullet on\nlayouts that bullet their body placeholder).\n\nThrows when the slide has no body placeholder \u2014 pair with\n`findSlideLayoutByType(pres, 'obj')` / `'tx'` to add the slide\nonto a layout that has one.",args:["slide","text"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},text:{type:"string"}},required:["slide","text"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideHidden",description:'Toggles the slide\'s visibility in the slideshow. Hiding adds\n`show="0"`; showing removes the attribute (the reference desktop app treats absence\nas the default `show="1"`).',args:["slide","hidden"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},hidden:{type:"boolean"}},required:["slide","hidden"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideLayout",description:"Rebinds the slide to a different layout. The slide's own content\n(shapes, text, geometry) is preserved verbatim; only the\n`slideLayout` rel is updated so the reference desktop app re-renders with the new\nlayout's placeholder positions and theme.\n\nThe new layout must already be a part of the package \u2014 pass one\nreturned by `getSlideLayouts(pres)` or `findSlideLayout(pres, name)`.",args:["slide","layout"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},layout:{$ref:"#/$defs/LayoutRef"}},required:["slide","layout"],additionalProperties:!1,$defs:{LayoutRef:{type:"string",pattern:"^/ppt/slideLayouts/[^/]+\\.xml$",description:'A slide layout, by its part name as `listLayouts` reports it, e.g. "/ppt/slideLayouts/slideLayout1.xml".'},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideLayoutBackground",description:"Gives the layout a solid background, replacing whatever it had.\nEvery slide on this layout that does not set a background of its own\nfollows.\n\n`color` takes the same forms as `setSlideBackground`: `#RRGGBB` or\n`scheme:accent1`.",args:["layout","color"],input_schema:{type:"object",properties:{layout:{$ref:"#/$defs/LayoutRef"},color:{type:"string"}},required:["layout","color"],additionalProperties:!1,$defs:{LayoutRef:{type:"string",pattern:"^/ppt/slideLayouts/[^/]+\\.xml$",description:'A slide layout, by its part name as `listLayouts` reports it, e.g. "/ppt/slideLayouts/slideLayout1.xml".'}}},output:{type:"null"}},{name:"setSlideLayoutBackgroundGraphicsHidden",description:`Hide Background Graphics on a layout (\`showMasterSp="0"\`): slides on it stop
|
|
364
|
+
showing the master's decorative shapes; the layout's own shapes stay.`,args:["layout","hidden"],input_schema:{type:"object",properties:{layout:{$ref:"#/$defs/LayoutRef"},hidden:{type:"boolean"}},required:["layout","hidden"],additionalProperties:!1,$defs:{LayoutRef:{type:"string",pattern:"^/ppt/slideLayouts/[^/]+\\.xml$",description:'A slide layout, by its part name as `listLayouts` reports it, e.g. "/ppt/slideLayouts/slideLayout1.xml".'}}},output:{type:"null"}},{name:"setSlideLayoutFootersIncluded",description:`The layout's Footers checkbox: removes its date, footer and slide-number
|
|
365
|
+
placeholders, or adds whichever are missing (they follow the master's).`,args:["layout","included"],input_schema:{type:"object",properties:{layout:{$ref:"#/$defs/LayoutRef"},included:{type:"boolean"}},required:["layout","included"],additionalProperties:!1,$defs:{LayoutRef:{type:"string",pattern:"^/ppt/slideLayouts/[^/]+\\.xml$",description:'A slide layout, by its part name as `listLayouts` reports it, e.g. "/ppt/slideLayouts/slideLayout1.xml".'}}},output:{type:"null"}},{name:"setSlideLayoutName",description:`Renames the layout. This is the name the reference desktop app shows in the
|
|
366
|
+
"New Slide" gallery and in the layout pane, so it is what an author
|
|
367
|
+
picks a layout by \u2014 it is not an identifier, and nothing references
|
|
368
|
+
it.`,args:["layout","name"],input_schema:{type:"object",properties:{layout:{$ref:"#/$defs/LayoutRef"},name:{type:"string"}},required:["layout","name"],additionalProperties:!1,$defs:{LayoutRef:{type:"string",pattern:"^/ppt/slideLayouts/[^/]+\\.xml$",description:'A slide layout, by its part name as `listLayouts` reports it, e.g. "/ppt/slideLayouts/slideLayout1.xml".'}}},output:{type:"null"}},{name:"setSlideLayoutPlaceholderBounds",description:`Moves and resizes one of the layout's placeholder slots, identified by
|
|
369
|
+
its position in \`getSlideLayoutPlaceholders\`.
|
|
370
|
+
|
|
371
|
+
Slides inherit the new box wherever they have not pushed the
|
|
372
|
+
placeholder around themselves: a slide placeholder carrying its own
|
|
373
|
+
\`<a:xfrm>\` keeps it, exactly as the reference desktop app behaves when you edit a
|
|
374
|
+
layout under slides that were already nudged.`,args:["layout","index","bounds"],input_schema:{type:"object",properties:{layout:{$ref:"#/$defs/LayoutRef"},index:{type:"number"},bounds:{type:"object",properties:{x:{$ref:"#/$defs/Emu"},y:{$ref:"#/$defs/Emu"},w:{$ref:"#/$defs/Emu"},h:{$ref:"#/$defs/Emu"}},required:["x","y","w","h"],additionalProperties:!1}},required:["layout","index","bounds"],additionalProperties:!1,$defs:{Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."},LayoutRef:{type:"string",pattern:"^/ppt/slideLayouts/[^/]+\\.xml$",description:'A slide layout, by its part name as `listLayouts` reports it, e.g. "/ppt/slideLayouts/slideLayout1.xml".'}}},output:{type:"null"}},{name:"setSlideLayoutTitleIncluded",description:"The layout's Title checkbox: removes its title, or adds one that follows the master's.",args:["layout","included"],input_schema:{type:"object",properties:{layout:{$ref:"#/$defs/LayoutRef"},included:{type:"boolean"}},required:["layout","included"],additionalProperties:!1,$defs:{LayoutRef:{type:"string",pattern:"^/ppt/slideLayouts/[^/]+\\.xml$",description:'A slide layout, by its part name as `listLayouts` reports it, e.g. "/ppt/slideLayouts/slideLayout1.xml".'}}},output:{type:"null"}},{name:"setSlideMasterBackgroundStyle",description:`Choose one of the reference desktop app's twelve Background Styles (numbered row by row).
|
|
375
|
+
Changes the owning master, so every slide using that master inherits the
|
|
376
|
+
style. Existing slide and layout background overrides remain in place.
|
|
377
|
+
The theme must provide the referenced background fill style.`,args:["slide","style"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},style:{type:"number"}},required:["slide","style"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideMasterName",description:"Renames the master (its theme; see `getSlideMasterName`).",args:[null,"master","name"],input_schema:{type:"object",properties:{master:{type:"string"},name:{type:"string"}},required:["master","name"],additionalProperties:!1},output:{type:"null"}},{name:"setSlideMasterPlaceholderIncluded",description:`Master Layout: removes one of the master's five placeholders, or puts it
|
|
378
|
+
back where the reference desktop app's default master has it.`,args:[null,"master","type","included"],input_schema:{type:"object",properties:{master:{type:"string"},type:{type:"string",enum:["title","dt","ftr","sldNum","body"]},included:{type:"boolean"}},required:["master","type","included"],additionalProperties:!1},output:{type:"null"}},{name:"setSlideMasterPreserved",description:"Sets or clears Preserve Master.",args:[null,"master","preserved"],input_schema:{type:"object",properties:{master:{type:"string"},preserved:{type:"boolean"}},required:["master","preserved"],additionalProperties:!1},output:{type:"null"}},{name:"setSlideNotes",description:"Replaces speaker notes. With `range`, replaces that UTF-16 selection while\nretaining untouched run/paragraph XML and inheriting the insertion format.\nWhen inserting line-feed characters through a ranged edit, `newlines`\nselects whether those inserted separators become paragraph breaks\n(`'paragraph'`, the default) or paragraph-internal soft breaks (`'break'`).\nExisting separators outside the edited range keep their original OOXML\nkind; the option does not normalize the rest of the notes.\n`preserveFormatting` infers one changed range from the common prefix/suffix;\napply disjoint edits separately to retain the formatting between them.",args:["slide","value","options"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},value:{type:"string"},options:{type:"object",properties:{preserveFormatting:{type:"boolean"},range:{type:"object",properties:{start:{type:"number"},end:{type:"number"}},required:["start","end"],additionalProperties:!1},newlines:{type:"string",enum:["paragraph","break"]}},additionalProperties:!1}},required:["slide","value"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideNotesFormat",description:"Applies direct run formatting to a UTF-16 range in the slide's speaker notes.\nUnselected runs and paragraph XML are preserved. An empty range is a no-op.\nUse `paragraphEnd` instead of `range` to update the paragraph-end character\nformatting for subsequent typing, including in an empty notes body.",args:["slide","format","options"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},format:{type:"object",properties:{font:{type:"string",description:"Latin font family (`Calibri`, `Arial`, ...). Sets `<a:latin>`."},fontEastAsian:{type:"string",description:"East Asian font family (`\u6E38\u660E\u671D`, `\u30E1\u30A4\u30EA\u30AA`, ...). Sets `<a:ea>`.\nRenderers pick this typeface for CJK glyphs independently of `font`\n(which only governs Latin glyphs) \u2014 set both when a run mixes Latin\nand CJK text and needs a consistent look across the whole run."},fontComplexScript:{type:"string",description:"Complex-script font family. Sets `<a:cs>`, the typeface renderers pick\nfor complex scripts such as Arabic, Hebrew and Thai \u2014 independently of\n`font` (Latin) and `fontEastAsian` (CJK)."},size:{type:"number",description:"Font size in points; fractional values allowed (`12`, `12.5`)."},color:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Color. Accepts `#RRGGBB`, `RRGGBB`, an ECMA-376 scheme color token\n(`tx1`, `accent1`, ...), or `null` to clear."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, `<a:alpha>`,\n...), written as children of its color element \u2014 the reference desktop app's theme\ntints, such as Accent 2 Lighter 60%. Same field as on gradient stops;\nrequires `color`, and replaces any transforms the run's color had."},textFill:{anyOf:[{type:"object",properties:{kind:{type:"string",const:"gradient"},stops:{$ref:"#/$defs/Stops"},angleDeg:{$ref:"#/$defs/AngleDeg"},rotateWithShape:{$ref:"#/$defs/RotateWithShape"},scaled:{$ref:"#/$defs/Scaled"},path:{$ref:"#/$defs/Path"},focus:{$ref:"#/$defs/Focus"},tileRect:{$ref:"#/$defs/TileRect"}},required:["kind","stops"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"pattern"},preset:{type:"string",enum:["wave","cross","divot","pct5","pct10","pct20","pct25","pct30","pct40","pct50","pct60","pct70","pct75","pct80","pct90","horz","vert","ltHorz","ltVert","dkHorz","dkVert","narHorz","narVert","dashHorz","dashVert","dnDiag","upDiag","ltDnDiag","ltUpDiag","dkDnDiag","dkUpDiag","wdDnDiag","wdUpDiag","dashDnDiag","dashUpDiag","diagCross","smCheck","lgCheck","smGrid","lgGrid","dotGrid","smConfetti","lgConfetti","horzBrick","diagBrick","solidDmnd","openDmnd","dotDmnd","plaid","sphere","weave","shingle","trellis","zigZag"],description:"Preset pattern token, e.g. `'pct50'`, `'dkUpDiag'`, `'wave'`."},foreground:{type:"string",description:"Foreground (pattern stroke) color. `#RRGGBB`, bare `RRGGBB`, or scheme token."},background:{type:"string",description:"Background (fill behind the pattern) color."},foregroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}},backgroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}}},required:["kind","preset","foreground","background"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"none"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"image"},bytes:{$ref:"#/$defs/Bytes"}},required:["kind","bytes"],additionalProperties:!1}],description:"Non-solid glyph fill. The `color` field remains the shorthand for a solid\nfill. Both are the same OOXML fill choice, so supplying both is rejected."},bold:{type:["boolean","null"],description:'`null` removes `b`, so the run inherits its weight again; `false` writes\n`b="0"`, which overrides an inherited bold.'},italic:{type:"boolean"},underline:{type:["boolean","string"],description:"Underline style. `true` is shorthand for `'sng'` (single). Pass the\nexact `ST_TextUnderlineType` token for other styles (`'dbl'`, `'wavy'`,\n`'dash'`, ...)."},underlineColor:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Underline color. `null` explicitly follows the run's text color via\n`<a:uFillTx>`; omit the property to leave an existing underline fill\nuntouched."},strike:{type:["boolean","string"],description:"Strikethrough style. `true` is shorthand for `'sngStrike'` (single\nline). Pass the exact `ST_TextStrikeType` token (`'sngStrike'`,\n`'dblStrike'`, `'noStrike'`) for other styles. `false` clears."},spc:{type:["null","number"],description:'Character spacing in 1/100 points (`0` = default). Negative values\ntighten, positive values loosen. Mirrors `<a:rPr spc="\u2026"/>`. `null`\nremoves it, so the run inherits its spacing again.'},kern:{type:"number",description:'Kerning threshold in 1/100 points (`ST_TextNonNegativePoint`, the same\nunit as `spc`): `0` disables kerning, `1200` = apply kerning for runs\n\u226512pt. Mirrors `<a:rPr kern="\u2026"/>`. The reference desktop app on Mac was observed to\nsave the value as `kern="0"` when its Use kerning checkbox is cleared.'},normalizeHeight:{type:"boolean",description:"Normalize character heights (`<a:rPr normalizeH>`; the reference desktop app's Equalize character height)."},baseline:{type:"number",description:"Baseline offset as a fraction of 1 (`0.3` = superscript ~30% up,\n`-0.25` = subscript). The reference desktop app emits ST_Percentage; this getter\nreturns the unit-fraction form for ergonomic comparisons."},cap:{type:"string",enum:["none","small","all"],description:"Capitalization mode: `'none'`, `'small'` (smallCaps), or `'all'`\n(allCaps). Mirrors `<a:rPr cap=\"\u2026\"/>`."},highlight:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Highlight color (cell-fill style background per run). Same color\nformat as `color`. Mirrors `<a:rPr><a:highlight>\u2026</a:highlight></a:rPr>`."},outline:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color",description:"Same accepted forms as `TextFormat.color`."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color`, as on `TextFormat.colorTransforms`. Requires `color`."},widthEmu:{type:"number",description:"Line width in EMU. The reference desktop app's thinnest visible text outline is 9525 (0.75pt)."},fill:{type:"object",properties:{kind:{type:"string",const:"gradient"},stops:{$ref:"#/$defs/Stops"},angleDeg:{$ref:"#/$defs/AngleDeg"},rotateWithShape:{$ref:"#/$defs/RotateWithShape"},scaled:{$ref:"#/$defs/Scaled"},path:{$ref:"#/$defs/Path"},focus:{$ref:"#/$defs/Focus"},tileRect:{$ref:"#/$defs/TileRect"}},required:["kind","stops"],additionalProperties:!1,description:"Gradient outline (`<a:gradFill>` in the run's `<a:ln>`), as on\n`setShapeStroke`. Exclusive with `color`."}},additionalProperties:!1}],description:"Outline drawn around the glyphs \u2014 `<a:rPr><a:ln>`, the character-level\ntwin of `setShapeStroke`. `null` removes it, which is not the same as\nan outline of width 0: removing restores what the run inherits."},shadow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color2"},colorTransforms:{$ref:"#/$defs/ColorTransforms"},blurEmu:{$ref:"#/$defs/BlurEmu"},offsetEmu:{$ref:"#/$defs/OffsetEmu"},angleDeg:{type:"number",description:`Direction in degrees, measured clockwise from the right (3 o'clock).
|
|
379
|
+
Defaults to 45\xB0 (down-right).`},opacity:{$ref:"#/$defs/Opacity"},alignment:{$ref:"#/$defs/ImageTileAlignment",description:"Transform anchor; defaults to top left (`tl`) for authored shadows."},rotateWithShape:{type:"boolean",description:"Whether the shadow rotates with its shape; defaults to false."},scaleX:{type:"number",description:"Horizontal scale (`sx`); defaults to one. The reference desktop app's Size field sets\nboth scales, and its perspective presets flatten the shadow with `sy`."},scaleY:{type:"number",description:"Vertical scale (`sy`); defaults to one. Negative values mirror vertically."},skewX:{type:"number",description:"Horizontal skew (`kx`) in degrees, strictly between -90 and 90."},skewY:{type:"number",description:"Vertical skew (`ky`) in degrees, strictly between -90 and 90."}},additionalProperties:!1}],description:"Drop shadow behind the glyphs \u2014 `<a:outerShdw>` in the run's own\n`<a:effectLst>`. `null` removes it."},innerShadow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color2"},colorTransforms:{$ref:"#/$defs/ColorTransforms"},blurEmu:{$ref:"#/$defs/BlurEmu"},offsetEmu:{$ref:"#/$defs/OffsetEmu"},angleDeg:{type:"number",description:"Direction in degrees, measured clockwise from the right. Defaults to 45\xB0."},opacity:{$ref:"#/$defs/Opacity"}},additionalProperties:!1}],description:"Inner shadow inside the glyphs \u2014 `<a:innerShdw>` in the run's effect list."},glow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color",description:"`#RRGGBB`, bare `RRGGBB`, or scheme token."},colorTransforms:{$ref:"#/$defs/ColorTransforms"},radiusEmu:{type:"number",description:"Glow radius in EMU. Defaults to 63500 (5pt)."},opacity:{$ref:"#/$defs/Opacity"}},required:["color"],additionalProperties:!1}],description:"Glow around the glyphs \u2014 `<a:glow>` in the run's own `<a:effectLst>`.\n`null` removes it."},reflection:{anyOf:[{type:"null"},{type:"object",properties:{blurEmu:{type:"number",description:"Blur radius in EMU; defaults to zero."},offsetEmu:{type:"number",description:"Offset distance in EMU; defaults to zero."},angleDeg:{type:"number",description:"Offset direction in clockwise degrees from right; defaults to zero."},opacity:{type:"number",description:"Ending opacity (0\u20131); defaults to zero (`endA`)."},startOpacity:{type:"number",description:"Starting opacity (0\u20131); defaults to one."},startPosition:{type:"number",description:"Starting fade position (0\u20131); defaults to zero."},endPosition:{type:"number",description:"Ending fade position (0\u20131); defaults to one."},fadeDirection:{type:"number",description:"Fade direction in clockwise degrees from right; defaults to 90."},scaleX:{type:"number",description:"Horizontal scale; defaults to one. Negative values mirror horizontally."},scaleY:{type:"number",description:"Vertical scale; defaults to one. Negative values mirror vertically."},skewX:{type:"number",description:"Horizontal skew in degrees, strictly between -90 and 90."},skewY:{type:"number",description:"Vertical skew in degrees, strictly between -90 and 90."},alignment:{$ref:"#/$defs/ImageTileAlignment",description:"Transform anchor; defaults to bottom center (`b`)."},rotateWithShape:{type:"boolean",description:"Whether the effect rotates with its shape; defaults to true."}},additionalProperties:!1}],description:"Reflection below the glyphs \u2014 `<a:reflection>` in the run's effect list."}},additionalProperties:!1},options:{anyOf:[{type:"object",properties:{range:{type:"object",properties:{start:{type:"number"},end:{type:"number"}},required:["start","end"],additionalProperties:!1},reset:{type:"boolean"}},required:["range"],additionalProperties:!1},{type:"object",properties:{paragraphEnd:{type:"number"},reset:{type:"boolean"}},required:["paragraphEnd"],additionalProperties:!1}]}},required:["slide","format","options"],additionalProperties:!1,$defs:{AngleDeg:{type:"number",description:"Gradient axis angle, in degrees. ECMA-376 measures clockwise from\nthe right (3 o'clock); `0` is a left-to-right gradient, `90` is\ntop-to-bottom, `180` right-to-left, `270` bottom-to-top. Defaults\nto `90` (top \u2192 bottom). Only meaningful for linear gradients."},BlurEmu:{type:"number",description:"Edge blur in EMU. Defaults to 50800 (4pt)."},Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."},Color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},Color2:{$ref:"#/$defs/Color",description:"`#RRGGBB`, bare `RRGGBB`, or scheme token. Defaults to black."},ColorTransform:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},ColorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, ...), written\nas its children \u2014 the same field gradient stops take. Requires `color`.\nAn `opacity` that differs from the one these transforms state wins."},Focus:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:`Focus rectangle for non-linear gradients, expressed as fractional insets
|
|
380
|
+
from each corresponding edge (1 = 100%). Four 0.5 insets describe
|
|
381
|
+
a point at the center; left/top 1 and right/bottom 0 describe the
|
|
382
|
+
bottom-right corner. Mirrors \`<a:fillToRect>\`.`},GradientStop:{type:"object",properties:{offset:{type:"number",description:"Position on the gradient axis, 0-1."},color:{$ref:"#/$defs/Color",description:"`#RRGGBB`, the `#RGB` shorthand, or a theme color token."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered imported color adjustments. Brightness and opacity override their corresponding transforms when changed."},opacity:{type:"number",description:"Opacity from 0 (transparent) to 1 (opaque)."},brightness:{type:"number",description:"The reference desktop app's brightness from -1 (black) to 1 (white); 0 leaves the color unchanged."}},required:["offset","color"],additionalProperties:!1},ImageTileAlignment:{anyOf:[{type:"string",enum:["t","b","l","r","tl","tr","bl","br"]},{type:"string",const:"ctr"}]},OffsetEmu:{type:"number",description:"Offset distance in EMU. Defaults to 38100 (3pt)."},Opacity:{type:"number",description:"Opacity (0\u20131). Defaults to fully opaque."},Path:{type:"string",enum:["circle","shape","rect","linear"],description:"Non-linear gradient path. `circle` paints concentric circles,\n`rect` paints nested rectangles, `shape` follows the shape's\noutline. Absent / `'linear'` \u2192 linear gradient using `angleDeg`.\nMirrors ECMA-376 \xA720.1.8.33 `<a:path path=\"\u2026\"/>`."},RotateWithShape:{type:"boolean",description:"Rotate the gradient with the shape. Defaults to true."},Scaled:{type:"boolean",description:"Scale a linear gradient with the shape's aspect ratio. Defaults to false."},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'},Stops:{type:"array",items:{$ref:"#/$defs/GradientStop"},description:"Two or more color stops along the axis."},TileRect:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:"Gradient tile bounds as fractional insets from the shape's edges.\nNegative values extend the tile beyond that edge. The reference desktop app on Mac uses\nright/bottom -1 for its bottom-right radial direction. Mirrors `<a:tileRect>`."}}},output:{type:"null"}},{name:"setSlideOutlineCollapsed",description:"Persists outline collapse and retains other view settings.",args:["slide","collapsed"],input_schema:{type:"object",properties:{slide:{anyOf:[{$ref:"#/$defs/SlideRef"},{type:"array",items:{$ref:"#/$defs/SlideRef"}}]},collapsed:{type:"boolean"}},required:["slide","collapsed"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlidePlaceholders",description:"Bulk-fills slide placeholders by type token. Each entry in\n`byType` maps a `<p:ph type>` token (e.g. `'title'`, `'body'`,\n`'ftr'`, `'dt'`) to the text to set. Silently skips entries\nwhose placeholder isn't present on the slide.\n\nUseful for template-fill workflows where the caller has all the\ndata in one struct.",args:["slide","byType"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},byType:{type:"object",properties:{title:{type:"string"},hdr:{type:"string"},dt:{type:"string"},ftr:{type:"string"},sldNum:{type:"string"},chart:{type:"string"},media:{type:"string"},body:{type:"string"},sldImg:{type:"string"},ctrTitle:{type:"string"},subTitle:{type:"string"},obj:{type:"string"},tbl:{type:"string"},clipArt:{type:"string"},dgm:{type:"string"},pic:{type:"string"}},additionalProperties:!1}},required:["slide","byType"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideSections",description:"Replaces the deck's section list with `sections`. Each section is\ngiven a fresh GUID `id` attribute (the reference desktop app generates one per\nsection; we synthesize a deterministic-ish one based on index +\ntimestamp for v1).\n\nPass `[]` to clear all sections \u2014 the helper drops the\n`<p14:sectionLst>` extension entirely when no sections remain.",args:[null,"sections"],input_schema:{type:"object",properties:{sections:{type:"array",items:{type:"object",properties:{name:{type:"string"},slides:{type:"array",items:{$ref:"#/$defs/SlideRef"}}},required:["name","slides"],additionalProperties:!1}}},required:["sections"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideShowProperties",description:"Replaces slideshow settings while preserving print/web options, pen color, and extensions.",args:[null,"settings"],input_schema:{type:"object",properties:{settings:{type:"object",properties:{mode:{anyOf:[{type:"object",properties:{kind:{type:"string",const:"present"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"browse"},showScrollbar:{type:"boolean"}},required:["kind","showScrollbar"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"kiosk"},restart:{type:"number"}},required:["kind","restart"],additionalProperties:!1}]},slides:{anyOf:[{type:"object",properties:{kind:{type:"string",const:"all"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"range"},start:{type:"number"},end:{type:"number"}},required:["kind","start","end"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"customShow"},id:{type:"number"}},required:["kind","id"],additionalProperties:!1}]},loop:{type:"boolean"},showNarration:{type:"boolean"},showAnimation:{type:"boolean"},useTimings:{type:"boolean"},showMediaControls:{type:"boolean",description:"Show Media Controls: whether hovering a video or audio clip in the show\nreveals its play bar. The reference desktop app stores it as `p14:showMediaCtrls`\nin the show properties' extension list; omit it to leave the file as is."}},required:["mode","slides","loop","showNarration","showAnimation","useTimings"],additionalProperties:!1}},required:["settings"],additionalProperties:!1},output:{type:"null"}},{name:"setSlideSize",description:"Sets the slide canvas size. Creates `<p:sldSz>` when absent, replaces\nits attributes when present. Dimensions must be 1\u201356 inches in EMU;\ninvalid dimensions throw before changing the presentation.\nThe `type` hint is preserved as given. `content: 'fit'` uniformly scales\ncontent to fit the new page and centers it, including layout/master artwork\nand physical text formatting. The default keeps existing content unchanged.\n\nSchema ordering: `<p:sldSz>` follows `<p:sldIdLst>` per ECMA-376\n\xA719.2.1.26; we insert at the correct position when bootstrapping.",args:[null,"opts","options"],input_schema:{type:"object",properties:{opts:{type:"object",properties:{width:{$ref:"#/$defs/Emu"},height:{$ref:"#/$defs/Emu"},type:{type:"string"}},required:["width","height"],additionalProperties:!1},options:{type:"object",properties:{content:{type:"string",enum:["keep","fit"]}},additionalProperties:!1}},required:["opts"],additionalProperties:!1,$defs:{Emu:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."}}},output:{type:"null"}},{name:"setSlideTitle",description:"Sets the slide's title text. Looks for a `title` placeholder first,\nfalling back to `ctrTitle`. Throws if neither exists \u2014 the slide's\nlayout has no title slot.",args:["slide","title"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},title:{type:"string"}},required:["slide","title"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideTransition",description:"Sets the slide's transition effect. A sound set with\n`setSlideTransitionSound` is kept, as the reference desktop app keeps it when the effect\nchanges.",args:["slide","options"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},options:{type:"object",properties:{effect:{type:"string",enum:["circle","diamond","plus","none","blinds","checker","dissolve","comb","cover","cut","fade","newsflash","pull","push","random","randomBar","split","strips","wedge","wheel","wipe","zoom","conveyor","doors","ferris","flash","flip","flythrough","gallery","glitter","honeycomb","pan","prism","reveal","ripple","shred","switch","vortex","warp","wheelReverse","window","prstTrans","morph"]},speed:{type:"string",enum:["med","slow","fast"],description:"Effect speed: 0.5 s (`fast`), 0.75 s (`med`) or 1 s (`slow`). Omitted, it\nis the schema default `fast` (ECMA-376 pml.xsd, CT_SlideTransition)."},direction:{type:"string",description:"Direction, valid only for effects that carry a `dir` attribute and only\nwithin that effect's domain (validated on write). The side tokens name\nthe way the slide moves, so the reference desktop app's \"From Right\" is `l`.\n - `blinds`/`checker`/`comb`/`randomBar`/`doors`/`window`: `horz` | `vert`\n - `push`/`wipe`/`vortex`/`pan`/`glitter`/`prism`: `l` | `r` | `u` | `d`\n - `cover`/`pull`: the above plus `lu` | `ru` | `ld` | `rd`\n - `strips`: `lu` | `ru` | `ld` | `rd`\n - `ripple`: `center` | `lu` | `ru` | `ld` | `rd`\n - `switch`/`flip`/`ferris`/`gallery`/`conveyor`/`reveal`: `l` | `r`\n - `zoom`/`split`/`warp`/`flythrough`/`shred`: `in` | `out`\nA mismatched effect/direction pair throws; on any other effect a stray\n`direction` is ignored."},spokes:{type:"number",description:"For `wheel` and `wheelReverse`: number of spokes (unsigned integer). Omitted means 4."},orientation:{type:"string",enum:["horz","vert"],description:"For `split`: orientation token (`horz` / `vert`)."},thruBlack:{type:"boolean",description:"For `fade`, `cut` and `reveal`: pass `true` to go through black."},pattern:{type:"string",enum:["diamond","hexagon","strip","rectangle"],description:'For `glitter`: `diamond` (the default) or `hexagon`. For `shred`: `strip`\n(the default) or `rectangle` \u2014 the reference desktop app\'s "Strips" and "Particles".'},isContent:{type:"boolean",description:"For `prism`: the slide's content turns rather than the slide itself\n(the reference desktop app's Rotate and Orbit, against Cube and Box)."},isInverted:{type:"boolean",description:"For `prism`: the turn faces inwards (the reference desktop app's Box and Orbit)."},hasBounce:{type:"boolean",description:"For `flythrough`: the slides bounce at the end."},preset:{type:"string",enum:["fallOver","drape","curtains","wind","prestige","fracture","crush","peelOff","pageCurlDouble","pageCurlSingle","airplane","origami"],description:"For `prstTrans`: which preset transition. Required for that effect."},invertX:{type:"boolean",description:'For `prstTrans`: mirror the preset left to right ("Right" instead of "Left").'},invertY:{type:"boolean",description:"For `prstTrans`: mirror the preset top to bottom."},morphOption:{type:"string",enum:["byObject","byWord","byChar"],description:"For `morph`: what is matched between the slides. Defaults to `byObject`."},advanceOnClick:{type:"boolean",description:"Whether clicking advances; default `true` (the reference desktop app's default)."},advanceAfterMs:{type:"number",description:`Milliseconds to auto-advance after this slide. Omit for click-only
|
|
383
|
+
advance.`},durationMs:{type:"number",description:"Effect duration in milliseconds (`p14:dur`, [MS-PPTX]). ECMA-376\nonly has the three `speed` steps, so the transition is written as\nthe reference desktop app writes it:\n - `spd` is the fastest speed at least this long (\u2264 500 ms `fast`,\n \u2264 750 ms `med`, otherwise `slow`) unless `speed` is given; a derived\n `fast` is left out, being the schema default.\n - A duration equal to its speed's own (500, 750 or 1000 ms) is that\n speed alone: no `p14:dur`, and it reads back as `speed`.\n - Any other duration is an `mc:AlternateContent` whose `p14` choice\n carries `p14:dur` and whose fallback carries only `spd`."}},required:["effect"],additionalProperties:!1}},required:["slide","options"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSlideTransitionSound",description:`Sets (or with \`null\` removes) the sound played when the slide's transition
|
|
384
|
+
starts. A slide without a transition gets one with no effect, which is how
|
|
385
|
+
the reference desktop app stores a sound on a "None" transition.`,args:["slide","sound"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},sound:{anyOf:[{anyOf:[{type:"object",properties:{kind:{type:"string",const:"stop"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"play"},data:{$ref:"#/$defs/Bytes"},name:{type:"string"},loop:{type:"boolean"}},required:["kind","data","name"],additionalProperties:!1}]},{type:"null"}]}},required:["slide","sound"],additionalProperties:!1,$defs:{Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setSnapToGrid",description:"Turns snapping objects to the document grid (View \u25B8 Guides \u25B8 Snap to Grid) on or off.",args:[null,"enabled"],input_schema:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"],additionalProperties:!1},output:{type:"null"}},{name:"setTableCellAlignment",description:"Sets horizontal alignment on every paragraph in the cell.",args:["cell","align"],input_schema:{type:"object",properties:{cell:{$ref:"#/$defs/CellRef"},align:{anyOf:[{type:"string",enum:["ctr","l","r","just","dist","justLow","thaiDist"]},{type:"string",enum:["right","left","center","justify","distribute"]}]}},required:["cell","align"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setTableCellAnchor",description:"Sets the cell's vertical text anchor (`<a:tcPr anchor=\"t|ctr|b\"/>`).\nPass `null` to clear the attribute so the cell uses the table's\ndefault (`ctr`). Creates `<a:tcPr>` if absent.",args:["cell","anchor"],input_schema:{type:"object",properties:{cell:{$ref:"#/$defs/CellRef"},anchor:{anyOf:[{type:"string",enum:["top","bottom","center"]},{type:"null"}]}},required:["cell","anchor"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setTableCellBorders",description:"Sets one or more side borders on a cell. Sides listed with `null` are\nremoved from the `<a:tcPr>`; sides omitted from the partial are left\nuntouched. Pass the whole `sides` arg as `null` to clear every side\nin one call. Creates `<a:tcPr>` if absent.\n\nThe diagonal sides (`tlToBr` / `blToTr`) are independent of the\ncardinal four \u2014 a strikethrough cell can have only a diagonal.",args:["cell","sides"],input_schema:{type:"object",properties:{cell:{$ref:"#/$defs/CellRef"},sides:{anyOf:[{type:"null"},{type:"object",properties:{left:{$ref:"#/$defs/NullOrPartialTableCellBorder"},right:{$ref:"#/$defs/NullOrPartialTableCellBorder"},top:{$ref:"#/$defs/NullOrPartialTableCellBorder"},bottom:{$ref:"#/$defs/NullOrPartialTableCellBorder"},tlToBr:{$ref:"#/$defs/NullOrPartialTableCellBorder"},blToTr:{$ref:"#/$defs/NullOrPartialTableCellBorder"}},additionalProperties:!1}]}},required:["cell","sides"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},NullOrPartialTableCellBorder:{anyOf:[{type:"null"},{$ref:"#/$defs/PartialTableCellBorder"}]},PartialTableCellBorder:{type:"object",properties:{color:{type:["null","string"]},widthEmu:{type:["null","number"],description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point."},dash:{type:["null","string"]}},additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setTableCellClickAction",description:`Sets or removes a click link on cell text. Omitting range covers the whole
|
|
386
|
+
cell; otherwise offsets are UTF-16 positions in getTableCellText, with an
|
|
387
|
+
exclusive end. Formatting and links outside the range are preserved.
|
|
388
|
+
Omitting tooltip clears the selected link's previous description.`,args:["cell","action","options"],input_schema:{type:"object",properties:{cell:{$ref:"#/$defs/CellRef"},action:{anyOf:[{anyOf:[{type:"object",properties:{kind:{type:"string",const:"url"},url:{type:"string"}},required:["kind","url"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"slide"},slide:{$ref:"#/$defs/SlideRef"}},required:["kind","slide"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"nextSlide"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"prevSlide"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"firstSlide"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"lastSlide"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"lastSlideViewed"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"endShow"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"customShow"},id:{type:"number"},returnToShow:{type:"boolean"}},required:["kind","id","returnToShow"],additionalProperties:!1}]},{type:"null"}]},options:{type:"object",properties:{range:{type:"object",properties:{start:{type:"number"},end:{type:"number"}},required:["start","end"],additionalProperties:!1},tooltip:{type:"string"}},additionalProperties:!1}},required:["cell","action"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setTableCellFill",description:"Sets a solid background color on a cell (`<a:tcPr><a:solidFill>`).",args:["cell","color"],input_schema:{type:"object",properties:{cell:{$ref:"#/$defs/CellRef"},color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]}},required:["cell","color"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setTableCellMargins",description:"Sets the cell's inset margins (`<a:tcPr marL marR marT marB>`) in\nEMU. Sides set to `null` are stripped from the XML so they fall back\nto the reference desktop app's defaults. Creates `<a:tcPr>` if absent.\n\nPass `null` for the whole `margins` arg to drop every authored side\nat once.",args:["cell","margins"],input_schema:{type:"object",properties:{cell:{$ref:"#/$defs/CellRef"},margins:{anyOf:[{type:"null"},{type:"object",properties:{left:{type:["null","number"]},right:{type:["null","number"]},top:{type:["null","number"]},bottom:{type:["null","number"]}},additionalProperties:!1}]}},required:["cell","margins"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setTableCellParagraphs",description:"Replaces the cell's text with explicitly structured paragraphs and runs \u2014\nthe table counterpart of `setShapeParagraphs`. Read back with\n`getTableCellParagraphs`.",args:["cell","paragraphs"],input_schema:{type:"object",properties:{cell:{$ref:"#/$defs/CellRef"},paragraphs:{type:"array",items:{type:"object",properties:{align:{anyOf:[{type:"string",enum:["ctr","l","r","just","dist","justLow","thaiDist"]},{type:"string",enum:["right","left","center","justify","distribute"]}]},runs:{type:"array",items:{type:"object",properties:{text:{type:"string",description:"Run text, written verbatim \u2014 unlike `setShapeText`, newlines are not\nsplit into paragraphs (the reference desktop app shows a CR LF inside a run as a line\nbreak, which some exporters rely on)."},format:{$ref:"#/$defs/TextFormat"}},required:["text"],additionalProperties:!1}},endFormat:{$ref:"#/$defs/TextFormat",description:"Format of the paragraph-end mark (`<a:endParaRPr>`), the place to give a\nparagraph with no runs a font size. Omit to write no `<a:endParaRPr>`."}},required:["runs"],additionalProperties:!1}}},required:["cell","paragraphs"],additionalProperties:!1,$defs:{AngleDeg:{type:"number",description:"Gradient axis angle, in degrees. ECMA-376 measures clockwise from\nthe right (3 o'clock); `0` is a left-to-right gradient, `90` is\ntop-to-bottom, `180` right-to-left, `270` bottom-to-top. Defaults\nto `90` (top \u2192 bottom). Only meaningful for linear gradients."},BlurEmu:{type:"number",description:"Edge blur in EMU. Defaults to 50800 (4pt)."},Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."},CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},Color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},Color2:{$ref:"#/$defs/Color",description:"`#RRGGBB`, bare `RRGGBB`, or scheme token. Defaults to black."},ColorTransform:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},ColorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, ...), written\nas its children \u2014 the same field gradient stops take. Requires `color`.\nAn `opacity` that differs from the one these transforms state wins."},Focus:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:`Focus rectangle for non-linear gradients, expressed as fractional insets
|
|
389
|
+
from each corresponding edge (1 = 100%). Four 0.5 insets describe
|
|
390
|
+
a point at the center; left/top 1 and right/bottom 0 describe the
|
|
391
|
+
bottom-right corner. Mirrors \`<a:fillToRect>\`.`},GradientStop:{type:"object",properties:{offset:{type:"number",description:"Position on the gradient axis, 0-1."},color:{$ref:"#/$defs/Color",description:"`#RRGGBB`, the `#RGB` shorthand, or a theme color token."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered imported color adjustments. Brightness and opacity override their corresponding transforms when changed."},opacity:{type:"number",description:"Opacity from 0 (transparent) to 1 (opaque)."},brightness:{type:"number",description:"The reference desktop app's brightness from -1 (black) to 1 (white); 0 leaves the color unchanged."}},required:["offset","color"],additionalProperties:!1},ImageTileAlignment:{anyOf:[{type:"string",enum:["t","b","l","r","tl","tr","bl","br"]},{type:"string",const:"ctr"}]},OffsetEmu:{type:"number",description:"Offset distance in EMU. Defaults to 38100 (3pt)."},Opacity:{type:"number",description:"Opacity (0\u20131). Defaults to fully opaque."},Path:{type:"string",enum:["circle","shape","rect","linear"],description:"Non-linear gradient path. `circle` paints concentric circles,\n`rect` paints nested rectangles, `shape` follows the shape's\noutline. Absent / `'linear'` \u2192 linear gradient using `angleDeg`.\nMirrors ECMA-376 \xA720.1.8.33 `<a:path path=\"\u2026\"/>`."},RotateWithShape:{type:"boolean",description:"Rotate the gradient with the shape. Defaults to true."},Scaled:{type:"boolean",description:"Scale a linear gradient with the shape's aspect ratio. Defaults to false."},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'},Stops:{type:"array",items:{$ref:"#/$defs/GradientStop"},description:"Two or more color stops along the axis."},TextFormat:{type:"object",properties:{font:{type:"string",description:"Latin font family (`Calibri`, `Arial`, ...). Sets `<a:latin>`."},fontEastAsian:{type:"string",description:"East Asian font family (`\u6E38\u660E\u671D`, `\u30E1\u30A4\u30EA\u30AA`, ...). Sets `<a:ea>`.\nRenderers pick this typeface for CJK glyphs independently of `font`\n(which only governs Latin glyphs) \u2014 set both when a run mixes Latin\nand CJK text and needs a consistent look across the whole run."},fontComplexScript:{type:"string",description:"Complex-script font family. Sets `<a:cs>`, the typeface renderers pick\nfor complex scripts such as Arabic, Hebrew and Thai \u2014 independently of\n`font` (Latin) and `fontEastAsian` (CJK)."},size:{type:"number",description:"Font size in points; fractional values allowed (`12`, `12.5`)."},color:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Color. Accepts `#RRGGBB`, `RRGGBB`, an ECMA-376 scheme color token\n(`tx1`, `accent1`, ...), or `null` to clear."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, `<a:alpha>`,\n...), written as children of its color element \u2014 the reference desktop app's theme\ntints, such as Accent 2 Lighter 60%. Same field as on gradient stops;\nrequires `color`, and replaces any transforms the run's color had."},textFill:{anyOf:[{type:"object",properties:{kind:{type:"string",const:"gradient"},stops:{$ref:"#/$defs/Stops"},angleDeg:{$ref:"#/$defs/AngleDeg"},rotateWithShape:{$ref:"#/$defs/RotateWithShape"},scaled:{$ref:"#/$defs/Scaled"},path:{$ref:"#/$defs/Path"},focus:{$ref:"#/$defs/Focus"},tileRect:{$ref:"#/$defs/TileRect"}},required:["kind","stops"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"pattern"},preset:{type:"string",enum:["wave","cross","divot","pct5","pct10","pct20","pct25","pct30","pct40","pct50","pct60","pct70","pct75","pct80","pct90","horz","vert","ltHorz","ltVert","dkHorz","dkVert","narHorz","narVert","dashHorz","dashVert","dnDiag","upDiag","ltDnDiag","ltUpDiag","dkDnDiag","dkUpDiag","wdDnDiag","wdUpDiag","dashDnDiag","dashUpDiag","diagCross","smCheck","lgCheck","smGrid","lgGrid","dotGrid","smConfetti","lgConfetti","horzBrick","diagBrick","solidDmnd","openDmnd","dotDmnd","plaid","sphere","weave","shingle","trellis","zigZag"],description:"Preset pattern token, e.g. `'pct50'`, `'dkUpDiag'`, `'wave'`."},foreground:{type:"string",description:"Foreground (pattern stroke) color. `#RRGGBB`, bare `RRGGBB`, or scheme token."},background:{type:"string",description:"Background (fill behind the pattern) color."},foregroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}},backgroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}}},required:["kind","preset","foreground","background"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"none"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"image"},bytes:{$ref:"#/$defs/Bytes"}},required:["kind","bytes"],additionalProperties:!1}],description:"Non-solid glyph fill. The `color` field remains the shorthand for a solid\nfill. Both are the same OOXML fill choice, so supplying both is rejected."},bold:{type:["boolean","null"],description:'`null` removes `b`, so the run inherits its weight again; `false` writes\n`b="0"`, which overrides an inherited bold.'},italic:{type:"boolean"},underline:{type:["boolean","string"],description:"Underline style. `true` is shorthand for `'sng'` (single). Pass the\nexact `ST_TextUnderlineType` token for other styles (`'dbl'`, `'wavy'`,\n`'dash'`, ...)."},underlineColor:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Underline color. `null` explicitly follows the run's text color via\n`<a:uFillTx>`; omit the property to leave an existing underline fill\nuntouched."},strike:{type:["boolean","string"],description:"Strikethrough style. `true` is shorthand for `'sngStrike'` (single\nline). Pass the exact `ST_TextStrikeType` token (`'sngStrike'`,\n`'dblStrike'`, `'noStrike'`) for other styles. `false` clears."},spc:{type:["null","number"],description:'Character spacing in 1/100 points (`0` = default). Negative values\ntighten, positive values loosen. Mirrors `<a:rPr spc="\u2026"/>`. `null`\nremoves it, so the run inherits its spacing again.'},kern:{type:"number",description:'Kerning threshold in 1/100 points (`ST_TextNonNegativePoint`, the same\nunit as `spc`): `0` disables kerning, `1200` = apply kerning for runs\n\u226512pt. Mirrors `<a:rPr kern="\u2026"/>`. The reference desktop app on Mac was observed to\nsave the value as `kern="0"` when its Use kerning checkbox is cleared.'},normalizeHeight:{type:"boolean",description:"Normalize character heights (`<a:rPr normalizeH>`; the reference desktop app's Equalize character height)."},baseline:{type:"number",description:"Baseline offset as a fraction of 1 (`0.3` = superscript ~30% up,\n`-0.25` = subscript). The reference desktop app emits ST_Percentage; this getter\nreturns the unit-fraction form for ergonomic comparisons."},cap:{type:"string",enum:["none","small","all"],description:"Capitalization mode: `'none'`, `'small'` (smallCaps), or `'all'`\n(allCaps). Mirrors `<a:rPr cap=\"\u2026\"/>`."},highlight:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Highlight color (cell-fill style background per run). Same color\nformat as `color`. Mirrors `<a:rPr><a:highlight>\u2026</a:highlight></a:rPr>`."},outline:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color",description:"Same accepted forms as `TextFormat.color`."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color`, as on `TextFormat.colorTransforms`. Requires `color`."},widthEmu:{type:"number",description:"Line width in EMU. The reference desktop app's thinnest visible text outline is 9525 (0.75pt)."},fill:{type:"object",properties:{kind:{type:"string",const:"gradient"},stops:{$ref:"#/$defs/Stops"},angleDeg:{$ref:"#/$defs/AngleDeg"},rotateWithShape:{$ref:"#/$defs/RotateWithShape"},scaled:{$ref:"#/$defs/Scaled"},path:{$ref:"#/$defs/Path"},focus:{$ref:"#/$defs/Focus"},tileRect:{$ref:"#/$defs/TileRect"}},required:["kind","stops"],additionalProperties:!1,description:"Gradient outline (`<a:gradFill>` in the run's `<a:ln>`), as on\n`setShapeStroke`. Exclusive with `color`."}},additionalProperties:!1}],description:"Outline drawn around the glyphs \u2014 `<a:rPr><a:ln>`, the character-level\ntwin of `setShapeStroke`. `null` removes it, which is not the same as\nan outline of width 0: removing restores what the run inherits."},shadow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color2"},colorTransforms:{$ref:"#/$defs/ColorTransforms"},blurEmu:{$ref:"#/$defs/BlurEmu"},offsetEmu:{$ref:"#/$defs/OffsetEmu"},angleDeg:{type:"number",description:`Direction in degrees, measured clockwise from the right (3 o'clock).
|
|
392
|
+
Defaults to 45\xB0 (down-right).`},opacity:{$ref:"#/$defs/Opacity"},alignment:{$ref:"#/$defs/ImageTileAlignment",description:"Transform anchor; defaults to top left (`tl`) for authored shadows."},rotateWithShape:{type:"boolean",description:"Whether the shadow rotates with its shape; defaults to false."},scaleX:{type:"number",description:"Horizontal scale (`sx`); defaults to one. The reference desktop app's Size field sets\nboth scales, and its perspective presets flatten the shadow with `sy`."},scaleY:{type:"number",description:"Vertical scale (`sy`); defaults to one. Negative values mirror vertically."},skewX:{type:"number",description:"Horizontal skew (`kx`) in degrees, strictly between -90 and 90."},skewY:{type:"number",description:"Vertical skew (`ky`) in degrees, strictly between -90 and 90."}},additionalProperties:!1}],description:"Drop shadow behind the glyphs \u2014 `<a:outerShdw>` in the run's own\n`<a:effectLst>`. `null` removes it."},innerShadow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color2"},colorTransforms:{$ref:"#/$defs/ColorTransforms"},blurEmu:{$ref:"#/$defs/BlurEmu"},offsetEmu:{$ref:"#/$defs/OffsetEmu"},angleDeg:{type:"number",description:"Direction in degrees, measured clockwise from the right. Defaults to 45\xB0."},opacity:{$ref:"#/$defs/Opacity"}},additionalProperties:!1}],description:"Inner shadow inside the glyphs \u2014 `<a:innerShdw>` in the run's effect list."},glow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color",description:"`#RRGGBB`, bare `RRGGBB`, or scheme token."},colorTransforms:{$ref:"#/$defs/ColorTransforms"},radiusEmu:{type:"number",description:"Glow radius in EMU. Defaults to 63500 (5pt)."},opacity:{$ref:"#/$defs/Opacity"}},required:["color"],additionalProperties:!1}],description:"Glow around the glyphs \u2014 `<a:glow>` in the run's own `<a:effectLst>`.\n`null` removes it."},reflection:{anyOf:[{type:"null"},{type:"object",properties:{blurEmu:{type:"number",description:"Blur radius in EMU; defaults to zero."},offsetEmu:{type:"number",description:"Offset distance in EMU; defaults to zero."},angleDeg:{type:"number",description:"Offset direction in clockwise degrees from right; defaults to zero."},opacity:{type:"number",description:"Ending opacity (0\u20131); defaults to zero (`endA`)."},startOpacity:{type:"number",description:"Starting opacity (0\u20131); defaults to one."},startPosition:{type:"number",description:"Starting fade position (0\u20131); defaults to zero."},endPosition:{type:"number",description:"Ending fade position (0\u20131); defaults to one."},fadeDirection:{type:"number",description:"Fade direction in clockwise degrees from right; defaults to 90."},scaleX:{type:"number",description:"Horizontal scale; defaults to one. Negative values mirror horizontally."},scaleY:{type:"number",description:"Vertical scale; defaults to one. Negative values mirror vertically."},skewX:{type:"number",description:"Horizontal skew in degrees, strictly between -90 and 90."},skewY:{type:"number",description:"Vertical skew in degrees, strictly between -90 and 90."},alignment:{$ref:"#/$defs/ImageTileAlignment",description:"Transform anchor; defaults to bottom center (`b`)."},rotateWithShape:{type:"boolean",description:"Whether the effect rotates with its shape; defaults to true."}},additionalProperties:!1}],description:"Reflection below the glyphs \u2014 `<a:reflection>` in the run's effect list."}},additionalProperties:!1},TileRect:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:"Gradient tile bounds as fractional insets from the shape's edges.\nNegative values extend the tile beyond that edge. The reference desktop app on Mac uses\nright/bottom -1 for its bottom-right radial direction. Mirrors `<a:tileRect>`."}}},output:{type:"null"}},{name:"setTableCellText",description:"Replaces a cell's text. `\\n` starts a new paragraph unless `newlines: 'break'`\nrequests paragraph-internal `<a:br>` elements. The paragraph-end\nformat (`<a:endParaRPr>`) is not kept unless `preserveFormatting` is enabled.\nThat option preserves unaffected runs and paragraph properties during editing.\nWith `range`, `text` replaces exactly that UTF-16 selection, always preserving\nthe formatting of unaffected text. Pass `{ case: 'upper' | 'lower' | 'sentence' |\n'title' | 'toggle' }` to change case in the whole cell or `options.range`\nwithout rebuilding its runs, fields, or paragraph properties.",args:["cell","text","options"],input_schema:{type:"object",properties:{cell:{$ref:"#/$defs/CellRef"},text:{anyOf:[{type:"string"},{type:"object",properties:{case:{type:"string",enum:["title","sentence","lower","upper","toggle"]}},required:["case"],additionalProperties:!1}]},options:{type:"object",properties:{newlines:{type:"string",enum:["paragraph","break"]},preserveFormatting:{type:"boolean"},range:{type:"object",properties:{start:{type:"number"},end:{type:"number"}},required:["start","end"],additionalProperties:!1}},additionalProperties:!1}},required:["cell","text"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setTableCellTextDirection",description:"Sets the cell's text-direction via `<a:tcPr vert=\"\u2026\"/>`. Same six\n`ST_TextVerticalType` values as `setShapeTextDirection`. Passing\n`null` (or `'horz'`) clears the attribute so the cell uses the\ndefault horizontal direction. Creates `<a:tcPr>` if absent.",args:["cell","direction"],input_schema:{type:"object",properties:{cell:{$ref:"#/$defs/CellRef"},direction:{anyOf:[{type:"string",enum:["horz","vert","vert270","wordArtVert","eaVert","mongolianVert","wordArtVertRtl"]},{type:"null"}]}},required:["cell","direction"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setTableCellTextFormat",description:"Applies a TextFormat to the cell's text, optionally within UTF-16 offsets\nin getTableCellText (exclusive end). Breaks count as one character; invalid\nranges and split-surrogate boundaries throw without changing the text.\n`reset` restores inherited run appearance before applying `format`, retaining\nlinks and language. Without either target, run-format defaults are also cleared.\nPass a zero-based `paragraphEnd` instead of `range` to update a paragraph's end mark.",args:["cell","format","options"],input_schema:{type:"object",properties:{cell:{$ref:"#/$defs/CellRef"},format:{type:"object",properties:{font:{type:"string",description:"Latin font family (`Calibri`, `Arial`, ...). Sets `<a:latin>`."},fontEastAsian:{type:"string",description:"East Asian font family (`\u6E38\u660E\u671D`, `\u30E1\u30A4\u30EA\u30AA`, ...). Sets `<a:ea>`.\nRenderers pick this typeface for CJK glyphs independently of `font`\n(which only governs Latin glyphs) \u2014 set both when a run mixes Latin\nand CJK text and needs a consistent look across the whole run."},fontComplexScript:{type:"string",description:"Complex-script font family. Sets `<a:cs>`, the typeface renderers pick\nfor complex scripts such as Arabic, Hebrew and Thai \u2014 independently of\n`font` (Latin) and `fontEastAsian` (CJK)."},size:{type:"number",description:"Font size in points; fractional values allowed (`12`, `12.5`)."},color:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Color. Accepts `#RRGGBB`, `RRGGBB`, an ECMA-376 scheme color token\n(`tx1`, `accent1`, ...), or `null` to clear."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, `<a:alpha>`,\n...), written as children of its color element \u2014 the reference desktop app's theme\ntints, such as Accent 2 Lighter 60%. Same field as on gradient stops;\nrequires `color`, and replaces any transforms the run's color had."},textFill:{anyOf:[{type:"object",properties:{kind:{type:"string",const:"gradient"},stops:{$ref:"#/$defs/Stops"},angleDeg:{$ref:"#/$defs/AngleDeg"},rotateWithShape:{$ref:"#/$defs/RotateWithShape"},scaled:{$ref:"#/$defs/Scaled"},path:{$ref:"#/$defs/Path"},focus:{$ref:"#/$defs/Focus"},tileRect:{$ref:"#/$defs/TileRect"}},required:["kind","stops"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"pattern"},preset:{type:"string",enum:["wave","cross","divot","pct5","pct10","pct20","pct25","pct30","pct40","pct50","pct60","pct70","pct75","pct80","pct90","horz","vert","ltHorz","ltVert","dkHorz","dkVert","narHorz","narVert","dashHorz","dashVert","dnDiag","upDiag","ltDnDiag","ltUpDiag","dkDnDiag","dkUpDiag","wdDnDiag","wdUpDiag","dashDnDiag","dashUpDiag","diagCross","smCheck","lgCheck","smGrid","lgGrid","dotGrid","smConfetti","lgConfetti","horzBrick","diagBrick","solidDmnd","openDmnd","dotDmnd","plaid","sphere","weave","shingle","trellis","zigZag"],description:"Preset pattern token, e.g. `'pct50'`, `'dkUpDiag'`, `'wave'`."},foreground:{type:"string",description:"Foreground (pattern stroke) color. `#RRGGBB`, bare `RRGGBB`, or scheme token."},background:{type:"string",description:"Background (fill behind the pattern) color."},foregroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}},backgroundTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"}}},required:["kind","preset","foreground","background"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"none"}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",const:"image"},bytes:{$ref:"#/$defs/Bytes"}},required:["kind","bytes"],additionalProperties:!1}],description:"Non-solid glyph fill. The `color` field remains the shorthand for a solid\nfill. Both are the same OOXML fill choice, so supplying both is rejected."},bold:{type:["boolean","null"],description:'`null` removes `b`, so the run inherits its weight again; `false` writes\n`b="0"`, which overrides an inherited bold.'},italic:{type:"boolean"},underline:{type:["boolean","string"],description:"Underline style. `true` is shorthand for `'sng'` (single). Pass the\nexact `ST_TextUnderlineType` token for other styles (`'dbl'`, `'wavy'`,\n`'dash'`, ...)."},underlineColor:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Underline color. `null` explicitly follows the run's text color via\n`<a:uFillTx>`; omit the property to leave an existing underline fill\nuntouched."},strike:{type:["boolean","string"],description:"Strikethrough style. `true` is shorthand for `'sngStrike'` (single\nline). Pass the exact `ST_TextStrikeType` token (`'sngStrike'`,\n`'dblStrike'`, `'noStrike'`) for other styles. `false` clears."},spc:{type:["null","number"],description:'Character spacing in 1/100 points (`0` = default). Negative values\ntighten, positive values loosen. Mirrors `<a:rPr spc="\u2026"/>`. `null`\nremoves it, so the run inherits its spacing again.'},kern:{type:"number",description:'Kerning threshold in 1/100 points (`ST_TextNonNegativePoint`, the same\nunit as `spc`): `0` disables kerning, `1200` = apply kerning for runs\n\u226512pt. Mirrors `<a:rPr kern="\u2026"/>`. The reference desktop app on Mac was observed to\nsave the value as `kern="0"` when its Use kerning checkbox is cleared.'},normalizeHeight:{type:"boolean",description:"Normalize character heights (`<a:rPr normalizeH>`; the reference desktop app's Equalize character height)."},baseline:{type:"number",description:"Baseline offset as a fraction of 1 (`0.3` = superscript ~30% up,\n`-0.25` = subscript). The reference desktop app emits ST_Percentage; this getter\nreturns the unit-fraction form for ergonomic comparisons."},cap:{type:"string",enum:["none","small","all"],description:"Capitalization mode: `'none'`, `'small'` (smallCaps), or `'all'`\n(allCaps). Mirrors `<a:rPr cap=\"\u2026\"/>`."},highlight:{anyOf:[{$ref:"#/$defs/Color"},{type:"null"}],description:"Highlight color (cell-fill style background per run). Same color\nformat as `color`. Mirrors `<a:rPr><a:highlight>\u2026</a:highlight></a:rPr>`."},outline:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color",description:"Same accepted forms as `TextFormat.color`."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color`, as on `TextFormat.colorTransforms`. Requires `color`."},widthEmu:{type:"number",description:"Line width in EMU. The reference desktop app's thinnest visible text outline is 9525 (0.75pt)."},fill:{type:"object",properties:{kind:{type:"string",const:"gradient"},stops:{$ref:"#/$defs/Stops"},angleDeg:{$ref:"#/$defs/AngleDeg"},rotateWithShape:{$ref:"#/$defs/RotateWithShape"},scaled:{$ref:"#/$defs/Scaled"},path:{$ref:"#/$defs/Path"},focus:{$ref:"#/$defs/Focus"},tileRect:{$ref:"#/$defs/TileRect"}},required:["kind","stops"],additionalProperties:!1,description:"Gradient outline (`<a:gradFill>` in the run's `<a:ln>`), as on\n`setShapeStroke`. Exclusive with `color`."}},additionalProperties:!1}],description:"Outline drawn around the glyphs \u2014 `<a:rPr><a:ln>`, the character-level\ntwin of `setShapeStroke`. `null` removes it, which is not the same as\nan outline of width 0: removing restores what the run inherits."},shadow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color2"},colorTransforms:{$ref:"#/$defs/ColorTransforms"},blurEmu:{$ref:"#/$defs/BlurEmu"},offsetEmu:{$ref:"#/$defs/OffsetEmu"},angleDeg:{type:"number",description:`Direction in degrees, measured clockwise from the right (3 o'clock).
|
|
393
|
+
Defaults to 45\xB0 (down-right).`},opacity:{$ref:"#/$defs/Opacity"},alignment:{$ref:"#/$defs/ImageTileAlignment",description:"Transform anchor; defaults to top left (`tl`) for authored shadows."},rotateWithShape:{type:"boolean",description:"Whether the shadow rotates with its shape; defaults to false."},scaleX:{type:"number",description:"Horizontal scale (`sx`); defaults to one. The reference desktop app's Size field sets\nboth scales, and its perspective presets flatten the shadow with `sy`."},scaleY:{type:"number",description:"Vertical scale (`sy`); defaults to one. Negative values mirror vertically."},skewX:{type:"number",description:"Horizontal skew (`kx`) in degrees, strictly between -90 and 90."},skewY:{type:"number",description:"Vertical skew (`ky`) in degrees, strictly between -90 and 90."}},additionalProperties:!1}],description:"Drop shadow behind the glyphs \u2014 `<a:outerShdw>` in the run's own\n`<a:effectLst>`. `null` removes it."},innerShadow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color2"},colorTransforms:{$ref:"#/$defs/ColorTransforms"},blurEmu:{$ref:"#/$defs/BlurEmu"},offsetEmu:{$ref:"#/$defs/OffsetEmu"},angleDeg:{type:"number",description:"Direction in degrees, measured clockwise from the right. Defaults to 45\xB0."},opacity:{$ref:"#/$defs/Opacity"}},additionalProperties:!1}],description:"Inner shadow inside the glyphs \u2014 `<a:innerShdw>` in the run's effect list."},glow:{anyOf:[{type:"null"},{type:"object",properties:{color:{$ref:"#/$defs/Color",description:"`#RRGGBB`, bare `RRGGBB`, or scheme token."},colorTransforms:{$ref:"#/$defs/ColorTransforms"},radiusEmu:{type:"number",description:"Glow radius in EMU. Defaults to 63500 (5pt)."},opacity:{$ref:"#/$defs/Opacity"}},required:["color"],additionalProperties:!1}],description:"Glow around the glyphs \u2014 `<a:glow>` in the run's own `<a:effectLst>`.\n`null` removes it."},reflection:{anyOf:[{type:"null"},{type:"object",properties:{blurEmu:{type:"number",description:"Blur radius in EMU; defaults to zero."},offsetEmu:{type:"number",description:"Offset distance in EMU; defaults to zero."},angleDeg:{type:"number",description:"Offset direction in clockwise degrees from right; defaults to zero."},opacity:{type:"number",description:"Ending opacity (0\u20131); defaults to zero (`endA`)."},startOpacity:{type:"number",description:"Starting opacity (0\u20131); defaults to one."},startPosition:{type:"number",description:"Starting fade position (0\u20131); defaults to zero."},endPosition:{type:"number",description:"Ending fade position (0\u20131); defaults to one."},fadeDirection:{type:"number",description:"Fade direction in clockwise degrees from right; defaults to 90."},scaleX:{type:"number",description:"Horizontal scale; defaults to one. Negative values mirror horizontally."},scaleY:{type:"number",description:"Vertical scale; defaults to one. Negative values mirror vertically."},skewX:{type:"number",description:"Horizontal skew in degrees, strictly between -90 and 90."},skewY:{type:"number",description:"Vertical skew in degrees, strictly between -90 and 90."},alignment:{$ref:"#/$defs/ImageTileAlignment",description:"Transform anchor; defaults to bottom center (`b`)."},rotateWithShape:{type:"boolean",description:"Whether the effect rotates with its shape; defaults to true."}},additionalProperties:!1}],description:"Reflection below the glyphs \u2014 `<a:reflection>` in the run's effect list."}},additionalProperties:!1},options:{anyOf:[{type:"object",properties:{range:{type:"object",properties:{start:{type:"number"},end:{type:"number"}},required:["start","end"],additionalProperties:!1},reset:{type:"boolean"}},additionalProperties:!1},{type:"object",properties:{paragraphEnd:{type:"number"},reset:{type:"boolean"}},required:["paragraphEnd"],additionalProperties:!1}]}},required:["cell","format"],additionalProperties:!1,$defs:{AngleDeg:{type:"number",description:"Gradient axis angle, in degrees. ECMA-376 measures clockwise from\nthe right (3 o'clock); `0` is a left-to-right gradient, `90` is\ntop-to-bottom, `180` right-to-left, `270` bottom-to-top. Defaults\nto `90` (top \u2192 bottom). Only meaningful for linear gradients."},BlurEmu:{type:"number",description:"Edge blur in EMU. Defaults to 50800 (4pt)."},Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."},CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},Color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},Color2:{$ref:"#/$defs/Color",description:"`#RRGGBB`, bare `RRGGBB`, or scheme token. Defaults to black."},ColorTransform:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]},ColorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, ...), written\nas its children \u2014 the same field gradient stops take. Requires `color`.\nAn `opacity` that differs from the one these transforms state wins."},Focus:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:`Focus rectangle for non-linear gradients, expressed as fractional insets
|
|
394
|
+
from each corresponding edge (1 = 100%). Four 0.5 insets describe
|
|
395
|
+
a point at the center; left/top 1 and right/bottom 0 describe the
|
|
396
|
+
bottom-right corner. Mirrors \`<a:fillToRect>\`.`},GradientStop:{type:"object",properties:{offset:{type:"number",description:"Position on the gradient axis, 0-1."},color:{$ref:"#/$defs/Color",description:"`#RRGGBB`, the `#RGB` shorthand, or a theme color token."},colorTransforms:{type:"array",items:{$ref:"#/$defs/ColorTransform"},description:"Ordered imported color adjustments. Brightness and opacity override their corresponding transforms when changed."},opacity:{type:"number",description:"Opacity from 0 (transparent) to 1 (opaque)."},brightness:{type:"number",description:"The reference desktop app's brightness from -1 (black) to 1 (white); 0 leaves the color unchanged."}},required:["offset","color"],additionalProperties:!1},ImageTileAlignment:{anyOf:[{type:"string",enum:["t","b","l","r","tl","tr","bl","br"]},{type:"string",const:"ctr"}]},OffsetEmu:{type:"number",description:"Offset distance in EMU. Defaults to 38100 (3pt)."},Opacity:{type:"number",description:"Opacity (0\u20131). Defaults to fully opaque."},Path:{type:"string",enum:["circle","shape","rect","linear"],description:"Non-linear gradient path. `circle` paints concentric circles,\n`rect` paints nested rectangles, `shape` follows the shape's\noutline. Absent / `'linear'` \u2192 linear gradient using `angleDeg`.\nMirrors ECMA-376 \xA720.1.8.33 `<a:path path=\"\u2026\"/>`."},RotateWithShape:{type:"boolean",description:"Rotate the gradient with the shape. Defaults to true."},Scaled:{type:"boolean",description:"Scale a linear gradient with the shape's aspect ratio. Defaults to false."},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'},Stops:{type:"array",items:{$ref:"#/$defs/GradientStop"},description:"Two or more color stops along the axis."},TileRect:{type:"object",properties:{left:{type:"number"},top:{type:"number"},right:{type:"number"},bottom:{type:"number"}},required:["left","top","right","bottom"],additionalProperties:!1,description:"Gradient tile bounds as fractional insets from the shape's edges.\nNegative values extend the tile beyond that edge. The reference desktop app on Mac uses\nright/bottom -1 for its bottom-right radial direction. Mirrors `<a:tileRect>`."}}},output:{type:"null"}},{name:"setTableColumnWidth",description:`Sets a single column's width on the table grid. Throws on
|
|
397
|
+
out-of-range column indices or non-table shapes. The total table
|
|
398
|
+
width is not auto-adjusted \u2014 callers are responsible for keeping
|
|
399
|
+
the sum consistent with the table's \`<a:xfrm>\` extent if the reference desktop app
|
|
400
|
+
is to render the table without clipping.`,args:["table","col","width"],input_schema:{type:"object",properties:{table:{$ref:"#/$defs/ShapeRef"},col:{type:"number"},width:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."}},required:["table","col","width"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setTableRowHeight",description:"Sets a single row's height. Throws on out-of-range row indices or\nnon-table shapes. As with `setTableColumnWidth`, the table's\n`<a:xfrm>` extent is left to the caller.",args:["table","row","height"],input_schema:{type:"object",properties:{table:{$ref:"#/$defs/ShapeRef"},row:{type:"number"},height:{type:"integer",description:"A length in EMU: 914400 per inch, 360000 per cm, 12700 per point."}},required:["table","row","height"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setTableStyleFlags",description:'Sets one or more boolean style flags on `<a:tblPr>`. Only the keys\npresent in `flags` are touched \u2014 omitted keys are left at their\ncurrent state. A flag set to `false` strips the attribute (rather\nthan emitting `="0"`), matching how the reference desktop app round-trips defaults.\n\nSee `getTableStyleFlags` for the meaning of each flag.',args:["table","flags"],input_schema:{type:"object",properties:{table:{$ref:"#/$defs/ShapeRef"},flags:{type:"object",properties:{firstRow:{type:"boolean"},lastRow:{type:"boolean"},firstCol:{type:"boolean"},lastCol:{type:"boolean"},bandRow:{type:"boolean"},bandCol:{type:"boolean"}},additionalProperties:!1}},required:["table","flags"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setTableStyleId",description:"Applies a table style by writing `<a:tbl><a:tblPr><a:tableStyleId>`.\n`styleId` is a style GUID with its curly braces \u2014 e.g.\n`'{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}'` \u2014 or the English name of one\nof the reference desktop app's built-in styles (`'Medium Style 2 - Accent 1'`; see\n`BUILTIN_TABLE_STYLES`). For a built-in style, the reference desktop app's definition is\nadded to `ppt/tableStyles.xml` (creating the part if needed) unless the\ndeck already defines that GUID, as the reference desktop app does when you pick a style.\nPass `null` to remove the element so the table falls back to the deck's\ndefault style. Creates `<a:tblPr>` if absent. Throws when the shape isn't\na table graphic frame or `styleId` is neither a GUID nor a built-in name.",args:["table","styleId"],input_schema:{type:"object",properties:{table:{$ref:"#/$defs/ShapeRef"},styleId:{anyOf:[{type:"string",enum:["No Style, No Grid","Themed Style 1 - Accent 1","Themed Style 1 - Accent 2","Themed Style 1 - Accent 3","Themed Style 1 - Accent 4","Themed Style 1 - Accent 5","Themed Style 1 - Accent 6","No Style, Table Grid","Themed Style 2 - Accent 1","Themed Style 2 - Accent 2","Themed Style 2 - Accent 3","Themed Style 2 - Accent 4","Themed Style 2 - Accent 5","Themed Style 2 - Accent 6","Light Style 1","Light Style 1 - Accent 1","Light Style 1 - Accent 2","Light Style 1 - Accent 3","Light Style 1 - Accent 4","Light Style 1 - Accent 5","Light Style 1 - Accent 6","Light Style 2","Light Style 2 - Accent 1","Light Style 2 - Accent 2","Light Style 2 - Accent 3","Light Style 2 - Accent 4","Light Style 2 - Accent 5","Light Style 2 - Accent 6","Light Style 3","Light Style 3 - Accent 1","Light Style 3 - Accent 2","Light Style 3 - Accent 3","Light Style 3 - Accent 4","Light Style 3 - Accent 5","Light Style 3 - Accent 6","Medium Style 1","Medium Style 1 - Accent 1","Medium Style 1 - Accent 2","Medium Style 1 - Accent 3","Medium Style 1 - Accent 4","Medium Style 1 - Accent 5","Medium Style 1 - Accent 6","Medium Style 2","Medium Style 2 - Accent 1","Medium Style 2 - Accent 2","Medium Style 2 - Accent 3","Medium Style 2 - Accent 4","Medium Style 2 - Accent 5","Medium Style 2 - Accent 6","Medium Style 3","Medium Style 3 - Accent 1","Medium Style 3 - Accent 2","Medium Style 3 - Accent 3","Medium Style 3 - Accent 4","Medium Style 3 - Accent 5","Medium Style 3 - Accent 6","Medium Style 4","Medium Style 4 - Accent 1","Medium Style 4 - Accent 2","Medium Style 4 - Accent 3","Medium Style 4 - Accent 4","Medium Style 4 - Accent 5","Medium Style 4 - Accent 6","Dark Style 1","Dark Style 1 - Accent 1","Dark Style 1 - Accent 2","Dark Style 1 - Accent 3","Dark Style 1 - Accent 4","Dark Style 1 - Accent 5","Dark Style 1 - Accent 6","Dark Style 2","Dark Style 2 - Accent 1/Accent 2","Dark Style 2 - Accent 3/Accent 4","Dark Style 2 - Accent 5/Accent 6"]},{type:"null"},{type:"string"}]}},required:["table","styleId"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"setThumbnail",description:`Replaces the package's thumbnail. Auto-detects the image format
|
|
401
|
+
from the bytes (pass \`options.format\` to override). Bootstraps the
|
|
402
|
+
thumbnail part + root rel + content-type default if the package
|
|
403
|
+
had no thumbnail; otherwise replaces the existing thumbnail in
|
|
404
|
+
place, switching its filename / extension if the format changed.`,args:[null,"bytes","options"],input_schema:{type:"object",properties:{bytes:{$ref:"#/$defs/Bytes"},options:{type:"object",properties:{format:{type:"string",enum:["png","jpeg","gif","bmp","tiff","webp","svg"]}},additionalProperties:!1}},required:["bytes"],additionalProperties:!1,$defs:{Bytes:{type:"string",contentEncoding:"base64",description:"File bytes, base64-encoded."}}},output:{type:"null"}},{name:"splitTableCell",description:"Splits the merged region containing `cell`, including a covered cell.\nRetains each cell's text and properties; text removed during merging stays empty.\nAn unmerged cell is unchanged. Malformed regions throw before any mutation.",args:["cell"],input_schema:{type:"object",properties:{cell:{$ref:"#/$defs/CellRef"}},required:["cell"],additionalProperties:!1,$defs:{CellRef:{type:"object",description:"A table cell: the table's ShapeRef with the cell's 0-based `row` and `col` added.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},row:{type:"integer",minimum:0},col:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId","row","col"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"swapSlides",description:"Swaps the positions of the slides at `indexA` and `indexB`.\nNo-op when the indices are equal. Throws on out-of-range indices.\nImplemented on top of `moveSlide` for predictable rels behavior.",args:[null,"indexA","indexB"],input_schema:{type:"object",properties:{indexA:{type:"number"},indexB:{type:"number"}},required:["indexA","indexB"],additionalProperties:!1},output:{type:"null"}},{name:"touchModified",description:'Convenience: writes `new Date().toISOString()` to\n`dcterms:modified`. Useful right before `savePresentation` so\n"last edited" shows the actual save time. Pass an explicit\n`Date` to set a specific value.',args:[null,"at"],input_schema:{type:"object",properties:{at:{$ref:"#/$defs/DateTime"}},additionalProperties:!1,$defs:{DateTime:{type:"string",format:"date-time",description:"An RFC 3339 date-time."}}},output:{type:"null"}},{name:"transformSlideNotesCase",description:"Applies Change Case, as the reference desktop app does, to a speaker-notes range.",args:["slide","value","options"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},value:{type:"string",enum:["title","sentence","lower","upper","toggle"]},options:{type:"object",properties:{range:{type:"object",properties:{start:{type:"number"},end:{type:"number"}},required:["start","end"],additionalProperties:!1}},additionalProperties:!1}},required:["slide","value"],additionalProperties:!1,$defs:{SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"translateShapes",description:'Translates every shape in `shapes` by `(dxEmu, dyEmu)`. Useful\nfor "move this group of shapes 1cm right" patterns without\nlooping yourself. Shapes without bounds are skipped silently.',args:["shapes","dxEmu","dyEmu"],input_schema:{type:"object",properties:{shapes:{type:"array",items:{$ref:"#/$defs/ShapeRef"}},dxEmu:{$ref:"#/$defs/DxEmu"},dyEmu:{$ref:"#/$defs/DxEmu"}},required:["shapes","dxEmu","dyEmu"],additionalProperties:!1,$defs:{DxEmu:{type:"number",description:"In EMU: 914400 per inch, 360000 per cm, 12700 per point."},ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}},{name:"ungroupShapes",description:"Reverses `groupShapes`: removes the `<p:grpSp>` and re-inserts its\nimmediate children into its parent at the group's former position,\nrescaling each child's own transform so it keeps its on-slide position\nand size (matters when the group was moved/resized after creation, so\nits `off`/`ext` diverged from its `chOff`/`chExt`). Returns the\nchildren as fresh `SlideShapeData` handles, in their original order.\nGroup rotation and flips are composed with each child transform. Exact\npreservation of rotated children requires uniform group scaling; anisotropic\nscaling can introduce shear, which a child shape transform cannot represent.\n\nThrows if `group` isn't a group shape, or its `<p:grpSpPr>` carries no\n`<a:xfrm>` (malformed \u2014 every authored group has one).",args:["group"],input_schema:{type:"object",properties:{group:{$ref:"#/$defs/ShapeRef"}},required:["group"],additionalProperties:!1,$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"array",items:{$ref:"#/$defs/ShapeRef"},$defs:{ShapeRef:{type:"object",description:"A shape, by its slide and id, as `listShapes` or the user's selection reports it. `slideIndex` and `name` are informational.",properties:{slide:{$ref:"#/$defs/SlideRef"},shapeId:{type:"integer",minimum:0},slideIndex:{type:"integer",minimum:0},name:{type:"string"}},required:["slide","shapeId"],additionalProperties:!1},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}}},{name:"updateSlideAnimation",description:`Changes one effect: its preset, its options, how long it runs, when it
|
|
405
|
+
starts, and how the shape's text is built.
|
|
406
|
+
|
|
407
|
+
The effect keeps the id it was addressed by. Everything after it in the click
|
|
408
|
+
order is laid out again, because a longer effect moves what follows it and a
|
|
409
|
+
new start condition moves the effect itself between click stops.
|
|
410
|
+
|
|
411
|
+
An effect whose duration the slide never stated gets this library's default
|
|
412
|
+
when it is rewritten; pass \`durationMs\` to say what it should be.`,args:["slide","id","patch"],input_schema:{type:"object",properties:{slide:{$ref:"#/$defs/SlideRef"},id:{type:"number"},patch:{type:"object",properties:{effect:{type:"string",enum:["lineColor","appear","blindsIn","checkerboardIn","dissolveIn","flyIn","peekIn","randomBarsIn","shapeIn","splitIn","stripsIn","wedgeIn","wheelIn","wipeIn","expandIn","fadeIn","swivelIn","zoomIn","centerRevolveIn","floatIn","growTurnIn","riseUpIn","spinnerIn","basicZoomIn","stretchIn","boomerangIn","bounceIn","creditsIn","curveUpIn","dropIn","flipIn","floatingIn","pinwheelIn","spiralIn","basicSwivelIn","whipIn","blindsOut","checkerboardOut","disappear","dissolveOut","flyOut","peekOut","randomBarsOut","shapeOut","splitOut","stripsOut","wedgeOut","wheelOut","wipeOut","contractOut","fadeOut","swivelOut","zoomOut","centerRevolveOut","collapseOut","floatOut","shrinkTurnOut","sinkDownOut","spinnerOut","basicZoomOut","stretchyOut","boomerangOut","bounceOut","creditsOut","curveDownOut","dropOut","flipOut","floatingOut","pinwheelOut","spiralOut","basicSwivelOut","whipOut","fillColor","fontColor","growShrink","spin","transparency","boldFlash","brushColor","complementaryColor","complementaryColor2","contrastingColor","darken","desaturate","lighten","objectColor","pulse","underline","colorPulse","growWithColor","shimmer","teeter","blink","boldReveal","wave"]},direction:{type:"string",enum:["top","right","bottom","left","topLeft","topRight","bottomLeft","bottomRight"],description:`Which edge a fly, wipe or peek comes from or leaves by, or which corner
|
|
413
|
+
strips start from. Changing it rewrites the effect the same way changing
|
|
414
|
+
the preset does, because the direction is part of what the preset says.
|
|
415
|
+
Passing it for an effect that takes no direction is an error \u2014 including
|
|
416
|
+
one this patch is turning into such an effect. The same holds for the
|
|
417
|
+
four options below; \`setShapeAnimation\` documents which effects take
|
|
418
|
+
which.`},orientation:{$ref:"#/$defs/AnimationOrientation"},inOut:{type:"string",enum:["in","out"]},shape:{type:"string",enum:["circle","box","diamond","plus"]},spokes:{type:"number"},spinDirection:{type:"string",enum:["clockwise","counterclockwise"],description:"The emphasis effects' own options, as `setShapeAnimation` takes them:\nSpin's direction and angle, Grow/Shrink's axes and size, Transparency's\namount, and the colour of the colour effects."},spinDegrees:{type:"number"},scaleDirection:{anyOf:[{$ref:"#/$defs/AnimationOrientation"},{type:"string",const:"both"}]},scalePercent:{type:"number"},transparencyPercent:{type:"number"},color:{anyOf:[{$ref:"#/$defs/Color"},{type:"object",properties:{color:{$ref:"#/$defs/Color"},colorTransforms:{type:"array",items:{anyOf:[{type:"object",properties:{kind:{type:"string",enum:["comp","inv","gray","gamma","invGamma"]}},required:["kind"],additionalProperties:!1},{type:"object",properties:{kind:{type:"string",enum:["tint","shade","alpha","alphaOff","alphaMod","hue","hueOff","hueMod","sat","satOff","satMod","lum","lumOff","lumMod","red","redOff","redMod","green","greenOff","greenMod","blue","blueOff","blueMod"]},value:{type:"number"}},required:["kind","value"],additionalProperties:!1}]}}},required:["color"],additionalProperties:!1}]},durationMs:{type:"number",description:`How long the effect runs. Left out, a changed effect keeps the duration
|
|
419
|
+
the slide gave it, unless the patch changes the preset itself: a new
|
|
420
|
+
preset takes its own default length, as picking one from the reference desktop app's
|
|
421
|
+
gallery does.`},start:{type:"string",enum:["click","withPrevious","afterPrevious"]},delayMs:{type:"number"},build:{type:"string",enum:["asOneObject","allAtOnce","byParagraph"]}},additionalProperties:!1}},required:["slide","id","patch"],additionalProperties:!1,$defs:{AnimationOrientation:{type:"string",enum:["horizontal","vertical"]},Color:{anyOf:[{type:"string",enum:["bg1","tx1","bg2","tx2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink","phClr","lt1","dk1","lt2","dk2"]},{type:"string",enum:["scheme:bg1","scheme:tx1","scheme:bg2","scheme:tx2","scheme:accent1","scheme:accent2","scheme:accent3","scheme:accent4","scheme:accent5","scheme:accent6","scheme:hlink","scheme:folHlink","scheme:phClr","scheme:lt1","scheme:dk1","scheme:lt2","scheme:dk2"]},{type:"string",pattern:"^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$",description:'An sRGB color, "#RRGGBB" or "#RGB".'}]},SlideRef:{type:"string",pattern:"^/ppt/slides/[^/]+\\.xml$",description:'A slide, by its part name as `listSlides` reports it, e.g. "/ppt/slides/slide1.xml".'}}},output:{type:"null"}}]},$e=ae,xe="#/$defs/";function R(t,e){let i=re(t,e);if(!i)throw new Error(`There is no slide ${e}; listSlides gives the current ones.`);return i}function T(t,{slide:e,shapeId:i}){let r=ee(R(t,e),i);if(!r)throw new Error(`There is no shape ${i} on ${e}; listShapes gives the current ones.`);return r}var pe={SlideRef:R,ShapeRef:T,ChartRef(t,e){let i=T(t,e),r=F(te(i)).find(a=>a.shape===i);if(!r)throw new Error(`Shape ${e.shapeId} on ${e.slide} is not a chart.`);return r},CellRef:(t,e)=>L(T(t,e),e.row,e.col),LayoutRef(t,e){let i=I(t,e);if(!i)throw new Error(`There is no layout ${e}; listLayouts gives the current ones.`);return i},CommentRef(t,{slide:e,index:i}){let r=b(R(t,e))[i];if(!r)throw new Error(`There is no comment ${i} on ${e}; listComments gives them.`);return r},Bytes:(t,e)=>Uint8Array.from(atob(e),i=>i.charCodeAt(0)),DateTime:(t,e)=>new Date(e)},fe={SlideRef:(t,e)=>$(e),ShapeRef:(t,e)=>({...w(t,e)}),LayoutRef:(t,e)=>S(e),CommentRef(t,e){let i=O(e);return{slide:$(i),index:b(i).findIndex(r=>be(r,e))}}};function be(t,e){return k(t)===k(e)&&A(t).name===A(e).name&&v(t)===v(e)}var Ae=30,ke=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Se=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/i,C=t=>t===null?"null":Array.isArray(t)?"array":typeof t=="number"&&Number.isInteger(t)?"integer":typeof t,m=t=>{let e=JSON.stringify(t);return e.length>60?`${e.slice(0,57)}...`:e};function ce(t){let e=t.slice(0,Ae).map(r=>JSON.stringify(r)),i=t.length-e.length;return`${e.join(", ")}${i>0?`, \u2026 (${i} more in the schema)`:""}`}function G(t,e){let i=C(t);return i===e||e==="number"&&i==="integer"}function D(t,e){let i=t;for(;typeof i.$ref=="string"&&!(i.$ref.slice(8)in pe);)i=e[i.$ref.slice(8)];return i}function ue(t,e){return t.anyOf.flatMap(i=>{let r=D(i,e);return Array.isArray(r.anyOf)?ue(r,e):[i]})}function P(t,e,i){let r=t.properties?.[e];if(!r)return;let a=D(r,i);return"const"in a?[a.const]:Array.isArray(a.enum)?a.enum:void 0}function Ce(t,e,i){return Object.keys(e).find(r=>{let a=t.map(s=>P(s,r,i));return a.every(s=>s!==void 0)&&new Set(a.map(s=>JSON.stringify(s))).size>1})}function ve(t,e,i,r,a){let{defs:s,errors:o}=a,d=r||"(input)",n=t.map(p=>D(p,s)),l=p=>{let u=j(p,s);return u.length===0||u.some(g=>G(i,g))},f=n.map((p,u)=>u).filter(p=>l(n[p]));if(f.length===0){let p=[...new Set(n.flatMap(u=>j(u,s)))];o.push(`${d}: expected ${p.join(" or ")}, got ${C(i)} ${m(i)}`);return}let h=C(i)==="object"?i:void 0,c=h&&Ce(f.map(p=>n[p]),h,s);if(h&&c!==void 0){let p=h[c],u=f.filter(g=>P(n[g],c,s).includes(p));if(u.length===0){let g=new Set(f.flatMap(ge=>P(n[ge],c,s)));o.push(`${r}/${c}: must be one of ${ce([...g])}; got ${m(p)}`);return}f=u}if(f.length===1){o.push(...e[f[0]]);return}let me=p=>p.startsWith(`${d}: `)?p.slice(d.length+2):p;o.push(`${d}: matches none of the ${f.length} forms it could take:
|
|
422
|
+
${f.map((p,u)=>` ${u+1}. ${e[p].map(me).join("; ")}`).join(`
|
|
423
|
+
`)}`)}function j(t,e){return typeof t.$ref=="string"?j(e[t.$ref.slice(8)],e):t.type!==void 0?Array.isArray(t.type)?t.type:[t.type]:[]}function y(t,e,i,r){let a=i||"(input)",s=o=>{r.errors.push(`${a}: ${o}`)};if(typeof t.$ref=="string"){let o=t.$ref.slice(8),d=r.errors.length,n=y(r.defs[o],e,i,r),l=pe[o];return r.errors.length>d||!l?n:o==="Bytes"&&!ke.test(e)?s("is not valid base64"):o==="DateTime"&&!(Se.test(e)&&!Number.isNaN(Date.parse(e)))?s('is not an RFC 3339 date-time such as "2026-10-08T09:30:00Z"'):r.presentation?l(r.presentation,e):e}if(Array.isArray(t.anyOf)){let o=ue(t,r.defs),d=o.map(l=>{let f={defs:r.defs,errors:[]};return y(l,e,i,f),f.errors}),n=d.findIndex(l=>l.length===0);return n>=0?y(o[n],e,i,r):ve(o,d,e,i,r)}if(t.type!==void 0){let o=Array.isArray(t.type)?t.type:[t.type];if(!o.some(d=>G(e,d)))return s(`expected ${o.join(" or ")}, got ${C(e)} ${m(e)}`)}return"const"in t&&e!==t.const?s(`must be ${JSON.stringify(t.const)}, got ${m(e)}`):Array.isArray(t.enum)&&!t.enum.includes(e)?s(`must be one of ${ce(t.enum)}; got ${m(e)}`):typeof e=="string"&&typeof t.pattern=="string"&&!new RegExp(t.pattern,"u").test(e)?s(`${m(e)} does not match the pattern ${t.pattern}`):typeof e=="number"&&typeof t.minimum=="number"&&e<t.minimum?s(`must be at least ${t.minimum}, got ${e}`):Array.isArray(e)?Me(t,e,i,r):e!==null&&typeof e=="object"?Le(t,e,i,r):e}function Me(t,e,i,r){let a=i||"(input)";typeof t.minItems=="number"&&e.length<t.minItems&&r.errors.push(`${a}: needs at least ${t.minItems} items, got ${e.length}`),typeof t.maxItems=="number"&&e.length>t.maxItems&&r.errors.push(`${a}: takes at most ${t.maxItems} items, got ${e.length}`);let s=t.prefixItems??[];return e.map((o,d)=>{let n=s[d]??t.items;return n?y(n,o,`${i}/${d}`,r):o})}function Le(t,e,i,r){let a=i||"(input)",s=t.properties??{},o=(t.required??[]).filter(n=>!(n in e));o.length>0&&r.errors.push(`${a}: missing required ${o.map(n=>JSON.stringify(n)).join(", ")}`);let d={};for(let[n,l]of Object.entries(e)){let f=`${i}/${n.replace(/~/g,"~0").replace(/\//g,"~1")}`,h=s[n];if(h)d[n]=y(h,l,f,r);else if(t.additionalProperties===!1){let c=Object.keys(s);r.errors.push(`${a}: unknown property ${JSON.stringify(n)}${c.length>0?` (allowed: ${c.join(", ")})`:""}`)}else t.additionalProperties&&typeof t.additionalProperties=="object"?d[n]=y(t.additionalProperties,l,f,r):d[n]=l}return d}function x(t,e,i,r){if(e==null)return null;if(typeof t.$ref=="string"){let a=t.$ref.slice(8),s=fe[a];return s?s(r,e):x(i[a],e,i,r)}if(Array.isArray(t.anyOf)){let a=t.anyOf.find(s=>he(s,e,i));return a?x(a,e,i,r):e}if(Array.isArray(e))return e.map(a=>x(t.items??{},a,i,r));if(typeof e=="object"){let a=t.properties??{};return Object.fromEntries(Object.entries(e).map(([s,o])=>[s,x(a[s]??{},o,i,r)]))}return e}function he(t,e,i){if(typeof t.$ref=="string"){let r=t.$ref.slice(8);return r in fe?typeof e=="object":he(i[r],e,i)}return(Array.isArray(t.type)?t.type:[t.type]).some(r=>G(e,r))}var oe={type:"object",properties:{slide:{$ref:`${xe}SlideRef`}},required:["slide"],additionalProperties:!1,$defs:{SlideRef:de.refs.SlideRef}},ne={type:"object",properties:{},additionalProperties:!1};function we(t,e){let i=J(t,e),r={shape:{...w(t,e)},kind:M(e)?"table":W(e)?"chart":_(e),placeholder:Y(e),bounds:i&&{x:i.x,y:i.y,w:i.w,h:i.h}};if(M(e)){let{rows:a,cols:s}=H(e);r.cells=Array.from({length:a},(o,d)=>Array.from({length:s},(n,l)=>N(L(e,d,l))))}else z(e)&&(r.text=K(e));return r}var Te=[{name:"listSlides",description:`Lists the slides in order: each slide's ref (its part name, which other tools take as "slide"), 0-based index, title, layout ref and whether it is hidden.`,input_schema:ne,read:t=>ie(t).map((e,i)=>{let r=Q(e);return{slide:$(e),index:i,title:U(e),layout:r&&S(r),hidden:se(e)}})},{name:"listShapes",description:`Lists the shapes on a slide, back to front: each shape's ref (which other tools take as "shape", or with "row" and "col" added as a table "cell"), its kind, placeholder type, bounds and text (for a table, the text of every cell). Bounds are in EMU: 914400 per inch, 360000 per cm, 12700 per point.`,input_schema:oe,read:(t,e)=>Z(e.slide).map(i=>we(t,i))},{name:"listLayouts",description:"Lists the slide layouts: each layout's ref (its part name, which other tools take as a layout), name, type and the part name of its slide master.",input_schema:ne,read:t=>q(t).map(e=>({layout:S(e),name:V(e),type:B(e),master:X(e)}))},{name:"listComments",description:`Lists the comments on a slide: each comment's ref (which other tools take as "comment"), author, text and status. Positions change when a comment is removed; list again after removing one.`,input_schema:oe,read:(t,e)=>b(e.slide).map((i,r)=>({comment:{slide:$(e.slide),index:r},author:A(i).name,text:k(i),status:E(i)}))}],ye=new Map([...de.tools,...Te].map(t=>[t.name,t])),Pe=[...ye.values()].map(({name:t,description:e,input_schema:i})=>({name:t,description:e,input_schema:i})).sort((t,e)=>t.name.localeCompare(e.name));function le(t){return t.$defs??{}}async function je(t,e,i){let r=ye.get(e);if(!r)throw new Error(`There is no tool ${JSON.stringify(e)}. Call one of the tools listed.`);let a=le(r.input_schema),s={defs:a,errors:[]};if(y(r.input_schema,i,"",s),s.errors.length>0)throw new Error(`Invalid input for ${e}:
|
|
424
|
+
${s.errors.map(l=>`- ${l}`).join(`
|
|
425
|
+
`)}`);let o=l=>y(r.input_schema,i,"",{defs:a,errors:[],presentation:l});if("read"in r){let l=t.presentation();return r.read(l,o(l))}let d=$e[e];if(typeof d!="function")throw new Error(`@office-kit/pptx has no function ${e}.`);let n=null;return await t.apply(e,l=>{let f=o(l),h=d(...r.args.map(c=>c?f[c]:l));n=x(r.output,h,le(r.output),l)}),n}export{Pe as editorTools,je as runTool};
|