ooxml-ui 1.25.0 → 1.26.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 +82 -19
- package/custom-elements.json +321 -1
- package/dist/bindings/bind-element.d.ts +29 -0
- package/dist/bindings/contract.d.ts +115 -0
- package/dist/bindings/equality.d.ts +9 -0
- package/dist/bindings/handle.d.ts +33 -0
- package/dist/bindings/index.d.ts +6 -0
- package/dist/bindings/react.d.ts +21 -0
- package/dist/bindings/react.js +39 -0
- package/dist/bindings/solid.d.ts +14 -0
- package/dist/bindings/solid.js +27 -0
- package/dist/bindings/src-loader.d.ts +14 -0
- package/dist/bindings/tracker.d.ts +14 -0
- package/dist/bindings/vue.d.ts +35 -0
- package/dist/bindings/vue.js +65 -0
- package/dist/bindings.js +3 -0
- package/dist/chart/data-sheet-keys.d.ts +38 -0
- package/dist/chart/data-sheet-keys.d.ts.map +1 -0
- package/dist/chart/data-sheet-labels.d.ts +36 -0
- package/dist/chart/data-sheet-labels.d.ts.map +1 -0
- package/dist/chart/data-sheet.d.ts +68 -0
- package/dist/chart/data-sheet.d.ts.map +1 -0
- package/dist/chart/design-galleries.d.ts +52 -0
- package/dist/chart/design-galleries.d.ts.map +1 -0
- package/dist/chart/format-pane-3d.d.ts +7 -0
- package/dist/chart/format-pane-3d.d.ts.map +1 -0
- package/dist/chart/format-pane-api.d.ts +17 -0
- package/dist/chart/format-pane-api.d.ts.map +1 -0
- package/dist/chart/format-pane-axis.d.ts +5 -0
- package/dist/chart/format-pane-axis.d.ts.map +1 -0
- package/dist/chart/format-pane-common.d.ts +23 -0
- package/dist/chart/format-pane-common.d.ts.map +1 -0
- package/dist/{pptx/render/chart-format/chart-format-pane-effects.d.ts → chart/format-pane-effects.d.ts} +5 -11
- package/dist/chart/format-pane-effects.d.ts.map +1 -0
- package/dist/chart/format-pane-fields.d.ts +29 -0
- package/dist/chart/format-pane-fields.d.ts.map +1 -0
- package/dist/chart/format-pane-fill-kinds.d.ts +16 -0
- package/dist/chart/format-pane-fill-kinds.d.ts.map +1 -0
- package/dist/chart/format-pane-fill-line.d.ts +13 -0
- package/dist/chart/format-pane-fill-line.d.ts.map +1 -0
- package/dist/chart/format-pane-fixture.test-util.d.ts +3 -0
- package/dist/chart/format-pane-intent.d.ts +24 -0
- package/dist/chart/format-pane-intent.d.ts.map +1 -0
- package/dist/chart/format-pane-locales/de.d.ts +3 -0
- package/dist/chart/format-pane-locales/de.d.ts.map +1 -0
- package/dist/chart/format-pane-locales/en.d.ts +3 -0
- package/dist/chart/format-pane-locales/en.d.ts.map +1 -0
- package/dist/chart/format-pane-locales/es.d.ts +3 -0
- package/dist/chart/format-pane-locales/es.d.ts.map +1 -0
- package/dist/chart/format-pane-locales/fr.d.ts +3 -0
- package/dist/chart/format-pane-locales/fr.d.ts.map +1 -0
- package/dist/chart/format-pane-locales/index.d.ts +7 -0
- package/dist/chart/format-pane-locales/index.d.ts.map +1 -0
- package/dist/chart/format-pane-locales/zh-CN.d.ts +3 -0
- package/dist/chart/format-pane-locales/zh-CN.d.ts.map +1 -0
- package/dist/chart/format-pane-model.d.ts +23 -0
- package/dist/chart/format-pane-model.d.ts.map +1 -0
- package/dist/chart/format-pane-options.d.ts +14 -0
- package/dist/chart/format-pane-options.d.ts.map +1 -0
- package/dist/chart/format-pane-space.d.ts +21 -0
- package/dist/chart/format-pane-space.d.ts.map +1 -0
- package/dist/chart/format-pane-targets.d.ts +25 -0
- package/dist/chart/format-pane-targets.d.ts.map +1 -0
- package/dist/chart/format-pane-text.d.ts +7 -0
- package/dist/chart/format-pane-text.d.ts.map +1 -0
- package/dist/chart/format-pane-translate.d.ts +10 -0
- package/dist/chart/format-pane-translate.d.ts.map +1 -0
- package/dist/chart/format-pane-types.d.ts +118 -0
- package/dist/chart/format-pane-types.d.ts.map +1 -0
- package/dist/chart/format-pane-view.d.ts +212 -0
- package/dist/chart/format-pane-view.d.ts.map +1 -0
- package/dist/chart/format-pane.d.ts +128 -0
- package/dist/chart/format-pane.d.ts.map +1 -0
- package/dist/chart/gallery-tiles.d.ts +23 -0
- package/dist/chart/gallery-tiles.d.ts.map +1 -0
- package/dist/chart-format-locales.js +1 -0
- package/dist/chunk-CDAXY5KC.js +118 -0
- package/dist/chunk-FN7IF6M6.js +25 -0
- package/dist/{chunk-X5XR45BK.js → chunk-HGLCXNCT.js} +50 -24
- package/dist/chunk-KJMAVPQB.js +53 -0
- package/dist/{chunk-S736N64L.js → chunk-KSOHDEUI.js} +1 -1
- package/dist/chunk-NDUD5JJB.js +79 -0
- package/dist/chunk-P4FRKIPE.js +953 -0
- package/dist/chunk-VM6ZTKB3.js +1134 -0
- package/dist/{chunk-SC44SOIS.js → chunk-WDOWQKKC.js} +2601 -275
- package/dist/{chunk-5ZFOSFCK.js → chunk-WH3EGA3S.js} +9 -3
- package/dist/controls.d.ts +7 -2
- package/dist/controls.d.ts.map +1 -1
- package/dist/controls.js +3 -1
- package/dist/dialog/dialog.d.ts +6 -0
- package/dist/dialog/dialog.d.ts.map +1 -1
- package/dist/docx/chart-commands.d.ts +22 -0
- package/dist/docx/chart-design-ribbon.d.ts +4 -0
- package/dist/docx/chart-dialogs.d.ts +11 -0
- package/dist/docx/chart-format-pane.d.ts +22 -0
- package/dist/docx/context-menu-items.d.ts +2 -0
- package/dist/docx/editor-core.d.ts +3 -0
- package/dist/docx/format-dialogs.d.ts +4 -2
- package/dist/docx/image-media.d.ts +9 -1
- package/dist/docx/insert-controller.d.ts +5 -0
- package/dist/docx/locales/charts.d.ts +51 -0
- package/dist/docx/locales/en.d.ts +113 -0
- package/dist/docx/locales/smartart.d.ts +77 -0
- package/dist/docx/localization-strings.d.ts +113 -0
- package/dist/docx/resize-handle.d.ts +23 -0
- package/dist/docx/ribbon-action.d.ts +15 -0
- package/dist/docx/ribbon-icons.d.ts +13 -0
- package/dist/docx/smartart-commands.d.ts +26 -0
- package/dist/docx/smartart-controller.d.ts +35 -0
- package/dist/docx/smartart-design-ribbon.d.ts +7 -0
- package/dist/docx/smartart-dialog.d.ts +12 -0
- package/dist/docx/smartart-node-view.d.ts +6 -3
- package/dist/docx.js +1664 -542
- package/dist/form/color-grid.d.ts +8 -1
- package/dist/form/color-grid.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +10 -5
- package/dist/pptx/ai/bridge-factory.d.ts +77 -0
- package/dist/pptx/ai/bridge-factory.d.ts.map +1 -0
- package/dist/pptx/ai/index.cjs +443 -164
- package/dist/pptx/ai/index.d.ts +4 -0
- package/dist/pptx/ai/index.d.ts.map +1 -1
- package/dist/pptx/ai/index.mjs +437 -165
- package/dist/pptx/ai/panel-controller.d.ts +104 -0
- package/dist/pptx/ai/panel-controller.d.ts.map +1 -0
- package/dist/pptx/{chart-3d-view-scene-RYL7F65H.cjs → chart-3d-view-scene-N7UQOYFI.cjs} +38 -38
- package/dist/pptx/{chart-3d-view-scene-CDIMM5T3.mjs → chart-3d-view-scene-ZUGA3DKM.mjs} +2 -2
- package/dist/pptx/{chunk-PIIYTRLE.mjs → chunk-34LEUH5R.mjs} +1 -1
- package/dist/pptx/{chunk-G3UVZ5FO.cjs → chunk-6KLPQQYP.cjs} +1 -0
- package/dist/pptx/{chunk-SCURBCNQ.mjs → chunk-AMW2AR7J.mjs} +1 -1
- package/dist/pptx/chunk-CWHK7HF4.mjs +751 -0
- package/dist/pptx/{chunk-J642EKDV.cjs → chunk-FM4C4MBJ.cjs} +1 -1
- package/dist/pptx/{chunk-LCB46TH2.cjs → chunk-H5IPNKX6.cjs} +12 -12
- package/dist/pptx/{chunk-4TFSELNQ.cjs → chunk-HAO5PKWK.cjs} +7671 -4138
- package/dist/pptx/{chunk-QTLP3MX7.mjs → chunk-IWUIGVWT.mjs} +7468 -3993
- package/dist/pptx/{chunk-ZNXKAINY.mjs → chunk-LB3A3GF6.mjs} +1150 -222
- package/dist/pptx/chunk-LUDEAPHZ.cjs +776 -0
- package/dist/pptx/{chunk-A2X5BP7J.cjs → chunk-OOQMIQT3.cjs} +1151 -221
- package/dist/pptx/chunk-WM5SW737.mjs +27 -0
- package/dist/pptx/{chunk-73OUATE4.mjs → chunk-WQA3KZRB.mjs} +1 -1
- package/dist/pptx/chunk-Y6DO6SVT.cjs +29 -0
- package/dist/pptx/dom/index.cjs +503 -1123
- package/dist/pptx/dom/index.d.ts +1 -0
- package/dist/pptx/dom/index.d.ts.map +1 -1
- package/dist/pptx/dom/index.mjs +12 -704
- package/dist/pptx/dom/smartart-insert-preview.d.ts +15 -0
- package/dist/pptx/dom/smartart-insert-preview.d.ts.map +1 -0
- package/dist/pptx/export/html2canvas-clone.cjs +4 -4
- package/dist/pptx/export/html2canvas-clone.mjs +1 -1
- package/dist/pptx/i18n/index.cjs +6 -6
- package/dist/pptx/i18n/index.mjs +1 -1
- package/dist/pptx/i18n/translations-en-chart-format.d.ts.map +1 -1
- package/dist/pptx/i18n/translations-en-galleries.d.ts.map +1 -1
- package/dist/pptx/i18n/translations-en.d.ts.map +1 -1
- package/dist/pptx/index.cjs +3490 -3249
- package/dist/pptx/index.mjs +6 -5
- package/dist/pptx/render/autosave-inline-draft.d.ts +27 -0
- package/dist/pptx/render/autosave-inline-draft.d.ts.map +1 -0
- package/dist/pptx/render/autosave-policy.d.ts +6 -7
- package/dist/pptx/render/autosave-policy.d.ts.map +1 -1
- package/dist/pptx/render/autosave-tick.d.ts +6 -0
- package/dist/pptx/render/autosave-tick.d.ts.map +1 -1
- package/dist/pptx/render/chart-combo-stock.cjs +3 -3
- package/dist/pptx/render/chart-combo-stock.mjs +1 -1
- package/dist/pptx/render/chart-format/chart-format-pane-edit.d.ts +10 -2
- package/dist/pptx/render/chart-format/chart-format-pane-edit.d.ts.map +1 -1
- package/dist/pptx/render/chart-format/chart-format-pane-model.d.ts +4 -2
- package/dist/pptx/render/chart-format/chart-format-pane-model.d.ts.map +1 -1
- package/dist/pptx/render/chart-format/chart-format-pane-types.d.ts +4 -91
- package/dist/pptx/render/chart-format/chart-format-pane-types.d.ts.map +1 -1
- package/dist/pptx/render/chart-format/chart-format-source.d.ts +14 -0
- package/dist/pptx/render/chart-format/chart-format-source.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-targets.d.ts +16 -19
- package/dist/pptx/render/chart-format/chart-format-targets.d.ts.map +1 -1
- package/dist/pptx/render/chart-format/index.d.ts +2 -1
- package/dist/pptx/render/chart-format/index.d.ts.map +1 -1
- package/dist/pptx/render/chart-overlays.cjs +7 -7
- package/dist/pptx/render/chart-overlays.mjs +1 -1
- package/dist/pptx/render/chart-quick-action-styles.d.ts +4 -1
- package/dist/pptx/render/chart-quick-action-styles.d.ts.map +1 -1
- package/dist/pptx/render/chart-surface-treemap.cjs +4 -4
- package/dist/pptx/render/chart-surface-treemap.mjs +1 -1
- package/dist/pptx/render/chart-view-model.cjs +44 -44
- package/dist/pptx/render/chart-view-model.mjs +1 -1
- package/dist/pptx/render/chart-waterfall-map.cjs +6 -6
- package/dist/pptx/render/chart-waterfall-map.mjs +1 -1
- package/dist/pptx/render/collaboration-provider.d.ts +80 -0
- package/dist/pptx/render/collaboration-provider.d.ts.map +1 -0
- package/dist/pptx/render/collaboration-yjs-session.d.ts +48 -0
- package/dist/pptx/render/collaboration-yjs-session.d.ts.map +1 -0
- package/dist/pptx/render/controller/autosave-controller.d.ts +133 -0
- package/dist/pptx/render/controller/autosave-controller.d.ts.map +1 -0
- package/dist/pptx/render/controller/autosave-recovery-controller.d.ts +68 -0
- package/dist/pptx/render/controller/autosave-recovery-controller.d.ts.map +1 -0
- package/dist/pptx/render/controller/collaboration-session-controller.d.ts +89 -0
- package/dist/pptx/render/controller/collaboration-session-controller.d.ts.map +1 -0
- package/dist/pptx/render/controller/controller.d.ts +44 -0
- package/dist/pptx/render/controller/controller.d.ts.map +1 -0
- package/dist/pptx/render/controller/history-controller.d.ts +54 -0
- package/dist/pptx/render/controller/history-controller.d.ts.map +1 -0
- package/dist/pptx/render/controller/index.d.ts +17 -0
- package/dist/pptx/render/controller/index.d.ts.map +1 -0
- package/dist/pptx/render/customization/ribbon-control-catalog-tail.d.ts +2 -0
- package/dist/pptx/render/customization/ribbon-control-catalog-tail.d.ts.map +1 -1
- package/dist/pptx/render/customization/ribbon-control-catalog.d.ts +2 -0
- package/dist/pptx/render/customization/ribbon-control-catalog.d.ts.map +1 -1
- package/dist/pptx/render/editor-gesture-frames.d.ts +59 -0
- package/dist/pptx/render/editor-gesture-frames.d.ts.map +1 -0
- package/dist/pptx/render/editor-gestures.d.ts +39 -38
- package/dist/pptx/render/editor-gestures.d.ts.map +1 -1
- package/dist/pptx/render/editor-history.d.ts +1 -1
- package/dist/pptx/render/editor-history.d.ts.map +1 -1
- package/dist/pptx/render/editor-key-dispatch.d.ts +68 -0
- package/dist/pptx/render/editor-key-dispatch.d.ts.map +1 -0
- package/dist/pptx/render/effects-helpers.d.ts +8 -1
- package/dist/pptx/render/effects-helpers.d.ts.map +1 -1
- package/dist/pptx/render/effects-shadow-helpers.d.ts +7 -0
- package/dist/pptx/render/effects-shadow-helpers.d.ts.map +1 -1
- package/dist/pptx/render/group-press-target.d.ts +37 -0
- package/dist/pptx/render/group-press-target.d.ts.map +1 -0
- package/dist/pptx/render/index.d.ts +12 -0
- package/dist/pptx/render/index.d.ts.map +1 -1
- package/dist/pptx/render/insert-chart-preview.d.ts +15 -0
- package/dist/pptx/render/insert-chart-preview.d.ts.map +1 -0
- package/dist/pptx/render/insert-chart.d.ts +21 -1
- package/dist/pptx/render/insert-chart.d.ts.map +1 -1
- package/dist/pptx/render/inspector/element-geometry-fields.d.ts +28 -0
- package/dist/pptx/render/inspector/element-geometry-fields.d.ts.map +1 -0
- package/dist/pptx/render/inspector/index.d.ts +18 -0
- package/dist/pptx/render/inspector/index.d.ts.map +1 -0
- package/dist/pptx/render/inspector/inspector-field-model.d.ts +125 -0
- package/dist/pptx/render/inspector/inspector-field-model.d.ts.map +1 -0
- package/dist/pptx/render/inspector/shape-effect-fields-more.d.ts +8 -0
- package/dist/pptx/render/inspector/shape-effect-fields-more.d.ts.map +1 -0
- package/dist/pptx/render/inspector/shape-effect-fields.d.ts +27 -0
- package/dist/pptx/render/inspector/shape-effect-fields.d.ts.map +1 -0
- package/dist/pptx/render/inspector/shape-effect-sections.d.ts +7 -0
- package/dist/pptx/render/inspector/shape-effect-sections.d.ts.map +1 -0
- package/dist/pptx/render/inspector/shape-line-fields.d.ts +20 -0
- package/dist/pptx/render/inspector/shape-line-fields.d.ts.map +1 -0
- package/dist/pptx/render/inspector/text-box-fields.d.ts +24 -0
- package/dist/pptx/render/inspector/text-box-fields.d.ts.map +1 -0
- package/dist/pptx/render/options/viewer-options-apply.d.ts.map +1 -1
- package/dist/pptx/render/options/viewer-options.d.ts.map +1 -1
- package/dist/pptx/render/presentation-show-step.d.ts +105 -0
- package/dist/pptx/render/presentation-show-step.d.ts.map +1 -0
- package/dist/pptx/render/ribbon-galleries/chart-colors-gallery.d.ts +3 -2
- package/dist/pptx/render/ribbon-galleries/chart-colors-gallery.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/chart-quick-layout-gallery.d.ts +6 -3
- package/dist/pptx/render/ribbon-galleries/chart-quick-layout-gallery.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/chart-styles-gallery.d.ts +2 -1
- package/dist/pptx/render/ribbon-galleries/chart-styles-gallery.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/gallery-placements.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/gallery-types.d.ts +1 -1
- package/dist/pptx/render/ribbon-galleries/gallery-types.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/smartart-colors-gallery.d.ts +0 -8
- package/dist/pptx/render/ribbon-galleries/smartart-colors-gallery.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/smartart-commands.d.ts +1 -1
- package/dist/pptx/render/ribbon-galleries/smartart-commands.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/smartart-gallery-patch.d.ts +4 -2
- package/dist/pptx/render/ribbon-galleries/smartart-gallery-patch.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/smartart-gallery-tiles.d.ts +3 -8
- package/dist/pptx/render/ribbon-galleries/smartart-gallery-tiles.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/smartart-layout-tiles.d.ts +7 -5
- package/dist/pptx/render/ribbon-galleries/smartart-layout-tiles.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/smartart-layouts-gallery.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-insert-state.d.ts +6 -0
- package/dist/pptx/render/ribbon-insert-state.d.ts.map +1 -1
- package/dist/pptx/render/smart-art-presets.d.ts +12 -6
- package/dist/pptx/render/smart-art-presets.d.ts.map +1 -1
- package/dist/pptx/render/smartart-text-pane-model.d.ts +59 -0
- package/dist/pptx/render/smartart-text-pane-model.d.ts.map +1 -0
- package/dist/pptx/render/span-snap-move.d.ts +32 -0
- package/dist/pptx/render/span-snap-move.d.ts.map +1 -0
- package/dist/pptx/render/theme-color-grid.d.ts +17 -0
- package/dist/pptx/render/theme-color-grid.d.ts.map +1 -1
- package/dist/pptx/render/viewer-event-payloads.d.ts +4 -4
- package/dist/pptx/smartart-insert-preview-5ZTZYAZR.cjs +48 -0
- package/dist/pptx/smartart-insert-preview-HMSNUWDO.mjs +39 -0
- package/dist/pptx/web-components/chart-data-sheet.d.ts +47 -0
- package/dist/pptx/web-components/chart-data-sheet.d.ts.map +1 -0
- package/dist/pptx/web-components/chart-format-pane.d.ts +7 -5
- package/dist/pptx/web-components/chart-format-pane.d.ts.map +1 -1
- package/dist/pptx/web-components/host-styles.d.ts.map +1 -1
- package/dist/pptx/web-components/index.d.ts +6 -0
- package/dist/pptx/web-components/index.d.ts.map +1 -1
- package/dist/pptx/web-components/insert-chart-dialog.d.ts +25 -0
- package/dist/pptx/web-components/insert-chart-dialog.d.ts.map +1 -0
- package/dist/pptx/web-components/insert-dialog-frame.d.ts +25 -0
- package/dist/pptx/web-components/insert-dialog-frame.d.ts.map +1 -0
- package/dist/pptx/web-components/insert-smartart-dialog.d.ts +26 -0
- package/dist/pptx/web-components/insert-smartart-dialog.d.ts.map +1 -0
- package/dist/pptx/web-components/mobile-insert.d.ts.map +1 -1
- package/dist/pptx/web-components/office-token-bridge.d.ts +1 -1
- package/dist/pptx/web-components/office-token-bridge.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-insert-view.d.ts.map +1 -1
- package/dist/pptx/web-components/smartart-text-pane.d.ts +38 -0
- package/dist/pptx/web-components/smartart-text-pane.d.ts.map +1 -0
- package/dist/smartart/galleries.d.ts +17 -0
- package/dist/smartart/smartart-picker.d.ts +97 -0
- package/dist/smartart/smartart-picker.d.ts.map +1 -0
- package/dist/smartart/smartart-text-pane-tools.d.ts +51 -0
- package/dist/smartart/smartart-text-pane-tools.d.ts.map +1 -0
- package/dist/smartart/smartart-text-pane.d.ts +121 -0
- package/dist/smartart/smartart-text-pane.d.ts.map +1 -0
- package/dist/smartart/text-pane-controller.d.ts +51 -0
- package/dist/smartart/tiles.d.ts +17 -0
- package/dist/smartart/tiles.d.ts.map +1 -0
- package/dist/smartart.d.ts +5 -0
- package/dist/smartart.js +2 -1
- package/dist/teams/app/bind.d.ts +30 -0
- package/dist/teams/app/index.d.ts +1 -1
- package/dist/teams.js +7 -2
- package/dist/visio/ribbon-action.d.ts +5 -2
- package/dist/visio/viewer-chart-editor.d.ts +38 -0
- package/dist/visio/viewer-insert.d.ts +7 -2
- package/dist/visio.js +197 -17
- package/dist/xlsx/chart-format-pane.d.ts +10 -0
- package/dist/xlsx/chart-format-source.d.ts +17 -0
- package/dist/xlsx/commands/chart-design.d.ts +55 -0
- package/dist/xlsx/dialogs/insert-smartart.d.ts +4 -0
- package/dist/xlsx/grid/smartart.d.ts +4 -1
- package/dist/xlsx/ribbon/tabs/contextual.d.ts +6 -0
- package/dist/xlsx/smartart-controller.d.ts +14 -0
- package/dist/xlsx.js +789 -468
- package/package.json +47 -4
- package/dist/chunk-QBXYGKPB.js +0 -224
- package/dist/pptx/render/chart-format/chart-format-pane-3d.d.ts +0 -13
- package/dist/pptx/render/chart-format/chart-format-pane-3d.d.ts.map +0 -1
- package/dist/pptx/render/chart-format/chart-format-pane-axis.d.ts +0 -12
- package/dist/pptx/render/chart-format/chart-format-pane-axis.d.ts.map +0 -1
- package/dist/pptx/render/chart-format/chart-format-pane-common.d.ts +0 -14
- package/dist/pptx/render/chart-format/chart-format-pane-common.d.ts.map +0 -1
- package/dist/pptx/render/chart-format/chart-format-pane-effects.d.ts.map +0 -1
- package/dist/pptx/render/chart-format/chart-format-pane-fill-kinds.d.ts +0 -15
- package/dist/pptx/render/chart-format/chart-format-pane-fill-kinds.d.ts.map +0 -1
- package/dist/pptx/render/chart-format/chart-format-pane-fill-line.d.ts +0 -12
- package/dist/pptx/render/chart-format/chart-format-pane-fill-line.d.ts.map +0 -1
- package/dist/pptx/render/chart-format/chart-format-pane-options.d.ts +0 -13
- package/dist/pptx/render/chart-format/chart-format-pane-options.d.ts.map +0 -1
- package/dist/pptx/render/chart-format/chart-format-pane-text.d.ts +0 -14
- package/dist/pptx/render/chart-format/chart-format-pane-text.d.ts.map +0 -1
- package/dist/pptx/render/ribbon-galleries/chart-color-palette-catalog.d.ts +0 -3
- package/dist/pptx/render/ribbon-galleries/chart-color-palette-catalog.d.ts.map +0 -1
- package/dist/pptx/render/ribbon-galleries/chart-gallery-tiles.d.ts +0 -24
- package/dist/pptx/render/ribbon-galleries/chart-gallery-tiles.d.ts.map +0 -1
- package/dist/pptx/render/ribbon-galleries/chart-quick-layout-catalog.d.ts +0 -22
- package/dist/pptx/render/ribbon-galleries/chart-quick-layout-catalog.d.ts.map +0 -1
- package/dist/pptx/web-components/chart-format-pane-fields.d.ts +0 -17
- package/dist/pptx/web-components/chart-format-pane-fields.d.ts.map +0 -1
- package/dist/xlsx/chart-area-pane.d.ts +0 -9
- package/dist/xlsx/chart-series-pane.d.ts +0 -8
- package/dist/xlsx/commands/chart-colors.d.ts +0 -19
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type ChartSpace } from 'ooxml-core/chart';
|
|
2
|
+
import { type OfficeUiChartDataSheet } from '../chart/data-sheet.js';
|
|
3
|
+
import { type OfficeUiChartFormatPane } from '../chart/format-pane.js';
|
|
4
|
+
import { type ChartObjectData, type ChartTarget, type RasterizeSvg } from './viewer-insert-chart.js';
|
|
5
|
+
type Dialog = HTMLElement & {
|
|
6
|
+
open: boolean;
|
|
7
|
+
show(): void;
|
|
8
|
+
close(): void;
|
|
9
|
+
};
|
|
10
|
+
/** Which view the editor opens: the chart's data sheet or its Format pane. */
|
|
11
|
+
export type ChartEditMode = 'data' | 'format';
|
|
12
|
+
/**
|
|
13
|
+
* Edit Data and Format Chart for an embedded chart object (Insert > Chart): the shared
|
|
14
|
+
* `office-ui-chart-data-sheet` and `office-ui-chart-format-pane` over the chart part of the
|
|
15
|
+
* embedded workbook, read as a `ChartSpace`. Data edits go through the data sheet model
|
|
16
|
+
* (`applyChartSpaceDataSheetEdits`), formatting through `applyChartEditIntent`; a live preview
|
|
17
|
+
* draws the edited part. OK writes the workbook again (`writeEmbeddedChartSpace`: the cells and
|
|
18
|
+
* references follow a data edit), draws its metafile preview as the canvas will show it and hands
|
|
19
|
+
* both to `submit`, which replaces the object. Formatting the part does not model (effects, 3-D,
|
|
20
|
+
* text) is kept as it was.
|
|
21
|
+
*/
|
|
22
|
+
export declare class ChartObjectEditor {
|
|
23
|
+
#private;
|
|
24
|
+
readonly dialog: Dialog;
|
|
25
|
+
readonly sheet: OfficeUiChartDataSheet;
|
|
26
|
+
readonly pane: OfficeUiChartFormatPane;
|
|
27
|
+
readonly preview: HTMLElement;
|
|
28
|
+
readonly error: HTMLElement;
|
|
29
|
+
constructor(root: ShadowRoot, submit: (data: ChartObjectData, target: ChartTarget) => Promise<void>, rasterize?: RasterizeSvg);
|
|
30
|
+
/** The edited chart part, while the editor is open. */
|
|
31
|
+
get space(): ChartSpace | undefined;
|
|
32
|
+
/** The chart being edited while the editor is open, so a host can close it if the shape goes. */
|
|
33
|
+
get target(): ChartTarget | undefined;
|
|
34
|
+
/** Open `mode` for the chart object's workbook; false when the workbook holds no chart. */
|
|
35
|
+
open(mode: ChartEditMode, target: ChartTarget, workbook: Uint8Array): Promise<boolean>;
|
|
36
|
+
close(): void;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
@@ -2,6 +2,7 @@ import type { ViewerController, ViewerState } from './controller.js';
|
|
|
2
2
|
import type { VisioInsertItem } from './ribbon-action.js';
|
|
3
3
|
import { InsertDialog } from './viewer-insert-dialog.js';
|
|
4
4
|
import { InsertChartDialog } from './viewer-insert-chart.js';
|
|
5
|
+
import { ChartObjectEditor, type ChartEditMode } from './viewer-chart-editor.js';
|
|
5
6
|
type Run = (action: () => Promise<void>, success: string) => void;
|
|
6
7
|
/**
|
|
7
8
|
* Insert-tab Pictures, Link and ScreenTip, plus Ctrl+click link following. Pictures are read
|
|
@@ -17,11 +18,15 @@ export declare class ViewerInsert {
|
|
|
17
18
|
readonly link: InsertDialog;
|
|
18
19
|
readonly tip: InsertDialog;
|
|
19
20
|
readonly chart: InsertChartDialog;
|
|
21
|
+
readonly chartEditor: ChartObjectEditor;
|
|
20
22
|
constructor(root: ShadowRoot, controller: ViewerController, announce: (message: string) => void, run: Run);
|
|
21
23
|
open(item: VisioInsertItem): void;
|
|
22
24
|
close(): void;
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Open an editor for the embedded chart `shapeId` on this page: the chart dialog (type, title
|
|
27
|
+
* and data grid, as a double-click does), Edit Data or Format Chart. False if it is not one.
|
|
28
|
+
*/
|
|
29
|
+
editChart(shapeId: string, mode?: 'chart' | ChartEditMode): boolean;
|
|
25
30
|
/** Ctrl+click follows a shape's link like Visio; Shift keeps additive selection. */
|
|
26
31
|
wire(viewport: HTMLElement): () => void;
|
|
27
32
|
render(state: ViewerState): void;
|
package/dist/visio.js
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
import { trackPointerPan, ownsCaptureLoss } from './chunk-GSXOZCAN.js';
|
|
2
|
-
import { syncRibbonAddIns, createHostBackstagePages, syncHostMenuChildren, tidyMenuSeparators } from './chunk-
|
|
3
|
-
export { RIBBON_ADD_IN_EVENT } from './chunk-
|
|
2
|
+
import { syncRibbonAddIns, createHostBackstagePages, syncHostMenuChildren, tidyMenuSeparators } from './chunk-KSOHDEUI.js';
|
|
3
|
+
export { RIBBON_ADD_IN_EVENT } from './chunk-KSOHDEUI.js';
|
|
4
4
|
import { themeBridge, installOfficeUiThemeFor, prepareOfficeUiBlock } from './chunk-T5ARELU2.js';
|
|
5
|
-
import { personalizeSection, unavailableCategory, userInterfaceSection, attachKeyTips, registerControls, readOfficeProfile, sanitizeOfficeProfile, writeOfficeProfile, attachRibbonGroupOverflow,
|
|
5
|
+
import { personalizeSection, unavailableCategory, userInterfaceSection, attachKeyTips, registerControls, readOfficeProfile, sanitizeOfficeProfile, writeOfficeProfile, attachRibbonGroupOverflow, defineChartPicker, defineChartDataSheet, defineChartFormatPane, commentInitials } from './chunk-WDOWQKKC.js';
|
|
6
6
|
import { getIcon, registerIcon } from './chunk-M6GF5ED2.js';
|
|
7
|
+
import './chunk-VM6ZTKB3.js';
|
|
7
8
|
import { definePresence } from './chunk-YZH2QS7J.js';
|
|
9
|
+
import { parseSvgPreview } from './chunk-FN7IF6M6.js';
|
|
8
10
|
import './chunk-QLHCGV4C.js';
|
|
9
11
|
import './chunk-XL77FR4B.js';
|
|
10
12
|
import { VISIO_CAPABILITY_COMMANDS, VISIO_TEXT_LANGUAGES, VISIO_BULLET_STYLES, FOREIGN_VECTOR_SCENE_LIMITS, EMPTY_TEXT_SEARCH, EMPTY_SELECTION, EMPTY_EDIT_STATE, assertViewableDocument, snapshotSelection, selectionKey, indexDocumentText, searchDocumentText, sameSelection, validateSearchQuery, MAX_INPUT_BYTES, DocumentHistory, snapshotEdits, visioWithContainerMembers, visioSelectionIsOnPage, visioDuplicateCommand, visioGroupCommand, visioUngroupCommand, visioContainerCommand, visioCalloutCommand, visioPasteCommand, visioTextOccurrenceSelection, ForeignVectorBudget, VISIO_IDENTITY_TRANSFORM, hasVisibleShapeContent, composeVisioTransform, VISIO_CAPABILITY_BACKSTAGE_PAGES, compatibilityNotes, compatibilityText, visioGradientInstances, visioRenderedGradientStopCount, inspectForeignVectorResource, copySnapshotScene, editErrorMessage, eventKeys, isEditCancellation, propertyKeys, VISIO_TEXT_REPLACE_LIMITS, visioTextReplaceOccurrences, visioTextReplacePlan, visioTextReplaceCommands, visioClipboardShape, TEXT_SEARCH_LIMITS, visioSizePositionCommand, visioSizePositionState, visioPageInsertCommand, visioQuarterTurnCommand, visioRotationShape, VISIO_INITIAL_PRESENCE, sanitizeVisioPresence, textSearchStatus, visioSvgStrokeStyle, visioLineDashLengths, visioStencilDropCommand, visioMovementShape, visioMoveCommands, visioMoveTargets, visioMarqueeBox, visioPageDragDelta, visioTextShape, visioTextDraftEdit, isVisioPathTool, visioPathDrawPlan, visioDrawPlan, visioDrawBounds, visioDrawIsLargeEnough, visioConnectorCreationCommand, visioResizeShape, visioResizeDrag, visioConnectorRouteOf, visioPageEditToDrawing, visioNudgeCommands, VISIO_DIAGRAM_RULE_SETS, visioArrangeCommands, visioChangeMasterTargets, visioChangeMasterCommand, visioChangeShapeRefusal, visioChangeShapeCommand, visioChangeCaseShape, visioChangeCaseCommand, visioTextBlockShape, visioTextBlockFrame, visioTextBlockEdit, visioOrderingShape, visioFormatTargetShape, visioFormattingShape, visioTextFormattingState, visioTextIndentCommand, visioTextFontStepCommand, visioFontFamilies, visioChartObjectInsertCommand, visioPictureInsertCommand, normalizeVisioHyperlinkAddress, visioFitToDrawingEdits, VISIO_PAPER_SIZES, visioPageSizePresetEdits, visioOrientationEdits, visioPageDecorationState, visioNewPageId, visioMatchingPaperSize, visioPageBreaks, visioRemoveDataGraphicEdits, visioDataGraphicFields, visioDataGraphicEdits, visioShapeDataRow, VISIO_DATA_GRAPHIC_FILL_ROW, visioColorRules, visioLegendEdits, visioTextDialogValues, visioTextDialogPatch, visioFormatPainterSnapshot, visioFormatPainterEdits, VISIO_FORMAT_PAINTER_LIMITS, visioConnectableShape, visioAddConnectionPointCommand, visioWithCalloutLeaders, visioWithDataGraphics, visioFillPatternTransform, visioRenderedGradientStops, visioStrokeGradient, visioMasterDropRefusal, visioMasterDropSize, visioFileMasterDropCommand, visioMasterDropCommand, visioDrawingPoint, visioMovePreviewTransform, visioMarqueeSelection, visioPathPreview, visioNearestConnectionPoint, VISIO_RESIZE_HANDLES, visioRotationPreviewTransform, visioStraightLineHandles, visioConnectorEndHandles, VISIO_LAYOUT_STYLES, visioShapeFormattingState, visioGlowKey, visioShapeEffectValues, visioReflectionKey, visioFollowTarget, visioPaperSize, visioKeepAutoSize, VISIO_RULER_DENSITY_CHOICES, VISIO_GRID_DENSITY_CHOICES, visioGridSteps, visioRulerGridValues, visioRulerDensityFactor, visioRulerGridEdits, checkVisioDiagram, visioShapeReport, visioShapeReportTable, visioShapeReportCsv, visioShapeReportText, visioSubprocessCommand, visioShapeDataText, VISIO_LAYOUT_LABELS, visioAutoAlignCommands, visioReLayoutCommands, visioLayerAssignState, visioNewLayerNames, visioLayerAssignCommands, VISIO_SELECT_TYPES, VISIO_SELECT_TYPE_LABELS, visioPageMasters, visioSelectByType, visioPasteTextCommand, visioSnapMoveDelta, visioPageGuides, visioAutoConnectShape, visioAutoConnectArrows, visioAutoConnectNeighbor, visioAutoConnectPlan, visioShapePageBox, VISIO_FIELD_CATEGORIES, visioTextAppendEdit, visioTextSource, visioTextBlockMatrix, VISIO_TEXT_BLOCK_HANDLES, visioShapeLocalPoint, visioTextBlockDrag, visioShapeFrame, visioMasterPreviewBox, visioConnectorMovePreviews, visioConnectorPreviewPath, visioGlueableShape, visioDataGraphicMarker, visioParseRange, visioDataTable, visioWorkbookGrid, visioGuideCreateCommand, visioGuideMoveCommand } from 'ooxml-core/visio/ui';
|
|
11
13
|
export { TEXT_SEARCH_LIMITS, VISIO_CAPABILITY_IDS, compatibilityNotes, compatibilityText, demoDocument, eventKeys, propertyKeys } from 'ooxml-core/visio/ui';
|
|
12
14
|
import { VISIO_VISIBILITY_LIMITS, VISIO_BASIC_STENCIL, VISIO_STENCILS, visioOutlineShape, VISIO_SNAP, VISIO_GLUE, VISIO_SHADOW_PRESETS, loadVisio, createVsdx, deserializeVisioClipboard, mergeVisioPages, getVisioPageLayers, resolveVisioPageVisibility, visioLineJumpPaths, VISIO_CLIPBOARD_MAX_CHARS, visioSnapGlue, VISIO_GLOW_TRANSPARENCY, VISIO_METADATA_TEXT_LIMIT, VISIO_PICTURE_MAX_BYTES, inspectVisioRasterImage, visioPageLayout, VISIO_BUILT_IN_THEMES, VISIO_CONNECTOR_ROUTES, visioFilledArrow, layoutVisioFilledArrowLine, visioOpenArrowPath, visioBuiltInStencil, visioBuiltInMaster, isVisioChangeShapeTarget, VISIO_CONTAINER_STYLES, VISIO_CALLOUT_STYLES, visioFallbackQuickStyle, VISIO_GLOW_SIZES, VISIO_SOFT_EDGE_SIZES, VISIO_REFLECTION_PRESETS, encodeBitmapEmf, VISIO_BACKGROUND_STYLES, visioBackgroundShapes, VISIO_BORDER_STYLES, visioBorderShapes, checkVisioAlternativeText, VISIO_SHAPE_DATA_TYPES, visioShapeDataRowName, VISIO_CLIPBOARD_MAGIC, visioThemeVariantColors, visioPageThemeColors, readVisioStencil, VISIO_QUICK_STYLE_COLORS, isVisioBuiltInThemeId, VISIO_SCALE_UNITS } from 'ooxml-core/visio';
|
|
13
|
-
import { renderChartSvg } from 'ooxml-core/xlsx';
|
|
15
|
+
import { renderChartSvg, readEmbeddedChartSpace, writeEmbeddedChartSpace } from 'ooxml-core/xlsx';
|
|
14
16
|
import { resolveRotateHandlePlacement, createRotationDrag, snapAngle } from 'ooxml-core/geometry';
|
|
15
17
|
import { normalizeLocale, interpolate } from 'ooxml-core/i18n';
|
|
16
18
|
import { isCapabilityEnabled, capabilityHiddenActions, recoveryStoreOf, FILE_COMMAND_EVENT, fileCommandDetail, saveToStorage, documentSaveMeta } from 'ooxml-core/embedding';
|
|
17
19
|
import { createWriteBackScheduler, DEFAULT_WRITE_BACK_DEBOUNCE_MS, flushWriteBackOnPageClose, writeBackStateOf } from 'ooxml-core/collab';
|
|
18
20
|
import { INSERT_CHART_TYPES, GROUPED_CHART_TYPES, gridChartSvg, gridChart, parseChartGrid, readEmbeddedChart, chartGridText, gridChartWorkbook } from 'ooxml-core/xlsx/ui';
|
|
21
|
+
import { applyChartSpaceDataSheetEdits, applyChartEditIntent, chartSpaceDataSheet, renderChartSpaceSvg } from 'ooxml-core/chart';
|
|
19
22
|
import { pushRecentColor, normalizePaletteHex } from 'ooxml-core/color';
|
|
20
23
|
|
|
21
24
|
function createWorkerEditor(factory, timeoutMs = 2e4) {
|
|
@@ -3623,7 +3626,7 @@ var text_tool_default = ".viewport[data-tool='text'] {\n cursor: text;\n touch-a
|
|
|
3623
3626
|
var presentation_default = "/* Visio Presentation Mode: the page fitted on a dark backdrop, chrome-free, read only. */\n.presentation {\n position: fixed;\n inset: 0;\n z-index: 2147483000;\n display: grid;\n place-items: center;\n /* Visio presents on a dark backdrop in every theme. */\n background: #111;\n color: rgb(255 255 255 / 0.82);\n outline: none;\n cursor: default;\n}\n.presentation[hidden] {\n display: none;\n}\n.presentation:fullscreen {\n width: 100%;\n height: 100%;\n}\n.presentation-stage {\n position: absolute;\n inset: 2vmin;\n display: grid;\n place-items: center;\n container-type: size;\n}\n.presentation-stage > .paper {\n height: auto;\n max-width: 100%;\n max-height: 100%;\n margin: 0;\n box-shadow: none;\n}\n.presentation-bar {\n position: absolute;\n right: 12px;\n bottom: 12px;\n display: flex;\n align-items: center;\n gap: 2px;\n padding: 2px 4px;\n border-radius: 4px;\n background: rgb(0 0 0 / 0.45);\n font: 12px/1.4 var(--office-font-family, 'Segoe UI', system-ui, sans-serif);\n opacity: 0.35;\n transition: opacity 0.2s;\n}\n.presentation-bar:hover,\n.presentation-bar:focus-within {\n opacity: 1;\n}\n.presentation-bar button {\n display: inline-grid;\n place-items: center;\n width: 26px;\n height: 26px;\n padding: 0;\n border: 0;\n border-radius: 3px;\n background: transparent;\n color: inherit;\n cursor: pointer;\n}\n.presentation-bar button:hover:not(:disabled) {\n background: rgb(255 255 255 / 0.16);\n}\n.presentation-bar button:focus-visible {\n outline: 2px solid currentColor;\n outline-offset: -2px;\n}\n.presentation-bar button:disabled {\n opacity: 0.35;\n cursor: default;\n}\n.presentation-page {\n min-width: 6em;\n max-width: 40vw;\n padding: 0 6px;\n overflow: hidden;\n text-align: center;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n@media (prefers-reduced-motion: reduce) {\n .presentation-bar {\n transition: none;\n }\n}\n";
|
|
3624
3627
|
|
|
3625
3628
|
// raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/visio/styles/insert.css?raw
|
|
3626
|
-
var insert_default = ".link-dialog label,\n.alt-text-dialog label,\n.screen-tip-dialog label {\n display: grid;\n gap: 4px;\n min-width: min(360px, 80vw);\n margin: 0 0 12px;\n}\n.link-dialog input,\n.link-dialog select,\n.alt-text-dialog input,\n.alt-text-dialog textarea,\n.screen-tip-dialog input {\n box-sizing: border-box;\n width: 100%;\n padding: 6px;\n color: inherit;\n background: var(--_vv-surface);\n border: 1px solid var(--_vv-border);\n border-radius: 3px;\n font: inherit;\n}\n.alt-text-dialog textarea {\n resize: vertical;\n min-height: 90px;\n}\n.accessibility-dialog [aria-live] {\n max-height: 50vh;\n overflow: auto;\n}\n.accessibility-dialog [aria-live] > button {\n display: block;\n width: 100%;\n padding: 8px;\n text-align: left;\n color: inherit;\n background: var(--_vv-surface);\n border: 1px solid var(--_vv-border);\n font: inherit;\n cursor: pointer;\n}\n.link-dialog [role='alert'],\n.alt-text-dialog [role='alert'],\n.screen-tip-dialog [role='alert'] {\n margin: 0;\n color: var(--office-error, #b00020);\n}\n\n.chart-dialog {\n --office-dialog-width: min(640px, 94vw);\n --office-dialog-max-width: min(640px, 94vw);\n}\n.chart-dialog [role='alert'] {\n margin: 8px 0 0;\n color: var(--_vv-danger);\n}\n.chart-dialog [role='alert']:empty {\n display: none;\n}\n.chart-dialog .chart-note {\n margin: 8px 0 0;\n color: var(--_vv-muted);\n font-size: 12px;\n}\n";
|
|
3629
|
+
var insert_default = ".link-dialog label,\n.alt-text-dialog label,\n.screen-tip-dialog label {\n display: grid;\n gap: 4px;\n min-width: min(360px, 80vw);\n margin: 0 0 12px;\n}\n.link-dialog input,\n.link-dialog select,\n.alt-text-dialog input,\n.alt-text-dialog textarea,\n.screen-tip-dialog input {\n box-sizing: border-box;\n width: 100%;\n padding: 6px;\n color: inherit;\n background: var(--_vv-surface);\n border: 1px solid var(--_vv-border);\n border-radius: 3px;\n font: inherit;\n}\n.alt-text-dialog textarea {\n resize: vertical;\n min-height: 90px;\n}\n.accessibility-dialog [aria-live] {\n max-height: 50vh;\n overflow: auto;\n}\n.accessibility-dialog [aria-live] > button {\n display: block;\n width: 100%;\n padding: 8px;\n text-align: left;\n color: inherit;\n background: var(--_vv-surface);\n border: 1px solid var(--_vv-border);\n font: inherit;\n cursor: pointer;\n}\n.link-dialog [role='alert'],\n.alt-text-dialog [role='alert'],\n.screen-tip-dialog [role='alert'] {\n margin: 0;\n color: var(--office-error, #b00020);\n}\n\n.chart-dialog {\n --office-dialog-width: min(640px, 94vw);\n --office-dialog-max-width: min(640px, 94vw);\n}\n.chart-dialog [role='alert'] {\n margin: 8px 0 0;\n color: var(--_vv-danger);\n}\n.chart-dialog [role='alert']:empty {\n display: none;\n}\n.chart-dialog .chart-note {\n margin: 8px 0 0;\n color: var(--_vv-muted);\n font-size: 12px;\n}\n\n.chart-edit-dialog {\n --office-dialog-width: min(760px, 96vw);\n --office-dialog-max-width: min(760px, 96vw);\n}\n.chart-edit-body {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n align-items: flex-start;\n}\n.chart-edit-body > office-ui-chart-data-sheet,\n.chart-edit-body > office-ui-chart-format-pane {\n flex: 1 1 320px;\n min-width: 0;\n max-height: 60vh;\n overflow: auto;\n}\n.chart-edit-body > [hidden] {\n display: none;\n}\n.chart-edit-preview {\n flex: 0 1 320px;\n border: 1px solid var(--office-border, #d0d0d0);\n background: #ffffff;\n}\n.chart-edit-preview svg {\n display: block;\n width: 100%;\n height: auto;\n}\n";
|
|
3627
3630
|
|
|
3628
3631
|
// raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/visio/styles/mini-toolbar.css?raw
|
|
3629
3632
|
var mini_toolbar_default = ".mini-toolbar {\n position: fixed;\n z-index: 60;\n display: flex;\n align-items: center;\n gap: 2px;\n padding: 4px;\n color: var(--_vv-ink);\n background: var(--_vv-surface);\n border: 1px solid var(--_vv-border);\n border-radius: 4px;\n box-shadow: var(--_vv-shadow);\n}\n.mini-toolbar[hidden] {\n display: none;\n}\n";
|
|
@@ -13407,6 +13410,18 @@ function createContextMenus(doc) {
|
|
|
13407
13410
|
icon: "pencil",
|
|
13408
13411
|
action: { type: "reveal", panel: "edit", focusText: true }
|
|
13409
13412
|
},
|
|
13413
|
+
{
|
|
13414
|
+
id: "ctx-chart-data",
|
|
13415
|
+
label: "Edit Data",
|
|
13416
|
+
icon: "grid",
|
|
13417
|
+
action: { type: "insert", item: "chart-data" }
|
|
13418
|
+
},
|
|
13419
|
+
{
|
|
13420
|
+
id: "ctx-chart-format",
|
|
13421
|
+
label: "Format Chart...",
|
|
13422
|
+
icon: "fill",
|
|
13423
|
+
action: { type: "insert", item: "chart-format" }
|
|
13424
|
+
},
|
|
13410
13425
|
"-",
|
|
13411
13426
|
{
|
|
13412
13427
|
id: "ctx-group",
|
|
@@ -16775,6 +16790,151 @@ var InsertChartDialog = class {
|
|
|
16775
16790
|
}
|
|
16776
16791
|
}
|
|
16777
16792
|
};
|
|
16793
|
+
var PREVIEW_WIDTH2 = 640;
|
|
16794
|
+
var LIVE = { width: 320, height: 200 };
|
|
16795
|
+
var HEADINGS = { data: "Edit Data", format: "Format Chart" };
|
|
16796
|
+
var ChartObjectEditor = class {
|
|
16797
|
+
dialog;
|
|
16798
|
+
sheet;
|
|
16799
|
+
pane;
|
|
16800
|
+
preview;
|
|
16801
|
+
error;
|
|
16802
|
+
#submit;
|
|
16803
|
+
#rasterize;
|
|
16804
|
+
#buttons = /* @__PURE__ */ new Map();
|
|
16805
|
+
#target;
|
|
16806
|
+
#bytes;
|
|
16807
|
+
#space;
|
|
16808
|
+
#theme;
|
|
16809
|
+
#busy = false;
|
|
16810
|
+
constructor(root, submit, rasterize = rasterizeSvg) {
|
|
16811
|
+
this.#submit = submit;
|
|
16812
|
+
this.#rasterize = rasterize;
|
|
16813
|
+
const doc = root.ownerDocument;
|
|
16814
|
+
const registry = doc.defaultView?.customElements;
|
|
16815
|
+
defineChartDataSheet(registry);
|
|
16816
|
+
defineChartFormatPane(registry);
|
|
16817
|
+
this.dialog = doc.createElement("office-ui-dialog");
|
|
16818
|
+
this.dialog.className = "chart-dialog chart-edit-dialog";
|
|
16819
|
+
this.sheet = doc.createElement("office-ui-chart-data-sheet");
|
|
16820
|
+
this.pane = doc.createElement("office-ui-chart-format-pane");
|
|
16821
|
+
this.preview = doc.createElement("div");
|
|
16822
|
+
this.preview.className = "chart-edit-preview";
|
|
16823
|
+
this.preview.setAttribute("role", "img");
|
|
16824
|
+
this.preview.setAttribute("aria-label", "Chart preview");
|
|
16825
|
+
const body = doc.createElement("div");
|
|
16826
|
+
body.className = "chart-edit-body";
|
|
16827
|
+
body.append(this.sheet, this.pane, this.preview);
|
|
16828
|
+
this.error = doc.createElement("p");
|
|
16829
|
+
this.error.setAttribute("role", "alert");
|
|
16830
|
+
this.dialog.append(body, this.error);
|
|
16831
|
+
for (const name of ["Cancel", "OK"]) {
|
|
16832
|
+
const button = doc.createElement("office-ui-button");
|
|
16833
|
+
button.slot = "footer";
|
|
16834
|
+
button.setAttribute("label", name);
|
|
16835
|
+
button.setAttribute("command", `chart-edit-${name.toLowerCase()}`);
|
|
16836
|
+
button.addEventListener("office-command", () => {
|
|
16837
|
+
if (button.disabled) return;
|
|
16838
|
+
if (name === "Cancel") this.dialog.close();
|
|
16839
|
+
else void this.#save();
|
|
16840
|
+
});
|
|
16841
|
+
this.#buttons.set(name, button);
|
|
16842
|
+
this.dialog.append(button);
|
|
16843
|
+
}
|
|
16844
|
+
this.sheet.addEventListener("office-chart-data-change", (event) => {
|
|
16845
|
+
const { edits } = event.detail;
|
|
16846
|
+
if (this.#space) this.#update(applyChartSpaceDataSheetEdits(this.#space, edits));
|
|
16847
|
+
});
|
|
16848
|
+
this.pane.addEventListener("office-chart-format-target", (event) => {
|
|
16849
|
+
this.pane.target = event.detail.target;
|
|
16850
|
+
});
|
|
16851
|
+
this.pane.addEventListener("office-chart-format-edit", (event) => {
|
|
16852
|
+
const { intent } = event.detail;
|
|
16853
|
+
if (!intent || !this.#space) return this.#update(this.#space);
|
|
16854
|
+
try {
|
|
16855
|
+
this.#update(applyChartEditIntent(this.#space, intent));
|
|
16856
|
+
this.error.textContent = "";
|
|
16857
|
+
} catch (error) {
|
|
16858
|
+
this.error.textContent = error instanceof Error ? error.message : String(error);
|
|
16859
|
+
this.#update(this.#space);
|
|
16860
|
+
}
|
|
16861
|
+
});
|
|
16862
|
+
this.pane.addEventListener("office-chart-format-close", () => this.dialog.close());
|
|
16863
|
+
root.append(this.dialog);
|
|
16864
|
+
}
|
|
16865
|
+
/** The edited chart part, while the editor is open. */
|
|
16866
|
+
get space() {
|
|
16867
|
+
return this.#space;
|
|
16868
|
+
}
|
|
16869
|
+
/** The chart being edited while the editor is open, so a host can close it if the shape goes. */
|
|
16870
|
+
get target() {
|
|
16871
|
+
return this.dialog.open ? this.#target : void 0;
|
|
16872
|
+
}
|
|
16873
|
+
/** Open `mode` for the chart object's workbook; false when the workbook holds no chart. */
|
|
16874
|
+
async open(mode, target, workbook) {
|
|
16875
|
+
const found = await readEmbeddedChartSpace(workbook);
|
|
16876
|
+
if (!found) return false;
|
|
16877
|
+
const scheme = found.scheme;
|
|
16878
|
+
this.#theme = { scheme: (name) => scheme[name] };
|
|
16879
|
+
this.#target = target;
|
|
16880
|
+
this.#bytes = workbook;
|
|
16881
|
+
this.pane.theme = this.#theme;
|
|
16882
|
+
this.pane.target = "chartArea";
|
|
16883
|
+
this.sheet.hidden = mode !== "data";
|
|
16884
|
+
this.pane.hidden = mode !== "format";
|
|
16885
|
+
this.dialog.dataset.mode = mode;
|
|
16886
|
+
this.dialog.setAttribute("heading", HEADINGS[mode]);
|
|
16887
|
+
this.error.textContent = "";
|
|
16888
|
+
this.#update(found.space);
|
|
16889
|
+
this.dialog.show();
|
|
16890
|
+
return true;
|
|
16891
|
+
}
|
|
16892
|
+
close() {
|
|
16893
|
+
this.dialog.close();
|
|
16894
|
+
}
|
|
16895
|
+
#update(space) {
|
|
16896
|
+
this.#space = space;
|
|
16897
|
+
if (!space) return;
|
|
16898
|
+
this.sheet.data = chartSpaceDataSheet(space);
|
|
16899
|
+
this.pane.chartSpace = space;
|
|
16900
|
+
const svg2 = parseSvgPreview(this.dialog.ownerDocument, renderChartSpaceSvg(space, LIVE));
|
|
16901
|
+
if (svg2) this.preview.replaceChildren(svg2);
|
|
16902
|
+
else this.preview.replaceChildren();
|
|
16903
|
+
}
|
|
16904
|
+
async #save() {
|
|
16905
|
+
const target = this.#target;
|
|
16906
|
+
const space = this.#space;
|
|
16907
|
+
const bytes = this.#bytes;
|
|
16908
|
+
if (this.#busy || !target || !space || !bytes) return;
|
|
16909
|
+
this.#busy = true;
|
|
16910
|
+
for (const button of this.#buttons.values()) button.disabled = true;
|
|
16911
|
+
try {
|
|
16912
|
+
const workbook = await writeEmbeddedChartSpace(bytes, space);
|
|
16913
|
+
const embedded = await readEmbeddedChart(workbook);
|
|
16914
|
+
if (!embedded) throw new Error("The chart could not be written.");
|
|
16915
|
+
const height = Math.min(
|
|
16916
|
+
1600,
|
|
16917
|
+
Math.max(120, Math.round(PREVIEW_WIDTH2 * target.height / target.width))
|
|
16918
|
+
);
|
|
16919
|
+
const raster = await this.#rasterize(
|
|
16920
|
+
this.dialog.ownerDocument,
|
|
16921
|
+
renderChartSvg(embedded.view, PREVIEW_WIDTH2, height),
|
|
16922
|
+
PREVIEW_WIDTH2,
|
|
16923
|
+
height
|
|
16924
|
+
);
|
|
16925
|
+
await this.#submit(
|
|
16926
|
+
{ workbook, preview: encodeBitmapEmf(raster.width, raster.height, raster.rgba) },
|
|
16927
|
+
target
|
|
16928
|
+
);
|
|
16929
|
+
this.dialog.close();
|
|
16930
|
+
} catch (error) {
|
|
16931
|
+
this.error.textContent = error instanceof Error ? error.message : "The chart was not saved.";
|
|
16932
|
+
} finally {
|
|
16933
|
+
this.#busy = false;
|
|
16934
|
+
for (const button of this.#buttons.values()) button.disabled = false;
|
|
16935
|
+
}
|
|
16936
|
+
}
|
|
16937
|
+
};
|
|
16778
16938
|
|
|
16779
16939
|
// src/visio/viewer-insert.ts
|
|
16780
16940
|
var ViewerInsert = class {
|
|
@@ -16808,6 +16968,7 @@ var ViewerInsert = class {
|
|
|
16808
16968
|
(button) => void this.#applyLink(button)
|
|
16809
16969
|
);
|
|
16810
16970
|
this.chart = new InsertChartDialog(root, (data, target) => this.#saveChart(data, target));
|
|
16971
|
+
this.chartEditor = new ChartObjectEditor(root, (data, target) => this.#saveChart(data, target));
|
|
16811
16972
|
this.tip = new InsertDialog(
|
|
16812
16973
|
root,
|
|
16813
16974
|
"screen-tip-dialog",
|
|
@@ -16825,6 +16986,7 @@ var ViewerInsert = class {
|
|
|
16825
16986
|
link;
|
|
16826
16987
|
tip;
|
|
16827
16988
|
chart;
|
|
16989
|
+
chartEditor;
|
|
16828
16990
|
#target;
|
|
16829
16991
|
#editable(state) {
|
|
16830
16992
|
return canEditDiagram(state) && !state.loading && !state.edit.busy;
|
|
@@ -16846,6 +17008,12 @@ var ViewerInsert = class {
|
|
|
16846
17008
|
if (state.document?.pages[state.pageIndex]) this.chart.open();
|
|
16847
17009
|
return;
|
|
16848
17010
|
}
|
|
17011
|
+
if (item === "chart-data" || item === "chart-format") {
|
|
17012
|
+
const shape2 = this.#shape(state);
|
|
17013
|
+
if (!shape2?.embeddedObject || !this.editChart(shape2.id, item === "chart-data" ? "data" : "format"))
|
|
17014
|
+
this.announce("Select one chart to edit its data or format it.");
|
|
17015
|
+
return;
|
|
17016
|
+
}
|
|
16849
17017
|
const shape = this.#shape(state);
|
|
16850
17018
|
const page3 = state.document?.pages[state.pageIndex];
|
|
16851
17019
|
if (!shape || !page3) {
|
|
@@ -16878,23 +17046,26 @@ var ViewerInsert = class {
|
|
|
16878
17046
|
this.link.dialog.close();
|
|
16879
17047
|
this.tip.dialog.close();
|
|
16880
17048
|
this.chart.close();
|
|
17049
|
+
this.chartEditor.close();
|
|
16881
17050
|
}
|
|
16882
|
-
/**
|
|
16883
|
-
|
|
17051
|
+
/**
|
|
17052
|
+
* Open an editor for the embedded chart `shapeId` on this page: the chart dialog (type, title
|
|
17053
|
+
* and data grid, as a double-click does), Edit Data or Format Chart. False if it is not one.
|
|
17054
|
+
*/
|
|
17055
|
+
editChart(shapeId, mode = "chart") {
|
|
16884
17056
|
const state = this.controller.state;
|
|
16885
17057
|
const page3 = state.document?.pages[state.pageIndex];
|
|
16886
17058
|
const shape = page3 && embeddedChartShape(page3.shapes, shapeId);
|
|
16887
17059
|
if (!page3 || !shape?.embeddedObject || !this.#editable(state)) return false;
|
|
16888
|
-
|
|
16889
|
-
|
|
16890
|
-
|
|
16891
|
-
|
|
16892
|
-
|
|
16893
|
-
|
|
16894
|
-
|
|
16895
|
-
|
|
16896
|
-
|
|
16897
|
-
);
|
|
17060
|
+
const target = {
|
|
17061
|
+
pageId: page3.id,
|
|
17062
|
+
shapeId,
|
|
17063
|
+
width: shape.width,
|
|
17064
|
+
height: shape.height,
|
|
17065
|
+
generation: this.controller.documentGeneration
|
|
17066
|
+
};
|
|
17067
|
+
if (mode === "chart") void this.chart.edit(target, shape.embeddedObject.bytes);
|
|
17068
|
+
else void this.chartEditor.open(mode, target, shape.embeddedObject.bytes);
|
|
16898
17069
|
return true;
|
|
16899
17070
|
}
|
|
16900
17071
|
/**
|
|
@@ -17066,6 +17237,13 @@ var ViewerInsert = class {
|
|
|
17066
17237
|
chart.disabled = !editing || !page3;
|
|
17067
17238
|
chart.title = editing ? "Insert a chart drawn from data you type or paste. Double-click it to edit." : "Open a .vsdx file to insert a chart.";
|
|
17068
17239
|
}
|
|
17240
|
+
const chartShape = shape?.embeddedObject ? shape : void 0;
|
|
17241
|
+
for (const name of ["ctx-chart-data", "ctx-chart-format"]) {
|
|
17242
|
+
const control = button(name);
|
|
17243
|
+
if (!control) continue;
|
|
17244
|
+
control.disabled = !chartShape;
|
|
17245
|
+
control.hidden = !chartShape;
|
|
17246
|
+
}
|
|
17069
17247
|
for (const [name, label] of [
|
|
17070
17248
|
["link", "Link (Ctrl+K)"],
|
|
17071
17249
|
["ctx-hyperlink", "Hyperlink (Ctrl+K)"],
|
|
@@ -17077,6 +17255,8 @@ var ViewerInsert = class {
|
|
|
17077
17255
|
control.title = shape ? label : `${label}: select one shape on an editable drawing.`;
|
|
17078
17256
|
}
|
|
17079
17257
|
if (this.chart.dialog.open && (!canEditDiagram(state) || state.loading)) this.chart.close();
|
|
17258
|
+
if (this.chartEditor.dialog.open && (!canEditDiagram(state) || state.loading || this.chartEditor.target?.generation !== this.controller.documentGeneration))
|
|
17259
|
+
this.chartEditor.close();
|
|
17080
17260
|
for (const dialog of [this.link, this.tip]) {
|
|
17081
17261
|
if (!dialog.dialog.open) continue;
|
|
17082
17262
|
if (!canEditDiagram(state) || state.loading || this.controller.documentGeneration !== this.#target?.generation)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Command, type EditorContext } from 'ooxml-core/xlsx/ui';
|
|
2
|
+
import { type OfficeUiChartFormatPane } from '../chart/format-pane.js';
|
|
3
|
+
export declare function chartAreaCommand(): Command;
|
|
4
|
+
export declare function chartSeriesCommand(): Command;
|
|
5
|
+
export declare function createChartFormatPane(ctx: EditorContext): {
|
|
6
|
+
element: OfficeUiChartFormatPane;
|
|
7
|
+
refresh: () => void;
|
|
8
|
+
relocalize: () => void;
|
|
9
|
+
close: () => void;
|
|
10
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ChartObject, type Workbook } from 'ooxml-core/xlsx';
|
|
2
|
+
import type { ChartFormatTarget, ChartSpace } from 'ooxml-core/chart';
|
|
3
|
+
import type { DrawingColorTheme } from 'ooxml-core/drawingml';
|
|
4
|
+
import { type ChartFormatSource } from '../chart/format-pane-api.js';
|
|
5
|
+
/** The slot Excel's fill controls go into. */
|
|
6
|
+
export declare const XLSX_CHART_FILL_SLOT = "fill";
|
|
7
|
+
/** Whether the chart has series to format. */
|
|
8
|
+
export declare const formatsSeries: (chart: ChartObject) => boolean;
|
|
9
|
+
/** The workbook theme as the pane resolves scheme colours (`accent1`, `tx1`...). */
|
|
10
|
+
export declare function workbookChartTheme(workbook: Workbook): DrawingColorTheme;
|
|
11
|
+
/** Whether Excel's own fill controls format `target`. */
|
|
12
|
+
export declare const xlsxFillsTarget: (target: ChartFormatTarget) => boolean;
|
|
13
|
+
/**
|
|
14
|
+
* The Format pane source of `chart` (whose model is `space`) with `target` selected: Excel's fill
|
|
15
|
+
* controls take the Fill section of the elements they edit.
|
|
16
|
+
*/
|
|
17
|
+
export declare function xlsxChartFormatSource(chart: ChartObject, space: ChartSpace, theme: DrawingColorTheme, target: ChartFormatTarget | undefined): ChartFormatSource;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type EditorContext } from 'ooxml-core/xlsx/ui';
|
|
2
|
+
export declare function chartColorGallerySections(ctx: EditorContext): {
|
|
3
|
+
title?: string;
|
|
4
|
+
columns: number;
|
|
5
|
+
tileWidth: number;
|
|
6
|
+
tileHeight: number;
|
|
7
|
+
items: {
|
|
8
|
+
id: string;
|
|
9
|
+
label: string;
|
|
10
|
+
preview: string;
|
|
11
|
+
applied: boolean;
|
|
12
|
+
}[];
|
|
13
|
+
}[];
|
|
14
|
+
export declare const chartColorGalleryItems: (ctx: EditorContext) => {
|
|
15
|
+
id: string;
|
|
16
|
+
label: string;
|
|
17
|
+
preview: string;
|
|
18
|
+
applied: boolean;
|
|
19
|
+
}[];
|
|
20
|
+
export declare function chartStyleGallerySections(ctx: EditorContext): {
|
|
21
|
+
title?: string;
|
|
22
|
+
columns: number;
|
|
23
|
+
tileWidth: number;
|
|
24
|
+
tileHeight: number;
|
|
25
|
+
items: {
|
|
26
|
+
id: string;
|
|
27
|
+
label: string;
|
|
28
|
+
preview: string;
|
|
29
|
+
applied: boolean;
|
|
30
|
+
}[];
|
|
31
|
+
}[];
|
|
32
|
+
export declare const chartStyleGalleryItems: (ctx: EditorContext) => {
|
|
33
|
+
id: string;
|
|
34
|
+
label: string;
|
|
35
|
+
preview: string;
|
|
36
|
+
applied: boolean;
|
|
37
|
+
}[];
|
|
38
|
+
export declare function chartQuickLayoutGallerySections(ctx: EditorContext): {
|
|
39
|
+
title?: string;
|
|
40
|
+
columns: number;
|
|
41
|
+
tileWidth: number;
|
|
42
|
+
tileHeight: number;
|
|
43
|
+
items: {
|
|
44
|
+
id: string;
|
|
45
|
+
label: string;
|
|
46
|
+
preview: string;
|
|
47
|
+
applied: boolean;
|
|
48
|
+
}[];
|
|
49
|
+
}[];
|
|
50
|
+
export declare const chartQuickLayoutGalleryItems: (ctx: EditorContext) => {
|
|
51
|
+
id: string;
|
|
52
|
+
label: string;
|
|
53
|
+
preview: string;
|
|
54
|
+
applied: boolean;
|
|
55
|
+
}[];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type DiagramInsertPreset } from 'ooxml-core/diagram';
|
|
2
|
+
import type { EditorContext } from 'ooxml-core/xlsx/ui';
|
|
3
|
+
/** Opens the picker; resolves with the chosen preset, or undefined when cancelled. */
|
|
4
|
+
export declare function chooseSmartArt(ctx: EditorContext): Promise<DiagramInsertPreset | undefined>;
|
|
@@ -7,4 +7,7 @@ export declare function smartArtSchemeColors(theme: ThemePalette | undefined): S
|
|
|
7
7
|
* Paints a SmartArt frame into `node`. The shared SVG scales to the positioned frame,
|
|
8
8
|
* following both zoom and drawing resize without clipping the original cached extent.
|
|
9
9
|
*/
|
|
10
|
-
export declare function paintSmartArt(ctx: EditorContext, node: HTMLElement, obj: SmartArtObject, theme: ThemePalette | undefined
|
|
10
|
+
export declare function paintSmartArt(ctx: EditorContext, node: HTMLElement, obj: SmartArtObject, theme: ThemePalette | undefined, size?: {
|
|
11
|
+
w: number;
|
|
12
|
+
h: number;
|
|
13
|
+
}): void;
|
|
@@ -4,4 +4,10 @@ export declare function tableDesignTab(): RibbonTab;
|
|
|
4
4
|
export declare function slicerTab(): RibbonTab;
|
|
5
5
|
/** Timeline: shown while a timeline is the selected object. */
|
|
6
6
|
export declare function timelineTab(): RibbonTab;
|
|
7
|
+
/**
|
|
8
|
+
* SmartArt Design: shown while a SmartArt graphic is the selected object, with the same commands
|
|
9
|
+
* as Word's tab (the shared list of `ooxml-core/diagram`). SmartArt Styles and Change Colors are
|
|
10
|
+
* not offered: only one colour and one style definition ship with the core.
|
|
11
|
+
*/
|
|
12
|
+
export declare function smartArtDesignTab(): RibbonTab;
|
|
7
13
|
export declare function chartDesignTab(): RibbonTab;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type DiagramDesignCommandKey } from 'ooxml-core/diagram';
|
|
2
|
+
import { type Command, type EditorContext } from 'ooxml-core/xlsx/ui';
|
|
3
|
+
/** The command id of a SmartArt Design command (`smartart.addAfter`, ...). */
|
|
4
|
+
export declare const smartArtCommandId: (key: DiagramDesignCommandKey) => string;
|
|
5
|
+
/** Creates the editor's SmartArt controller; its text pane goes beside the grid. */
|
|
6
|
+
export declare function createSmartArtController(ctx: EditorContext): {
|
|
7
|
+
element: HTMLElement;
|
|
8
|
+
refresh: () => void;
|
|
9
|
+
relocalize: () => void;
|
|
10
|
+
/** A new workbook: the pane closes. */
|
|
11
|
+
reset: () => void;
|
|
12
|
+
};
|
|
13
|
+
/** The SmartArt Design commands and Insert > SmartArt. */
|
|
14
|
+
export declare function smartArtCommands(): Command[];
|