Files
wehub-resource-sync 8cb1f9f479
Publish SDK (PyPI) / publish (push) Has been cancelled
Publish SDK (npm) / publish (@aionui/officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (windows-latest) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/officecli-sdk) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/sdk) (push) Has been cancelled
Publish SDK (npm) / publish (officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (macos-latest) (push) Has been cancelled
SDK smoke / smoke (ubuntu-latest) (push) Has been cancelled
Skill parity / diff (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:09:29 +08:00

152 lines
4.0 KiB
JSON

{
"$schema": "../_schema.json",
"format": "xlsx",
"element": "shape",
"elementAliases": ["textbox"],
"parent": "sheet",
"operations": {
"add": true,
"set": true,
"get": true,
"query": true,
"remove": true
},
"paths": {
"positional": [
"/SheetName/shape[N]"
]
},
"note": "Aliases: textbox. Anchor: 'anchor=B2:F7' (cell range) or x/y/width/height in cell units. 'ref=B2' expands to a 1x1 cell rectangle. Font/text props accept either bare ('size', 'bold', 'color', 'font') or dotted ('font.size', 'font.bold', 'font.color', 'font.name') forms.",
"extends": "_shared/shape",
"properties": {
"anchor": {
"type": "string",
"description": "cell range anchor (e.g. B2:F7) — Add-only. Set uses x/y/width/height; Get readback emits x/y/width/height instead of cell-range form (round-trip via numeric position, not anchor string).",
"aliases": [
"ref"
],
"add": true,
"set": false,
"get": false,
"examples": [
"--prop anchor=B2:F7"
],
"readback": "x/y/width/height (numeric)",
"enforcement": "report"
},
"gradientFill": {
"type": "string",
"description": "Two/three-stop linear gradient, e.g. 'C1-C2[-C3][:angle]'. Mutually exclusive with fill (gradientFill wins).",
"add": true,
"set": false,
"examples": [
"--prop gradientFill=FF0000-0000FF:90"
],
"enforcement": "report"
},
"geometry": {
"type": "string",
"description": "geometry preset name (rect, ellipse, roundRect, triangle, rightArrow, etc.). Unknown presets fall back to rect with a stderr warning. Set replaces the existing PresetGeometry preserving fill/line/effects.",
"aliases": [
"preset",
"shape"
],
"add": true,
"set": true,
"get": true,
"examples": [
"--prop geometry=ellipse"
],
"enforcement": "report"
},
"flip": {
"type": "string",
"description": "Compact flip token: 'h' / 'v' / 'both' / 'hv' / 'vh' / 'none'.",
"add": true,
"set": true,
"examples": [
"--prop flip=h",
"--prop flip=both"
],
"enforcement": "report"
},
"flipBoth": {
"type": "bool",
"description": "Flip both axes.",
"add": true,
"set": true,
"examples": [
"--prop flipBoth=true"
],
"enforcement": "report"
},
"x": {
"type": "length",
"description": "x as TwoCellAnchor column/row index. xlsx cell-anchor positioning, integer.",
"aliases": [
"left"
],
"add": true,
"set": true,
"get": true,
"examples": [
"--prop x=2",
"--prop x=2cm",
"--prop x=1in",
"--prop x=72pt"
],
"readback": "integer column/row index",
"enforcement": "strict"
},
"y": {
"type": "string",
"description": "y as TwoCellAnchor column/row index. xlsx cell-anchor positioning, integer.",
"add": true,
"set": true,
"get": true,
"examples": [
"--prop y=3",
"--prop y=3cm"
],
"enforcement": "report",
"aliases": [
"top"
],
"readback": "integer column/row index"
},
"width": {
"type": "string",
"description": "width as TwoCellAnchor column/row index. xlsx cell-anchor positioning, integer.",
"add": true,
"set": true,
"get": true,
"aliases": [
"w"
],
"examples": [
"--prop width=4",
"--prop width=6cm",
"--prop width=5cm"
],
"enforcement": "report",
"readback": "integer column/row index"
},
"height": {
"type": "string",
"description": "height as TwoCellAnchor column/row index. xlsx cell-anchor positioning, integer.",
"add": true,
"set": true,
"get": true,
"aliases": [
"h"
],
"examples": [
"--prop height=3",
"--prop height=3cm"
],
"enforcement": "report",
"readback": "integer column/row index"
}
}
}