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
package/README.md CHANGED
@@ -116,20 +116,22 @@ panel shows its tiles without visible labels, sharing the panel's width with the
116
116
  previews at their size, and its arrow keys only move focus: PowerPoint's inspector
117
117
  uses it for Text Warp and Quick Styles, whose picks apply at once.
118
118
 
119
- | Entry | Contents |
120
- | ------------------- | ------------------------------------------------------------------------------------------------------------ |
121
- | `ooxml-ui` | everything below plus `registerOfficeUi()` and `OFFICE_UI_TAGS` |
122
- | `ooxml-ui/theme` | `THEME_CSS`, `installOfficeUiTheme()` (tokens, dark mode, forced-colors, touch targets) |
123
- | `ooxml-ui/icons` | icon registry (`registerIcon`, `getIcon`, `listIcons`) and `<office-ui-icon>` |
124
- | `ooxml-ui/controls` | button, checkbox, switch, select, ribbon group, toolbar, dialog, status bar and item, zoom slider, tab strip |
125
- | `ooxml-ui/presence` | `<office-ui-presence>` avatar stack for collaboration awareness |
126
- | `ooxml-ui/smartart` | `<office-ui-smartart>`: draws a core `DiagramDrawing` as SVG |
127
- | `ooxml-ui/teams` | the Teams elements and `<teams-app>` |
128
- | `ooxml-ui/suite` | browser document persistence the Office suite uses |
129
- | `ooxml-ui/docx` | the Word editor and viewer elements (`<docx-editor>`) |
130
- | `ooxml-ui/xlsx` | the Excel editor and viewer elements (`<xlsx-editor>`) |
131
- | `ooxml-ui/visio` | the Visio editor and viewer elements (`<visio-viewer>`) |
132
- | `ooxml-ui/pptx` | the PowerPoint renderer, editor and web components; also `/pptx/theme`, `/loader`, `/i18n`, `/ai`, `/dom` |
119
+ | Entry | Contents |
120
+ | ------------------------------- | ------------------------------------------------------------------------------------------------------------ |
121
+ | `ooxml-ui` | everything below plus `registerOfficeUi()` and `OFFICE_UI_TAGS` |
122
+ | `ooxml-ui/theme` | `THEME_CSS`, `installOfficeUiTheme()` (tokens, dark mode, forced-colors, touch targets) |
123
+ | `ooxml-ui/icons` | icon registry (`registerIcon`, `getIcon`, `listIcons`) and `<office-ui-icon>` |
124
+ | `ooxml-ui/controls` | button, checkbox, switch, select, ribbon group, toolbar, dialog, status bar and item, zoom slider, tab strip |
125
+ | `ooxml-ui/presence` | `<office-ui-presence>` avatar stack for collaboration awareness |
126
+ | `ooxml-ui/smartart` | `<office-ui-smartart>` (draws a core `DiagramDrawing`), the SmartArt picker, text pane and Design galleries |
127
+ | `ooxml-ui/chart-format-locales` | the Chart Format pane's own translations (`CHART_FORMAT_STRINGS`), for a product dictionary to extend |
128
+ | `ooxml-ui/teams` | the Teams elements and `<teams-app>` |
129
+ | `ooxml-ui/bindings` | the framework binding kit; `/bindings/react`, `/vue` and `/solid` are its component factories |
130
+ | `ooxml-ui/suite` | browser document persistence the Office suite uses |
131
+ | `ooxml-ui/docx` | the Word editor and viewer elements (`<docx-editor>`) |
132
+ | `ooxml-ui/xlsx` | the Excel editor and viewer elements (`<xlsx-editor>`) |
133
+ | `ooxml-ui/visio` | the Visio editor and viewer elements (`<visio-viewer>`) |
134
+ | `ooxml-ui/pptx` | the PowerPoint renderer, editor and web components; also `/pptx/theme`, `/loader`, `/i18n`, `/ai`, `/dom` |
133
135
 
134
136
  Every entry declares an `import` and a `default` export condition, so CommonJS consumers on Node 20.19+ or 22.12+ load it through `require(esm)`.
135
137
 
@@ -149,6 +151,39 @@ Importing an entry never touches the DOM (SSR-safe). Elements are defined by the
149
151
  `register*` functions, which are idempotent, no-ops without a `window`, and refuse to coexist
150
152
  with an incompatible build of this package.
151
153
 
154
+ ## Framework binding kit (`ooxml-ui/bindings`)
155
+
156
+ The machinery every product's framework adapters share (Word, Excel, Visio and Teams), so a product
157
+ binding only declares what is its own. It has no framework imports and touches no DOM at import.
158
+
159
+ - **A contract per product** (`BindingContract`): `props` lists each forwarded prop in forwarding
160
+ order with its policy (`always`, `changed`, `defined`: written only when set and changed, or
161
+ `manual`: left to the product's mount function), an optional `fallback`, equality (`same`),
162
+ `initial` value and `apply`; `events` maps each element event to its handler option
163
+ (`onDocumentChange`) and arguments (`eventArgs.detail`, `.event` for cancelable events such as
164
+ `file-command`, `.readOnly`, `.detailAndEvent`, `.field(name)`), and `readOnlyChange` adds the
165
+ `v-model:readOnly` / `[(readOnly)]` model that mirrors the host's own switch; `handle` lists the
166
+ imperative handle's members.
167
+ - **`bindElement(element, contract, handlers)`** listens to the events (reading the current
168
+ handlers at event time) and forwards changed props; the product's mount function keeps what is
169
+ its own around it (Word's document model after collaboration, Excel's workbook, bytes and `src`
170
+ supersession, Visio's revision-aware patches, the Teams host class with `syncClassName`).
171
+ - **Helpers**: `createPropTracker`, `shallowEqual`, `sameList`, `createSrcLoader`, `nameFromUrl`,
172
+ `deferredHandle` (a handle that throws a clear error before mount), `installHandle` (the same
173
+ members on an Angular component's prototype), `pickProps`, `eventOptions`, `contractOptions`,
174
+ `angularOutputs` and the framework naming rules (`svelteHandlerName`, `angularOutputName`).
175
+ - **Component factories** for frameworks that need no compiler: `createReactBinding`
176
+ (`ooxml-ui/bindings/react`, a `forwardRef` component whose ref is the handle), `defineVueBinding`
177
+ (`/vue`: props, kebab-case emits, `v-model` and `expose` from the contract) and
178
+ `createSolidBinding` (`/solid`: a host element, reactive options and an `editorRef` callback).
179
+ React, Vue and Solid are optional peer dependencies. Angular components and `.svelte` files need
180
+ their compilers, so they stay in each product, as small as the helpers above make them.
181
+
182
+ Each product checks every adapter against its contract (`contract-parity.test.ts` in the Word,
183
+ Excel and Visio bindings, `bindings-contract.test.ts` in Teams). How a product defines a contract,
184
+ how `bindElement` and the handle work, and how each framework adapter consumes them is in
185
+ `src/ui/src/bindings/README.md`.
186
+
152
187
  ## One theme for composed editors
153
188
 
154
189
  Use the shared `--office-*` CSS tokens on a common ancestor of the canvas and its standalone
@@ -236,7 +271,12 @@ Arrow navigation stays within the current menu and skips disabled entries.
236
271
  | `office-ui-gallery` | `state` `{ id, label, moreLabel?, disabled?, command?, sections: [{ title?, columns, tileWidth, tileHeight, items: [{ id, label, applied?, preview? }] }], inline? }`, `mode` (`inline`, `panel`), `compact` (a panel of unlabelled tiles), `chevron-only`, `icon`; `open`, `disabled`, `close()`; tiles in light DOM (`data-gallery-item`), previews parsed by `parseSvgPreview` | `office-gallery-pick` `{ gallery, itemId }` |
237
272
  | `office-ui-comments-pane` | `threads` `[{ id, anchorLabel?, resolved, comments: [{ id, author, initials?, color?, created?, text, edited? }] }]`, `activeThreadId`, `read-only` (controls disabled), `list-only` (navigation list only), `closable`, `add-disabled`, `currentAuthor` (may edit own comments), `labels` (every string), `classNames` (`{ thread?, comment? }` product hook classes), `locale`; arrows, Home and End between threads, Enter or Space selects | `comment-add` `{ text }`, `comment-reply` `{ threadId, text }`, `comment-edit` `{ threadId, commentId, text }`, `comment-delete` `{ threadId, commentId }`, `thread-resolve` / `thread-reopen` / `thread-select` `{ threadId }`, `comments-close` |
238
273
  | `office-ui-presence` | `participants`, `max`, `label` | `office-presence-select` `{ id }` |
239
- | `office-ui-smartart` | `drawing` (core `DiagramDrawing`), `schemeColors`, `label` | `office-smartart-render` (render report) |
274
+ | `office-ui-smartart` | `drawing` (core `DiagramDrawing`), `schemeColors`, `schemeFonts`, `label` | `office-smartart-render` (render report) |
275
+ | `office-ui-smartart-picker` | `categories`, `layouts`, `labels`, `drawPreview`, `value`, `category`, `items-editor`, `accent` | `office-smartart-change` (every choice or edit), `office-smartart-activate` (double-click or Enter on a tile) |
276
+ | `office-ui-smartart-text-pane` | `nodes` (`{ id, text, level, marker?, style?, canMoveUp?, canMoveDown?, canRemove?, canAddChild? }`), `selected`, `labels`, `closable`, `tools`, `disabled`, `appendDisabled`, `notes` (the host applies every request) | `office-smartart-text-change` `{ id, text }`, `office-smartart-node-add` / `-promote` / `-demote` / `-remove` / `-select` `{ id }`, `office-smartart-text-pane-close`, and with `tools` `-append`, `-move`, `-add-child`, `-style` |
277
+ | `office-ui-chart-picker` | `types`, `groupings`, `groupedTypes`, `labels`, `drawPreview`, `value` `{ type, grouping, title, data? }`, `change-only` | `office-chart-change` (every edit, detail is the value) |
278
+ | `office-ui-chart-data-sheet` | `data` `{ categories, series: [{ name, values }] }`, `labels`, `highlight`, `disabled`, `locale` | `office-chart-data-change` `{ edits, data }` (the host maps the edits onto its model) |
279
+ | `office-ui-chart-format-pane` | `source` (`ChartFormatSource`) or `chartSpace`, `target`, `theme`, `translateLabel`, `locale`, `disabled` | `office-chart-format-edit` `{ target, field, value, intent }`, `office-chart-format-target` `{ target }`, `office-chart-format-close` |
240
280
  | `office-ui-icon` | `name`, `label` | none |
241
281
 
242
282
  The local profile behind `office-ui-account` is stored on the device only, under one suite-wide
@@ -250,6 +290,17 @@ steps back; disabled controls are dimmed and never run.
250
290
 
251
291
  Elements with intent events read their event name and test-id prefix from static class fields (`requestEvent`, `testIdPrefix`), so a product can register a subclass under its own tag that keeps its published contract.
252
292
 
293
+ `office-ui-dialog` keeps focus inside the dialog while it is open. Tab and Shift+Tab cycle through
294
+ the body's controls in order, including the focusable controls inside the shadow root of a composite
295
+ element slotted into the body (a picker such as `office-ui-chart-picker` is not itself focusable), and
296
+ the close button; focus returns to the previous element on close.
297
+
298
+ Chart and SmartArt editing elements (`office-ui-chart-format-pane`, `office-ui-chart-data-sheet`,
299
+ `office-ui-chart-picker`, `office-ui-smartart-picker`, `office-ui-smartart-text-pane`) take the document
300
+ data as properties and report each change as an event; they never write a model. Their events, the
301
+ Chart Design galleries and the translations are described in `src/ui/src/chart/README.md` and
302
+ `src/ui/src/smartart/README.md`.
303
+
253
304
  Setting a property never emits an event; only user activation does. Controls honour
254
305
  `prefers-color-scheme`, `forced-colors: active` (system colours and a visible focus ring) and
255
306
  coarse pointers (44px targets through `--office-target-size`).
@@ -353,10 +404,22 @@ event detail (`approximatedGeometries`, `approximatedFills`, `flattened3d`); not
353
404
  ## Scope
354
405
 
355
406
  Only what every Office product needs lives here. Product-specific ribbon content (PowerPoint
356
- slides, transitions, animations; Word styles and review) lives in the product's own subpath (`src/ui/src/<product>/`), not in the shared entries. The
357
- `pptx-ui-*` tags are thin subclasses of the `office-ui-*` elements; `docs/ooxml-ui-plan.md` in the
358
- repository keeps the decisions that still apply (layout, style rules, the tag aliases and the
359
- token map).
407
+ slides, transitions, animations; Word styles and review) lives in the product's own subpath
408
+ (`src/ui/src/<product>/`), not in the shared entries. Most `pptx-ui-*` tags are thin subclasses of the
409
+ `office-ui-*` elements; the chart and SmartArt dialogs (`pptx-ui-insert-chart-dialog`,
410
+ `pptx-ui-insert-smartart-dialog`) are PowerPoint's own elements built from the shared pickers, and
411
+ `pptx-ui-chart-format-pane` is the one subclass of a shared chart element. The aliases are listed in
412
+ `src/ui/src/pptx/web-components/README.md`. `docs/ooxml-ui-plan.md` in the repository keeps the
413
+ decisions that still apply (layout, style rules, the tag aliases and the token map).
414
+
415
+ ### PowerPoint headless controllers
416
+
417
+ PowerPoint's framework-free state (undo history, autosave, autosave recovery and the collaboration
418
+ session) lives in `src/ui/src/pptx/render/controller/` as headless
419
+ controllers: plain objects with `getSnapshot()`, `subscribe()` and typed actions, which each binding
420
+ adapts with one generic store adapter. The convention is documented in the header of
421
+ `src/ui/src/pptx/render/controller/controller.ts`; the rule for when logic belongs there or in core is
422
+ Rule 2 of `viewers/pptx/AGENTS.md`.
360
423
 
361
424
  ## Development
362
425
 
@@ -835,6 +835,140 @@
835
835
  }
836
836
  ]
837
837
  },
838
+ {
839
+ "kind": "javascript-module",
840
+ "path": "chart/data-sheet.ts",
841
+ "declarations": [
842
+ {
843
+ "kind": "class",
844
+ "name": "OfficeUiChartDataSheet",
845
+ "tagName": "office-ui-chart-data-sheet",
846
+ "customElement": true,
847
+ "description": "`<office-ui-chart-data-sheet>`: the categories x series table of a chart's \"Edit Data\" view, shared by every product. Series names run across the header row, category labels down the first column, values in between; the toolbar adds a category or a series and each header has a remove button while more than one is left. Arrow keys, Enter, Tab, F2 and Escape behave as in the spreadsheet PowerPoint opens; pasting a tab-separated block (from Excel, Word or this sheet) fills cells from the focused one, adding the series and categories it needs. Values are read and shown in `locale`'s number convention (the browser's when unset, as Office follows the system's); a value that is not a number is refused and the cell restored. The host sets `data` (`{ categories, series: [{ name, values }] }`), `labels` (translated), `highlight` and `disabled`, and maps `office-chart-data-change` `{ edits, data }` onto its own chart model; the sheet shows the edited data at once and takes whatever `data` the host sets next.",
848
+ "attributes": [
849
+ {
850
+ "name": "disabled"
851
+ },
852
+ {
853
+ "name": "locale"
854
+ }
855
+ ],
856
+ "members": [
857
+ {
858
+ "kind": "field",
859
+ "name": "data"
860
+ },
861
+ {
862
+ "kind": "field",
863
+ "name": "disabled",
864
+ "type": {
865
+ "text": "boolean"
866
+ }
867
+ },
868
+ {
869
+ "kind": "field",
870
+ "name": "highlight"
871
+ },
872
+ {
873
+ "kind": "field",
874
+ "name": "labels"
875
+ },
876
+ {
877
+ "kind": "field",
878
+ "name": "locale",
879
+ "type": {
880
+ "text": "string"
881
+ }
882
+ }
883
+ ],
884
+ "events": [
885
+ {
886
+ "name": "office-chart-data-change"
887
+ }
888
+ ]
889
+ }
890
+ ],
891
+ "exports": [
892
+ {
893
+ "kind": "custom-element-definition",
894
+ "name": "office-ui-chart-data-sheet",
895
+ "declaration": {
896
+ "name": "OfficeUiChartDataSheet"
897
+ }
898
+ }
899
+ ]
900
+ },
901
+ {
902
+ "kind": "javascript-module",
903
+ "path": "chart/format-pane.ts",
904
+ "declarations": [
905
+ {
906
+ "kind": "class",
907
+ "name": "OfficeUiChartFormatPane",
908
+ "tagName": "office-ui-chart-format-pane",
909
+ "customElement": true,
910
+ "description": "`<office-ui-chart-format-pane>`: the chart Format task pane every product shares (Format Chart Area, Format Data Series, Format Axis, ...): the element picker, Chart Options and Text Options, the icon tabs and their collapsible sections. Give it a `source` (what the chart reads as, see `ChartFormatSource`) or a `chartSpace` (read through `chartSpaceFormatSource`) and a `target` key; it applies nothing itself. Each committed field fires `office-chart-format-edit` with the field, its value and the typed `ChartEditIntent` (`applyChartEditIntent` runs it over a `ChartSpace`; other products map it onto their own edits), then repaints from the source the host sets back. The picker fires `office-chart-format-target`, Close and Escape `office-chart-format-close`. A source with a `slots.fill` name leaves that section to the host's light-DOM child with the same `slot`. Captions (`chartFormat.*` keys) come from the pane's own dictionary for `locale`; `translateLabel(key, params, fallback)` overrides the ones a product words differently. `disabled` makes every control read-only. It lays out in flow; a product docks it.",
911
+ "attributes": [
912
+ {
913
+ "name": "disabled"
914
+ }
915
+ ],
916
+ "members": [
917
+ {
918
+ "kind": "field",
919
+ "name": "chartSpace"
920
+ },
921
+ {
922
+ "kind": "field",
923
+ "name": "disabled",
924
+ "type": {
925
+ "text": "boolean"
926
+ }
927
+ },
928
+ {
929
+ "kind": "field",
930
+ "name": "locale"
931
+ },
932
+ {
933
+ "kind": "field",
934
+ "name": "source"
935
+ },
936
+ {
937
+ "kind": "field",
938
+ "name": "target"
939
+ },
940
+ {
941
+ "kind": "field",
942
+ "name": "theme"
943
+ },
944
+ {
945
+ "kind": "field",
946
+ "name": "translateLabel"
947
+ }
948
+ ],
949
+ "events": [
950
+ {
951
+ "name": "office-chart-format-close"
952
+ },
953
+ {
954
+ "name": "office-chart-format-edit"
955
+ },
956
+ {
957
+ "name": "office-chart-format-target"
958
+ }
959
+ ]
960
+ }
961
+ ],
962
+ "exports": [
963
+ {
964
+ "kind": "custom-element-definition",
965
+ "name": "office-ui-chart-format-pane",
966
+ "declaration": {
967
+ "name": "OfficeUiChartFormatPane"
968
+ }
969
+ }
970
+ ]
971
+ },
838
972
  {
839
973
  "kind": "javascript-module",
840
974
  "path": "dialog/chart-picker.ts",
@@ -1331,7 +1465,7 @@
1331
1465
  "name": "OfficeUiColorGrid",
1332
1466
  "tagName": "office-ui-color-grid",
1333
1467
  "customElement": true,
1334
- "description": "`<office-ui-color-grid>`: Office's colour picker body. From the top: an optional `automatic-label` command (Automatic) and `none-label` command (No Fill, No Line), \"Theme Colors\" (ten columns, a base colour over its five lighter and darker variants, built from `themeColors`), \"Standard Colors\" (preceded by the `extraColors` row when a product has one, such as Visio's variant colours), \"Recent Colors\" when `recentColors` has any, and an optional `more-label` command (More Colors...). `value` (`#rrggbb`, `'none'` or `'automatic'`) marks the current choice. `themeNames` renames the ten columns and `variantLabel` names their variants (for a translated product). A product that computes its own swatches sets `palette` instead (one column per colour it can resolve, each with up to five variants; a missing one leaves its cell empty), and one that stores theme references marks the current swatch with `selectedTheme`. An empty `standardColors` leaves out Standard Colors. Choosing emits `office-color-pick` `{ color, source, label, theme?, index? }` (a theme swatch reports its column and variant, so a product can save a theme reference instead of the colour); the More Colors command emits `office-color-more`. Arrow keys move through the swatches and commands, Home and End jump to the ends; ArrowUp on the first row and ArrowDown on the last are left for a host menu. The element is only the grid: a product puts it in its own menu, popup or pane.",
1468
+ "description": "`<office-ui-color-grid>`: Office's colour picker body. From the top: an optional `automatic-label` command (Automatic) and `none-label` command (No Fill, No Line), \"Theme Colors\" (ten columns, a base colour over its five lighter and darker variants, built from `themeColors`), \"Standard Colors\" (preceded by the `extraColors` row when a product has one, such as Visio's variant colours), \"Recent Colors\" when `recentColors` has any, and an optional `more-label` command (More Colors...). `value` (`#rrggbb`, `'none'` or `'automatic'`) marks the current choice. `themeNames` renames the ten columns and `variantLabel` names their variants (for a translated product). A product that computes its own swatches sets `palette` instead (one column per colour it can resolve, each with up to five variants; a missing one leaves its cell empty), and one that stores theme references marks the current swatch with `selectedTheme`. An empty `palette` leaves out Theme Colors and an empty `standardColors` leaves out Standard Colors, so a product can show Recent Colors on their own. `recentLabel` names the Recent Colors swatches (their hex by default). Choosing emits `office-color-pick` `{ color, source, label, theme?, index? }` (a theme swatch reports its column and variant, so a product can save a theme reference instead of the colour); the More Colors command emits `office-color-more`. Arrow keys move through the swatches and commands, Home and End jump to the ends; ArrowUp on the first row and ArrowDown on the last are left for a host menu. The element is only the grid: a product puts it in its own menu, popup or pane.",
1335
1469
  "attributes": [
1336
1470
  {
1337
1471
  "name": "automatic-label"
@@ -1420,6 +1554,10 @@
1420
1554
  },
1421
1555
  "attribute": "recent-heading"
1422
1556
  },
1557
+ {
1558
+ "kind": "field",
1559
+ "name": "recentLabel"
1560
+ },
1423
1561
  {
1424
1562
  "kind": "field",
1425
1563
  "name": "selectedTheme"
@@ -3841,6 +3979,188 @@
3841
3979
  }
3842
3980
  ]
3843
3981
  },
3982
+ {
3983
+ "kind": "javascript-module",
3984
+ "path": "smartart/smartart-picker.ts",
3985
+ "declarations": [
3986
+ {
3987
+ "kind": "class",
3988
+ "name": "OfficeUiSmartArtPicker",
3989
+ "tagName": "office-ui-smartart-picker",
3990
+ "customElement": true,
3991
+ "description": "`<office-ui-smartart-picker>`: the body of every product's Insert SmartArt dialog: a category list, a gallery of layout tiles (`role=\"listbox\"`), and a pane with the chosen layout's large preview, name and its category's description. The product owns the dialog around it, the OK and Cancel buttons and the diagram model. The host sets `categories`, `layouts` and `labels` (translated), and optionally `drawPreview` (a live render; without it each tile draws its layout family in `accent`). `items-editor` adds a text box of node texts, one per line, seeded from the chosen layout's `defaultItems`. Read and write the choice with `value` and the shown category with `category`; choosing a category selects its first layout. Emits `office-smartart-change` with the value on every choice or edit, and `office-smartart-activate` with the value when a tile is double-clicked or Enter is pressed on it (the host inserts, as OK would).",
3992
+ "attributes": [
3993
+ {
3994
+ "name": "accent"
3995
+ },
3996
+ {
3997
+ "name": "items-editor"
3998
+ }
3999
+ ],
4000
+ "members": [
4001
+ {
4002
+ "kind": "field",
4003
+ "name": "accent",
4004
+ "type": {
4005
+ "text": "string"
4006
+ }
4007
+ },
4008
+ {
4009
+ "kind": "field",
4010
+ "name": "categories"
4011
+ },
4012
+ {
4013
+ "kind": "field",
4014
+ "name": "category"
4015
+ },
4016
+ {
4017
+ "kind": "field",
4018
+ "name": "drawPreview"
4019
+ },
4020
+ {
4021
+ "kind": "field",
4022
+ "name": "itemsEditor",
4023
+ "type": {
4024
+ "text": "boolean"
4025
+ },
4026
+ "attribute": "items-editor"
4027
+ },
4028
+ {
4029
+ "kind": "field",
4030
+ "name": "labels"
4031
+ },
4032
+ {
4033
+ "kind": "field",
4034
+ "name": "layouts"
4035
+ },
4036
+ {
4037
+ "kind": "field",
4038
+ "name": "value"
4039
+ }
4040
+ ],
4041
+ "events": [
4042
+ {
4043
+ "name": "office-smartart-activate"
4044
+ },
4045
+ {
4046
+ "name": "office-smartart-change"
4047
+ }
4048
+ ]
4049
+ }
4050
+ ],
4051
+ "exports": [
4052
+ {
4053
+ "kind": "custom-element-definition",
4054
+ "name": "office-ui-smartart-picker",
4055
+ "declaration": {
4056
+ "name": "OfficeUiSmartArtPicker"
4057
+ }
4058
+ }
4059
+ ]
4060
+ },
4061
+ {
4062
+ "kind": "javascript-module",
4063
+ "path": "smartart/smartart-text-pane.ts",
4064
+ "declarations": [
4065
+ {
4066
+ "kind": "class",
4067
+ "name": "OfficeUiSmartArtTextPane",
4068
+ "tagName": "office-ui-smartart-text-pane",
4069
+ "customElement": true,
4070
+ "description": "`<office-ui-smartart-text-pane>`: the SmartArt text pane every product shares. It shows the diagram's nodes as an outline of text lines indented by level and turns keys into requests the host applies to its diagram model (the pane never edits the model itself): - typing fires `office-smartart-text-change` (`{ id, text }`); - Enter fires `office-smartart-node-add` (add a node after this one, same level); - Tab and Shift+Tab fire `office-smartart-node-demote` and `office-smartart-node-promote`; - Backspace or Delete in an empty line fires `office-smartart-node-remove` (unless the line's `canRemove` is false); - focusing a line fires `office-smartart-node-select`; Up and Down move between lines. The node events carry `{ id }`. The host sets `nodes` again after applying a request and `selected` to the node to focus (the new node after Enter, the previous one after Backspace). `closable` adds a close button that fires `office-smartart-text-pane-close`. Strings come translated through `labels`. `tools` adds PowerPoint's inspector tools: a header button that fires `office-smartart-node-append`, and per line move up and down (`office-smartart-node-move`, `{ id, direction }`), add sub-item (`office-smartart-node-add-child`), remove (`office-smartart-node-remove`) and a style row (fill and text colour, bold, italic) that fires `office-smartart-node-style` (`{ id, style }`). `disabled` makes the pane read-only, `notes` adds hint lines under the outline and `appendDisabled` disables the header button.",
4071
+ "attributes": [
4072
+ {
4073
+ "name": "append-disabled"
4074
+ },
4075
+ {
4076
+ "name": "closable"
4077
+ },
4078
+ {
4079
+ "name": "disabled"
4080
+ },
4081
+ {
4082
+ "name": "selected"
4083
+ },
4084
+ {
4085
+ "name": "tools"
4086
+ }
4087
+ ],
4088
+ "members": [
4089
+ {
4090
+ "kind": "field",
4091
+ "name": "appendDisabled",
4092
+ "type": {
4093
+ "text": "boolean"
4094
+ },
4095
+ "attribute": "append-disabled"
4096
+ },
4097
+ {
4098
+ "kind": "field",
4099
+ "name": "closable",
4100
+ "type": {
4101
+ "text": "boolean"
4102
+ }
4103
+ },
4104
+ {
4105
+ "kind": "field",
4106
+ "name": "disabled",
4107
+ "type": {
4108
+ "text": "boolean"
4109
+ }
4110
+ },
4111
+ {
4112
+ "kind": "field",
4113
+ "name": "labels"
4114
+ },
4115
+ {
4116
+ "kind": "field",
4117
+ "name": "nodes"
4118
+ },
4119
+ {
4120
+ "kind": "field",
4121
+ "name": "notes"
4122
+ },
4123
+ {
4124
+ "kind": "field",
4125
+ "name": "selected",
4126
+ "type": {
4127
+ "text": "string"
4128
+ }
4129
+ },
4130
+ {
4131
+ "kind": "field",
4132
+ "name": "tools",
4133
+ "type": {
4134
+ "text": "boolean"
4135
+ }
4136
+ }
4137
+ ],
4138
+ "events": [
4139
+ {
4140
+ "name": "office-smartart-node-append"
4141
+ },
4142
+ {
4143
+ "name": "office-smartart-node-select"
4144
+ },
4145
+ {
4146
+ "name": "office-smartart-text-change"
4147
+ },
4148
+ {
4149
+ "name": "office-smartart-text-pane-close"
4150
+ }
4151
+ ]
4152
+ }
4153
+ ],
4154
+ "exports": [
4155
+ {
4156
+ "kind": "custom-element-definition",
4157
+ "name": "office-ui-smartart-text-pane",
4158
+ "declaration": {
4159
+ "name": "OfficeUiSmartArtTextPane"
4160
+ }
4161
+ }
4162
+ ]
4163
+ },
3844
4164
  {
3845
4165
  "kind": "javascript-module",
3846
4166
  "path": "chrome/status-bar.ts",
@@ -0,0 +1,29 @@
1
+ import type { BindingContract, EventRule } from './contract.js';
2
+ /** Stops some (or, without names, all) of the listeners `listenEvents` added. */
3
+ export type Unlisten = (names?: Iterable<string>) => void;
4
+ /**
5
+ * Listens to every event in `events` on `element`; each one calls the handler option the rule
6
+ * names, read through `handlers()` at event time, with the rule's arguments. `onEvent` runs first
7
+ * (a product records what the element emitted, so it is not echoed back as a prop).
8
+ */
9
+ export declare function listenEvents(element: EventTarget, events: Readonly<Record<string, EventRule>>, handlers: () => object, onEvent?: (name: string, event: CustomEvent) => void): Unlisten;
10
+ export interface BoundElement<P> {
11
+ /** Forwards the props whose policy says so (every policy but `manual`). */
12
+ update(next: {
13
+ readonly [K in keyof P]?: P[K] | undefined;
14
+ }): void;
15
+ /** The value last written for `key`. */
16
+ sent(key: keyof P & string): unknown;
17
+ unlisten: Unlisten;
18
+ }
19
+ export interface BindElementOptions {
20
+ onEvent?: (name: string, event: CustomEvent) => void;
21
+ }
22
+ /**
23
+ * Wires `element` to a product contract. `handlers()` returns the current handler options (the
24
+ * latest props), read at event time. Product-specific steps (a document model that must follow
25
+ * collaboration, `src` supersession) stay in the product's mount function around `update`.
26
+ */
27
+ export declare function bindElement<E extends EventTarget, P extends object>(element: E, contract: Pick<BindingContract<E, P>, 'props' | 'events'>, handlers: () => object, options?: BindElementOptions): BoundElement<P>;
28
+ /** Swaps the classes a binding added (`previous`) for `next`, leaving the element's own classes. */
29
+ export declare function syncClassName(element: Element, previous: string | undefined, next: string | undefined): void;