ooxml-ui 1.13.0 → 1.14.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 (245) hide show
  1. package/custom-elements.json +379 -4
  2. package/dist/{chunk-D7JPVAYS.js → chunk-C3MXKNNK.js} +2139 -136
  3. package/dist/{chunk-EL2A3BDM.js → chunk-C5F7454A.js} +2 -2
  4. package/dist/{chunk-3XST4F6J.js → chunk-DSQBXLMO.js} +1 -1
  5. package/dist/{chunk-BFPHRWEB.js → chunk-LAVVSCRJ.js} +85 -44
  6. package/dist/controls.js +1 -1
  7. package/dist/dialog/options-dialog.d.ts +41 -0
  8. package/dist/dialog/options-dialog.d.ts.map +1 -1
  9. package/dist/docx/content-control-calendar.d.ts +7 -0
  10. package/dist/docx/content-control-dialog.d.ts +7 -0
  11. package/dist/docx/content-control-view.d.ts +2 -0
  12. package/dist/docx/editor-core.d.ts +7 -0
  13. package/dist/docx/equation-commands.d.ts +17 -0
  14. package/dist/docx/equation-dialog.d.ts +7 -0
  15. package/dist/docx/format-dialogs.d.ts +1 -1
  16. package/dist/docx/insert-controller.d.ts +4 -0
  17. package/dist/docx/locales/en.d.ts +118 -0
  18. package/dist/docx/locales/objects.d.ts +37 -0
  19. package/dist/docx/locales/shapes.d.ts +101 -0
  20. package/dist/docx/localization-strings.d.ts +118 -0
  21. package/dist/docx/note-editor.d.ts +7 -1
  22. package/dist/docx/parts-controller.d.ts +27 -1
  23. package/dist/docx/print-caret-affinity.d.ts +15 -0
  24. package/dist/docx/print-editing-index.d.ts +1 -0
  25. package/dist/docx/print-editing.d.ts +2 -1
  26. package/dist/docx/print-float-geometry.d.ts +28 -0
  27. package/dist/docx/print-float-locate.d.ts +25 -0
  28. package/dist/docx/print-float-selection.d.ts +24 -0
  29. package/dist/docx/print-float-text.d.ts +8 -0
  30. package/dist/docx/print-keyboard-navigation.d.ts +4 -3
  31. package/dist/docx/print-layout-view.d.ts +6 -0
  32. package/dist/docx/print-layout.d.ts +1 -1
  33. package/dist/docx/print-note-editing.d.ts +47 -0
  34. package/dist/docx/print-page-window.d.ts +2 -1
  35. package/dist/docx/print-picture.d.ts +7 -0
  36. package/dist/docx/print-story-editing.d.ts +16 -0
  37. package/dist/docx/print-vertical-step.d.ts +7 -0
  38. package/dist/docx/ribbon-action.d.ts +15 -0
  39. package/dist/docx/ribbon-icons.d.ts +3 -0
  40. package/dist/docx/schema.d.ts +1 -1
  41. package/dist/docx/shape-commands.d.ts +40 -0
  42. package/dist/docx/shape-draw.d.ts +12 -0
  43. package/dist/docx/shape-format-ribbon.d.ts +4 -0
  44. package/dist/docx/shape-node-view.d.ts +4 -0
  45. package/dist/docx/shape-picker.d.ts +5 -0
  46. package/dist/docx/shape-text-dialog.d.ts +4 -0
  47. package/dist/docx/table-model-adapter.d.ts +1 -1
  48. package/dist/docx/table-navigation.d.ts +8 -0
  49. package/dist/docx.js +3046 -376
  50. package/dist/index.d.ts +1 -1
  51. package/dist/index.js +4 -4
  52. package/dist/pptx/{chart-3d-view-scene-MYQRQDNF.mjs → chart-3d-view-scene-BEAJCQIS.mjs} +2 -2
  53. package/dist/pptx/{chart-3d-view-scene-WX23DR2E.cjs → chart-3d-view-scene-CFUVOILD.cjs} +38 -38
  54. package/dist/pptx/{chunk-VFPVEVF4.cjs → chunk-2JTHIDMD.cjs} +173 -873
  55. package/dist/pptx/{chunk-J3GEBMYK.cjs → chunk-4NBVWV6I.cjs} +83 -0
  56. package/dist/pptx/{chunk-J4HVGXPW.cjs → chunk-5DUBDWOU.cjs} +4544 -2587
  57. package/dist/pptx/{chunk-C5OJXCCB.cjs → chunk-5UGJC25J.cjs} +1 -1
  58. package/dist/pptx/{chunk-NAFUYAQP.mjs → chunk-DWUC6LZK.mjs} +1 -1
  59. package/dist/pptx/{chunk-DZUSNYRA.mjs → chunk-GUAP5VUN.mjs} +3775 -1854
  60. package/dist/pptx/{chunk-K3S2A64B.cjs → chunk-HULZNSHL.cjs} +13 -13
  61. package/dist/pptx/{chunk-CB2DZVKL.mjs → chunk-OJXPN2WX.mjs} +83 -0
  62. package/dist/pptx/{chunk-QCP2XYJW.mjs → chunk-P3YE5LT2.mjs} +1 -1
  63. package/dist/pptx/{chunk-DPOES4WM.mjs → chunk-VXKFXPCU.mjs} +116 -829
  64. package/dist/pptx/dom/index.cjs +253 -253
  65. package/dist/pptx/dom/index.mjs +8 -8
  66. package/dist/pptx/export/html2canvas-clone.cjs +2 -2
  67. package/dist/pptx/export/html2canvas-clone.mjs +1 -1
  68. package/dist/pptx/i18n/index.cjs +6 -6
  69. package/dist/pptx/i18n/index.mjs +1 -1
  70. package/dist/pptx/i18n/translations-en.d.ts.map +1 -1
  71. package/dist/pptx/index.cjs +3235 -3099
  72. package/dist/pptx/index.mjs +5 -5
  73. package/dist/pptx/render/chart-auto-title.d.ts +10 -15
  74. package/dist/pptx/render/chart-auto-title.d.ts.map +1 -1
  75. package/dist/pptx/render/chart-cartesian-bubbles.d.ts.map +1 -1
  76. package/dist/pptx/render/chart-combo-stock.cjs +3 -3
  77. package/dist/pptx/render/chart-combo-stock.mjs +1 -1
  78. package/dist/pptx/render/chart-data-label-text.d.ts +1 -1
  79. package/dist/pptx/render/chart-error-bars.d.ts.map +1 -1
  80. package/dist/pptx/render/chart-helpers.d.ts +3 -10
  81. package/dist/pptx/render/chart-helpers.d.ts.map +1 -1
  82. package/dist/pptx/render/chart-overlays-trendline-fit.d.ts +7 -9
  83. package/dist/pptx/render/chart-overlays-trendline-fit.d.ts.map +1 -1
  84. package/dist/pptx/render/chart-overlays.cjs +7 -7
  85. package/dist/pptx/render/chart-overlays.mjs +1 -1
  86. package/dist/pptx/render/chart-stock-candles.d.ts +0 -21
  87. package/dist/pptx/render/chart-stock-candles.d.ts.map +1 -1
  88. package/dist/pptx/render/chart-style-palette.d.ts +3 -28
  89. package/dist/pptx/render/chart-style-palette.d.ts.map +1 -1
  90. package/dist/pptx/render/chart-sunburst-hierarchy.d.ts +8 -28
  91. package/dist/pptx/render/chart-sunburst-hierarchy.d.ts.map +1 -1
  92. package/dist/pptx/render/chart-surface-treemap.cjs +4 -4
  93. package/dist/pptx/render/chart-surface-treemap.mjs +1 -1
  94. package/dist/pptx/render/chart-treemap-hierarchy.d.ts +7 -9
  95. package/dist/pptx/render/chart-treemap-hierarchy.d.ts.map +1 -1
  96. package/dist/pptx/render/chart-trendlines.d.ts +3 -17
  97. package/dist/pptx/render/chart-trendlines.d.ts.map +1 -1
  98. package/dist/pptx/render/chart-view-model-points.d.ts +2 -23
  99. package/dist/pptx/render/chart-view-model-points.d.ts.map +1 -1
  100. package/dist/pptx/render/chart-view-model.cjs +44 -44
  101. package/dist/pptx/render/chart-view-model.mjs +1 -1
  102. package/dist/pptx/render/chart-waterfall-map.cjs +6 -6
  103. package/dist/pptx/render/chart-waterfall-map.mjs +1 -1
  104. package/dist/pptx/render/customization/customization-catalog.d.ts +9 -2
  105. package/dist/pptx/render/customization/customization-catalog.d.ts.map +1 -1
  106. package/dist/pptx/render/customization/customization-controller.d.ts +9 -1
  107. package/dist/pptx/render/customization/customization-controller.d.ts.map +1 -1
  108. package/dist/pptx/render/customization/customization-descriptions.d.ts +5 -1
  109. package/dist/pptx/render/customization/customization-descriptions.d.ts.map +1 -1
  110. package/dist/pptx/render/customization/customization-entry-points.d.ts +46 -0
  111. package/dist/pptx/render/customization/customization-entry-points.d.ts.map +1 -0
  112. package/dist/pptx/render/customization/customization-reference.d.ts.map +1 -1
  113. package/dist/pptx/render/customization/customization-regions.d.ts +131 -0
  114. package/dist/pptx/render/customization/customization-regions.d.ts.map +1 -0
  115. package/dist/pptx/render/customization/customization-resolve-regions.d.ts +11 -0
  116. package/dist/pptx/render/customization/customization-resolve-regions.d.ts.map +1 -0
  117. package/dist/pptx/render/customization/customization-resolve.d.ts +21 -2
  118. package/dist/pptx/render/customization/customization-resolve.d.ts.map +1 -1
  119. package/dist/pptx/render/customization/customization-surfaces.d.ts +21 -0
  120. package/dist/pptx/render/customization/customization-surfaces.d.ts.map +1 -1
  121. package/dist/pptx/render/customization/customization-types.d.ts +28 -2
  122. package/dist/pptx/render/customization/customization-types.d.ts.map +1 -1
  123. package/dist/pptx/render/customization/index.d.ts +2 -0
  124. package/dist/pptx/render/customization/index.d.ts.map +1 -1
  125. package/dist/pptx/render/customization/ribbon-control-catalog-core.d.ts +34 -2
  126. package/dist/pptx/render/customization/ribbon-control-catalog-core.d.ts.map +1 -1
  127. package/dist/pptx/render/customization/ribbon-control-catalog.d.ts +34 -2
  128. package/dist/pptx/render/customization/ribbon-control-catalog.d.ts.map +1 -1
  129. package/dist/pptx/render/customization/ribbon-control-visibility.d.ts +6 -1
  130. package/dist/pptx/render/customization/ribbon-control-visibility.d.ts.map +1 -1
  131. package/dist/pptx/render/editor-chrome/ribbon-css.d.ts +1 -1
  132. package/dist/pptx/render/editor-chrome/ribbon-css.d.ts.map +1 -1
  133. package/dist/pptx/render/index.d.ts +1 -1
  134. package/dist/pptx/render/index.d.ts.map +1 -1
  135. package/dist/pptx/render/morph-plan.d.ts.map +1 -1
  136. package/dist/pptx/render/ole-actions.d.ts +5 -3
  137. package/dist/pptx/render/ole-actions.d.ts.map +1 -1
  138. package/dist/pptx/render/options/index.d.ts +2 -0
  139. package/dist/pptx/render/options/index.d.ts.map +1 -1
  140. package/dist/pptx/render/options/options-dialog-binding.d.ts +60 -0
  141. package/dist/pptx/render/options/options-dialog-binding.d.ts.map +1 -0
  142. package/dist/pptx/render/options/options-dialog-model.d.ts +35 -0
  143. package/dist/pptx/render/options/options-dialog-model.d.ts.map +1 -0
  144. package/dist/pptx/render/ribbon-insert-layout.d.ts +56 -0
  145. package/dist/pptx/render/ribbon-insert-layout.d.ts.map +1 -0
  146. package/dist/pptx/render/ribbon-insert-state.d.ts +42 -2
  147. package/dist/pptx/render/ribbon-insert-state.d.ts.map +1 -1
  148. package/dist/pptx/render/viewer-props-manifest.d.ts +54 -0
  149. package/dist/pptx/render/viewer-props-manifest.d.ts.map +1 -0
  150. package/dist/pptx/web-components/index.d.ts.map +1 -1
  151. package/dist/pptx/web-components/office-aliases.d.ts +13 -0
  152. package/dist/pptx/web-components/office-aliases.d.ts.map +1 -1
  153. package/dist/pptx/web-components/office-token-bridge.d.ts +1 -1
  154. package/dist/pptx/web-components/office-token-bridge.d.ts.map +1 -1
  155. package/dist/pptx/web-components/options-dialog.d.ts +7 -0
  156. package/dist/pptx/web-components/options-dialog.d.ts.map +1 -0
  157. package/dist/pptx/web-components/ribbon-insert-dom.d.ts +28 -1
  158. package/dist/pptx/web-components/ribbon-insert-dom.d.ts.map +1 -1
  159. package/dist/pptx/web-components/ribbon-insert-icons.d.ts.map +1 -1
  160. package/dist/pptx/web-components/ribbon-insert-styles.d.ts.map +1 -1
  161. package/dist/pptx/web-components/ribbon-insert-table-picker.d.ts +16 -0
  162. package/dist/pptx/web-components/ribbon-insert-table-picker.d.ts.map +1 -0
  163. package/dist/pptx/web-components/ribbon-insert-view.d.ts +2 -1
  164. package/dist/pptx/web-components/ribbon-insert-view.d.ts.map +1 -1
  165. package/dist/pptx/web-components/ribbon-overflow.d.ts.map +1 -1
  166. package/dist/teams/activity-feed.d.ts +36 -0
  167. package/dist/teams/app/calendar-app.d.ts +2 -0
  168. package/dist/teams/app/chat-app.d.ts +11 -0
  169. package/dist/teams/app/chat-people-dialog.d.ts +38 -0
  170. package/dist/teams/app/controller.d.ts +3 -2
  171. package/dist/teams/app/dialog-base.d.ts +18 -0
  172. package/dist/teams/app/meeting-details.d.ts +63 -0
  173. package/dist/teams/app/meeting-dialog.d.ts +103 -0
  174. package/dist/teams/app/new-chat-dialog.d.ts +42 -0
  175. package/dist/teams/app/notify-delivery.d.ts +28 -0
  176. package/dist/teams/app/settings-notifications.d.ts +9 -0
  177. package/dist/teams/app/store.d.ts +1 -1
  178. package/dist/teams/app/teams-app.d.ts +65 -3
  179. package/dist/teams/app/teams-settings.d.ts +5 -1
  180. package/dist/teams/app/thread-pane.d.ts +1 -1
  181. package/dist/teams/app-rail.d.ts +15 -3
  182. package/dist/teams/base.d.ts +2 -0
  183. package/dist/teams/calendar-agenda.d.ts +30 -0
  184. package/dist/teams/calendar-view.d.ts +61 -0
  185. package/dist/teams/chat-composer.d.ts +32 -2
  186. package/dist/teams/chat-list.d.ts +32 -2
  187. package/dist/teams/chat-sidebar.d.ts +25 -0
  188. package/dist/teams/index.d.ts +6 -1
  189. package/dist/teams/people-picker.d.ts +37 -0
  190. package/dist/teams.js +2 -2
  191. package/dist/visio/locales/de-commands.d.ts +2 -0
  192. package/dist/visio/locales/de-text.d.ts +2 -0
  193. package/dist/visio/locales/en-commands.d.ts +2 -0
  194. package/dist/visio/locales/en-text.d.ts +2 -0
  195. package/dist/visio/locales/es-commands.d.ts +2 -0
  196. package/dist/visio/locales/es-text.d.ts +2 -0
  197. package/dist/visio/locales/fr-commands.d.ts +2 -0
  198. package/dist/visio/locales/fr-text.d.ts +2 -0
  199. package/dist/visio/locales/zh-CN-commands.d.ts +2 -0
  200. package/dist/visio/locales/zh-CN-text.d.ts +2 -0
  201. package/dist/visio/ribbon-home.d.ts +1 -1
  202. package/dist/visio/ribbon-locale.d.ts +11 -0
  203. package/dist/visio/ribbon-localize.d.ts +9 -0
  204. package/dist/visio/ribbon-tab-cue.d.ts +8 -0
  205. package/dist/visio/shapes-document.d.ts +5 -0
  206. package/dist/visio/shapes-files-ui.d.ts +13 -0
  207. package/dist/visio/shapes-master-list.d.ts +5 -0
  208. package/dist/visio/shapes-sections.d.ts +1 -4
  209. package/dist/visio/stencil-files.d.ts +36 -0
  210. package/dist/visio/styles.d.ts +1 -1
  211. package/dist/visio/viewer-chrome.d.ts +3 -3
  212. package/dist/visio/viewer-element.d.ts +2 -0
  213. package/dist/visio.js +2110 -150
  214. package/dist/xlsx/commands/slicers.d.ts +9 -0
  215. package/dist/xlsx/commands/view.d.ts +3 -0
  216. package/dist/xlsx/dialogs/pivot-field-settings.d.ts +7 -0
  217. package/dist/xlsx/dialogs/pivot-group-dates.d.ts +6 -0
  218. package/dist/xlsx/dialogs/pivot-group.d.ts +3 -0
  219. package/dist/xlsx/dialogs/pivot-rows.d.ts +21 -0
  220. package/dist/xlsx/dialogs/pivot-values.d.ts +1 -1
  221. package/dist/xlsx/dialogs/scenario-manager.d.ts +2 -0
  222. package/dist/xlsx/dialogs/slicers.d.ts +9 -0
  223. package/dist/xlsx/dialogs/styles.d.ts +1 -1
  224. package/dist/xlsx/dialogs/what-if.d.ts +5 -0
  225. package/dist/xlsx/grid/page-break-layer.d.ts +3 -0
  226. package/dist/xlsx/grid/slicer.d.ts +22 -0
  227. package/dist/xlsx/grid/styles.d.ts +1 -1
  228. package/dist/xlsx/grid/timeline.d.ts +12 -0
  229. package/dist/xlsx/modules.d.ts +1 -0
  230. package/dist/xlsx/page-views/index.d.ts +7 -0
  231. package/dist/xlsx/page-views/page-layout-bands.d.ts +17 -0
  232. package/dist/xlsx/page-views/page-layout-css.d.ts +1 -0
  233. package/dist/xlsx/page-views/page-layout-editor.d.ts +21 -0
  234. package/dist/xlsx/page-views/page-layout-rulers.d.ts +3 -0
  235. package/dist/xlsx/page-views/page-layout-view.d.ts +8 -0
  236. package/dist/xlsx/print-pages.d.ts +7 -1
  237. package/dist/xlsx/ribbon/tabs/contextual.d.ts +4 -0
  238. package/dist/xlsx.js +2718 -359
  239. package/package.json +2 -2
  240. package/dist/pptx/render/chart-number-format-pattern.d.ts +0 -35
  241. package/dist/pptx/render/chart-number-format-pattern.d.ts.map +0 -1
  242. package/dist/pptx/render/chart-number-format.d.ts +0 -21
  243. package/dist/pptx/render/chart-number-format.d.ts.map +0 -1
  244. package/dist/pptx/render/chart-waterfall-layout.d.ts +0 -20
  245. package/dist/pptx/render/chart-waterfall-layout.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { defineSmartArt } from './chunk-ANPFMQ6E.js';
2
- import { TEAMS_TAGS, registerTeams } from './chunk-D7JPVAYS.js';
2
+ import { TEAMS_TAGS, registerTeams } from './chunk-C3MXKNNK.js';
3
3
  import { installOfficeUiTheme } from './chunk-7E3HU7RL.js';
4
- import { registerControls } from './chunk-BFPHRWEB.js';
4
+ import { registerControls } from './chunk-LAVVSCRJ.js';
5
5
  import { definePresence } from './chunk-KNC2UEUR.js';
6
6
 
7
7
  // src/index.ts
@@ -1,4 +1,4 @@
1
- import { defineRibbonGroup, defineRibbonStack, defineButton, defineMenuItem, defineMenuButton } from './chunk-BFPHRWEB.js';
1
+ import { defineRibbonGroup, defineRibbonStack, defineButton, defineMenuItem, defineMenuButton } from './chunk-LAVVSCRJ.js';
2
2
  import { acceptedRibbonAddIns, findRibbonAddInCommand, RIBBON_ADD_IN_EVENT } from 'ooxml-core/ribbon';
3
3
  export { RIBBON_ADD_IN_EVENT } from 'ooxml-core/ribbon';
4
4
 
@@ -3875,7 +3875,7 @@ function optionRow(host, control) {
3875
3875
  }
3876
3876
 
3877
3877
  // raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/dialog/options-dialog.css?raw
3878
- var options_dialog_default = ":host {\n display: contents;\n}\noffice-ui-dialog {\n --office-dialog-width: var(--office-options-width);\n --office-dialog-max-width: var(--office-options-width);\n --office-dialog-max-height: 88vh;\n}\n.layout {\n display: grid;\n grid-template-columns: var(--office-options-nav-width) minmax(0, 1fr);\n height: var(--office-options-height);\n max-height: calc(88vh - var(--office-options-chrome-height));\n margin: calc(-1 * var(--office-space-4));\n font-size: var(--office-font-size-sm);\n}\nnav {\n display: flex;\n flex-direction: column;\n gap: var(--office-space-0);\n padding: var(--office-space-2);\n border-inline-end: var(--office-border-width) solid var(--office-border);\n overflow: auto;\n}\nnav button {\n padding: var(--office-space-2) var(--office-space-2-5);\n border: 0;\n border-radius: var(--office-radius);\n background: transparent;\n color: inherit;\n font: inherit;\n text-align: start;\n white-space: nowrap;\n cursor: pointer;\n}\nnav button:hover {\n background: var(--office-selected);\n}\nnav button[aria-selected='true'] {\n background: color-mix(in srgb, var(--office-accent) 14%, transparent);\n color: var(--office-accent);\n font-weight: 600;\n}\nnav button:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: calc(-1 * var(--office-focus-width));\n}\n[role='tabpanel'] {\n min-width: 0;\n padding: var(--office-space-3-5) var(--office-space-5);\n overflow: auto;\n}\n.lead {\n margin: 0 0 var(--office-space-3);\n font-weight: 600;\n}\n.unavailable {\n margin: 0 0 var(--office-space-3);\n color: var(--office-muted-foreground);\n}\nsection {\n margin: 0 0 var(--office-space-4);\n}\nh3 {\n margin: 0 0 var(--office-space-1);\n padding-bottom: var(--office-space-0);\n border-bottom: var(--office-border-width) solid var(--office-border);\n color: var(--office-muted-foreground);\n font-size: var(--office-font-size-2xs);\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n}\n.desc {\n margin: 0 0 var(--office-space-2);\n color: var(--office-muted-foreground);\n font-size: var(--office-font-size-xs);\n}\n.row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--office-space-3);\n min-height: var(--office-options-row-height);\n padding: var(--office-space-0) 0;\n cursor: pointer;\n}\n.row.indent {\n padding-inline-start: var(--office-space-6);\n}\n.row[data-disabled] {\n color: var(--office-muted-foreground);\n cursor: default;\n}\n.label {\n display: inline-flex;\n align-items: center;\n gap: var(--office-space-1);\n min-width: 0;\n}\ninput[type='text'],\ninput[type='number'],\nselect {\n box-sizing: border-box;\n max-width: 55%;\n padding: var(--office-space-1) var(--office-space-1-5);\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius);\n background: var(--office-surface);\n color: inherit;\n font: inherit;\n}\ninput[type='text'] {\n width: var(--office-options-text-width);\n}\ninput[type='number'] {\n width: var(--office-options-number-width);\n text-align: end;\n}\ninput:disabled,\nselect:disabled {\n opacity: 0.55;\n}\ninput[type='checkbox'] {\n flex: none;\n width: var(--office-options-check-size);\n height: var(--office-options-check-size);\n margin: 0;\n accent-color: var(--office-accent);\n}\n.number {\n display: inline-flex;\n align-items: center;\n gap: var(--office-space-1-5);\n}\n.unit {\n color: var(--office-muted-foreground);\n font-size: var(--office-font-size-xs);\n}\n.info {\n display: inline-grid;\n place-items: center;\n flex: none;\n width: var(--office-info-size);\n height: var(--office-info-size);\n border: var(--office-border-width) solid currentColor;\n border-radius: 50%;\n font-size: var(--office-font-size-3xs);\n font-style: normal;\n color: var(--office-accent);\n opacity: 0.75;\n cursor: help;\n}\n.actions {\n display: flex;\n flex: 1;\n justify-content: flex-end;\n gap: var(--office-space-2);\n}\n.actions button {\n min-width: var(--office-dialog-button-min-width);\n min-height: var(--office-control-height-md);\n padding: 0 var(--office-space-3);\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius);\n background: var(--office-surface);\n color: inherit;\n font: inherit;\n font-size: var(--office-font-size-sm);\n cursor: pointer;\n}\n.actions button:hover {\n background: var(--office-selected);\n}\n.actions .primary {\n border-color: var(--office-accent);\n background: var(--office-accent);\n color: var(--office-accent-foreground);\n}\n.actions .primary:hover {\n background: var(--office-accent);\n filter: brightness(1.08);\n}\n@media (max-width: 767px) {\n .layout {\n grid-template-columns: minmax(0, 1fr);\n grid-template-rows: auto minmax(0, 1fr);\n }\n nav {\n flex-direction: row;\n border-inline-end: 0;\n border-bottom: var(--office-border-width) solid var(--office-border);\n }\n nav button,\n .actions button {\n min-height: var(--office-target-size-touch);\n }\n .row {\n min-height: var(--office-target-size-touch);\n }\n input[type='text'],\n input[type='number'],\n select {\n min-height: var(--office-target-size-touch);\n }\n .actions {\n flex-wrap: wrap;\n }\n}\n@media (forced-colors: active) {\n nav button[aria-selected='true'] {\n outline: var(--office-border-width) solid Highlight;\n }\n}\n";
3878
+ var options_dialog_default = ":host {\n display: contents;\n}\noffice-ui-dialog {\n --office-dialog-width: var(--office-options-width);\n --office-dialog-max-width: var(--office-options-width);\n --office-dialog-max-height: 88vh;\n}\n.custom {\n max-height: calc(88vh - var(--office-options-chrome-height));\n overflow: auto;\n font-size: var(--office-font-size-sm);\n}\n.layout {\n display: grid;\n grid-template-columns: var(--office-options-nav-width) minmax(0, 1fr);\n height: var(--office-options-height);\n max-height: calc(88vh - var(--office-options-chrome-height));\n margin: calc(-1 * var(--office-space-4));\n font-size: var(--office-font-size-sm);\n}\nnav {\n display: flex;\n flex-direction: column;\n gap: var(--office-space-0);\n padding: var(--office-space-2);\n border-inline-end: var(--office-border-width) solid var(--office-border);\n overflow: auto;\n}\nnav button {\n padding: var(--office-space-2) var(--office-space-2-5);\n border: 0;\n border-radius: var(--office-radius);\n background: transparent;\n color: inherit;\n font: inherit;\n text-align: start;\n white-space: nowrap;\n cursor: pointer;\n}\nnav button:hover {\n background: var(--office-selected);\n}\nnav button[aria-selected='true'] {\n background: color-mix(in srgb, var(--office-accent) 14%, transparent);\n color: var(--office-accent);\n font-weight: 600;\n}\nnav button:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: calc(-1 * var(--office-focus-width));\n}\n[role='tabpanel'] {\n min-width: 0;\n padding: var(--office-space-3-5) var(--office-space-5);\n overflow: auto;\n}\n.lead {\n margin: 0 0 var(--office-space-3);\n font-weight: 600;\n}\n.unavailable {\n margin: 0 0 var(--office-space-3);\n color: var(--office-muted-foreground);\n}\nsection {\n margin: 0 0 var(--office-space-4);\n}\nh3 {\n margin: 0 0 var(--office-space-1);\n padding-bottom: var(--office-space-0);\n border-bottom: var(--office-border-width) solid var(--office-border);\n color: var(--office-muted-foreground);\n font-size: var(--office-font-size-2xs);\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n}\n.desc {\n margin: 0 0 var(--office-space-2);\n color: var(--office-muted-foreground);\n font-size: var(--office-font-size-xs);\n}\n.row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--office-space-3);\n min-height: var(--office-options-row-height);\n padding: var(--office-space-0) 0;\n cursor: pointer;\n}\n.row.indent {\n padding-inline-start: var(--office-space-6);\n}\n.row[data-disabled] {\n color: var(--office-muted-foreground);\n cursor: default;\n}\n.label {\n display: inline-flex;\n align-items: center;\n gap: var(--office-space-1);\n min-width: 0;\n}\ninput[type='text'],\ninput[type='number'],\nselect {\n box-sizing: border-box;\n max-width: 55%;\n padding: var(--office-space-1) var(--office-space-1-5);\n border: var(--office-border-width) solid var(--office-field-border);\n border-radius: var(--office-field-radius);\n background: var(--office-field-background);\n color: var(--office-field-foreground);\n font: inherit;\n}\ninput[type='text']:focus-visible,\ninput[type='number']:focus-visible,\nselect:focus-visible {\n border-color: var(--office-field-border-focus);\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: calc(-1 * var(--office-focus-width));\n}\ninput[type='text'] {\n width: var(--office-options-text-width);\n}\ninput[type='number'] {\n width: var(--office-options-number-width);\n text-align: end;\n}\ninput:disabled,\nselect:disabled {\n opacity: 0.55;\n}\ninput[type='checkbox'] {\n flex: none;\n width: var(--office-options-check-size);\n height: var(--office-options-check-size);\n margin: 0;\n appearance: none;\n display: inline-grid;\n place-content: center;\n box-sizing: border-box;\n border: var(--office-border-width) solid var(--office-checkbox-border);\n border-radius: var(--office-checkbox-radius);\n background: var(--office-checkbox-background);\n cursor: inherit;\n}\ninput[type='checkbox']:checked {\n border-color: var(--office-checkbox-accent);\n background: var(--office-checkbox-accent);\n}\ninput[type='checkbox']:checked::after {\n content: '';\n width: calc(var(--office-options-check-size) * 0.7);\n height: calc(var(--office-options-check-size) * 0.7);\n background: var(--office-checkbox-accent-foreground);\n clip-path: polygon(14% 52%, 0 66%, 38% 100%, 100% 22%, 86% 8%, 38% 72%);\n}\ninput[type='checkbox']:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: var(--office-focus-offset);\n}\n@media (forced-colors: active) {\n input[type='checkbox']:checked {\n background: Highlight;\n }\n input[type='checkbox']:checked::after {\n background: HighlightText;\n }\n}\n.number {\n display: inline-flex;\n align-items: center;\n gap: var(--office-space-1-5);\n}\n.unit {\n color: var(--office-muted-foreground);\n font-size: var(--office-font-size-xs);\n}\n.info {\n display: inline-grid;\n place-items: center;\n flex: none;\n width: var(--office-info-size);\n height: var(--office-info-size);\n border: var(--office-border-width) solid currentColor;\n border-radius: 50%;\n font-size: var(--office-font-size-3xs);\n font-style: normal;\n color: var(--office-accent);\n opacity: 0.75;\n cursor: help;\n}\n.actions {\n display: flex;\n flex: 1;\n justify-content: flex-end;\n gap: var(--office-space-2);\n}\n.actions button {\n min-width: var(--office-dialog-button-min-width);\n min-height: var(--office-control-height-md);\n padding: 0 var(--office-space-3);\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius);\n background: var(--office-surface);\n color: inherit;\n font: inherit;\n font-size: var(--office-font-size-sm);\n cursor: pointer;\n}\n.actions button:hover {\n background: var(--office-selected);\n}\n.actions .primary {\n border-color: var(--office-accent);\n background: var(--office-accent);\n color: var(--office-accent-foreground);\n}\n.actions .primary:hover {\n background: var(--office-accent);\n filter: brightness(1.08);\n}\n@media (max-width: 767px) {\n .layout {\n grid-template-columns: minmax(0, 1fr);\n grid-template-rows: auto minmax(0, 1fr);\n }\n nav {\n flex-direction: row;\n border-inline-end: 0;\n border-bottom: var(--office-border-width) solid var(--office-border);\n }\n nav button,\n .actions button {\n min-height: var(--office-target-size-touch);\n }\n .row {\n min-height: var(--office-target-size-touch);\n }\n input[type='text'],\n input[type='number'],\n select {\n min-height: var(--office-target-size-touch);\n }\n .actions {\n flex-wrap: wrap;\n }\n}\n@media (forced-colors: active) {\n nav button[aria-selected='true'] {\n outline: var(--office-border-width) solid Highlight;\n }\n}\n";
3879
3879
 
3880
3880
  // src/dialog/options-dialog.ts
3881
3881
  var DEFAULT_LABELS = {
@@ -3889,6 +3889,8 @@ var OfficeUiOptionsDialog = class extends OfficeElement {
3889
3889
  static styles = controlStyles(options_dialog_default);
3890
3890
  static properties = {
3891
3891
  open: flag,
3892
+ live: flag,
3893
+ customBody: { ...flag, attribute: "custom-body" },
3892
3894
  heading: { type: String },
3893
3895
  categories: { attribute: false },
3894
3896
  defaults: { attribute: false },
@@ -3901,6 +3903,8 @@ var OfficeUiOptionsDialog = class extends OfficeElement {
3901
3903
  constructor() {
3902
3904
  super();
3903
3905
  this.open = false;
3906
+ this.live = false;
3907
+ this.customBody = false;
3904
3908
  this.heading = null;
3905
3909
  this.categories = [];
3906
3910
  this.defaults = null;
@@ -3915,7 +3919,7 @@ var OfficeUiOptionsDialog = class extends OfficeElement {
3915
3919
  }
3916
3920
  set values(value) {
3917
3921
  this.committed = { ...value };
3918
- if (!present(this.open)) this.draftValues = { ...value };
3922
+ if (!present(this.open) || present(this.live)) this.draftValues = { ...value };
3919
3923
  this.requestUpdate("values");
3920
3924
  }
3921
3925
  /** The selected category id. */
@@ -3943,9 +3947,19 @@ var OfficeUiOptionsDialog = class extends OfficeElement {
3943
3947
  this.open = false;
3944
3948
  }
3945
3949
  resetAll() {
3950
+ if (present(this.live)) {
3951
+ this.fire("office-options-reset", {});
3952
+ return;
3953
+ }
3946
3954
  this.draftValues = { ...this.draftValues, ...this.defaults };
3947
3955
  this.requestUpdate();
3948
3956
  }
3957
+ /** Panes the product slots in sit outside the dialog's own focus trap: let Tab walk through them. */
3958
+ onPaneKey(event) {
3959
+ if (event.key !== "Tab") return;
3960
+ const origin = event.composedPath()[0];
3961
+ if (origin instanceof Node && !this.renderRoot.contains(origin)) event.stopPropagation();
3962
+ }
3949
3963
  onNavKey(event) {
3950
3964
  const tabs = [...this.renderRoot.querySelectorAll('nav [role="tab"]')];
3951
3965
  const at = tabs.findIndex((tab) => tab.getAttribute("aria-selected") === "true");
@@ -3956,6 +3970,27 @@ var OfficeUiOptionsDialog = class extends OfficeElement {
3956
3970
  this.category = target.dataset.category;
3957
3971
  this.renderRoot.querySelector('nav [aria-selected="true"]')?.focus();
3958
3972
  }
3973
+ /** Native controls and popups follow the theme: dark when `--office-background` is dark. */
3974
+ syncColorScheme() {
3975
+ const probe = this.ownerDocument.createElement("span");
3976
+ probe.style.cssText = "display:none;background-color:var(--office-background)";
3977
+ this.renderRoot.append(probe);
3978
+ const match = /\d+(\.\d+)?/g;
3979
+ let background = "";
3980
+ try {
3981
+ background = getComputedStyle(probe).backgroundColor;
3982
+ } catch {
3983
+ }
3984
+ probe.remove();
3985
+ if (!background) return;
3986
+ const [r = 255, g = 255, b = 255] = (background.match(match) ?? []).slice(0, 3).map(Number);
3987
+ this.style.colorScheme = 0.2126 * r + 0.7152 * g + 0.0722 * b < 128 ? "dark" : "light";
3988
+ }
3989
+ updated(changed) {
3990
+ if (changed.has("open") && present(this.open)) this.syncColorScheme();
3991
+ if (changed.has("active") && this.active)
3992
+ this.fire("office-options-category", { id: this.active });
3993
+ }
3959
3994
  willUpdate(changed) {
3960
3995
  if (!this.categories.some((category) => category.id === this.active))
3961
3996
  this.active = this.categories[0]?.id ?? "";
@@ -3963,6 +3998,8 @@ var OfficeUiOptionsDialog = class extends OfficeElement {
3963
3998
  }
3964
3999
  set(key, next) {
3965
4000
  this.draftValues[key] = next;
4001
+ if (present(this.live)) this.committed[key] = next;
4002
+ this.fire("office-option-input", { key, value: next });
3966
4003
  this.requestUpdate();
3967
4004
  }
3968
4005
  pane(category) {
@@ -3975,6 +4012,7 @@ var OfficeUiOptionsDialog = class extends OfficeElement {
3975
4012
  <h3>${section.title}</h3>
3976
4013
  ${section.description ? html`<p class="desc">${section.description}</p>` : ""}
3977
4014
  ${section.controls.map((control) => optionRow(this, control))}
4015
+ ${section.slot ? html`<slot name=${section.slot}></slot>` : ""}
3978
4016
  </section>`
3979
4017
  )}
3980
4018
  ${category.custom ? html`<slot name="pane-${category.id}"></slot>` : ""}
@@ -3989,52 +4027,55 @@ var OfficeUiOptionsDialog = class extends OfficeElement {
3989
4027
  close-label=${text.close}
3990
4028
  ?open=${present(this.open)}
3991
4029
  @office-dialog-close=${(event) => {
3992
- if (!event.defaultPrevented) this.close();
4030
+ if (event.defaultPrevented) return;
4031
+ if (present(this.live)) this.commit();
4032
+ else this.close();
3993
4033
  }}
3994
4034
  >
3995
- <div class="layout">
3996
- <nav
3997
- role="tablist"
3998
- aria-orientation="vertical"
3999
- aria-label=${text.categories}
4000
- @keydown=${this.onNavKey}
4001
- >
4002
- ${this.categories.map(
4035
+ ${present(this.customBody) ? html`<div class="custom" @keydown=${this.onPaneKey}><slot name="body"></slot></div>` : this.layout(category, text)}
4036
+ </office-ui-dialog>
4037
+ `;
4038
+ }
4039
+ layout(category, text) {
4040
+ return html`
4041
+ <div class="layout">
4042
+ <nav
4043
+ role="tablist"
4044
+ aria-orientation="vertical"
4045
+ aria-label=${text.categories}
4046
+ @keydown=${this.onNavKey}
4047
+ >
4048
+ ${this.categories.map(
4003
4049
  (entry) => html`<button
4004
- type="button"
4005
- role="tab"
4006
- id="tab-${entry.id}"
4007
- data-category=${entry.id}
4008
- aria-controls="pane"
4009
- aria-selected=${String(entry.id === this.active)}
4010
- tabindex=${entry.id === this.active ? 0 : -1}
4011
- @click=${() => this.category = entry.id}
4012
- >${entry.label}</button
4013
- >`
4050
+ type="button"
4051
+ role="tab"
4052
+ id="tab-${entry.id}"
4053
+ data-category=${entry.id}
4054
+ aria-controls="pane"
4055
+ aria-selected=${String(entry.id === this.active)}
4056
+ tabindex=${entry.id === this.active ? 0 : -1}
4057
+ @click=${() => this.category = entry.id}
4058
+ >${entry.label}</button
4059
+ >`
4014
4060
  )}
4015
- </nav>
4016
- <div
4017
- role="tabpanel"
4018
- id="pane"
4019
- aria-labelledby=${ifDefined(category ? `tab-${category.id}` : void 0)}
4020
- >${this.pane(category)}</div
4021
- >
4022
- </div>
4023
- <div slot="footer" class="actions">
4024
- ${this.defaults ? html`<button
4025
- type="button"
4026
- class="reset"
4027
- data-action="reset"
4028
- @click=${this.resetAll}
4029
- >
4030
- ${text.reset}
4031
- </button>` : ""}
4032
- <button type="button" data-action="cancel" @click=${this.close}>${text.cancel}</button>
4033
- <button type="button" class="primary" data-action="ok" @click=${this.commit}>
4034
- ${text.ok}
4035
- </button>
4036
- </div>
4037
- </office-ui-dialog>
4061
+ </nav>
4062
+ <div
4063
+ role="tabpanel"
4064
+ id="pane"
4065
+ @keydown=${this.onPaneKey}
4066
+ aria-labelledby=${ifDefined(category ? `tab-${category.id}` : void 0)}
4067
+ >${this.pane(category)}</div
4068
+ >
4069
+ </div>
4070
+ <div slot="footer" class="actions">
4071
+ ${this.defaults ? html`<button type="button" class="reset" data-action="reset" @click=${this.resetAll}>
4072
+ ${text.reset}
4073
+ </button>` : ""}
4074
+ <button type="button" data-action="cancel" @click=${this.close}>${text.cancel}</button>
4075
+ <button type="button" class="primary" data-action="ok" @click=${this.commit}>
4076
+ ${text.ok}
4077
+ </button>
4078
+ </div>
4038
4079
  `;
4039
4080
  }
4040
4081
  };
package/dist/controls.js CHANGED
@@ -1,4 +1,4 @@
1
- export { CONTROL_DEFINERS, DEFAULT_COMMENTS_LABELS, DEFAULT_OFFICE_PROFILE, EMPTY_MENU_STATE, OFFICE_AVATAR_SWATCHES, OFFICE_COLOR_SWATCHES, OFFICE_COLOR_SWATCH_HEXES, OFFICE_PROFILE_STORAGE_KEY, OFFICE_SYMBOLS, OFFICE_TITLE_BAR_SEARCH_LIMIT, OFFICE_TOAST_VISIBLE_LIMIT, assignKeyTips, attachKeyTips, attachRibbonGroupOverflow, clampFlyoutPosition, clampOptionNumber, clearOfficeProfile, commentInitials, createRibbonOverflow, defineAccount, defineBackstage, defineButton, defineCheckbox, defineColorCustom, defineColorGrid, defineCommandSearch, defineCommentsPane, defineContextMenu, defineDialog, defineDialogFooter, defineFindBar, defineGallery, defineIcon, defineMenuButton, defineMenuItem, defineMenuSeparator, defineOptionsDialog, definePasteOptions, definePrintPreview, defineRadio, defineReadOnlyBanner, defineRibbon, defineRibbonActions, defineRibbonGroup, defineRibbonSection, defineRibbonStack, defineRibbonToggle, defineRuler, defineSearchField, defineSelect, defineStatusBar, defineStatusItem, defineSwitch, defineSymbolPicker, defineTabStrip, defineTaskPane, defineTitleBar, defineToasts, defineToolbar, defineZoomSlider, fitRibbonGroups, formatCommentTime, nextEnabledIndex, optionText, optionsLabels, parseOfficeSymbolCode, parseSvgPreview, personalizeSection, profileInitials, readOfficeProfile, registerControls, rulerDivisions, runKeyTips, sanitizeOfficeProfile, typeAheadIndex, unavailableCategory, unavailableControl, userInterfaceSection, writeOfficeProfile } from './chunk-BFPHRWEB.js';
1
+ export { CONTROL_DEFINERS, DEFAULT_COMMENTS_LABELS, DEFAULT_OFFICE_PROFILE, EMPTY_MENU_STATE, OFFICE_AVATAR_SWATCHES, OFFICE_COLOR_SWATCHES, OFFICE_COLOR_SWATCH_HEXES, OFFICE_PROFILE_STORAGE_KEY, OFFICE_SYMBOLS, OFFICE_TITLE_BAR_SEARCH_LIMIT, OFFICE_TOAST_VISIBLE_LIMIT, assignKeyTips, attachKeyTips, attachRibbonGroupOverflow, clampFlyoutPosition, clampOptionNumber, clearOfficeProfile, commentInitials, createRibbonOverflow, defineAccount, defineBackstage, defineButton, defineCheckbox, defineColorCustom, defineColorGrid, defineCommandSearch, defineCommentsPane, defineContextMenu, defineDialog, defineDialogFooter, defineFindBar, defineGallery, defineIcon, defineMenuButton, defineMenuItem, defineMenuSeparator, defineOptionsDialog, definePasteOptions, definePrintPreview, defineRadio, defineReadOnlyBanner, defineRibbon, defineRibbonActions, defineRibbonGroup, defineRibbonSection, defineRibbonStack, defineRibbonToggle, defineRuler, defineSearchField, defineSelect, defineStatusBar, defineStatusItem, defineSwitch, defineSymbolPicker, defineTabStrip, defineTaskPane, defineTitleBar, defineToasts, defineToolbar, defineZoomSlider, fitRibbonGroups, formatCommentTime, nextEnabledIndex, optionText, optionsLabels, parseOfficeSymbolCode, parseSvgPreview, personalizeSection, profileInitials, readOfficeProfile, registerControls, rulerDivisions, runKeyTips, sanitizeOfficeProfile, typeAheadIndex, unavailableCategory, unavailableControl, userInterfaceSection, writeOfficeProfile } from './chunk-LAVVSCRJ.js';
2
2
  import './chunk-M6GF5ED2.js';
3
3
  import './chunk-KNC2UEUR.js';
4
4
  import './chunk-CWBSXK7P.js';
@@ -14,6 +14,12 @@ export interface OfficeOptionSection {
14
14
  title: string;
15
15
  description?: string;
16
16
  controls: readonly OfficeOptionControl[];
17
+ /**
18
+ * The product supplies a block of its own under this section's rows (PowerPoint's theme
19
+ * picker): put an element with `slot="<this value>"` in the dialog and it shows there while
20
+ * the category is open.
21
+ */
22
+ slot?: string;
17
23
  }
18
24
  export interface OfficeOptionCategory {
19
25
  id: string;
@@ -48,6 +54,16 @@ export type OfficeOptionsChangeEvent = CustomEvent<{
48
54
  * Cancel, Escape and the close button discard them and emit `office-options-cancel`. "Reset all options" (shown when `defaults` is
49
55
  * set) puts the defaults in the draft. `heading` defaults to "Options"; `labels` translates the
50
56
  * buttons.
57
+ *
58
+ * `live` is PowerPoint's behaviour: every edit applies at once (there is no draft), OK, Escape
59
+ * and the close button keep the edits and Cancel emits `office-options-cancel` for the host to
60
+ * restore its snapshot. "Reset all options" then only emits `office-options-reset`; the host
61
+ * resets and sets `values` again. Live or not, every edit emits `office-option-input` (key and
62
+ * value) and selecting a category emits `office-options-category`.
63
+ *
64
+ * `custom-body` hands the whole body to the host: the frame, heading and close button stay, and
65
+ * whatever the host puts in `slot="body"` replaces the category rail, the pane and the footer.
66
+ * The close button and Escape then behave as they do without it (OK when `live`, else Cancel).
51
67
  */
52
68
  export declare class OfficeUiOptionsDialog extends OfficeElement {
53
69
  static styles: import("lit").CSSResult[];
@@ -60,6 +76,23 @@ export declare class OfficeUiOptionsDialog extends OfficeElement {
60
76
  toAttribute: (value: unknown) => string | null;
61
77
  };
62
78
  };
79
+ live: {
80
+ type: BooleanConstructor;
81
+ reflect: true;
82
+ converter: {
83
+ fromAttribute: (value: string | null) => boolean;
84
+ toAttribute: (value: unknown) => string | null;
85
+ };
86
+ };
87
+ customBody: {
88
+ type: BooleanConstructor;
89
+ reflect: true;
90
+ converter: {
91
+ fromAttribute: (value: string | null) => boolean;
92
+ toAttribute: (value: unknown) => string | null;
93
+ };
94
+ attribute: string;
95
+ };
63
96
  heading: {
64
97
  type: StringConstructor;
65
98
  };
@@ -77,6 +110,8 @@ export declare class OfficeUiOptionsDialog extends OfficeElement {
77
110
  };
78
111
  };
79
112
  open: boolean;
113
+ live: boolean;
114
+ customBody: boolean;
80
115
  heading: string | null;
81
116
  categories: readonly OfficeOptionCategory[];
82
117
  defaults: OfficeOptionValues | null;
@@ -96,11 +131,17 @@ export declare class OfficeUiOptionsDialog extends OfficeElement {
96
131
  close(): void;
97
132
  private commit;
98
133
  private resetAll;
134
+ /** Panes the product slots in sit outside the dialog's own focus trap: let Tab walk through them. */
135
+ private onPaneKey;
99
136
  private onNavKey;
137
+ /** Native controls and popups follow the theme: dark when `--office-background` is dark. */
138
+ private syncColorScheme;
139
+ protected updated(changed: PropertyValues<this>): void;
100
140
  protected willUpdate(changed: PropertyValues<this>): void;
101
141
  set(key: string, next: OfficeOptionValue): void;
102
142
  private pane;
103
143
  protected render(): TemplateResult<1>;
144
+ private layout;
104
145
  }
105
146
  export declare const defineOptionsDialog: import("../registry.js").Definer;
106
147
  //# sourceMappingURL=options-dialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options-dialog.d.ts","sourceRoot":"","sources":["../../src/dialog/options-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAErE,OAAO,EAAE,aAAa,EAAuB,MAAM,SAAS,CAAC;AAG7D,OAAO,EAEN,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,MAAM,oBAAoB,CAAC;AAG5B;;;;;;GAMG;AACH,OAAO,EACN,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,mBAAmB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,oBAAoB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACzC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACd;AASD,gEAAgE;AAChE,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAC;IAClD,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,aAAa;IACvD,OAAgB,MAAM,4BAAsB;IAC5C,OAAgB,UAAU;QACzB,IAAI;;;;;;;;QACJ,OAAO;YAAI,IAAI;;QACf,UAAU;YAAI,SAAS;;QACvB,QAAQ;YAAI,SAAS;;QACrB,MAAM;YAAI,SAAS;;QAEnB,MAAM;YAAI,KAAK;;MACd;IACM,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC5C,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,WAAW,CAA0B;IAE7C,cAQC;IAED,IAAI,KAAK,IAAI,kBAAkB,CAE9B;IAED,IAAI,MAAM,IAAI,kBAAkB,CAE/B;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,kBAAkB,EAInC;IAED,gCAAgC;IAChC,IAAI,QAAQ,IAAI,MAAM,CAErB;IACD,IAAI,QAAQ,CAAC,EAAE,EAAE,MAAM,EAEtB;IAED,IAAI,IAAI,IAAI,CAEX;IAED,4FAA4F;IAC5F,KAAK,IAAI,IAAI,CAIZ;IAED,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,QAAQ;IAkBhB,UAAmB,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAKjE;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAI9C;IAED,OAAO,CAAC,IAAI;IAiBZ,UAAmB,MAAM,sBA6DxB;CACD;AAED,eAAO,MAAM,mBAAmB,+BAI/B,CAAC"}
1
+ {"version":3,"file":"options-dialog.d.ts","sourceRoot":"","sources":["../../src/dialog/options-dialog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** The 6 x 7 grid of days that shows `month`, weeks starting on Sunday. */
2
+ export declare function calendarDays(year: number, month: number): Date[];
3
+ /**
4
+ * Opens the calendar under `anchor`. `selected` marks the current value and sets the month shown;
5
+ * `language` is a BCP 47 tag for month and weekday names.
6
+ */
7
+ export declare function openCalendarPopover(anchor: HTMLElement, selected: Date | undefined, language: string, choose: (date: Date) => void): void;
@@ -0,0 +1,7 @@
1
+ import type { EditorView } from 'prosemirror-view';
2
+ import type { ContentControl } from 'ooxml-core/docx';
3
+ import type { FormatDialog } from './font-dialog.js';
4
+ /** List entries typed one per line keep the stored value of an entry whose text did not change. */
5
+ export declare function parseListEntries(text: string, existing?: ContentControl['items']): NonNullable<ContentControl['items']>;
6
+ /** Developer > Properties: the title, tag, locking and kind-specific settings of the selected control. */
7
+ export declare function createContentControlDialog(getView: () => EditorView | undefined): FormatDialog;
@@ -0,0 +1,2 @@
1
+ import { Plugin } from 'prosemirror-state';
2
+ export declare function contentControlViewPlugin(): Plugin;
@@ -9,6 +9,7 @@ import { CollaborationSession } from './collaboration-session.js';
9
9
  import type { EditorTheme, EditorThemeMode } from 'ooxml-core/docx/ui';
10
10
  import type { EditorLocale } from './localization.js';
11
11
  import type { PrintEditingBridge } from './print-editing.js';
12
+ import type { PrintFloats } from './print-float-selection.js';
12
13
  import type { PrintLayoutController } from './print-layout-view.js';
13
14
  import type { ReviewDisplayMode } from './review-display.js';
14
15
  import type { ReviewController } from './review-controller.js';
@@ -34,6 +35,12 @@ export interface ShellParts {
34
35
  chrome?: EditorChrome;
35
36
  printLayout?: PrintLayoutController;
36
37
  printEditing?: PrintEditingBridge;
38
+ /** Detaches in-page header and footer editing. */
39
+ printStoryEditing?: () => void;
40
+ /** Detaches in-page footnote and endnote editing. */
41
+ printNoteEditing?: () => void;
42
+ /** Selection frame and gestures for floating pictures on the pages. */
43
+ printFloats?: PrintFloats;
37
44
  navigator?: PageNavigator;
38
45
  headings?: HeadingNavigator;
39
46
  }
@@ -0,0 +1,17 @@
1
+ import { type EditorState } from 'prosemirror-state';
2
+ import type { EditorView } from 'prosemirror-view';
3
+ export interface SelectedEquation {
4
+ pos: number;
5
+ latex: string;
6
+ display: boolean;
7
+ }
8
+ /** The equation node the selection is on, with its content as LaTeX. */
9
+ export declare function selectedEquation(state: EditorState): SelectedEquation | undefined;
10
+ /** Whether `latex` produces an equation; the dialog previews and validates through this. */
11
+ export declare function equationMarkup(latex: string, display: boolean): string | undefined;
12
+ export type EquationResult = 'done' | 'invalid' | 'unavailable';
13
+ /** Word makes an equation typed on its own line a display equation and one in text inline. */
14
+ export declare function aloneOnItsLine(state: EditorState): boolean;
15
+ export declare function insertEquation(view: EditorView, latex: string, display?: boolean): EquationResult;
16
+ /** Replaces the equation at `pos` with new LaTeX, as one undo step, keeping it selected. */
17
+ export declare function updateEquation(view: EditorView, pos: number, latex: string, display: boolean): EquationResult;
@@ -0,0 +1,7 @@
1
+ import type { EditorView } from 'prosemirror-view';
2
+ import type { FormatDialog } from './font-dialog.js';
3
+ /**
4
+ * Insert > Equation: type LaTeX (or a Word linear-format equation that uses the same commands)
5
+ * and watch the equation take shape. With an equation selected the dialog edits it.
6
+ */
7
+ export declare function createEquationDialog(getView: () => EditorView | undefined): FormatDialog;
@@ -8,7 +8,7 @@ import { type PageSetupHost } from './page-setup-dialog.js';
8
8
  import { type ZoomHost } from './zoom-dialog.js';
9
9
  import { type LineNumberHost } from './line-number-dialog.js';
10
10
  import { type ColumnsHost } from './columns-dialog.js';
11
- export type FormatDialogKind = 'font' | 'paragraph' | 'bookmark' | 'pageSetup' | 'caption' | 'crossReference' | 'zoom' | 'borders' | 'tableProperties' | 'lineNumbers' | 'textBox' | 'pageBorders' | 'watermark' | 'dropCap' | 'columns' | 'multilevelList' | 'tracking';
11
+ export type FormatDialogKind = 'font' | 'paragraph' | 'bookmark' | 'pageSetup' | 'caption' | 'crossReference' | 'zoom' | 'borders' | 'tableProperties' | 'lineNumbers' | 'textBox' | 'contentControl' | 'equation' | 'shapeText' | 'pageBorders' | 'watermark' | 'dropCap' | 'columns' | 'multilevelList' | 'tracking';
12
12
  export interface FormatDialogsHost {
13
13
  view(): EditorView | undefined;
14
14
  /** Header/footer edits use the main document's history; notes use their own. */
@@ -3,6 +3,7 @@ import type { EditorView } from 'prosemirror-view';
3
3
  import type { DocumentModel, PendingMediaPart } from 'ooxml-core/docx';
4
4
  import { type LinkDialog } from './link-dialog.js';
5
5
  import { type PictureDialog } from './picture-dialog.js';
6
+ import { ShapeTool } from './shape-draw.js';
6
7
  import type { RibbonAction } from './ribbon.js';
7
8
  import { type EditorLocale } from './localization.js';
8
9
  export interface InsertControllerHost {
@@ -25,6 +26,8 @@ export declare class InsertController {
25
26
  readonly pictureInput: HTMLInputElement;
26
27
  /** Bytes for pictures inserted since the document was loaded; passed to save. */
27
28
  readonly pendingMedia: Map<string, PendingMediaPart>;
29
+ /** The shape Insert > Shapes armed for the next drag on the page. */
30
+ readonly shapeTool: ShapeTool;
28
31
  private showHidden;
29
32
  private showMarks;
30
33
  private showGridlines;
@@ -34,6 +37,7 @@ export declare class InsertController {
34
37
  handle(action: RibbonAction): boolean;
35
38
  /** Ctrl+K opens the link dialog; Ctrl/Cmd+Click follows a link like Word. */
36
39
  plugins(): Plugin[];
40
+ private runShapeAction;
37
41
  handleClick(view: EditorView, pos: number, event: MouseEvent): boolean;
38
42
  /** Media bytes for rendering: pictures inserted in this session first, then the loaded package. */
39
43
  media(partName: string, loaded?: ReadonlyMap<string, Uint8Array>): Uint8Array | undefined;
@@ -46,6 +46,124 @@ export declare const en: {
46
46
  readonly 'Suppress for Current Paragraph': 'Suppress for Current Paragraph';
47
47
  readonly 'Line Numbering Options\u2026': 'Line Numbering Options…';
48
48
  readonly 'Enter whole numbers from 1 to 32767 and a distance from 0 to 22 inches.': 'Enter whole numbers from 1 to 32767 and a distance from 0 to 22 inches.';
49
+ readonly 'Content control': 'Content control';
50
+ readonly 'Rich text': 'Rich text';
51
+ readonly 'Plain text': 'Plain text';
52
+ readonly 'Check box': 'Check box';
53
+ readonly 'Drop-down list': 'Drop-down list';
54
+ readonly 'Combo box': 'Combo box';
55
+ readonly 'Date picker': 'Date picker';
56
+ readonly 'Properties\u2026': 'Properties…';
57
+ readonly 'Content control properties': 'Content control properties';
58
+ readonly Tag: 'Tag';
59
+ readonly 'Content control cannot be deleted': 'Content control cannot be deleted';
60
+ readonly 'Contents cannot be edited': 'Contents cannot be edited';
61
+ readonly 'Drop-down list entries (one per line)': 'Drop-down list entries (one per line)';
62
+ readonly 'Date display format': 'Date display format';
63
+ readonly 'Select a content control to edit its properties.': 'Select a content control to edit its properties.';
64
+ readonly 'Previous month': 'Previous month';
65
+ readonly 'Next month': 'Next month';
66
+ readonly Today: 'Today';
67
+ readonly 'Insert or Edit Equation\u2026': 'Insert or Edit Equation…';
68
+ readonly 'Area of Circle': 'Area of Circle';
69
+ readonly 'Quadratic Formula': 'Quadratic Formula';
70
+ readonly 'Pythagorean Theorem': 'Pythagorean Theorem';
71
+ readonly 'Binomial Theorem': 'Binomial Theorem';
72
+ readonly 'LaTeX equation': 'LaTeX equation';
73
+ readonly 'Display equation on its own line': 'Display equation on its own line';
74
+ readonly 'Type a LaTeX equation to see a preview.': 'Type a LaTeX equation to see a preview.';
75
+ readonly 'This LaTeX could not be converted to an equation.': 'This LaTeX could not be converted to an equation.';
76
+ readonly 'tab.shape-format': 'Shape Format';
77
+ readonly Shapes: 'Shapes';
78
+ readonly Lines: 'Lines';
79
+ readonly Rectangles: 'Rectangles';
80
+ readonly 'Basic Shapes': 'Basic Shapes';
81
+ readonly 'Block Arrows': 'Block Arrows';
82
+ readonly Flowchart: 'Flowchart';
83
+ readonly Callouts: 'Callouts';
84
+ readonly 'Stars and Banners': 'Stars and Banners';
85
+ readonly Line: 'Line';
86
+ readonly 'Straight Connector': 'Straight Connector';
87
+ readonly 'Elbow Connector': 'Elbow Connector';
88
+ readonly 'Curved Connector': 'Curved Connector';
89
+ readonly Rectangle: 'Rectangle';
90
+ readonly 'Rounded Rectangle': 'Rounded Rectangle';
91
+ readonly 'Snip Single Corner': 'Snip Single Corner';
92
+ readonly 'Round Same-Side Corners': 'Round Same-Side Corners';
93
+ readonly Oval: 'Oval';
94
+ readonly Triangle: 'Triangle';
95
+ readonly 'Right Triangle': 'Right Triangle';
96
+ readonly Parallelogram: 'Parallelogram';
97
+ readonly Trapezoid: 'Trapezoid';
98
+ readonly Diamond: 'Diamond';
99
+ readonly Pentagon: 'Pentagon';
100
+ readonly Hexagon: 'Hexagon';
101
+ readonly Octagon: 'Octagon';
102
+ readonly Cross: 'Cross';
103
+ readonly Heart: 'Heart';
104
+ readonly 'Smiley Face': 'Smiley Face';
105
+ readonly Sun: 'Sun';
106
+ readonly Moon: 'Moon';
107
+ readonly 'Lightning Bolt': 'Lightning Bolt';
108
+ readonly Cylinder: 'Cylinder';
109
+ readonly Cube: 'Cube';
110
+ readonly 'Right Arrow': 'Right Arrow';
111
+ readonly 'Left Arrow': 'Left Arrow';
112
+ readonly 'Up Arrow': 'Up Arrow';
113
+ readonly 'Down Arrow': 'Down Arrow';
114
+ readonly 'Left-Right Arrow': 'Left-Right Arrow';
115
+ readonly 'Up-Down Arrow': 'Up-Down Arrow';
116
+ readonly 'Bent Arrow': 'Bent Arrow';
117
+ readonly 'U-Turn Arrow': 'U-Turn Arrow';
118
+ readonly Chevron: 'Chevron';
119
+ readonly 'Pentagon Arrow': 'Pentagon Arrow';
120
+ readonly 'Flowchart: Process': 'Flowchart: Process';
121
+ readonly 'Flowchart: Alternate Process': 'Flowchart: Alternate Process';
122
+ readonly 'Flowchart: Decision': 'Flowchart: Decision';
123
+ readonly 'Flowchart: Data': 'Flowchart: Data';
124
+ readonly 'Flowchart: Predefined Process': 'Flowchart: Predefined Process';
125
+ readonly 'Flowchart: Document': 'Flowchart: Document';
126
+ readonly 'Flowchart: Terminator': 'Flowchart: Terminator';
127
+ readonly 'Flowchart: Connector': 'Flowchart: Connector';
128
+ readonly 'Flowchart: Preparation': 'Flowchart: Preparation';
129
+ readonly 'Speech Bubble: Rectangle': 'Speech Bubble: Rectangle';
130
+ readonly 'Speech Bubble: Rectangle with Corners Rounded': 'Speech Bubble: Rectangle with Corners Rounded';
131
+ readonly 'Speech Bubble: Oval': 'Speech Bubble: Oval';
132
+ readonly 'Thought Bubble: Cloud': 'Thought Bubble: Cloud';
133
+ readonly 'Callout: Line': 'Callout: Line';
134
+ readonly 'Star: 4 Points': 'Star: 4 Points';
135
+ readonly 'Star: 5 Points': 'Star: 5 Points';
136
+ readonly 'Star: 6 Points': 'Star: 6 Points';
137
+ readonly 'Star: 8 Points': 'Star: 8 Points';
138
+ readonly 'Shape Styles': 'Shape Styles';
139
+ readonly 'Shape fill': 'Shape fill';
140
+ readonly 'Shape outline': 'Shape outline';
141
+ readonly 'Shape outline weight': 'Shape outline weight';
142
+ readonly 'No Fill': 'No Fill';
143
+ readonly 'No Outline': 'No Outline';
144
+ readonly 'Add Text': 'Add Text';
145
+ readonly Arrange: 'Arrange';
146
+ readonly 'Wrap text': 'Wrap text';
147
+ readonly 'In Line with Text': 'In Line with Text';
148
+ readonly Square: 'Square';
149
+ readonly Tight: 'Tight';
150
+ readonly Through: 'Through';
151
+ readonly 'Top and Bottom': 'Top and Bottom';
152
+ readonly 'Behind Text': 'Behind Text';
153
+ readonly 'In Front of Text': 'In Front of Text';
154
+ readonly 'Shape height (inches)': 'Shape height (inches)';
155
+ readonly 'Shape width (inches)': 'Shape width (inches)';
156
+ readonly '0.25 pt': '0.25 pt';
157
+ readonly '0.5 pt': '0.5 pt';
158
+ readonly '0.75 pt': '0.75 pt';
159
+ readonly '1 pt': '1 pt';
160
+ readonly '1.5 pt': '1.5 pt';
161
+ readonly '2.25 pt': '2.25 pt';
162
+ readonly '3 pt': '3 pt';
163
+ readonly '4.5 pt': '4.5 pt';
164
+ readonly '6 pt': '6 pt';
165
+ readonly 'Select a shape first.': 'Select a shape first.';
166
+ readonly 'This shape has formatted text that the editor cannot change.': 'This shape has formatted text that the editor cannot change.';
49
167
  readonly File: 'File';
50
168
  readonly Alignment: 'Alignment';
51
169
  readonly 'Quick access': 'Quick access';
@@ -0,0 +1,37 @@
1
+ /** Content controls, equations and shapes: the Insert menus, their dialogs and the calendar. */
2
+ export declare const enObjects: {
3
+ readonly 'Content control': 'Content control';
4
+ readonly 'Rich text': 'Rich text';
5
+ readonly 'Plain text': 'Plain text';
6
+ readonly 'Check box': 'Check box';
7
+ readonly 'Drop-down list': 'Drop-down list';
8
+ readonly 'Combo box': 'Combo box';
9
+ readonly 'Date picker': 'Date picker';
10
+ readonly 'Properties…': 'Properties…';
11
+ readonly 'Content control properties': 'Content control properties';
12
+ readonly Tag: 'Tag';
13
+ readonly 'Content control cannot be deleted': 'Content control cannot be deleted';
14
+ readonly 'Contents cannot be edited': 'Contents cannot be edited';
15
+ readonly 'Drop-down list entries (one per line)': 'Drop-down list entries (one per line)';
16
+ readonly 'Date display format': 'Date display format';
17
+ readonly 'Select a content control to edit its properties.': 'Select a content control to edit its properties.';
18
+ readonly 'Previous month': 'Previous month';
19
+ readonly 'Next month': 'Next month';
20
+ readonly Today: 'Today';
21
+ readonly 'Insert or Edit Equation…': 'Insert or Edit Equation…';
22
+ readonly 'Area of Circle': 'Area of Circle';
23
+ readonly 'Quadratic Formula': 'Quadratic Formula';
24
+ readonly 'Pythagorean Theorem': 'Pythagorean Theorem';
25
+ readonly 'Binomial Theorem': 'Binomial Theorem';
26
+ readonly 'LaTeX equation': 'LaTeX equation';
27
+ readonly 'Display equation on its own line': 'Display equation on its own line';
28
+ readonly 'Type a LaTeX equation to see a preview.': 'Type a LaTeX equation to see a preview.';
29
+ readonly 'This LaTeX could not be converted to an equation.': 'This LaTeX could not be converted to an equation.';
30
+ };
31
+ type Keys = keyof typeof enObjects;
32
+ export type ObjectStrings = Record<Keys, string>;
33
+ export declare const frObjects: ObjectStrings;
34
+ export declare const deObjects: ObjectStrings;
35
+ export declare const esObjects: ObjectStrings;
36
+ export declare const zhObjects: ObjectStrings;
37
+ export {};