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.
Files changed (353) hide show
  1. package/README.md +82 -19
  2. package/custom-elements.json +321 -1
  3. package/dist/bindings/bind-element.d.ts +29 -0
  4. package/dist/bindings/contract.d.ts +115 -0
  5. package/dist/bindings/equality.d.ts +9 -0
  6. package/dist/bindings/handle.d.ts +33 -0
  7. package/dist/bindings/index.d.ts +6 -0
  8. package/dist/bindings/react.d.ts +21 -0
  9. package/dist/bindings/react.js +39 -0
  10. package/dist/bindings/solid.d.ts +14 -0
  11. package/dist/bindings/solid.js +27 -0
  12. package/dist/bindings/src-loader.d.ts +14 -0
  13. package/dist/bindings/tracker.d.ts +14 -0
  14. package/dist/bindings/vue.d.ts +35 -0
  15. package/dist/bindings/vue.js +65 -0
  16. package/dist/bindings.js +3 -0
  17. package/dist/chart/data-sheet-keys.d.ts +38 -0
  18. package/dist/chart/data-sheet-keys.d.ts.map +1 -0
  19. package/dist/chart/data-sheet-labels.d.ts +36 -0
  20. package/dist/chart/data-sheet-labels.d.ts.map +1 -0
  21. package/dist/chart/data-sheet.d.ts +68 -0
  22. package/dist/chart/data-sheet.d.ts.map +1 -0
  23. package/dist/chart/design-galleries.d.ts +52 -0
  24. package/dist/chart/design-galleries.d.ts.map +1 -0
  25. package/dist/chart/format-pane-3d.d.ts +7 -0
  26. package/dist/chart/format-pane-3d.d.ts.map +1 -0
  27. package/dist/chart/format-pane-api.d.ts +17 -0
  28. package/dist/chart/format-pane-api.d.ts.map +1 -0
  29. package/dist/chart/format-pane-axis.d.ts +5 -0
  30. package/dist/chart/format-pane-axis.d.ts.map +1 -0
  31. package/dist/chart/format-pane-common.d.ts +23 -0
  32. package/dist/chart/format-pane-common.d.ts.map +1 -0
  33. package/dist/{pptx/render/chart-format/chart-format-pane-effects.d.ts → chart/format-pane-effects.d.ts} +5 -11
  34. package/dist/chart/format-pane-effects.d.ts.map +1 -0
  35. package/dist/chart/format-pane-fields.d.ts +29 -0
  36. package/dist/chart/format-pane-fields.d.ts.map +1 -0
  37. package/dist/chart/format-pane-fill-kinds.d.ts +16 -0
  38. package/dist/chart/format-pane-fill-kinds.d.ts.map +1 -0
  39. package/dist/chart/format-pane-fill-line.d.ts +13 -0
  40. package/dist/chart/format-pane-fill-line.d.ts.map +1 -0
  41. package/dist/chart/format-pane-fixture.test-util.d.ts +3 -0
  42. package/dist/chart/format-pane-intent.d.ts +24 -0
  43. package/dist/chart/format-pane-intent.d.ts.map +1 -0
  44. package/dist/chart/format-pane-locales/de.d.ts +3 -0
  45. package/dist/chart/format-pane-locales/de.d.ts.map +1 -0
  46. package/dist/chart/format-pane-locales/en.d.ts +3 -0
  47. package/dist/chart/format-pane-locales/en.d.ts.map +1 -0
  48. package/dist/chart/format-pane-locales/es.d.ts +3 -0
  49. package/dist/chart/format-pane-locales/es.d.ts.map +1 -0
  50. package/dist/chart/format-pane-locales/fr.d.ts +3 -0
  51. package/dist/chart/format-pane-locales/fr.d.ts.map +1 -0
  52. package/dist/chart/format-pane-locales/index.d.ts +7 -0
  53. package/dist/chart/format-pane-locales/index.d.ts.map +1 -0
  54. package/dist/chart/format-pane-locales/zh-CN.d.ts +3 -0
  55. package/dist/chart/format-pane-locales/zh-CN.d.ts.map +1 -0
  56. package/dist/chart/format-pane-model.d.ts +23 -0
  57. package/dist/chart/format-pane-model.d.ts.map +1 -0
  58. package/dist/chart/format-pane-options.d.ts +14 -0
  59. package/dist/chart/format-pane-options.d.ts.map +1 -0
  60. package/dist/chart/format-pane-space.d.ts +21 -0
  61. package/dist/chart/format-pane-space.d.ts.map +1 -0
  62. package/dist/chart/format-pane-targets.d.ts +25 -0
  63. package/dist/chart/format-pane-targets.d.ts.map +1 -0
  64. package/dist/chart/format-pane-text.d.ts +7 -0
  65. package/dist/chart/format-pane-text.d.ts.map +1 -0
  66. package/dist/chart/format-pane-translate.d.ts +10 -0
  67. package/dist/chart/format-pane-translate.d.ts.map +1 -0
  68. package/dist/chart/format-pane-types.d.ts +118 -0
  69. package/dist/chart/format-pane-types.d.ts.map +1 -0
  70. package/dist/chart/format-pane-view.d.ts +212 -0
  71. package/dist/chart/format-pane-view.d.ts.map +1 -0
  72. package/dist/chart/format-pane.d.ts +128 -0
  73. package/dist/chart/format-pane.d.ts.map +1 -0
  74. package/dist/chart/gallery-tiles.d.ts +23 -0
  75. package/dist/chart/gallery-tiles.d.ts.map +1 -0
  76. package/dist/chart-format-locales.js +1 -0
  77. package/dist/chunk-CDAXY5KC.js +118 -0
  78. package/dist/chunk-FN7IF6M6.js +25 -0
  79. package/dist/{chunk-X5XR45BK.js → chunk-HGLCXNCT.js} +50 -24
  80. package/dist/chunk-KJMAVPQB.js +53 -0
  81. package/dist/{chunk-S736N64L.js → chunk-KSOHDEUI.js} +1 -1
  82. package/dist/chunk-NDUD5JJB.js +79 -0
  83. package/dist/chunk-P4FRKIPE.js +953 -0
  84. package/dist/chunk-VM6ZTKB3.js +1134 -0
  85. package/dist/{chunk-SC44SOIS.js → chunk-WDOWQKKC.js} +2601 -275
  86. package/dist/{chunk-5ZFOSFCK.js → chunk-WH3EGA3S.js} +9 -3
  87. package/dist/controls.d.ts +7 -2
  88. package/dist/controls.d.ts.map +1 -1
  89. package/dist/controls.js +3 -1
  90. package/dist/dialog/dialog.d.ts +6 -0
  91. package/dist/dialog/dialog.d.ts.map +1 -1
  92. package/dist/docx/chart-commands.d.ts +22 -0
  93. package/dist/docx/chart-design-ribbon.d.ts +4 -0
  94. package/dist/docx/chart-dialogs.d.ts +11 -0
  95. package/dist/docx/chart-format-pane.d.ts +22 -0
  96. package/dist/docx/context-menu-items.d.ts +2 -0
  97. package/dist/docx/editor-core.d.ts +3 -0
  98. package/dist/docx/format-dialogs.d.ts +4 -2
  99. package/dist/docx/image-media.d.ts +9 -1
  100. package/dist/docx/insert-controller.d.ts +5 -0
  101. package/dist/docx/locales/charts.d.ts +51 -0
  102. package/dist/docx/locales/en.d.ts +113 -0
  103. package/dist/docx/locales/smartart.d.ts +77 -0
  104. package/dist/docx/localization-strings.d.ts +113 -0
  105. package/dist/docx/resize-handle.d.ts +23 -0
  106. package/dist/docx/ribbon-action.d.ts +15 -0
  107. package/dist/docx/ribbon-icons.d.ts +13 -0
  108. package/dist/docx/smartart-commands.d.ts +26 -0
  109. package/dist/docx/smartart-controller.d.ts +35 -0
  110. package/dist/docx/smartart-design-ribbon.d.ts +7 -0
  111. package/dist/docx/smartart-dialog.d.ts +12 -0
  112. package/dist/docx/smartart-node-view.d.ts +6 -3
  113. package/dist/docx.js +1664 -542
  114. package/dist/form/color-grid.d.ts +8 -1
  115. package/dist/form/color-grid.d.ts.map +1 -1
  116. package/dist/index.d.ts +1 -1
  117. package/dist/index.js +10 -5
  118. package/dist/pptx/ai/bridge-factory.d.ts +77 -0
  119. package/dist/pptx/ai/bridge-factory.d.ts.map +1 -0
  120. package/dist/pptx/ai/index.cjs +443 -164
  121. package/dist/pptx/ai/index.d.ts +4 -0
  122. package/dist/pptx/ai/index.d.ts.map +1 -1
  123. package/dist/pptx/ai/index.mjs +437 -165
  124. package/dist/pptx/ai/panel-controller.d.ts +104 -0
  125. package/dist/pptx/ai/panel-controller.d.ts.map +1 -0
  126. package/dist/pptx/{chart-3d-view-scene-RYL7F65H.cjs → chart-3d-view-scene-N7UQOYFI.cjs} +38 -38
  127. package/dist/pptx/{chart-3d-view-scene-CDIMM5T3.mjs → chart-3d-view-scene-ZUGA3DKM.mjs} +2 -2
  128. package/dist/pptx/{chunk-PIIYTRLE.mjs → chunk-34LEUH5R.mjs} +1 -1
  129. package/dist/pptx/{chunk-G3UVZ5FO.cjs → chunk-6KLPQQYP.cjs} +1 -0
  130. package/dist/pptx/{chunk-SCURBCNQ.mjs → chunk-AMW2AR7J.mjs} +1 -1
  131. package/dist/pptx/chunk-CWHK7HF4.mjs +751 -0
  132. package/dist/pptx/{chunk-J642EKDV.cjs → chunk-FM4C4MBJ.cjs} +1 -1
  133. package/dist/pptx/{chunk-LCB46TH2.cjs → chunk-H5IPNKX6.cjs} +12 -12
  134. package/dist/pptx/{chunk-4TFSELNQ.cjs → chunk-HAO5PKWK.cjs} +7671 -4138
  135. package/dist/pptx/{chunk-QTLP3MX7.mjs → chunk-IWUIGVWT.mjs} +7468 -3993
  136. package/dist/pptx/{chunk-ZNXKAINY.mjs → chunk-LB3A3GF6.mjs} +1150 -222
  137. package/dist/pptx/chunk-LUDEAPHZ.cjs +776 -0
  138. package/dist/pptx/{chunk-A2X5BP7J.cjs → chunk-OOQMIQT3.cjs} +1151 -221
  139. package/dist/pptx/chunk-WM5SW737.mjs +27 -0
  140. package/dist/pptx/{chunk-73OUATE4.mjs → chunk-WQA3KZRB.mjs} +1 -1
  141. package/dist/pptx/chunk-Y6DO6SVT.cjs +29 -0
  142. package/dist/pptx/dom/index.cjs +503 -1123
  143. package/dist/pptx/dom/index.d.ts +1 -0
  144. package/dist/pptx/dom/index.d.ts.map +1 -1
  145. package/dist/pptx/dom/index.mjs +12 -704
  146. package/dist/pptx/dom/smartart-insert-preview.d.ts +15 -0
  147. package/dist/pptx/dom/smartart-insert-preview.d.ts.map +1 -0
  148. package/dist/pptx/export/html2canvas-clone.cjs +4 -4
  149. package/dist/pptx/export/html2canvas-clone.mjs +1 -1
  150. package/dist/pptx/i18n/index.cjs +6 -6
  151. package/dist/pptx/i18n/index.mjs +1 -1
  152. package/dist/pptx/i18n/translations-en-chart-format.d.ts.map +1 -1
  153. package/dist/pptx/i18n/translations-en-galleries.d.ts.map +1 -1
  154. package/dist/pptx/i18n/translations-en.d.ts.map +1 -1
  155. package/dist/pptx/index.cjs +3490 -3249
  156. package/dist/pptx/index.mjs +6 -5
  157. package/dist/pptx/render/autosave-inline-draft.d.ts +27 -0
  158. package/dist/pptx/render/autosave-inline-draft.d.ts.map +1 -0
  159. package/dist/pptx/render/autosave-policy.d.ts +6 -7
  160. package/dist/pptx/render/autosave-policy.d.ts.map +1 -1
  161. package/dist/pptx/render/autosave-tick.d.ts +6 -0
  162. package/dist/pptx/render/autosave-tick.d.ts.map +1 -1
  163. package/dist/pptx/render/chart-combo-stock.cjs +3 -3
  164. package/dist/pptx/render/chart-combo-stock.mjs +1 -1
  165. package/dist/pptx/render/chart-format/chart-format-pane-edit.d.ts +10 -2
  166. package/dist/pptx/render/chart-format/chart-format-pane-edit.d.ts.map +1 -1
  167. package/dist/pptx/render/chart-format/chart-format-pane-model.d.ts +4 -2
  168. package/dist/pptx/render/chart-format/chart-format-pane-model.d.ts.map +1 -1
  169. package/dist/pptx/render/chart-format/chart-format-pane-types.d.ts +4 -91
  170. package/dist/pptx/render/chart-format/chart-format-pane-types.d.ts.map +1 -1
  171. package/dist/pptx/render/chart-format/chart-format-source.d.ts +14 -0
  172. package/dist/pptx/render/chart-format/chart-format-source.d.ts.map +1 -0
  173. package/dist/pptx/render/chart-format/chart-format-targets.d.ts +16 -19
  174. package/dist/pptx/render/chart-format/chart-format-targets.d.ts.map +1 -1
  175. package/dist/pptx/render/chart-format/index.d.ts +2 -1
  176. package/dist/pptx/render/chart-format/index.d.ts.map +1 -1
  177. package/dist/pptx/render/chart-overlays.cjs +7 -7
  178. package/dist/pptx/render/chart-overlays.mjs +1 -1
  179. package/dist/pptx/render/chart-quick-action-styles.d.ts +4 -1
  180. package/dist/pptx/render/chart-quick-action-styles.d.ts.map +1 -1
  181. package/dist/pptx/render/chart-surface-treemap.cjs +4 -4
  182. package/dist/pptx/render/chart-surface-treemap.mjs +1 -1
  183. package/dist/pptx/render/chart-view-model.cjs +44 -44
  184. package/dist/pptx/render/chart-view-model.mjs +1 -1
  185. package/dist/pptx/render/chart-waterfall-map.cjs +6 -6
  186. package/dist/pptx/render/chart-waterfall-map.mjs +1 -1
  187. package/dist/pptx/render/collaboration-provider.d.ts +80 -0
  188. package/dist/pptx/render/collaboration-provider.d.ts.map +1 -0
  189. package/dist/pptx/render/collaboration-yjs-session.d.ts +48 -0
  190. package/dist/pptx/render/collaboration-yjs-session.d.ts.map +1 -0
  191. package/dist/pptx/render/controller/autosave-controller.d.ts +133 -0
  192. package/dist/pptx/render/controller/autosave-controller.d.ts.map +1 -0
  193. package/dist/pptx/render/controller/autosave-recovery-controller.d.ts +68 -0
  194. package/dist/pptx/render/controller/autosave-recovery-controller.d.ts.map +1 -0
  195. package/dist/pptx/render/controller/collaboration-session-controller.d.ts +89 -0
  196. package/dist/pptx/render/controller/collaboration-session-controller.d.ts.map +1 -0
  197. package/dist/pptx/render/controller/controller.d.ts +44 -0
  198. package/dist/pptx/render/controller/controller.d.ts.map +1 -0
  199. package/dist/pptx/render/controller/history-controller.d.ts +54 -0
  200. package/dist/pptx/render/controller/history-controller.d.ts.map +1 -0
  201. package/dist/pptx/render/controller/index.d.ts +17 -0
  202. package/dist/pptx/render/controller/index.d.ts.map +1 -0
  203. package/dist/pptx/render/customization/ribbon-control-catalog-tail.d.ts +2 -0
  204. package/dist/pptx/render/customization/ribbon-control-catalog-tail.d.ts.map +1 -1
  205. package/dist/pptx/render/customization/ribbon-control-catalog.d.ts +2 -0
  206. package/dist/pptx/render/customization/ribbon-control-catalog.d.ts.map +1 -1
  207. package/dist/pptx/render/editor-gesture-frames.d.ts +59 -0
  208. package/dist/pptx/render/editor-gesture-frames.d.ts.map +1 -0
  209. package/dist/pptx/render/editor-gestures.d.ts +39 -38
  210. package/dist/pptx/render/editor-gestures.d.ts.map +1 -1
  211. package/dist/pptx/render/editor-history.d.ts +1 -1
  212. package/dist/pptx/render/editor-history.d.ts.map +1 -1
  213. package/dist/pptx/render/editor-key-dispatch.d.ts +68 -0
  214. package/dist/pptx/render/editor-key-dispatch.d.ts.map +1 -0
  215. package/dist/pptx/render/effects-helpers.d.ts +8 -1
  216. package/dist/pptx/render/effects-helpers.d.ts.map +1 -1
  217. package/dist/pptx/render/effects-shadow-helpers.d.ts +7 -0
  218. package/dist/pptx/render/effects-shadow-helpers.d.ts.map +1 -1
  219. package/dist/pptx/render/group-press-target.d.ts +37 -0
  220. package/dist/pptx/render/group-press-target.d.ts.map +1 -0
  221. package/dist/pptx/render/index.d.ts +12 -0
  222. package/dist/pptx/render/index.d.ts.map +1 -1
  223. package/dist/pptx/render/insert-chart-preview.d.ts +15 -0
  224. package/dist/pptx/render/insert-chart-preview.d.ts.map +1 -0
  225. package/dist/pptx/render/insert-chart.d.ts +21 -1
  226. package/dist/pptx/render/insert-chart.d.ts.map +1 -1
  227. package/dist/pptx/render/inspector/element-geometry-fields.d.ts +28 -0
  228. package/dist/pptx/render/inspector/element-geometry-fields.d.ts.map +1 -0
  229. package/dist/pptx/render/inspector/index.d.ts +18 -0
  230. package/dist/pptx/render/inspector/index.d.ts.map +1 -0
  231. package/dist/pptx/render/inspector/inspector-field-model.d.ts +125 -0
  232. package/dist/pptx/render/inspector/inspector-field-model.d.ts.map +1 -0
  233. package/dist/pptx/render/inspector/shape-effect-fields-more.d.ts +8 -0
  234. package/dist/pptx/render/inspector/shape-effect-fields-more.d.ts.map +1 -0
  235. package/dist/pptx/render/inspector/shape-effect-fields.d.ts +27 -0
  236. package/dist/pptx/render/inspector/shape-effect-fields.d.ts.map +1 -0
  237. package/dist/pptx/render/inspector/shape-effect-sections.d.ts +7 -0
  238. package/dist/pptx/render/inspector/shape-effect-sections.d.ts.map +1 -0
  239. package/dist/pptx/render/inspector/shape-line-fields.d.ts +20 -0
  240. package/dist/pptx/render/inspector/shape-line-fields.d.ts.map +1 -0
  241. package/dist/pptx/render/inspector/text-box-fields.d.ts +24 -0
  242. package/dist/pptx/render/inspector/text-box-fields.d.ts.map +1 -0
  243. package/dist/pptx/render/options/viewer-options-apply.d.ts.map +1 -1
  244. package/dist/pptx/render/options/viewer-options.d.ts.map +1 -1
  245. package/dist/pptx/render/presentation-show-step.d.ts +105 -0
  246. package/dist/pptx/render/presentation-show-step.d.ts.map +1 -0
  247. package/dist/pptx/render/ribbon-galleries/chart-colors-gallery.d.ts +3 -2
  248. package/dist/pptx/render/ribbon-galleries/chart-colors-gallery.d.ts.map +1 -1
  249. package/dist/pptx/render/ribbon-galleries/chart-quick-layout-gallery.d.ts +6 -3
  250. package/dist/pptx/render/ribbon-galleries/chart-quick-layout-gallery.d.ts.map +1 -1
  251. package/dist/pptx/render/ribbon-galleries/chart-styles-gallery.d.ts +2 -1
  252. package/dist/pptx/render/ribbon-galleries/chart-styles-gallery.d.ts.map +1 -1
  253. package/dist/pptx/render/ribbon-galleries/gallery-placements.d.ts.map +1 -1
  254. package/dist/pptx/render/ribbon-galleries/gallery-types.d.ts +1 -1
  255. package/dist/pptx/render/ribbon-galleries/gallery-types.d.ts.map +1 -1
  256. package/dist/pptx/render/ribbon-galleries/smartart-colors-gallery.d.ts +0 -8
  257. package/dist/pptx/render/ribbon-galleries/smartart-colors-gallery.d.ts.map +1 -1
  258. package/dist/pptx/render/ribbon-galleries/smartart-commands.d.ts +1 -1
  259. package/dist/pptx/render/ribbon-galleries/smartart-commands.d.ts.map +1 -1
  260. package/dist/pptx/render/ribbon-galleries/smartart-gallery-patch.d.ts +4 -2
  261. package/dist/pptx/render/ribbon-galleries/smartart-gallery-patch.d.ts.map +1 -1
  262. package/dist/pptx/render/ribbon-galleries/smartart-gallery-tiles.d.ts +3 -8
  263. package/dist/pptx/render/ribbon-galleries/smartart-gallery-tiles.d.ts.map +1 -1
  264. package/dist/pptx/render/ribbon-galleries/smartart-layout-tiles.d.ts +7 -5
  265. package/dist/pptx/render/ribbon-galleries/smartart-layout-tiles.d.ts.map +1 -1
  266. package/dist/pptx/render/ribbon-galleries/smartart-layouts-gallery.d.ts.map +1 -1
  267. package/dist/pptx/render/ribbon-insert-state.d.ts +6 -0
  268. package/dist/pptx/render/ribbon-insert-state.d.ts.map +1 -1
  269. package/dist/pptx/render/smart-art-presets.d.ts +12 -6
  270. package/dist/pptx/render/smart-art-presets.d.ts.map +1 -1
  271. package/dist/pptx/render/smartart-text-pane-model.d.ts +59 -0
  272. package/dist/pptx/render/smartart-text-pane-model.d.ts.map +1 -0
  273. package/dist/pptx/render/span-snap-move.d.ts +32 -0
  274. package/dist/pptx/render/span-snap-move.d.ts.map +1 -0
  275. package/dist/pptx/render/theme-color-grid.d.ts +17 -0
  276. package/dist/pptx/render/theme-color-grid.d.ts.map +1 -1
  277. package/dist/pptx/render/viewer-event-payloads.d.ts +4 -4
  278. package/dist/pptx/smartart-insert-preview-5ZTZYAZR.cjs +48 -0
  279. package/dist/pptx/smartart-insert-preview-HMSNUWDO.mjs +39 -0
  280. package/dist/pptx/web-components/chart-data-sheet.d.ts +47 -0
  281. package/dist/pptx/web-components/chart-data-sheet.d.ts.map +1 -0
  282. package/dist/pptx/web-components/chart-format-pane.d.ts +7 -5
  283. package/dist/pptx/web-components/chart-format-pane.d.ts.map +1 -1
  284. package/dist/pptx/web-components/host-styles.d.ts.map +1 -1
  285. package/dist/pptx/web-components/index.d.ts +6 -0
  286. package/dist/pptx/web-components/index.d.ts.map +1 -1
  287. package/dist/pptx/web-components/insert-chart-dialog.d.ts +25 -0
  288. package/dist/pptx/web-components/insert-chart-dialog.d.ts.map +1 -0
  289. package/dist/pptx/web-components/insert-dialog-frame.d.ts +25 -0
  290. package/dist/pptx/web-components/insert-dialog-frame.d.ts.map +1 -0
  291. package/dist/pptx/web-components/insert-smartart-dialog.d.ts +26 -0
  292. package/dist/pptx/web-components/insert-smartart-dialog.d.ts.map +1 -0
  293. package/dist/pptx/web-components/mobile-insert.d.ts.map +1 -1
  294. package/dist/pptx/web-components/office-token-bridge.d.ts +1 -1
  295. package/dist/pptx/web-components/office-token-bridge.d.ts.map +1 -1
  296. package/dist/pptx/web-components/ribbon-insert-view.d.ts.map +1 -1
  297. package/dist/pptx/web-components/smartart-text-pane.d.ts +38 -0
  298. package/dist/pptx/web-components/smartart-text-pane.d.ts.map +1 -0
  299. package/dist/smartart/galleries.d.ts +17 -0
  300. package/dist/smartart/smartart-picker.d.ts +97 -0
  301. package/dist/smartart/smartart-picker.d.ts.map +1 -0
  302. package/dist/smartart/smartart-text-pane-tools.d.ts +51 -0
  303. package/dist/smartart/smartart-text-pane-tools.d.ts.map +1 -0
  304. package/dist/smartart/smartart-text-pane.d.ts +121 -0
  305. package/dist/smartart/smartart-text-pane.d.ts.map +1 -0
  306. package/dist/smartart/text-pane-controller.d.ts +51 -0
  307. package/dist/smartart/tiles.d.ts +17 -0
  308. package/dist/smartart/tiles.d.ts.map +1 -0
  309. package/dist/smartart.d.ts +5 -0
  310. package/dist/smartart.js +2 -1
  311. package/dist/teams/app/bind.d.ts +30 -0
  312. package/dist/teams/app/index.d.ts +1 -1
  313. package/dist/teams.js +7 -2
  314. package/dist/visio/ribbon-action.d.ts +5 -2
  315. package/dist/visio/viewer-chart-editor.d.ts +38 -0
  316. package/dist/visio/viewer-insert.d.ts +7 -2
  317. package/dist/visio.js +197 -17
  318. package/dist/xlsx/chart-format-pane.d.ts +10 -0
  319. package/dist/xlsx/chart-format-source.d.ts +17 -0
  320. package/dist/xlsx/commands/chart-design.d.ts +55 -0
  321. package/dist/xlsx/dialogs/insert-smartart.d.ts +4 -0
  322. package/dist/xlsx/grid/smartart.d.ts +4 -1
  323. package/dist/xlsx/ribbon/tabs/contextual.d.ts +6 -0
  324. package/dist/xlsx/smartart-controller.d.ts +14 -0
  325. package/dist/xlsx.js +789 -468
  326. package/package.json +47 -4
  327. package/dist/chunk-QBXYGKPB.js +0 -224
  328. package/dist/pptx/render/chart-format/chart-format-pane-3d.d.ts +0 -13
  329. package/dist/pptx/render/chart-format/chart-format-pane-3d.d.ts.map +0 -1
  330. package/dist/pptx/render/chart-format/chart-format-pane-axis.d.ts +0 -12
  331. package/dist/pptx/render/chart-format/chart-format-pane-axis.d.ts.map +0 -1
  332. package/dist/pptx/render/chart-format/chart-format-pane-common.d.ts +0 -14
  333. package/dist/pptx/render/chart-format/chart-format-pane-common.d.ts.map +0 -1
  334. package/dist/pptx/render/chart-format/chart-format-pane-effects.d.ts.map +0 -1
  335. package/dist/pptx/render/chart-format/chart-format-pane-fill-kinds.d.ts +0 -15
  336. package/dist/pptx/render/chart-format/chart-format-pane-fill-kinds.d.ts.map +0 -1
  337. package/dist/pptx/render/chart-format/chart-format-pane-fill-line.d.ts +0 -12
  338. package/dist/pptx/render/chart-format/chart-format-pane-fill-line.d.ts.map +0 -1
  339. package/dist/pptx/render/chart-format/chart-format-pane-options.d.ts +0 -13
  340. package/dist/pptx/render/chart-format/chart-format-pane-options.d.ts.map +0 -1
  341. package/dist/pptx/render/chart-format/chart-format-pane-text.d.ts +0 -14
  342. package/dist/pptx/render/chart-format/chart-format-pane-text.d.ts.map +0 -1
  343. package/dist/pptx/render/ribbon-galleries/chart-color-palette-catalog.d.ts +0 -3
  344. package/dist/pptx/render/ribbon-galleries/chart-color-palette-catalog.d.ts.map +0 -1
  345. package/dist/pptx/render/ribbon-galleries/chart-gallery-tiles.d.ts +0 -24
  346. package/dist/pptx/render/ribbon-galleries/chart-gallery-tiles.d.ts.map +0 -1
  347. package/dist/pptx/render/ribbon-galleries/chart-quick-layout-catalog.d.ts +0 -22
  348. package/dist/pptx/render/ribbon-galleries/chart-quick-layout-catalog.d.ts.map +0 -1
  349. package/dist/pptx/web-components/chart-format-pane-fields.d.ts +0 -17
  350. package/dist/pptx/web-components/chart-format-pane-fields.d.ts.map +0 -1
  351. package/dist/xlsx/chart-area-pane.d.ts +0 -9
  352. package/dist/xlsx/chart-series-pane.d.ts +0 -8
  353. package/dist/xlsx/commands/chart-colors.d.ts +0 -19
@@ -0,0 +1,751 @@
1
+ import { canDrillDown, THREE_VIEW_EVENTS, applyChart3DSelect, applyChart3DDrag, resolveSmartArtThreeViewSpec, elementInLocalFrame, SMARTART_3D_EDIT_LAYER_ATTRIBUTE, stripEditLayerMarkers, routeEditLayerPointerToNodes, measureSvgViewportRect, findSmartArtNodeText, resolvePalette, smartArtConnectorPaint, smartArtNodeLabel, getContainerStyle, buildChromeStyle, buildSmartArtA11y, resolveRevealedSmartArtNodes, resolveRevealedDrawingShapes, computeSmartArtElementLayout, flattenNodes, computeDrawingViewBox, projectDrawingShapes, styleShadowFilter, resolveRevealedDrawingShapeNodeIds, SMARTART_PREVIEW_ELEMENT_WIDTH, SMARTART_PREVIEW_ELEMENT_HEIGHT, buildSmartArtPreviewElement, isForwardedEditLayerEvent } from './chunk-IWUIGVWT.mjs';
2
+ import { formatAxisValue } from './chunk-34LEUH5R.mjs';
3
+ import { THREE_VIEW_TAG, defineThreeViewElement } from './chunk-AMW2AR7J.mjs';
4
+
5
+ // src/pptx/dom/dom.ts
6
+ function toCssPropertyName(key) {
7
+ return key.replace(/[A-Z]/gu, (c) => `-${c.toLowerCase()}`);
8
+ }
9
+ function applyStyleMap(el, style) {
10
+ for (const [key, value] of Object.entries(style)) {
11
+ if (value === void 0 || value === null) {
12
+ continue;
13
+ }
14
+ const property = key.startsWith("--") || key.includes("-") ? key : toCssPropertyName(key);
15
+ el.style.setProperty(property, String(value));
16
+ }
17
+ }
18
+ function createEl(doc, tag, className, style) {
19
+ const el = doc.createElement(tag);
20
+ if (className) {
21
+ el.className = className;
22
+ }
23
+ if (style) {
24
+ applyStyleMap(el, style);
25
+ }
26
+ return el;
27
+ }
28
+ var SVG_NS = "http://www.w3.org/2000/svg";
29
+ function createSvgEl(doc, tag, attrs) {
30
+ const el = doc.createElementNS(SVG_NS, tag);
31
+ if (attrs) {
32
+ setSvgAttrs(el, attrs);
33
+ }
34
+ return el;
35
+ }
36
+ function setSvgAttrs(el, attrs) {
37
+ for (const [name, value] of Object.entries(attrs)) {
38
+ if (value !== void 0) {
39
+ el.setAttribute(name, String(value));
40
+ }
41
+ }
42
+ }
43
+ function composeTransforms(first, second) {
44
+ const a = first === void 0 ? "" : String(first);
45
+ const b = second === void 0 ? "" : String(second);
46
+ if (a && b) {
47
+ return `${a} ${b}`;
48
+ }
49
+ return a || b || void 0;
50
+ }
51
+
52
+ // src/pptx/dom/elements/three-view-reuse.ts
53
+ var pool = null;
54
+ function collectThreeViews(root) {
55
+ const views = /* @__PURE__ */ new Map();
56
+ for (const view of root.querySelectorAll(THREE_VIEW_TAG)) {
57
+ if (view.spec && !views.has(view.spec)) {
58
+ views.set(view.spec, view);
59
+ }
60
+ }
61
+ return views;
62
+ }
63
+ function withReusableThreeViews(views, render) {
64
+ const previous = pool;
65
+ pool = views;
66
+ try {
67
+ return render();
68
+ } finally {
69
+ pool = previous;
70
+ }
71
+ }
72
+ function takeReusableThreeView(spec) {
73
+ const view = pool?.get(spec) ?? null;
74
+ if (view) {
75
+ pool?.delete(spec);
76
+ }
77
+ return view;
78
+ }
79
+
80
+ // src/pptx/dom/elements/three-view.ts
81
+ function rendering3DFlagsOf(context) {
82
+ return {
83
+ smartArt3D: context.smartArt3D,
84
+ surfaceChart3D: context.surfaceChart3D,
85
+ barChart3D: context.barChart3D,
86
+ lineChart3D: context.lineChart3D,
87
+ areaChart3D: context.areaChart3D,
88
+ pieChart3D: context.pieChart3D
89
+ };
90
+ }
91
+ function mountThreeViewInto(doc, wrapper, options) {
92
+ defineThreeViewElement(doc.defaultView?.customElements);
93
+ const view = takeReusableThreeView(options.spec) ?? doc.createElement(THREE_VIEW_TAG);
94
+ view.replaceChildren(...Array.from(wrapper.childNodes));
95
+ view.spec = options.spec;
96
+ view.interactive = options.interactive;
97
+ view.selectedPart = options.selectedPart ?? null;
98
+ view.textStyle = options.textStyle;
99
+ wrapper.appendChild(view);
100
+ return view;
101
+ }
102
+ function isChart3DEditable(element, context) {
103
+ return element.type === "chart" && Boolean(context.interactive) && Boolean(context.onChartPointChange) && Boolean(context.selectedElementIds?.has(element.id)) && canDrillDown(element);
104
+ }
105
+ function selectedChartPartOf(element, context) {
106
+ return context.chartPartSelection?.elementId === element.id ? context.chartPartSelection.part : null;
107
+ }
108
+ function wireChartThreeViewEvents(view, element, context, badgeHost) {
109
+ if (element.type !== "chart") {
110
+ return;
111
+ }
112
+ let badge = null;
113
+ const bridge = {
114
+ elementId: element.id,
115
+ chartData: element.chartData,
116
+ canSelect: isChart3DEditable(element, context),
117
+ selectedElementId: context.chartPartSelection?.elementId ?? null,
118
+ // There is no "clear chart part selection" hook: an empty-space click
119
+ // leaves the selection alone, exactly like the 2D chart.
120
+ setSelection: (selection) => {
121
+ if (selection) {
122
+ view.selectedPart = selection.part;
123
+ context.onChartPartSelect?.(element, selection.part);
124
+ }
125
+ },
126
+ setDragValue: (value) => {
127
+ if (value === null) {
128
+ badge?.remove();
129
+ badge = null;
130
+ return;
131
+ }
132
+ if (!badge) {
133
+ badge = badgeHost.ownerDocument.createElement("div");
134
+ badge.className = "pptxv-chart-drag-badge";
135
+ badgeHost.appendChild(badge);
136
+ }
137
+ badge.textContent = formatAxisValue(value);
138
+ },
139
+ commitChartData: (next) => context.onChartPointChange?.(element, next)
140
+ };
141
+ chartViewListeners.get(view)?.abort();
142
+ const listeners = new AbortController();
143
+ chartViewListeners.set(view, listeners);
144
+ view.addEventListener(
145
+ THREE_VIEW_EVENTS.select,
146
+ (event) => applyChart3DSelect(bridge, event.detail.part),
147
+ { signal: listeners.signal }
148
+ );
149
+ view.addEventListener(
150
+ THREE_VIEW_EVENTS.drag,
151
+ (event) => applyChart3DDrag(bridge, event.detail),
152
+ { signal: listeners.signal }
153
+ );
154
+ }
155
+ var chartViewListeners = /* @__PURE__ */ new WeakMap();
156
+ function applyThreeViewTextStyle(el, style) {
157
+ for (const view of el.querySelectorAll(THREE_VIEW_TAG)) {
158
+ view.textStyle = style;
159
+ }
160
+ }
161
+
162
+ // src/pptx/dom/elements/smartart-3d.ts
163
+ var renderSmartArt3DElement = (element, zIndex, context) => {
164
+ const wrapper = renderSmartArtSvg(element, zIndex, context);
165
+ const spec = wrapper ? resolveSmartArtThreeViewSpec(element, context.smartArt3D) : null;
166
+ if (!wrapper || !spec) {
167
+ return wrapper;
168
+ }
169
+ mountThreeViewInto(context.document, wrapper, {
170
+ spec,
171
+ interactive: Boolean(context.interactive) && !context.presenting,
172
+ textStyle: context.presentationStates?.get(element.id)?.textStyle
173
+ });
174
+ if (context.onSmartArtNodeTextChange && context.interactive && !context.presenting) {
175
+ const layer = renderSmartArtSvg(elementInLocalFrame(element), 0, context);
176
+ if (layer) {
177
+ layer.classList.add("pptxv-smartart-3d-edit-layer");
178
+ layer.setAttribute(SMARTART_3D_EDIT_LAYER_ATTRIBUTE, "true");
179
+ stripEditLayerMarkers(layer);
180
+ layer.setAttribute("aria-hidden", "true");
181
+ Object.assign(layer.style, { position: "absolute", inset: "0", zIndex: "1" });
182
+ for (const svg of layer.querySelectorAll("svg")) {
183
+ svg.style.opacity = "0";
184
+ }
185
+ wrapper.appendChild(layer);
186
+ routeEditLayerPointerToNodes(layer);
187
+ }
188
+ }
189
+ return wrapper;
190
+ };
191
+
192
+ // src/pptx/dom/elements/smartart-editable.ts
193
+ var NODE_SELECTOR = "[data-smartart-node-id]";
194
+ function nodeTarget(target) {
195
+ return target instanceof Element ? target.closest(NODE_SELECTOR) : null;
196
+ }
197
+ function enableSmartArtEditing(chrome, element, context) {
198
+ const data = element.smartArtData;
199
+ if (!data || !context.onSmartArtNodeTextChange && !context.onSmartArtNodeFillChange || !canDrillDown(element)) {
200
+ return;
201
+ }
202
+ let editor = null;
203
+ let swatches = null;
204
+ let hideTimer;
205
+ const cancelHide = () => clearTimeout(hideTimer);
206
+ const ignoredHover = (event) => chrome.closest(`[${SMARTART_3D_EDIT_LAYER_ATTRIBUTE}]`) !== null && !isForwardedEditLayerEvent(event);
207
+ const closeEditor = (input = editor) => {
208
+ if (!input || input !== editor) {
209
+ return;
210
+ }
211
+ editor = null;
212
+ input.remove();
213
+ };
214
+ chrome.addEventListener("dblclick", (event) => {
215
+ const target = nodeTarget(event.target);
216
+ const nodeId = target?.dataset.smartartNodeId;
217
+ if (!target || !nodeId || !context.onSmartArtNodeTextChange) {
218
+ return;
219
+ }
220
+ event.stopPropagation();
221
+ const textNode = target.querySelector("text");
222
+ const textRect = textNode ? measureSvgViewportRect(textNode) : null;
223
+ const rect = textRect && textRect.width > 0 ? textRect : measureSvgViewportRect(target);
224
+ if (!rect) {
225
+ return;
226
+ }
227
+ closeEditor();
228
+ swatches?.remove();
229
+ const input = createEl(chrome.ownerDocument, "textarea", "pptxv-smartart-node-editor", {
230
+ position: "absolute",
231
+ left: `${rect.left - 4}px`,
232
+ top: `${rect.top - 4}px`,
233
+ width: `${Math.max(48, rect.width + 8)}px`,
234
+ height: `${Math.max(30, rect.height + 8)}px`,
235
+ zIndex: "12",
236
+ boxSizing: "border-box",
237
+ padding: "4px",
238
+ resize: "none",
239
+ border: "2px solid #60a5fa",
240
+ borderRadius: "4px",
241
+ outline: "none",
242
+ background: "rgba(255,255,255,0.96)",
243
+ color: "#111827",
244
+ textAlign: "center"
245
+ });
246
+ editor = input;
247
+ input.value = findSmartArtNodeText(data, nodeId) ?? "";
248
+ const commit = () => {
249
+ if (input !== editor) {
250
+ return;
251
+ }
252
+ const value = input.value;
253
+ closeEditor(input);
254
+ context.onSmartArtNodeTextChange?.(element, nodeId, value);
255
+ };
256
+ input.addEventListener("blur", commit, { once: true });
257
+ input.addEventListener("keydown", (keyEvent) => {
258
+ if (keyEvent.key === "Escape") {
259
+ keyEvent.preventDefault();
260
+ closeEditor(input);
261
+ } else if (keyEvent.key === "Enter" && !keyEvent.shiftKey) {
262
+ keyEvent.preventDefault();
263
+ commit();
264
+ }
265
+ });
266
+ input.addEventListener("pointerdown", (pointerEvent) => pointerEvent.stopPropagation());
267
+ chrome.appendChild(input);
268
+ input.focus();
269
+ input.select();
270
+ });
271
+ chrome.addEventListener("mouseover", (event) => {
272
+ if (ignoredHover(event)) {
273
+ return;
274
+ }
275
+ const target = nodeTarget(event.target);
276
+ const nodeId = target?.dataset.smartartNodeId;
277
+ if (!target || !nodeId || !context.onSmartArtNodeFillChange || editor) {
278
+ return;
279
+ }
280
+ cancelHide();
281
+ swatches?.remove();
282
+ const rect = measureSvgViewportRect(target);
283
+ if (!rect) {
284
+ return;
285
+ }
286
+ swatches = createEl(chrome.ownerDocument, "div", "pptxv-smartart-node-swatches", {
287
+ position: "absolute",
288
+ left: `${Math.max(0, rect.left)}px`,
289
+ top: `${Math.max(0, rect.top - 26)}px`,
290
+ zIndex: "11",
291
+ display: "flex",
292
+ gap: "4px",
293
+ padding: "4px",
294
+ border: "1px solid rgba(148,163,184,0.7)",
295
+ borderRadius: "6px",
296
+ background: "rgba(15,23,42,0.96)",
297
+ boxShadow: "0 4px 12px rgba(0,0,0,0.35)"
298
+ });
299
+ swatches.setAttribute("role", "group");
300
+ swatches.setAttribute("aria-label", context.t("pptx.smartArt.fillColor"));
301
+ for (const color of resolvePalette(data).slice(0, 6)) {
302
+ const button = createEl(chrome.ownerDocument, "button", "", {
303
+ width: "18px",
304
+ height: "18px",
305
+ padding: "0",
306
+ border: "1px solid rgba(255,255,255,0.8)",
307
+ borderRadius: "4px",
308
+ background: color,
309
+ cursor: "pointer"
310
+ });
311
+ button.type = "button";
312
+ button.setAttribute("data-pptx-compact", "");
313
+ button.setAttribute("aria-label", `${context.t("pptx.smartArt.fillColor")} ${color}`);
314
+ button.addEventListener("click", (clickEvent) => {
315
+ clickEvent.stopPropagation();
316
+ context.onSmartArtNodeFillChange?.(element, nodeId, color);
317
+ swatches?.remove();
318
+ swatches = null;
319
+ });
320
+ swatches.appendChild(button);
321
+ }
322
+ swatches.addEventListener("mouseenter", cancelHide);
323
+ swatches.addEventListener("mouseleave", () => {
324
+ swatches?.remove();
325
+ swatches = null;
326
+ });
327
+ chrome.appendChild(swatches);
328
+ });
329
+ chrome.addEventListener("mouseout", (event) => {
330
+ if (ignoredHover(event)) {
331
+ return;
332
+ }
333
+ const target = nodeTarget(event.target);
334
+ const to = event.relatedTarget;
335
+ if (!target || !swatches || to instanceof Node && (target.contains(to) || swatches.contains(to))) {
336
+ return;
337
+ }
338
+ cancelHide();
339
+ hideTimer = setTimeout(() => {
340
+ swatches?.remove();
341
+ swatches = null;
342
+ }, 150);
343
+ });
344
+ }
345
+
346
+ // src/pptx/dom/elements/smartart-svg.ts
347
+ function appendSvgTextLines(doc, parent, options) {
348
+ const textEl = createSvgEl(doc, "text", {
349
+ x: options.x,
350
+ "text-anchor": options.textAnchor ?? "middle",
351
+ "dominant-baseline": options.dominantBaseline ?? "central",
352
+ fill: options.fill,
353
+ "font-size": options.fontSize,
354
+ "font-family": options.fontFamily,
355
+ "font-weight": options.fontWeight,
356
+ "font-style": options.fontStyle
357
+ });
358
+ for (const line of options.lines) {
359
+ const tspan = createSvgEl(doc, "tspan", { x: options.x, y: line.y });
360
+ tspan.textContent = line.text;
361
+ textEl.appendChild(tspan);
362
+ }
363
+ parent.appendChild(textEl);
364
+ }
365
+ function buildSvgGradientDefs(doc, gradient) {
366
+ const defs = createSvgEl(doc, "defs");
367
+ const server = gradient.kind === "radial" ? createSvgEl(doc, "radialGradient", {
368
+ id: gradient.id,
369
+ cx: gradient.cx,
370
+ cy: gradient.cy,
371
+ r: gradient.r
372
+ }) : createSvgEl(doc, "linearGradient", {
373
+ id: gradient.id,
374
+ x1: gradient.x1,
375
+ y1: gradient.y1,
376
+ x2: gradient.x2,
377
+ y2: gradient.y2
378
+ });
379
+ for (const stop of gradient.stops) {
380
+ server.appendChild(
381
+ createSvgEl(doc, "stop", {
382
+ offset: stop.offset,
383
+ "stop-color": stop.color,
384
+ "stop-opacity": stop.opacity
385
+ })
386
+ );
387
+ }
388
+ defs.appendChild(server);
389
+ return defs;
390
+ }
391
+ var SMARTART_SVG_STYLE = "width:100%;height:100%;pointer-events:none;display:block";
392
+
393
+ // src/pptx/dom/elements/smartart-fallback.ts
394
+ function buildSmartArtFallbackSvg(doc, layout, a11yNodes = [], nodeIds = []) {
395
+ const svg = createSvgEl(doc, "svg", {
396
+ viewBox: layout.viewBox,
397
+ preserveAspectRatio: "xMidYMid meet",
398
+ "data-layout-family": layout.family
399
+ });
400
+ svg.setAttribute("class", "pptxv-smartart-svg");
401
+ svg.setAttribute("style", SMARTART_SVG_STYLE);
402
+ for (const conn of layout.connectors) {
403
+ const paint = smartArtConnectorPaint(conn);
404
+ svg.appendChild(
405
+ createSvgEl(doc, "path", {
406
+ d: paint.d,
407
+ fill: "none",
408
+ stroke: paint.stroke,
409
+ "stroke-width": paint.strokeWidth,
410
+ opacity: paint.opacity,
411
+ "stroke-dasharray": paint.dash
412
+ })
413
+ );
414
+ }
415
+ const labelsById = new Map(a11yNodes.map((node) => [node.id, node.label]));
416
+ for (const [index, node] of layout.nodes.entries()) {
417
+ const nodeId = nodeIds[index];
418
+ const label = nodeId ? labelsById.get(nodeId) : a11yNodes[index]?.label;
419
+ svg.appendChild(buildFallbackNode(doc, node, layout.shadowFilter, label, nodeId));
420
+ }
421
+ return svg;
422
+ }
423
+ function buildFallbackNode(doc, node, shadowFilter, a11yLabel, nodeId) {
424
+ const g = createSvgEl(doc, "g");
425
+ if (nodeId) {
426
+ g.dataset.smartartNodeId = nodeId;
427
+ g.style.pointerEvents = "auto";
428
+ g.style.cursor = "text";
429
+ }
430
+ if (a11yLabel) {
431
+ g.setAttribute("role", "img");
432
+ g.setAttribute("aria-label", a11yLabel);
433
+ const title = createSvgEl(doc, "title");
434
+ title.textContent = a11yLabel;
435
+ g.appendChild(title);
436
+ }
437
+ if (shadowFilter) {
438
+ g.style.filter = shadowFilter;
439
+ }
440
+ const paint = {
441
+ fill: node.fill,
442
+ stroke: node.stroke,
443
+ "stroke-width": node.strokeWidth,
444
+ opacity: node.opacity
445
+ };
446
+ if (node.kind === "circle") {
447
+ g.appendChild(createSvgEl(doc, "circle", { cx: node.cx, cy: node.cy, r: node.r, ...paint }));
448
+ } else if (node.kind === "polygon") {
449
+ g.appendChild(createSvgEl(doc, "polygon", { points: node.points, ...paint }));
450
+ } else {
451
+ g.appendChild(
452
+ createSvgEl(doc, "rect", {
453
+ x: node.x,
454
+ y: node.y,
455
+ width: node.width,
456
+ height: node.height,
457
+ rx: node.rx,
458
+ ...paint
459
+ })
460
+ );
461
+ }
462
+ const label = smartArtNodeLabel(node);
463
+ if (label.visible) {
464
+ appendSvgTextLines(doc, g, {
465
+ lines: label.lines,
466
+ x: label.x,
467
+ fill: label.fill,
468
+ fontSize: label.fontSize,
469
+ textAnchor: label.textAnchor,
470
+ dominantBaseline: label.dominantBaseline,
471
+ fontWeight: label.fontWeight,
472
+ fontStyle: label.fontStyle
473
+ });
474
+ }
475
+ return g;
476
+ }
477
+
478
+ // src/pptx/dom/elements/smartart.ts
479
+ var renderSmartArtElement = (element, zIndex, context) => {
480
+ if (element.type !== "smartArt") {
481
+ return null;
482
+ }
483
+ if (context.smartArt3D) {
484
+ return renderSmartArt3DElement(element, zIndex, context);
485
+ }
486
+ return renderSmartArtSvg(element, zIndex, context);
487
+ };
488
+ var renderSmartArtSvg = (element, zIndex, context) => {
489
+ if (element.type !== "smartArt") {
490
+ return null;
491
+ }
492
+ const doc = context.document;
493
+ const data = element.smartArtData;
494
+ const wrapper = createEl(
495
+ doc,
496
+ "div",
497
+ "pptxv-element pptxv-smartart",
498
+ getContainerStyle(element, zIndex)
499
+ );
500
+ wrapper.dataset.elementId = element.id;
501
+ wrapper.dataset.testid = `smartart-${data?.layout ?? "diagram"}`;
502
+ const chrome = createEl(doc, "div", "pptxv-smartart-chrome", buildChromeStyle(data?.chrome));
503
+ chrome.style.position = "relative";
504
+ wrapper.appendChild(chrome);
505
+ if (data) {
506
+ const a11y = buildSmartArtA11y(data);
507
+ chrome.setAttribute("role", "img");
508
+ chrome.setAttribute("aria-label", a11y.label);
509
+ }
510
+ const nodes = data?.nodes ?? [];
511
+ const drawingShapes = data?.drawingShapes ?? [];
512
+ const animationState = context.presentationStates?.get(element.id);
513
+ const { nodes: revealedNodesFull } = resolveRevealedSmartArtNodes(
514
+ nodes,
515
+ animationState,
516
+ data?.presLayoutVars
517
+ );
518
+ if (data && drawingShapes.length > 0) {
519
+ const revealedShapes = resolveRevealedDrawingShapes(drawingShapes, nodes, animationState);
520
+ chrome.appendChild(
521
+ buildDrawingShapesSvg(doc, element.id, data, buildSmartArtA11y(data).nodes, revealedShapes)
522
+ );
523
+ enableSmartArtEditing(chrome, element, context);
524
+ return wrapper;
525
+ }
526
+ if (data && nodes.length > 0) {
527
+ const revealedNodes = revealedNodesFull;
528
+ const layout = computeSmartArtElementLayout(
529
+ data,
530
+ revealedNodes,
531
+ { width: element.width, height: element.height },
532
+ resolvePalette(data),
533
+ data.style ?? "flat",
534
+ element.id
535
+ );
536
+ chrome.appendChild(
537
+ buildSmartArtFallbackSvg(
538
+ doc,
539
+ layout,
540
+ buildSmartArtA11y(data).nodes,
541
+ flattenNodes(revealedNodes).map((node) => node.id)
542
+ )
543
+ );
544
+ enableSmartArtEditing(chrome, element, context);
545
+ return wrapper;
546
+ }
547
+ const placeholder = createEl(doc, "div", "pptxv-smartart-placeholder", {
548
+ width: "100%",
549
+ height: "100%",
550
+ display: "flex",
551
+ alignItems: "center",
552
+ justifyContent: "center",
553
+ fontSize: "11px",
554
+ color: "rgba(255,255,255,0.8)",
555
+ pointerEvents: "none"
556
+ });
557
+ placeholder.textContent = context.t("pptx.smartArt.placeholder");
558
+ chrome.appendChild(placeholder);
559
+ return wrapper;
560
+ };
561
+ function buildDrawingShapesSvg(doc, elementId, data, a11yNodes, revealedShapes) {
562
+ const allShapes = data.drawingShapes ?? [];
563
+ const style = data.style ?? "flat";
564
+ const viewBox = computeDrawingViewBox(allShapes);
565
+ const rendered = projectDrawingShapes(
566
+ elementId,
567
+ revealedShapes,
568
+ viewBox,
569
+ resolvePalette(data),
570
+ style
571
+ );
572
+ const shadow = styleShadowFilter(style);
573
+ const labelsById = new Map(a11yNodes.map((node) => [node.id, node.label]));
574
+ const nodeIds = resolveRevealedDrawingShapeNodeIds(allShapes, revealedShapes, data.nodes);
575
+ const svg = createSvgEl(doc, "svg", {
576
+ viewBox: `0 0 ${viewBox.width} ${viewBox.height}`,
577
+ preserveAspectRatio: "xMidYMid meet"
578
+ });
579
+ svg.setAttribute("class", "pptxv-smartart-svg");
580
+ svg.setAttribute("style", SMARTART_SVG_STYLE);
581
+ for (const [index, shape] of rendered.entries()) {
582
+ const g = createSvgEl(doc, "g");
583
+ const nodeId = nodeIds[index];
584
+ if (nodeId) {
585
+ g.dataset.smartartNodeId = nodeId;
586
+ g.style.pointerEvents = "auto";
587
+ g.style.cursor = "text";
588
+ }
589
+ const label = nodeId ? labelsById.get(nodeId) : void 0;
590
+ if (label) {
591
+ g.setAttribute("role", "img");
592
+ g.setAttribute("aria-label", label);
593
+ const title = createSvgEl(doc, "title");
594
+ title.textContent = label;
595
+ g.appendChild(title);
596
+ }
597
+ if (shadow) {
598
+ g.style.filter = shadow;
599
+ }
600
+ if (shape.gradient) {
601
+ g.appendChild(buildSvgGradientDefs(doc, shape.gradient));
602
+ }
603
+ if (shape.kind === "image") {
604
+ const image = createSvgEl(doc, "image", {
605
+ x: shape.x,
606
+ y: shape.y,
607
+ width: shape.width,
608
+ height: shape.height,
609
+ preserveAspectRatio: "xMidYMid meet",
610
+ transform: shape.transform
611
+ });
612
+ image.setAttribute("href", shape.imageUrl ?? "");
613
+ g.appendChild(image);
614
+ } else if (shape.kind === "ellipse") {
615
+ g.appendChild(
616
+ createSvgEl(doc, "ellipse", {
617
+ cx: shape.cx,
618
+ cy: shape.cy,
619
+ rx: shape.width / 2,
620
+ ry: shape.height / 2,
621
+ fill: shape.fill,
622
+ "fill-opacity": shape.fillOpacity,
623
+ stroke: shape.stroke,
624
+ "stroke-width": shape.strokeWidth,
625
+ transform: shape.transform
626
+ })
627
+ );
628
+ } else if (shape.kind === "path") {
629
+ g.appendChild(
630
+ createSvgEl(doc, "path", {
631
+ d: shape.pathData,
632
+ fill: shape.fill,
633
+ "fill-opacity": shape.fillOpacity,
634
+ stroke: shape.stroke,
635
+ "stroke-width": shape.strokeWidth,
636
+ transform: shape.pathTransform
637
+ })
638
+ );
639
+ } else {
640
+ g.appendChild(
641
+ createSvgEl(doc, "rect", {
642
+ x: shape.x,
643
+ y: shape.y,
644
+ width: shape.width,
645
+ height: shape.height,
646
+ rx: shape.rx,
647
+ fill: shape.fill,
648
+ "fill-opacity": shape.fillOpacity,
649
+ stroke: shape.stroke,
650
+ "stroke-width": shape.strokeWidth,
651
+ transform: shape.transform
652
+ })
653
+ );
654
+ }
655
+ if (shape.textLines.length > 0) {
656
+ appendSvgTextLines(doc, g, {
657
+ lines: shape.textLines,
658
+ x: shape.textX,
659
+ fill: shape.fontColor,
660
+ fontSize: shape.fontSize,
661
+ fontFamily: shape.fontFamily,
662
+ fontWeight: shape.fontWeight,
663
+ fontStyle: shape.fontStyle
664
+ });
665
+ }
666
+ svg.appendChild(g);
667
+ }
668
+ return svg;
669
+ }
670
+
671
+ // src/pptx/dom/registry.ts
672
+ function createElementRendererRegistry() {
673
+ const renderers = /* @__PURE__ */ new Map();
674
+ let fallback = () => null;
675
+ return {
676
+ register(type, renderer) {
677
+ renderers.set(type, renderer);
678
+ },
679
+ unregister(type) {
680
+ renderers.delete(type);
681
+ },
682
+ get(type) {
683
+ return renderers.get(type);
684
+ },
685
+ has(type) {
686
+ return renderers.has(type);
687
+ },
688
+ setFallback(renderer) {
689
+ fallback = renderer;
690
+ },
691
+ resolve(type) {
692
+ return renderers.get(type) ?? fallback;
693
+ },
694
+ registeredTypes() {
695
+ return Array.from(renderers.keys()).sort();
696
+ }
697
+ };
698
+ }
699
+
700
+ // src/pptx/dom/smartart-insert-preview.ts
701
+ function buildSmartArtInsertPreview(doc, t, layout, size) {
702
+ const scale = Math.min(
703
+ size.width / SMARTART_PREVIEW_ELEMENT_WIDTH,
704
+ size.height / SMARTART_PREVIEW_ELEMENT_HEIGHT
705
+ );
706
+ const box = createEl(doc, "div", "pptxv-smartart-option-preview", {
707
+ width: `${Math.round(SMARTART_PREVIEW_ELEMENT_WIDTH * scale)}px`,
708
+ height: `${Math.round(SMARTART_PREVIEW_ELEMENT_HEIGHT * scale)}px`,
709
+ overflow: "hidden",
710
+ pointerEvents: "none",
711
+ position: "relative"
712
+ });
713
+ box.setAttribute("aria-hidden", "true");
714
+ const stage = createEl(doc, "div", void 0, {
715
+ width: `${SMARTART_PREVIEW_ELEMENT_WIDTH}px`,
716
+ height: `${SMARTART_PREVIEW_ELEMENT_HEIGHT}px`,
717
+ transform: `scale(${scale})`,
718
+ transformOrigin: "top left",
719
+ position: "relative"
720
+ });
721
+ box.appendChild(stage);
722
+ const element = buildSmartArtPreviewElement(layout);
723
+ const slide = {
724
+ id: "smartart-preview",
725
+ rId: "smartart-preview",
726
+ slideNumber: 1,
727
+ elements: [element]
728
+ };
729
+ const context = {
730
+ document: doc,
731
+ slide,
732
+ canvasSize: { width: SMARTART_PREVIEW_ELEMENT_WIDTH, height: SMARTART_PREVIEW_ELEMENT_HEIGHT },
733
+ scale: 1,
734
+ mediaDataUrls: /* @__PURE__ */ new Map(),
735
+ t,
736
+ smartArt3D: false,
737
+ surfaceChart3D: false,
738
+ barChart3D: false,
739
+ lineChart3D: false,
740
+ areaChart3D: false,
741
+ pieChart3D: false,
742
+ presenting: false,
743
+ registry: createElementRendererRegistry(),
744
+ renderElement: () => null
745
+ };
746
+ const rendered = renderSmartArtSvg(element, 0, context);
747
+ if (rendered) stage.appendChild(rendered);
748
+ return box;
749
+ }
750
+
751
+ export { SMARTART_SVG_STYLE, appendSvgTextLines, applyStyleMap, applyThreeViewTextStyle, buildSmartArtFallbackSvg, buildSmartArtInsertPreview, buildSvgGradientDefs, collectThreeViews, composeTransforms, createEl, createElementRendererRegistry, createSvgEl, enableSmartArtEditing, isChart3DEditable, mountThreeViewInto, renderSmartArt3DElement, renderSmartArtElement, renderSmartArtSvg, rendering3DFlagsOf, selectedChartPartOf, setSvgAttrs, takeReusableThreeView, wireChartThreeViewEvents, withReusableThreeViews };