@office-kit/pptx-dev 0.14.1 → 0.14.2

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.
@@ -1,4 +1,4 @@
1
- import{A,Ad as te,B as k,C as v,Cd as ie,D as V,Dd as re,Ea as z,F as I,Gf as ne,Ib as _,Ka as L,Mf as T,N as B,O as S,P as q,S as F,T as W,Wa as U,ac as X,ad as Y,fd as K,nd as J,qd as Z,ra as H,sa as N,u as x,ue as se,wd as Q,we as ae,xa as M,xe as $,ya as w,yd as ee,ye as oe}from"./chunk-V5NA7C6E.js";var le=Object.defineProperty,ke=(t,e)=>{let i={};for(var r in t)le(i,r,{get:t[r],enumerable:!0});return e||le(i,Symbol.toStringTag,{value:"Module"}),i},fe={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:
1
+ import{A,Ad as te,B as k,C as v,Cd as ie,D as V,Dd as re,Ea as z,F as I,Gf as ne,Ib as _,Ka as L,Mf as T,N as B,O as S,P as q,S as F,T as W,Wa as U,ac as X,ad as Y,fd as K,nd as J,qd as Z,ra as H,sa as N,u as x,ue as se,wd as Q,we as ae,xa as M,xe as $,ya as w,yd as ee,ye as oe}from"./chunk-IWBYSWUN.js";var le=Object.defineProperty,ke=(t,e)=>{let i={};for(var r in t)le(i,r,{get:t[r],enumerable:!0});return e||le(i,Symbol.toStringTag,{value:"Module"}),i},fe={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
2
 
3
3
  1. The layout with \`<p:sldLayout type="blank">\`, if present.
4
4
  2. Otherwise, the first available layout (alphabetical by
@@ -317,7 +317,7 @@ is a target. Each target must have a corresponding range.
317
317
  Pass \`{ sources }\` to concatenate complete paragraph sequences in order,
318
318
  preserving fields, paragraph properties and relationships across slides.
319
319
  A single target with \`{ source, ranges }\` concatenates those ranges in order.
320
- 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
320
+ 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. Unlike `setShapeText`, a newline (`\\n` or `\\r\\n`) does not\nstart a paragraph: it is written as a line break (`<a:br>`) between runs of\nthe same format, since a raw newline inside `<a:t>` reads as a paragraph\nbreak in some apps and as a line break in others."},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
321
321
  from each corresponding edge (1 = 100%). Four 0.5 insets describe
322
322
  a point at the center; left/top 1 and right/bottom 0 describe the
323
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\"/>`."},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).
@@ -398,7 +398,7 @@ starts. A slide without a transition gets one with no effect, which is how
398
398
  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
399
399
  cell; otherwise offsets are UTF-16 positions in getTableCellText, with an
400
400
  exclusive end. Formatting and links outside the range are preserved.
401
- 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
401
+ 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. Unlike `setShapeText`, a newline (`\\n` or `\\r\\n`) does not\nstart a paragraph: it is written as a line break (`<a:br>`) between runs of\nthe same format, since a raw newline inside `<a:t>` reads as a paragraph\nbreak in some apps and as a line break in others."},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
402
402
  from each corresponding edge (1 = 100%). Four 0.5 insets describe
403
403
  a point at the center; left/top 1 and right/bottom 0 describe the
404
404
  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).