ooxml-ui 1.19.0 → 1.21.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 (155) hide show
  1. package/README.md +42 -39
  2. package/custom-elements.json +13 -2
  3. package/dist/{chunk-SVRIVUWC.js → chunk-C7B7TJ2J.js} +1 -1
  4. package/dist/{chunk-ANPFMQ6E.js → chunk-QBXYGKPB.js} +1 -1
  5. package/dist/{chunk-CWBSXK7P.js → chunk-QLHCGV4C.js} +1 -1
  6. package/dist/{chunk-6Y7KR2I3.js → chunk-T5ARELU2.js} +1 -1
  7. package/dist/{chunk-SPRZIHUH.js → chunk-TJ245GDD.js} +37 -24
  8. package/dist/{chunk-QEIGB73C.js → chunk-VWN37QJI.js} +6 -5
  9. package/dist/{chunk-LD3K2RDN.js → chunk-XL77FR4B.js} +2 -0
  10. package/dist/{chunk-KNC2UEUR.js → chunk-YZH2QS7J.js} +1 -1
  11. package/dist/{chunk-KH2ZG3N6.js → chunk-ZUDY7TXD.js} +5 -5
  12. package/dist/controls.d.ts +1 -1
  13. package/dist/controls.d.ts.map +1 -1
  14. package/dist/controls.js +4 -4
  15. package/dist/docx/building-blocks-actions.d.ts +54 -0
  16. package/dist/docx/building-blocks-status.d.ts +34 -0
  17. package/dist/docx/building-blocks.d.ts +20 -4
  18. package/dist/docx/collaboration-room.d.ts +46 -0
  19. package/dist/docx/collaboration-session.d.ts +2 -0
  20. package/dist/docx/collaboration-types.d.ts +13 -0
  21. package/dist/docx/component.d.ts +13 -0
  22. package/dist/docx/editor-core.d.ts +8 -0
  23. package/dist/docx/element-api.d.ts +15 -0
  24. package/dist/docx/events.d.ts +4 -1
  25. package/dist/docx/field-update.d.ts +8 -4
  26. package/dist/docx/form-field-view.d.ts +3 -0
  27. package/dist/docx/index.d.ts +4 -1
  28. package/dist/docx/insert-controller.d.ts +2 -0
  29. package/dist/docx/locales/en-app.d.ts +1 -0
  30. package/dist/docx/locales/en.d.ts +1 -0
  31. package/dist/docx/localization-strings.d.ts +1 -0
  32. package/dist/docx/ribbon-popover.d.ts +5 -4
  33. package/dist/docx/surface-navigation.d.ts +8 -0
  34. package/dist/docx/table-model-adapter.d.ts +2 -0
  35. package/dist/docx.js +19915 -19031
  36. package/dist/form/color-grid.d.ts +21 -2
  37. package/dist/form/color-grid.d.ts.map +1 -1
  38. package/dist/index.js +9 -9
  39. package/dist/pptx/{chunk-NDAE3JFO.cjs → chunk-3ESFHUZI.cjs} +2 -0
  40. package/dist/pptx/{chunk-OQQQ2GBW.cjs → chunk-F4IP3UEX.cjs} +2310 -1361
  41. package/dist/pptx/{chunk-NLUVYOKN.mjs → chunk-L4HCXIRC.mjs} +2249 -1331
  42. package/dist/pptx/{chunk-UTFFX4M7.mjs → chunk-MK2ASJSY.mjs} +2 -0
  43. package/dist/pptx/dom/elements/text-warp.d.ts.map +1 -1
  44. package/dist/pptx/dom/index.cjs +217 -216
  45. package/dist/pptx/dom/index.mjs +16 -15
  46. package/dist/pptx/index.cjs +3006 -2882
  47. package/dist/pptx/index.mjs +2 -2
  48. package/dist/pptx/render/collaboration-options.d.ts +31 -0
  49. package/dist/pptx/render/collaboration-options.d.ts.map +1 -0
  50. package/dist/pptx/render/collaboration-owned-session.d.ts +34 -0
  51. package/dist/pptx/render/collaboration-owned-session.d.ts.map +1 -0
  52. package/dist/pptx/render/collaboration-state.d.ts +37 -0
  53. package/dist/pptx/render/collaboration-state.d.ts.map +1 -0
  54. package/dist/pptx/render/embedded-font-bytes.d.ts +27 -0
  55. package/dist/pptx/render/embedded-font-bytes.d.ts.map +1 -0
  56. package/dist/pptx/render/embedded-font-trust.d.ts +48 -0
  57. package/dist/pptx/render/embedded-font-trust.d.ts.map +1 -0
  58. package/dist/pptx/render/embedded-fonts.d.ts +8 -18
  59. package/dist/pptx/render/embedded-fonts.d.ts.map +1 -1
  60. package/dist/pptx/render/font-weight-names.d.ts +66 -0
  61. package/dist/pptx/render/font-weight-names.d.ts.map +1 -0
  62. package/dist/pptx/render/google-webfonts.d.ts +9 -4
  63. package/dist/pptx/render/google-webfonts.d.ts.map +1 -1
  64. package/dist/pptx/render/index.d.ts +5 -0
  65. package/dist/pptx/render/index.d.ts.map +1 -1
  66. package/dist/pptx/render/morph-animation.d.ts +5 -1
  67. package/dist/pptx/render/morph-animation.d.ts.map +1 -1
  68. package/dist/pptx/render/morph-image-alpha.d.ts +49 -0
  69. package/dist/pptx/render/morph-image-alpha.d.ts.map +1 -0
  70. package/dist/pptx/render/morph-predicates.d.ts +7 -0
  71. package/dist/pptx/render/morph-predicates.d.ts.map +1 -1
  72. package/dist/pptx/render/paragraph-bullet-marker-style.d.ts.map +1 -1
  73. package/dist/pptx/render/ribbon-galleries/gallery-placements.d.ts +2 -0
  74. package/dist/pptx/render/ribbon-galleries/gallery-placements.d.ts.map +1 -1
  75. package/dist/pptx/render/ribbon-galleries/gallery-registry.d.ts.map +1 -1
  76. package/dist/pptx/render/ribbon-galleries/gallery-types.d.ts +3 -1
  77. package/dist/pptx/render/ribbon-galleries/gallery-types.d.ts.map +1 -1
  78. package/dist/pptx/render/ribbon-galleries/index.d.ts +1 -0
  79. package/dist/pptx/render/ribbon-galleries/index.d.ts.map +1 -1
  80. package/dist/pptx/render/ribbon-galleries/text-warp-gallery.d.ts +19 -0
  81. package/dist/pptx/render/ribbon-galleries/text-warp-gallery.d.ts.map +1 -0
  82. package/dist/pptx/render/ribbon-help-commands.d.ts +13 -0
  83. package/dist/pptx/render/ribbon-help-commands.d.ts.map +1 -1
  84. package/dist/pptx/render/ribbon-record-commands.d.ts +4 -1
  85. package/dist/pptx/render/ribbon-record-commands.d.ts.map +1 -1
  86. package/dist/pptx/render/ribbon-slide-show-commands.d.ts +6 -0
  87. package/dist/pptx/render/ribbon-slide-show-commands.d.ts.map +1 -1
  88. package/dist/pptx/render/slide-transition-css.d.ts.map +1 -1
  89. package/dist/pptx/render/table-cell-css.d.ts +12 -0
  90. package/dist/pptx/render/table-cell-css.d.ts.map +1 -1
  91. package/dist/pptx/render/table-style.d.ts +10 -1
  92. package/dist/pptx/render/table-style.d.ts.map +1 -1
  93. package/dist/pptx/render/text-block-style.d.ts.map +1 -1
  94. package/dist/pptx/render/text-east-asian-breaks.d.ts.map +1 -1
  95. package/dist/pptx/render/text-metric-tracking.d.ts.map +1 -1
  96. package/dist/pptx/render/text-run-gradient-span.d.ts.map +1 -1
  97. package/dist/pptx/render/text-run-style.d.ts.map +1 -1
  98. package/dist/pptx/render/text-tab-layout.d.ts.map +1 -1
  99. package/dist/pptx/render/text-warp-envelope-measure.d.ts.map +1 -1
  100. package/dist/pptx/render/text-warp-outline-font-cache.d.ts +2 -1
  101. package/dist/pptx/render/text-warp-outline-font-cache.d.ts.map +1 -1
  102. package/dist/pptx/render/text-warp-outline-webfont-fetch.d.ts.map +1 -1
  103. package/dist/pptx/render/theme-color-grid.d.ts +20 -0
  104. package/dist/pptx/render/theme-color-grid.d.ts.map +1 -0
  105. package/dist/pptx/render/used-fonts.d.ts.map +1 -1
  106. package/dist/pptx/render/viewer-props-manifest.d.ts.map +1 -1
  107. package/dist/pptx/theme/index.cjs +18 -18
  108. package/dist/pptx/theme/index.mjs +1 -1
  109. package/dist/pptx/types.d.ts +19 -1
  110. package/dist/pptx/types.d.ts.map +1 -1
  111. package/dist/pptx/web-components/index.d.ts +1 -0
  112. package/dist/pptx/web-components/index.d.ts.map +1 -1
  113. package/dist/pptx/web-components/office-aliases.d.ts +9 -0
  114. package/dist/pptx/web-components/office-aliases.d.ts.map +1 -1
  115. package/dist/pptx/web-components/office-token-bridge.d.ts +1 -1
  116. package/dist/pptx/web-components/office-token-bridge.d.ts.map +1 -1
  117. package/dist/pptx/web-components/ribbon-gallery.d.ts +1 -0
  118. package/dist/pptx/web-components/ribbon-gallery.d.ts.map +1 -1
  119. package/dist/presence.js +3 -3
  120. package/dist/ribbon/gallery.d.ts +4 -2
  121. package/dist/ribbon/gallery.d.ts.map +1 -1
  122. package/dist/smartart.js +3 -3
  123. package/dist/teams.js +6 -6
  124. package/dist/theme.js +2 -2
  125. package/dist/tokens.d.ts +1 -0
  126. package/dist/tokens.d.ts.map +1 -1
  127. package/dist/visio/building-blocks-shapes.d.ts +9 -0
  128. package/dist/visio/building-blocks-toolbar.d.ts +87 -0
  129. package/dist/visio/building-blocks.d.ts +9 -32
  130. package/dist/visio/canvas-editing.d.ts +36 -0
  131. package/dist/visio/canvas-keys.d.ts +9 -0
  132. package/dist/visio/canvas-services.d.ts +18 -0
  133. package/dist/visio/collaboration-types.d.ts +3 -0
  134. package/dist/visio/controller.d.ts +25 -0
  135. package/dist/visio/diagram-tool.d.ts +6 -0
  136. package/dist/visio/index.d.ts +2 -1
  137. package/dist/visio/viewer-clipboard.d.ts +7 -1
  138. package/dist/visio/viewer-delete.d.ts +10 -0
  139. package/dist/visio/viewer-element.d.ts +13 -0
  140. package/dist/visio/viewer-presence-overlay.d.ts +12 -0
  141. package/dist/visio/viewer-presence.d.ts +19 -0
  142. package/dist/visio/viewer-share-sync.d.ts +27 -0
  143. package/dist/visio/viewer-share.d.ts +23 -7
  144. package/dist/visio/viewer-stencil.d.ts +8 -0
  145. package/dist/visio/viewer-write-back.d.ts +27 -0
  146. package/dist/visio.js +19771 -18982
  147. package/dist/xlsx/building-blocks.d.ts +32 -0
  148. package/dist/xlsx/collaboration-types.d.ts +7 -35
  149. package/dist/xlsx/editor-core.d.ts +8 -0
  150. package/dist/xlsx/element-api.d.ts +12 -1
  151. package/dist/xlsx/events.d.ts +12 -1
  152. package/dist/xlsx/index.d.ts +2 -1
  153. package/dist/xlsx/surface-actions.d.ts +26 -0
  154. package/dist/xlsx.js +154 -81
  155. package/package.json +2 -2
package/README.md CHANGED
@@ -109,7 +109,10 @@ The shared `office-ui-gallery` also supports `mode="panel"` for modal pickers.
109
109
  It displays labelled preview tiles directly, keeps focus when a pick refreshes the
110
110
  selection, and supports arrow, Home and End keys. Panel mode has no dropdown
111
111
  trigger or popup; `open` remains false. XLSX uses this mode for chart types while
112
- PowerPoint continues to use the same component for ribbon galleries.
112
+ PowerPoint continues to use the same component for ribbon galleries. A `compact`
113
+ panel keeps its tiles at their preview size without visible labels, and its arrow
114
+ keys only move focus: PowerPoint's inspector uses it for Text Warp, whose pick
115
+ applies at once.
113
116
 
114
117
  | Entry | Contents |
115
118
  | ------------------- | ------------------------------------------------------------------------------------------------------------ |
@@ -188,44 +191,44 @@ panel beside the parent, with viewport edge placement. ArrowLeft or Escape
188
191
  returns focus to its trigger; choosing a command closes the whole menu tree.
189
192
  Arrow navigation stays within the current menu and skips disabled entries.
190
193
 
191
- | Tag | Attributes / properties | Events (all bubble, composed) |
192
- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
193
- | `office-ui-button` | `label`, `icon`, `command`, `disabled`, `pressed`, `expanded`, `icon-only`, `variant="stacked"`, `keyshortcuts` | `office-command` `{ command }` |
194
- | `office-ui-checkbox`, `office-ui-switch` | `checked`, `disabled`, `value`, `aria-label`; form-associated | `input`, `change` |
195
- | `office-ui-select` | `<option>` / `<optgroup>` children (`data-display-label`, `data-description`, font previews) or the `options` property `[{ value, label, disabled? }]`; `value`, `selectedIndex`, `disabled`, `aria-label`, `variant="ribbon-font" | "ribbon-icon"`, `data-font-picker`; `icon`and`custom` slots; arrows, Home, End, PageUp/PageDown, typeahead | `input`, `change` |
196
- | `office-ui-ribbon-group` | `label`, `launcher` (dialog launcher command), `launcher-disabled`; default slot | launcher: `office-command` `{ command }` |
197
- | `office-ui-ribbon-stack` | `orientation="horizontal"`; default slot (three-row column of small commands by default) | none |
198
- | `office-ui-menu-button` / `-menu-item` | button: `label`, `icon`, `command` (split button), `variant`, `disabled`, `keyshortcuts`; item: `command`, `label`, `icon`, `disabled`, `checked` | item choice: `office-command` `{ command }` |
199
- | `office-ui-toolbar` | `aria-label`, `aria-orientation`; arrow-key focus movement | none |
200
- | `office-ui-dialog` | `open`, `heading`, `dismissible="false"`, `show()`, `close()`; slots default, `footer` | `office-dialog-close` `{ reason }` (cancelable) |
201
- | `office-ui-status-bar` / `-status-item` | `label`, `value`, `interactive`, `id`; controlled bar: `state` `{ items?, toggles?, views?, zoom? }` with `summary`, `collaboration` and `end` slots | `office-status-activate` `{ id }` |
202
- | `office-ui-zoom-slider` | `value` (percent), `min`, `max`, `step`, `disabled`, `fit` (fit button name), `label` | `input`, `change`; fit: `office-command` `{ command: 'zoom-fit' }` |
203
- | `office-ui-color-grid` | Office's colour picker body: `themeColors` (ten base colours; Theme Colors grid with lighter and darker variants), `themeNames` (a product's own column names), `variantLabel` (names a variant swatch, for a translated product), `extraColors` (one more theme-bound row), `standardColors`, `recentColors`, `value`, `none-label`, `automatic-label`, `more-label`, `label`, `disabled`; events `office-color-pick` `{ color, source, label, theme?, index? }` (a theme swatch reports its column and variant so a product can save a theme reference) and `office-color-more`. The palette maths is `ooxml-core/color` (`buildThemePalette`) |
204
- | `office-ui-color-custom` | The Custom tab of Office's Colors dialog: a hue and saturation square, a luminance slider, Hex, Red/Green/Blue and Hue/Sat/Lum fields (0-255) and New over Current swatches. `value` (`#rrggbb`), `current`, `label`, `disabled`, `valid`; event `office-color-change` `{ color }` |
205
- | `office-ui-tab-strip` | `tabs` `[{ id, label, title? }]`, `selected`, `label`, `previous-label`, `next-label`, `add-label`, `add-disabled`, `add-title`, `disabled` | `office-tab-select` `{ id }` (cancelable); add: `office-command` `{ command: 'tab-add' }` |
206
- | `office-ui-context-menu` / `office-ui-menu-separator` | Children mode: `label`, `openAt(x, y)`, `close()`, `open` over `office-ui-menu-item` and separator children. Controlled mode: `state` `{ x, y, label, items: [{ id, label, separatorBefore?, heading?, danger?, disabled?, checked?, icon? }], markers?, zIndex?, autoFocus? }`; arrows, Home, End and type-ahead in both | children: item `office-command` `{ command }`; controlled: `office-menu-request` `{ id }`, `office-menu-close` `{ reason }` (never closes itself) |
207
- | `office-ui-command-search` | `commands` `[{ id, label, keywords?, description?, disabled?, title? }]`, `placeholder`, `label`, `limit` (Office's "Tell me what you want to do") | choice: `office-command` `{ command }` |
208
- | `office-ui-options-dialog` | `categories` `[{ id, label, description?, disabled?, sections: [{ id, title, controls }] }]` (controls: `toggle`, `select`, `number`, `text`, each optionally `disabled` with a reason), `values`, `category`, `open`, `heading`, `show()`, `close()` | OK: `office-options-change` `{ values, changed }` |
209
- | `office-ui-account` | `profile` `{ displayName, avatarColor, initial? }`; slots `sign-in` and default (product sections) | `office-profile-change` `{ profile }` |
210
- | `office-ui-ribbon` | Tab row over tab panels. Panels are children with `data-ribbon-tab`, `data-label`, optional `data-tab-keytip`; slots `quick-access`, `search`, `end`, `actions` (right end of the tab row); `selected`, `label`, `file-label`, `no-file`, `file-expanded`, `file-keytip`; `focusFile()`, `focusTab()` | `office-ribbon-select` `{ tab }` (cancelable), `office-ribbon-file` |
211
- | `office-ui-backstage` | `items` `[{ id, label, group?: 'footer', disabled?, title? }]`, `open`, `selected`, `label`, `back-label`, `show(page?)`, `close()`; pages are children with `data-backstage-page` | `office-backstage-select` `{ id }` (cancelable), `office-backstage-close` `{ reason }` (cancelable) |
212
- | `office-ui-find-bar` | `open`, `label`, `input-label`, `placeholder`, `maxlength`, `disabled`, `navigation-disabled`, `previous-label`, `next-label`, `close-label`; `value`, `status`, `statusTitle`, `show()`, `close()` | `office-find-input` `{ query }`, `office-find-step` `{ direction }`, `office-find-close` |
213
- | `office-ui-ruler` | `orientation="vertical"`, `origin` (px offset of zero), `scale` (px per unit, default 96), `direction="reverse"`; decorative | none |
214
- | `office-ui-print-preview` | `pages` (rendered nodes; an inert clone of the current one is shown), `index`, `label`, `empty-label` | `office-print-preview-page` `{ index }` |
215
- | `office-ui-radio` | `checked`, `disabled`, `value`, `name`; radios of one tag sharing a `name` form a roving-focus group; form-associated | `input`, `change` |
216
- | `office-ui-search` | `value`, `placeholder`, `disabled`, `aria-label`, `variant="titlebar"`; `focus()`, `select()` | `input`, `change` |
217
- | `office-ui-ribbon-toggle` | `label`, `checked`, `disabled`, `title`, `command` (a labelled ribbon checkbox row; static `checkboxTag` picks the inner checkbox) | `office-toggle` `{ command, checked }` |
218
- | `office-ui-dialog-footer` | `state` `{ actions: [{ id, label, variant?, icon?, disabled?, busy?, title?, align?, testId? }] }`, `focusAction(id)` | `office-dialog-footer-request` `{ id }` |
219
- | `office-ui-toasts` | `state` `{ toasts: [{ id, code?, severity, message }], overflowCount?, labels? }`; hidden when empty, host positions it | `office-toasts-request` `{ id: 'dismiss', toastId }` or `{ id: 'dismissAll' }` |
220
- | `office-ui-read-only-banner` | `state` `{ kind, message, passwordPromptOpen?, passwordError?, checkingPassword?, labels? }` | `office-read-only-request` (Edit anyway, Dismiss, password submit or cancel) |
221
- | `office-ui-paste-options` | `state` `{ left, top, options: [{ id, label }], label? }`; fixed 4px past the pasted object | `office-paste-options-request` `{ format }`, `office-paste-options-dismiss` |
222
- | `office-ui-title-bar` | `state` `{ appMark?, fileName, status?, tone?, autosave?, quickAccess?: { label, items, showLabels? }, search? }`, `placement` (`titleBar`, `belowRibbon`); slots `collaboration`, `account`; tokens `--office-title-bar-*` | `office-autosave-toggle`, `office-command` `{ command }`, `office-command-search` `{ query, command? }` |
223
- | `office-ui-ribbon-section` | `groups` `[{ id, label, commands: [{ id, label, icon, title?, size?, badge?, disabled?, active?, compact?, hidden?, caret?, pressed?, expanded?, column? }] }]`; keyed groups and commands in the light DOM | the commands' own events (`office-command`) |
224
- | `office-ui-gallery` | `state` `{ id, label, moreLabel?, disabled?, command?, sections: [{ title?, columns, tileWidth, tileHeight, items: [{ id, label, applied?, preview? }] }], inline? }`, `mode` (`inline`), `chevron-only`, `icon`; `open`, `disabled`, `close()`; tiles in light DOM (`data-gallery-item`), previews parsed by `parseSvgPreview` | `office-gallery-pick` `{ gallery, itemId }` |
225
- | `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` |
226
- | `office-ui-presence` | `participants`, `max`, `label` | `office-presence-select` `{ id }` |
227
- | `office-ui-smartart` | `drawing` (core `DiagramDrawing`), `schemeColors`, `label` | `office-smartart-render` (render report) |
228
- | `office-ui-icon` | `name`, `label` | none |
194
+ | Tag | Attributes / properties | Events (all bubble, composed) |
195
+ | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
196
+ | `office-ui-button` | `label`, `icon`, `command`, `disabled`, `pressed`, `expanded`, `icon-only`, `variant="stacked"`, `keyshortcuts` | `office-command` `{ command }` |
197
+ | `office-ui-checkbox`, `office-ui-switch` | `checked`, `disabled`, `value`, `aria-label`; form-associated | `input`, `change` |
198
+ | `office-ui-select` | `<option>` / `<optgroup>` children (`data-display-label`, `data-description`, font previews) or the `options` property `[{ value, label, disabled? }]`; `value`, `selectedIndex`, `disabled`, `aria-label`, `variant="ribbon-font" | "ribbon-icon"`, `data-font-picker`; `icon`and`custom` slots; arrows, Home, End, PageUp/PageDown, typeahead | `input`, `change` |
199
+ | `office-ui-ribbon-group` | `label`, `launcher` (dialog launcher command), `launcher-disabled`; default slot | launcher: `office-command` `{ command }` |
200
+ | `office-ui-ribbon-stack` | `orientation="horizontal"`; default slot (three-row column of small commands by default) | none |
201
+ | `office-ui-menu-button` / `-menu-item` | button: `label`, `icon`, `command` (split button), `variant`, `disabled`, `keyshortcuts`; item: `command`, `label`, `icon`, `disabled`, `checked` | item choice: `office-command` `{ command }` |
202
+ | `office-ui-toolbar` | `aria-label`, `aria-orientation`; arrow-key focus movement | none |
203
+ | `office-ui-dialog` | `open`, `heading`, `dismissible="false"`, `show()`, `close()`; slots default, `footer` | `office-dialog-close` `{ reason }` (cancelable) |
204
+ | `office-ui-status-bar` / `-status-item` | `label`, `value`, `interactive`, `id`; controlled bar: `state` `{ items?, toggles?, views?, zoom? }` with `summary`, `collaboration` and `end` slots | `office-status-activate` `{ id }` |
205
+ | `office-ui-zoom-slider` | `value` (percent), `min`, `max`, `step`, `disabled`, `fit` (fit button name), `label` | `input`, `change`; fit: `office-command` `{ command: 'zoom-fit' }` |
206
+ | `office-ui-color-grid` | Office's colour picker body: `themeColors` (ten base colours; Theme Colors grid with lighter and darker variants), `themeNames` (a product's own column names), `variantLabel` (names a variant swatch, for a translated product), `palette` (the Theme Colors grid as a product computes it, in place of `themeColors`), `selectedTheme` (`{ column, variant? }`, marks a theme swatch by position), `extraColors` (one more theme-bound row), `standardColors` (empty leaves the row out), `recentColors`, `value`, `none-label`, `automatic-label`, `more-label`, `label`, `disabled`; events `office-color-pick` `{ color, source, label, theme?, index? }` (a theme swatch reports its column and variant so a product can save a theme reference) and `office-color-more`. In a pane narrower than the grid the swatches shrink to fit; `--office-color-swatch-gap` sets the space between them. The palette maths is `ooxml-core/color` (`buildThemePalette`) |
207
+ | `office-ui-color-custom` | The Custom tab of Office's Colors dialog: a hue and saturation square, a luminance slider, Hex, Red/Green/Blue and Hue/Sat/Lum fields (0-255) and New over Current swatches. `value` (`#rrggbb`), `current`, `label`, `disabled`, `valid`; event `office-color-change` `{ color }` |
208
+ | `office-ui-tab-strip` | `tabs` `[{ id, label, title? }]`, `selected`, `label`, `previous-label`, `next-label`, `add-label`, `add-disabled`, `add-title`, `disabled` | `office-tab-select` `{ id }` (cancelable); add: `office-command` `{ command: 'tab-add' }` |
209
+ | `office-ui-context-menu` / `office-ui-menu-separator` | Children mode: `label`, `openAt(x, y)`, `close()`, `open` over `office-ui-menu-item` and separator children. Controlled mode: `state` `{ x, y, label, items: [{ id, label, separatorBefore?, heading?, danger?, disabled?, checked?, icon? }], markers?, zIndex?, autoFocus? }`; arrows, Home, End and type-ahead in both | children: item `office-command` `{ command }`; controlled: `office-menu-request` `{ id }`, `office-menu-close` `{ reason }` (never closes itself) |
210
+ | `office-ui-command-search` | `commands` `[{ id, label, keywords?, description?, disabled?, title? }]`, `placeholder`, `label`, `limit` (Office's "Tell me what you want to do") | choice: `office-command` `{ command }` |
211
+ | `office-ui-options-dialog` | `categories` `[{ id, label, description?, disabled?, sections: [{ id, title, controls }] }]` (controls: `toggle`, `select`, `number`, `text`, each optionally `disabled` with a reason), `values`, `category`, `open`, `heading`, `show()`, `close()` | OK: `office-options-change` `{ values, changed }` |
212
+ | `office-ui-account` | `profile` `{ displayName, avatarColor, initial? }`; slots `sign-in` and default (product sections) | `office-profile-change` `{ profile }` |
213
+ | `office-ui-ribbon` | Tab row over tab panels. Panels are children with `data-ribbon-tab`, `data-label`, optional `data-tab-keytip`; slots `quick-access`, `search`, `end`, `actions` (right end of the tab row); `selected`, `label`, `file-label`, `no-file`, `file-expanded`, `file-keytip`; `focusFile()`, `focusTab()` | `office-ribbon-select` `{ tab }` (cancelable), `office-ribbon-file` |
214
+ | `office-ui-backstage` | `items` `[{ id, label, group?: 'footer', disabled?, title? }]`, `open`, `selected`, `label`, `back-label`, `show(page?)`, `close()`; pages are children with `data-backstage-page` | `office-backstage-select` `{ id }` (cancelable), `office-backstage-close` `{ reason }` (cancelable) |
215
+ | `office-ui-find-bar` | `open`, `label`, `input-label`, `placeholder`, `maxlength`, `disabled`, `navigation-disabled`, `previous-label`, `next-label`, `close-label`; `value`, `status`, `statusTitle`, `show()`, `close()` | `office-find-input` `{ query }`, `office-find-step` `{ direction }`, `office-find-close` |
216
+ | `office-ui-ruler` | `orientation="vertical"`, `origin` (px offset of zero), `scale` (px per unit, default 96), `direction="reverse"`; decorative | none |
217
+ | `office-ui-print-preview` | `pages` (rendered nodes; an inert clone of the current one is shown), `index`, `label`, `empty-label` | `office-print-preview-page` `{ index }` |
218
+ | `office-ui-radio` | `checked`, `disabled`, `value`, `name`; radios of one tag sharing a `name` form a roving-focus group; form-associated | `input`, `change` |
219
+ | `office-ui-search` | `value`, `placeholder`, `disabled`, `aria-label`, `variant="titlebar"`; `focus()`, `select()` | `input`, `change` |
220
+ | `office-ui-ribbon-toggle` | `label`, `checked`, `disabled`, `title`, `command` (a labelled ribbon checkbox row; static `checkboxTag` picks the inner checkbox) | `office-toggle` `{ command, checked }` |
221
+ | `office-ui-dialog-footer` | `state` `{ actions: [{ id, label, variant?, icon?, disabled?, busy?, title?, align?, testId? }] }`, `focusAction(id)` | `office-dialog-footer-request` `{ id }` |
222
+ | `office-ui-toasts` | `state` `{ toasts: [{ id, code?, severity, message }], overflowCount?, labels? }`; hidden when empty, host positions it | `office-toasts-request` `{ id: 'dismiss', toastId }` or `{ id: 'dismissAll' }` |
223
+ | `office-ui-read-only-banner` | `state` `{ kind, message, passwordPromptOpen?, passwordError?, checkingPassword?, labels? }` | `office-read-only-request` (Edit anyway, Dismiss, password submit or cancel) |
224
+ | `office-ui-paste-options` | `state` `{ left, top, options: [{ id, label }], label? }`; fixed 4px past the pasted object | `office-paste-options-request` `{ format }`, `office-paste-options-dismiss` |
225
+ | `office-ui-title-bar` | `state` `{ appMark?, fileName, status?, tone?, autosave?, quickAccess?: { label, items, showLabels? }, search? }`, `placement` (`titleBar`, `belowRibbon`); slots `collaboration`, `account`; tokens `--office-title-bar-*` | `office-autosave-toggle`, `office-command` `{ command }`, `office-command-search` `{ query, command? }` |
226
+ | `office-ui-ribbon-section` | `groups` `[{ id, label, commands: [{ id, label, icon, title?, size?, badge?, disabled?, active?, compact?, hidden?, caret?, pressed?, expanded?, column? }] }]`; keyed groups and commands in the light DOM | the commands' own events (`office-command`) |
227
+ | `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 }` |
228
+ | `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` |
229
+ | `office-ui-presence` | `participants`, `max`, `label` | `office-presence-select` `{ id }` |
230
+ | `office-ui-smartart` | `drawing` (core `DiagramDrawing`), `schemeColors`, `label` | `office-smartart-render` (render report) |
231
+ | `office-ui-icon` | `name`, `label` | none |
229
232
 
230
233
  The local profile behind `office-ui-account` is stored on the device only, under one suite-wide
231
234
  key (`readOfficeProfile`, `writeOfficeProfile`, `clearOfficeProfile`), so every Office viewer on
@@ -1331,7 +1331,7 @@
1331
1331
  "name": "OfficeUiColorGrid",
1332
1332
  "tagName": "office-ui-color-grid",
1333
1333
  "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). 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.",
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.",
1335
1335
  "attributes": [
1336
1336
  {
1337
1337
  "name": "automatic-label"
@@ -1404,6 +1404,10 @@
1404
1404
  },
1405
1405
  "attribute": "none-label"
1406
1406
  },
1407
+ {
1408
+ "kind": "field",
1409
+ "name": "palette"
1410
+ },
1407
1411
  {
1408
1412
  "kind": "field",
1409
1413
  "name": "recentColors"
@@ -1416,6 +1420,10 @@
1416
1420
  },
1417
1421
  "attribute": "recent-heading"
1418
1422
  },
1423
+ {
1424
+ "kind": "field",
1425
+ "name": "selectedTheme"
1426
+ },
1419
1427
  {
1420
1428
  "kind": "field",
1421
1429
  "name": "standardColors"
@@ -2108,11 +2116,14 @@
2108
2116
  "name": "OfficeUiGallery",
2109
2117
  "tagName": "office-ui-gallery",
2110
2118
  "customElement": true,
2111
- "description": "`<office-ui-gallery>`: Office's ribbon gallery (Shape Styles, Themes, Table Styles). Set `state` (`OfficeGalleryState`, translated). `mode=\"inline\"` shows a strip of tiles beside a More button; otherwise the trigger is a labelled dropdown (`chevron-only` keeps just the chevron, `icon` names its glyph). The popup opens below the trigger, keeps inside the window and closes on Escape, an outside press or a pick. `mode=\"panel\"` shows labelled sections directly for modal pickers, with arrow/Home/End selection and no dropdown trigger. ArrowDown on the trigger opens it and focuses the first tile. Dropdown arrows/Home/End move focus across sections without applying a choice. A pick emits `office-gallery-pick` `{ gallery, itemId }`. Tiles render in the light DOM beside the host's children (Lit renders the template into the host itself) so products can query them (`data-gallery-item`); the rules join the host's root once. Static `pickEvent`, `triggerAttribute`, `popupAttribute`, `itemAttribute` and `compactAttribute` keep a product's published names; override `triggerIcon()` to draw a product glyph.",
2119
+ "description": "`<office-ui-gallery>`: Office's ribbon gallery (Shape Styles, Themes, Table Styles). Set `state` (`OfficeGalleryState`, translated). `mode=\"inline\"` shows a strip of tiles beside a More button; otherwise the trigger is a labelled dropdown (`chevron-only` keeps just the chevron, `icon` names its glyph). The popup opens below the trigger, keeps inside the window and closes on Escape, an outside press or a pick. `mode=\"panel\"` shows labelled sections directly for modal pickers, with arrow/Home/End selection and no dropdown trigger; `compact` keeps its tiles at their preview size without visible labels and lets arrow keys only move focus, for a pane whose pick applies at once. ArrowDown on the trigger opens it and focuses the first tile. Dropdown arrows/Home/End move focus across sections without applying a choice. A pick emits `office-gallery-pick` `{ gallery, itemId }`. Tiles render in the light DOM beside the host's children (Lit renders the template into the host itself) so products can query them (`data-gallery-item`); the rules join the host's root once. Static `pickEvent`, `triggerAttribute`, `popupAttribute`, `itemAttribute` and `compactAttribute` keep a product's published names; override `triggerIcon()` to draw a product glyph.",
2112
2120
  "attributes": [
2113
2121
  {
2114
2122
  "name": "chevron-only"
2115
2123
  },
2124
+ {
2125
+ "name": "compact"
2126
+ },
2116
2127
  {
2117
2128
  "name": "icon"
2118
2129
  },
@@ -1,4 +1,4 @@
1
- import { defineRibbonGroup, defineRibbonStack, defineButton, defineMenuItem, defineMenuButton } from './chunk-SPRZIHUH.js';
1
+ import { defineRibbonGroup, defineRibbonStack, defineButton, defineMenuItem, defineMenuButton } from './chunk-TJ245GDD.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
 
@@ -1,4 +1,4 @@
1
- import { OfficeElement, controlStyles, definer } from './chunk-CWBSXK7P.js';
1
+ import { OfficeElement, controlStyles, definer } from './chunk-QLHCGV4C.js';
2
2
  import { html } from 'lit';
3
3
  import { hexToRgbChannels } from 'ooxml-core/color';
4
4
  import { resolveDrawingColor } from 'ooxml-core/diagram';
@@ -1,4 +1,4 @@
1
- import { TOUCH, tok, OFFICE_TOKENS } from './chunk-LD3K2RDN.js';
1
+ import { TOUCH, tok, OFFICE_TOKENS } from './chunk-XL77FR4B.js';
2
2
  import { unsafeCSS, LitElement } from 'lit';
3
3
 
4
4
  // src/registry.ts
@@ -1,4 +1,4 @@
1
- import { OFFICE_TOKENS, TOUCH } from './chunk-LD3K2RDN.js';
1
+ import { OFFICE_TOKENS, TOUCH } from './chunk-XL77FR4B.js';
2
2
 
3
3
  // src/theme-bridge.ts
4
4
  var LEGACY_OFFICE_THEME_TOKENS = {
@@ -1,7 +1,7 @@
1
1
  import { createIconSvg, paintIcon, getIcon } from './chunk-M6GF5ED2.js';
2
- import { initialsOf } from './chunk-KNC2UEUR.js';
3
- import { OfficeElement, controlStyles, definer, valueOn, flag, present, triState, withTokens, emit } from './chunk-CWBSXK7P.js';
4
- import { tok, OFFICE_TOKENS } from './chunk-LD3K2RDN.js';
2
+ import { initialsOf } from './chunk-YZH2QS7J.js';
3
+ import { OfficeElement, controlStyles, definer, valueOn, flag, present, triState, withTokens, emit } from './chunk-QLHCGV4C.js';
4
+ import { tok, OFFICE_TOKENS } from './chunk-XL77FR4B.js';
5
5
  import { html, LitElement, nothing, render, svg } from 'lit';
6
6
  import { ifDefined } from 'lit/directives/if-defined.js';
7
7
  import { repeat } from 'lit/directives/repeat.js';
@@ -2038,7 +2038,7 @@ var OfficeUiRibbonGroup = class extends OfficeElement {
2038
2038
  var defineRibbonGroup = definer("office-ui-ribbon-group", () => OfficeUiRibbonGroup);
2039
2039
 
2040
2040
  // raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/ribbon/ribbon-section.css?raw
2041
- var ribbon_section_default = ":host {\n display: inline-flex;\n align-items: stretch;\n}\n::slotted(*) {\n flex: none;\n}\n";
2041
+ var ribbon_section_default = "/* Fill the ribbon row as a group does, so a group's caption keeps its place inside a section. */\n:host {\n display: inline-flex;\n align-self: stretch;\n align-items: stretch;\n}\n::slotted(*) {\n flex: none;\n}\n";
2042
2042
 
2043
2043
  // src/ribbon/ribbon-section.ts
2044
2044
  var COLUMN_STYLE = { display: "flex", flexDirection: "column", gap: tok("--office-space-0") };
@@ -2146,7 +2146,7 @@ var defineRibbonSection = definer(
2146
2146
  );
2147
2147
 
2148
2148
  // raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/ribbon/gallery.css?raw
2149
- var gallery_default = "[data-office-gallery] {\n display: inline-flex;\n position: relative;\n flex: none;\n color: var(--office-foreground);\n}\n[data-office-gallery] .gallery-view {\n display: contents;\n}\n[data-office-gallery] button {\n box-sizing: border-box;\n font: inherit;\n color: inherit;\n cursor: pointer;\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius);\n background: var(--office-background);\n}\n[data-office-gallery] button:hover:not(:disabled) {\n background: var(--office-selected);\n}\n[data-office-gallery] button:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n[data-office-gallery] button:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: var(--office-focus-offset);\n}\n[data-office-gallery] .trigger {\n display: inline-flex;\n align-items: center;\n gap: var(--office-space-1-5);\n min-height: var(--office-gallery-trigger-height);\n padding: 0 var(--office-space-1-5);\n font-size: var(--office-font-size-sm);\n white-space: nowrap;\n}\n[data-office-gallery]:not([mode='inline']) .trigger {\n border-color: transparent;\n background: transparent;\n}\n[data-office-gallery] .trigger svg {\n width: var(--office-icon-size-md);\n height: var(--office-icon-size-md);\n fill: none;\n stroke: currentColor;\n stroke-width: var(--office-icon-stroke);\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n[data-office-gallery][mode='inline'] .trigger,\n[data-office-gallery][chevron-only] .trigger {\n align-self: stretch;\n padding: 0 var(--office-space-1);\n}\n[data-office-gallery] .strip {\n display: flex;\n gap: var(--office-space-0);\n padding: var(--office-space-0);\n align-items: center;\n}\n[data-office-gallery] .tile {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n padding: var(--office-space-0);\n}\n[data-office-gallery] .tile[aria-pressed='true'] {\n border: var(--office-border-width-thick) solid var(--office-accent);\n background: color-mix(in srgb, var(--office-accent) 15%, var(--office-background));\n}\n[data-office-gallery] .tile svg {\n max-width: 100%;\n max-height: 100%;\n}\n[data-office-gallery][mode='inline'] .strip {\n gap: 0;\n border: var(--office-border-width) solid var(--office-border);\n border-inline-end: 0;\n border-radius: var(--office-radius-sm) 0 0 var(--office-radius-sm);\n background: var(--office-gallery-strip-background);\n}\n[data-office-gallery][mode='inline'] .trigger {\n border-radius: 0 var(--office-radius-sm) var(--office-radius-sm) 0;\n background: var(--office-gallery-strip-background);\n}\n[data-office-gallery] .trigger.command {\n border-color: transparent;\n background: transparent;\n justify-content: flex-start;\n}\n[data-office-gallery] .trigger.command:hover:not(:disabled) {\n border-color: var(--office-border);\n background: var(--office-selected);\n}\n[data-office-gallery] .trigger.command svg {\n color: var(--office-command-icon-color);\n}\n[data-office-gallery] .trigger.command-large {\n flex-direction: column;\n align-items: center;\n justify-content: flex-start;\n gap: var(--office-space-0);\n min-width: var(--office-gallery-command-min-width);\n max-width: var(--office-gallery-command-max-width);\n height: var(--office-gallery-command-height);\n padding: var(--office-space-1);\n font-size: var(--office-font-size-2xs);\n line-height: var(--office-line-height-tight);\n white-space: normal;\n text-align: center;\n}\n[data-office-gallery] .trigger.command-large svg {\n width: var(--office-gallery-command-icon);\n height: var(--office-gallery-command-icon);\n}\n[data-office-gallery] .popup {\n box-sizing: border-box;\n position: fixed;\n z-index: var(--office-z-popover);\n max-width: calc(100vw - var(--office-space-4));\n max-height: var(--office-gallery-popup-max-height);\n overflow: auto;\n padding: var(--office-space-2);\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius-md);\n background: var(--office-popover);\n color: var(--office-popover-foreground);\n box-shadow: var(--office-shadow-lg);\n}\n[data-office-gallery] .popup[hidden] {\n display: none;\n}\n[data-office-gallery] .grid {\n display: grid;\n gap: var(--office-space-1);\n width: max-content;\n max-width: 100%;\n}\n[data-office-gallery] .heading {\n margin: var(--office-space-1) 0 var(--office-space-1-5);\n font-size: var(--office-font-size-xs);\n font-weight: var(--office-font-weight-bold);\n}\n[data-office-gallery] .section + .section {\n margin-top: var(--office-space-2-5);\n}\n[data-office-gallery][mode='panel'] {\n display: block;\n}\n[data-office-gallery][mode='panel'] .grid {\n width: 100%;\n}\n[data-office-gallery][mode='panel'] .tile {\n flex-direction: column;\n gap: var(--office-space-1);\n width: 100% !important;\n height: auto !important;\n min-height: var(--office-target-size-touch);\n padding: var(--office-space-1);\n}\n[data-office-gallery][mode='panel'] .tile-label {\n font-size: var(--office-font-size-xs);\n}\n[data-office-gallery][mode='panel'] .tile svg {\n width: var(--office-gallery-preview-width);\n height: var(--office-gallery-preview-height);\n}\n[data-office-gallery] .footer {\n display: flex;\n flex-direction: column;\n margin-top: var(--office-space-2);\n padding-top: var(--office-space-1);\n border-top: var(--office-border-width) solid var(--office-border);\n}\n[data-office-gallery] .footer-item,\n[data-office-gallery] .tile-menu-item {\n display: block;\n padding: var(--office-space-1) var(--office-space-2);\n border-color: transparent;\n background: transparent;\n font-size: var(--office-font-size-sm);\n text-align: start;\n white-space: nowrap;\n}\n[data-office-gallery] .tile-menu {\n box-sizing: border-box;\n position: fixed;\n z-index: calc(var(--office-z-popover) + 1);\n display: flex;\n flex-direction: column;\n min-width: 12rem;\n padding: var(--office-space-1);\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius-md);\n background: var(--office-popover);\n color: var(--office-popover-foreground);\n box-shadow: var(--office-shadow-lg);\n}\n@media (pointer: coarse), (max-width: 1023px) {\n [data-office-gallery] .trigger,\n [data-office-gallery] .tile {\n min-height: var(--office-target-size-touch);\n min-width: var(--office-target-size-touch);\n }\n}\n@media (forced-colors: active) {\n [data-office-gallery] button,\n [data-office-gallery] .popup {\n color: ButtonText;\n background: Canvas;\n border-color: ButtonText;\n }\n [data-office-gallery] button:disabled {\n color: GrayText;\n opacity: 1;\n }\n [data-office-gallery] button:focus-visible,\n [data-office-gallery] .tile[aria-pressed='true'] {\n outline: var(--office-focus-width) solid Highlight;\n border-color: Highlight;\n }\n}\n";
2149
+ var gallery_default = "[data-office-gallery] {\n display: inline-flex;\n position: relative;\n flex: none;\n color: var(--office-foreground);\n}\n[data-office-gallery] .gallery-view {\n display: contents;\n}\n[data-office-gallery] button {\n box-sizing: border-box;\n font: inherit;\n color: inherit;\n cursor: pointer;\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius);\n background: var(--office-background);\n}\n[data-office-gallery] button:hover:not(:disabled) {\n background: var(--office-selected);\n}\n[data-office-gallery] button:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n[data-office-gallery] button:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: var(--office-focus-offset);\n}\n[data-office-gallery] .trigger {\n display: inline-flex;\n align-items: center;\n gap: var(--office-space-1-5);\n min-height: var(--office-gallery-trigger-height);\n padding: 0 var(--office-space-1-5);\n font-size: var(--office-font-size-sm);\n white-space: nowrap;\n}\n[data-office-gallery]:not([mode='inline']) .trigger {\n border-color: transparent;\n background: transparent;\n}\n[data-office-gallery] .trigger svg {\n width: var(--office-icon-size-md);\n height: var(--office-icon-size-md);\n fill: none;\n stroke: currentColor;\n stroke-width: var(--office-icon-stroke);\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n[data-office-gallery][mode='inline'] .trigger,\n[data-office-gallery][chevron-only] .trigger {\n align-self: stretch;\n padding: 0 var(--office-space-1);\n}\n[data-office-gallery] .strip {\n display: flex;\n gap: var(--office-space-0);\n padding: var(--office-space-0);\n align-items: center;\n}\n[data-office-gallery] .tile {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n padding: var(--office-space-0);\n}\n[data-office-gallery] .tile[aria-pressed='true'] {\n border: var(--office-border-width-thick) solid var(--office-accent);\n background: color-mix(in srgb, var(--office-accent) 15%, var(--office-background));\n}\n[data-office-gallery] .tile svg {\n max-width: 100%;\n max-height: 100%;\n}\n[data-office-gallery][mode='inline'] .strip {\n gap: 0;\n border: var(--office-border-width) solid var(--office-border);\n border-inline-end: 0;\n border-radius: var(--office-radius-sm) 0 0 var(--office-radius-sm);\n background: var(--office-gallery-strip-background);\n}\n[data-office-gallery][mode='inline'] .trigger {\n border-radius: 0 var(--office-radius-sm) var(--office-radius-sm) 0;\n background: var(--office-gallery-strip-background);\n}\n[data-office-gallery] .trigger.command {\n border-color: transparent;\n background: transparent;\n justify-content: flex-start;\n}\n[data-office-gallery] .trigger.command:hover:not(:disabled) {\n border-color: var(--office-border);\n background: var(--office-selected);\n}\n[data-office-gallery] .trigger.command svg {\n color: var(--office-command-icon-color);\n}\n[data-office-gallery] .trigger.command-large {\n flex-direction: column;\n align-items: center;\n justify-content: flex-start;\n gap: var(--office-space-0);\n min-width: var(--office-gallery-command-min-width);\n max-width: var(--office-gallery-command-max-width);\n height: var(--office-gallery-command-height);\n padding: var(--office-space-1);\n font-size: var(--office-font-size-2xs);\n line-height: var(--office-line-height-tight);\n white-space: normal;\n text-align: center;\n}\n[data-office-gallery] .trigger.command-large svg {\n width: var(--office-gallery-command-icon);\n height: var(--office-gallery-command-icon);\n}\n[data-office-gallery] .popup {\n box-sizing: border-box;\n position: fixed;\n z-index: var(--office-z-popover);\n max-width: calc(100vw - var(--office-space-4));\n max-height: var(--office-gallery-popup-max-height);\n overflow: auto;\n padding: var(--office-space-2);\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius-md);\n background: var(--office-popover);\n color: var(--office-popover-foreground);\n box-shadow: var(--office-shadow-lg);\n}\n[data-office-gallery] .popup[hidden] {\n display: none;\n}\n[data-office-gallery] .grid {\n display: grid;\n gap: var(--office-space-1);\n width: max-content;\n max-width: 100%;\n}\n[data-office-gallery] .heading {\n margin: var(--office-space-1) 0 var(--office-space-1-5);\n font-size: var(--office-font-size-xs);\n font-weight: var(--office-font-weight-bold);\n}\n[data-office-gallery] .section + .section {\n margin-top: var(--office-space-2-5);\n}\n[data-office-gallery][mode='panel'] {\n display: block;\n}\n[data-office-gallery][mode='panel'] .grid {\n width: 100%;\n}\n[data-office-gallery][mode='panel']:not([compact]) .tile {\n flex-direction: column;\n gap: var(--office-space-1);\n width: 100% !important;\n height: auto !important;\n min-height: var(--office-target-size-touch);\n padding: var(--office-space-1);\n}\n[data-office-gallery][mode='panel'] .tile-label {\n font-size: var(--office-font-size-xs);\n}\n[data-office-gallery][mode='panel'] .tile svg {\n width: var(--office-gallery-preview-width);\n height: var(--office-gallery-preview-height);\n}\n[data-office-gallery] .footer {\n display: flex;\n flex-direction: column;\n margin-top: var(--office-space-2);\n padding-top: var(--office-space-1);\n border-top: var(--office-border-width) solid var(--office-border);\n}\n[data-office-gallery] .footer-item,\n[data-office-gallery] .tile-menu-item {\n display: block;\n padding: var(--office-space-1) var(--office-space-2);\n border-color: transparent;\n background: transparent;\n font-size: var(--office-font-size-sm);\n text-align: start;\n white-space: nowrap;\n}\n[data-office-gallery] .tile-menu {\n box-sizing: border-box;\n position: fixed;\n z-index: calc(var(--office-z-popover) + 1);\n display: flex;\n flex-direction: column;\n min-width: 12rem;\n padding: var(--office-space-1);\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius-md);\n background: var(--office-popover);\n color: var(--office-popover-foreground);\n box-shadow: var(--office-shadow-lg);\n}\n@media (pointer: coarse), (max-width: 1023px) {\n [data-office-gallery] .trigger,\n [data-office-gallery] .tile {\n min-height: var(--office-target-size-touch);\n min-width: var(--office-target-size-touch);\n }\n}\n@media (forced-colors: active) {\n [data-office-gallery] button,\n [data-office-gallery] .popup {\n color: ButtonText;\n background: Canvas;\n border-color: ButtonText;\n }\n [data-office-gallery] button:disabled {\n color: GrayText;\n opacity: 1;\n }\n [data-office-gallery] button:focus-visible,\n [data-office-gallery] .tile[aria-pressed='true'] {\n outline: var(--office-focus-width) solid Highlight;\n border-color: Highlight;\n }\n}\n";
2150
2150
 
2151
2151
  // src/ribbon/gallery-styles.ts
2152
2152
  var GALLERY_LIGHT_CSS = withTokens(gallery_default);
@@ -2212,9 +2212,9 @@ var OfficeUiGallery = class extends OfficeElement {
2212
2212
  static itemAttribute = "data-gallery-item";
2213
2213
  static compactAttribute = null;
2214
2214
  static styles = controlStyles(HOST_CSS);
2215
- /** `mode`, `chevron-only` and `icon` are read from the attributes, as before. */
2215
+ /** `mode`, `chevron-only`, `icon` and `compact` are read from the attributes. */
2216
2216
  static get observedAttributes() {
2217
- return [...super.observedAttributes, "mode", "chevron-only", "icon"];
2217
+ return [...super.observedAttributes, "mode", "chevron-only", "icon", "compact"];
2218
2218
  }
2219
2219
  model;
2220
2220
  locked = false;
@@ -2501,7 +2501,7 @@ var OfficeUiGallery = class extends OfficeElement {
2501
2501
  event.preventDefault();
2502
2502
  event.stopPropagation();
2503
2503
  items[next]?.focus();
2504
- if (panel) items[next]?.click();
2504
+ if (panel && !this.hasAttribute("compact")) items[next]?.click();
2505
2505
  return;
2506
2506
  }
2507
2507
  if (panel) return;
@@ -2592,7 +2592,7 @@ var OfficeUiGallery = class extends OfficeElement {
2592
2592
  @blur=${() => this.endPreview()}
2593
2593
  @contextmenu=${(event) => this.onTileContextMenu(event, item.id)}
2594
2594
  @keydown=${(event) => this.onTileKey(event, item.id)}
2595
- >${preview}${this.getAttribute("mode") === "panel" ? html`<span class="tile-label">${item.label}</span>` : ""}</button>`;
2595
+ >${preview}${this.getAttribute("mode") === "panel" && !this.hasAttribute("compact") ? html`<span class="tile-label">${item.label}</span>` : ""}</button>`;
2596
2596
  }
2597
2597
  lightTemplate() {
2598
2598
  const statics = this.constructor;
@@ -5670,7 +5670,7 @@ var OfficeUiSymbolPicker = class extends OfficeElement {
5670
5670
  var defineSymbolPicker = definer("office-ui-symbol-picker", () => OfficeUiSymbolPicker);
5671
5671
 
5672
5672
  // raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/form/color-grid.css?raw
5673
- var color_grid_default = "/* Tokens: --office-space-*, --office-border, --office-selected, --office-field-border-focus. */\n:host {\n display: block;\n color: var(--office-foreground);\n font: var(--office-font-size-sm) / var(--office-line-height-tight) var(--office-font);\n}\n:host([hidden]) {\n display: none;\n}\n.grid {\n display: grid;\n gap: var(--office-space-1);\n padding: var(--office-space-1);\n width: max-content;\n}\n.heading {\n padding: var(--office-space-0) var(--office-space-1);\n background: var(--office-selected);\n color: var(--office-foreground);\n font-weight: var(--office-font-weight-bold);\n}\n.cells {\n display: grid;\n grid-template-columns: repeat(10, var(--office-space-4));\n gap: var(--office-space-1);\n}\n/* The five variant rows sit flush under one another, as in Office. */\n.variants {\n display: grid;\n gap: 0;\n}\n.swatch {\n box-sizing: border-box;\n width: var(--office-space-4);\n height: var(--office-space-4);\n padding: 0;\n border: var(--office-border-width) solid var(--office-border);\n border-radius: 0;\n background: var(--swatch);\n cursor: pointer;\n}\n.swatch:hover:not(:disabled),\n.swatch:focus-visible,\n.swatch[aria-checked='true'] {\n outline: var(--office-space-0) solid var(--office-field-border-focus);\n outline-offset: var(--office-space-px);\n position: relative;\n z-index: 1;\n}\n.command {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n width: 100%;\n min-height: var(--office-control-height-md);\n padding: 0 var(--office-space-2);\n border: 0;\n border-radius: var(--office-radius-sm);\n background: transparent;\n color: inherit;\n font: inherit;\n text-align: start;\n cursor: pointer;\n}\n.command:hover:not(:disabled),\n.command:focus-visible,\n.command[aria-checked='true'] {\n background: var(--office-selected);\n outline: none;\n}\nbutton:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n@media (forced-colors: active) {\n .swatch {\n forced-color-adjust: none;\n border-color: CanvasText;\n }\n .swatch:focus-visible,\n .swatch[aria-checked='true'] {\n outline-color: Highlight;\n }\n}\n";
5673
+ var color_grid_default = "/* Tokens: --office-space-*, --office-color-swatch-gap, --office-border, --office-selected,\n --office-field-border-focus. */\n:host {\n display: block;\n color: var(--office-foreground);\n font: var(--office-font-size-sm) / var(--office-line-height-tight) var(--office-font);\n}\n:host([hidden]) {\n display: none;\n}\n.grid {\n box-sizing: border-box;\n display: grid;\n gap: var(--office-space-1);\n padding: var(--office-space-1);\n width: max-content;\n /* In a pane narrower than the grid, the swatches shrink instead of overflowing it. */\n max-width: 100%;\n}\n.heading {\n padding: var(--office-space-0) var(--office-space-1);\n background: var(--office-selected);\n color: var(--office-foreground);\n font-weight: var(--office-font-weight-bold);\n}\n.cells {\n display: grid;\n grid-template-columns: repeat(var(--_columns, 10), minmax(0, var(--office-space-4)));\n gap: var(--office-color-swatch-gap);\n}\n/* The five variant rows sit flush under one another, as in Office. */\n.variants {\n display: grid;\n gap: 0;\n}\n.swatch {\n box-sizing: border-box;\n width: 100%;\n aspect-ratio: 1;\n padding: 0;\n border: var(--office-border-width) solid var(--office-border);\n border-radius: 0;\n background: var(--swatch);\n cursor: pointer;\n}\n.swatch:hover:not(:disabled),\n.swatch:focus-visible,\n.swatch[aria-checked='true'] {\n outline: var(--office-space-0) solid var(--office-field-border-focus);\n outline-offset: var(--office-space-px);\n position: relative;\n z-index: 1;\n}\n.command {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n width: 100%;\n min-height: var(--office-control-height-md);\n padding: 0 var(--office-space-2);\n border: 0;\n border-radius: var(--office-radius-sm);\n background: transparent;\n color: inherit;\n font: inherit;\n text-align: start;\n cursor: pointer;\n}\n.command:hover:not(:disabled),\n.command:focus-visible,\n.command[aria-checked='true'] {\n background: var(--office-selected);\n outline: none;\n}\nbutton:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n@media (forced-colors: active) {\n .swatch {\n forced-color-adjust: none;\n border-color: CanvasText;\n }\n .swatch:focus-visible,\n .swatch[aria-checked='true'] {\n outline-color: Highlight;\n }\n}\n";
5674
5674
 
5675
5675
  // src/form/color-grid.ts
5676
5676
  var COLUMNS = 10;
@@ -5679,6 +5679,8 @@ var OfficeUiColorGrid = class extends OfficeElement {
5679
5679
  static properties = {
5680
5680
  themeColors: { attribute: false },
5681
5681
  themeNames: { attribute: false },
5682
+ palette: { attribute: false },
5683
+ selectedTheme: { attribute: false },
5682
5684
  variantLabel: { attribute: false },
5683
5685
  extraColors: { attribute: false },
5684
5686
  standardColors: { attribute: false },
@@ -5698,6 +5700,8 @@ var OfficeUiColorGrid = class extends OfficeElement {
5698
5700
  this.themeColors = null;
5699
5701
  this.themeNames = null;
5700
5702
  this.variantLabel = null;
5703
+ this.palette = null;
5704
+ this.selectedTheme = null;
5701
5705
  this.extraColors = [];
5702
5706
  this.standardColors = OFFICE_STANDARD_COLORS;
5703
5707
  this.recentColors = [];
@@ -5761,15 +5765,17 @@ var OfficeUiColorGrid = class extends OfficeElement {
5761
5765
  render() {
5762
5766
  const disabled = present(this.disabled);
5763
5767
  const value = this.value ? normalizePaletteHex(this.value) ?? this.value : null;
5768
+ const position = this.selectedTheme;
5769
+ const checked = (item, source, column) => position ? source === "theme" && column === position.column && item.variant?.kind === position.variant?.kind && item.variant?.percent === position.variant?.percent : value === item.hex;
5764
5770
  let row = 0;
5765
- const command = (text, name2, checked, run) => html`<button
5771
+ const command = (text, name2, checked2, run) => html`<button
5766
5772
  type="button"
5767
5773
  class="command"
5768
5774
  data-command=${name2}
5769
5775
  data-row=${row++}
5770
5776
  data-column="0"
5771
- role=${checked === void 0 ? "button" : "menuitemradio"}
5772
- aria-checked=${checked === void 0 ? nothing : String(checked)}
5777
+ role=${checked2 === void 0 ? "button" : "menuitemradio"}
5778
+ aria-checked=${checked2 === void 0 ? nothing : String(checked2)}
5773
5779
  ?disabled=${disabled}
5774
5780
  @click=${run}
5775
5781
  >${text}</button
@@ -5784,7 +5790,7 @@ var OfficeUiColorGrid = class extends OfficeElement {
5784
5790
  data-column=${column}
5785
5791
  title=${item.label}
5786
5792
  aria-label=${item.label}
5787
- aria-checked=${String(value === item.hex)}
5793
+ aria-checked=${String(checked(item, source, column))}
5788
5794
  style=${`--swatch:${item.hex}`}
5789
5795
  ?disabled=${disabled}
5790
5796
  @click=${() => this.pick(
@@ -5794,19 +5800,22 @@ var OfficeUiColorGrid = class extends OfficeElement {
5794
5800
  source === "theme" ? { theme: { column, ...item.variant ? { variant: item.variant } : {} } } : source === "extra" ? { index: column } : {}
5795
5801
  )}
5796
5802
  ></button>`;
5797
- const cells = (items, source) => {
5798
- const result = html`<div class="cells" data-cells=${source}
5799
- >${items.map((item, index) => swatch(item, source, index))}</div
5803
+ const cells = (items, source, columns = COLUMNS) => {
5804
+ const result = html`<div class="cells" data-cells=${source} style=${`--_columns:${columns}`}
5805
+ >${items.map(
5806
+ (item, index) => item ? swatch(item, source, index) : html`<span></span>`
5807
+ )}</div
5800
5808
  >`;
5801
5809
  row++;
5802
5810
  return result;
5803
5811
  };
5804
- const palette = buildThemePalette(this.themeColors ?? void 0, this.themeNames ?? void 0);
5812
+ const palette = this.palette ?? buildThemePalette(this.themeColors ?? void 0, this.themeNames ?? void 0);
5805
5813
  const extra = (this.extraColors ?? []).slice(0, COLUMNS);
5806
- const name = this.variantLabel;
5814
+ const name = this.palette ? null : this.variantLabel;
5815
+ const standard = this.standardColors ?? OFFICE_STANDARD_COLORS;
5807
5816
  const variants = (index) => palette.map((column) => {
5808
5817
  const item = column.variants[index];
5809
- return name ? { ...item, label: name(column.name, item.variant) } : item;
5818
+ return item && name ? { ...item, label: name(column.name, item.variant) } : item;
5810
5819
  });
5811
5820
  const recent = (this.recentColors ?? []).map((hex) => normalizePaletteHex(hex)).filter((hex) => !!hex).slice(0, COLUMNS).map((hex) => ({ hex, label: hex.toUpperCase() }));
5812
5821
  const automatic = this.automaticLabel;
@@ -5822,12 +5831,16 @@ var OfficeUiColorGrid = class extends OfficeElement {
5822
5831
  <div class="heading">${this.themeHeading}</div>
5823
5832
  ${cells(
5824
5833
  palette.map((column) => column.base),
5825
- "theme"
5834
+ "theme",
5835
+ palette.length || COLUMNS
5826
5836
  )}
5827
- <div class="variants">${[0, 1, 2, 3, 4].map((index) => cells(variants(index), "theme"))}</div>
5837
+ <div class="variants"
5838
+ >${[0, 1, 2, 3, 4].map(
5839
+ (index) => cells(variants(index), "theme", palette.length || COLUMNS)
5840
+ )}</div
5841
+ >
5828
5842
  ${extra.length ? cells(extra, "extra") : nothing}
5829
- <div class="heading">${this.standardHeading}</div>
5830
- ${cells(this.standardColors ?? OFFICE_STANDARD_COLORS, "standard")}
5843
+ ${standard.length ? html`<div class="heading">${this.standardHeading}</div> ${cells(standard, "standard")}` : nothing}
5831
5844
  ${recent.length ? html`<div class="heading">${this.recentHeading}</div> ${cells(recent, "recent")}` : nothing}
5832
5845
  ${more ? command(more, "more", void 0, () => this.more()) : nothing}</div
5833
5846
  >`;
@@ -1,9 +1,9 @@
1
1
  import { TeamsLitElement, LOCALE_HOST, teamsI18n, inheritLocale, pushLocale } from './chunk-FHO7TEWA.js';
2
- import { THEME_CSS, installOfficeUiTheme } from './chunk-6Y7KR2I3.js';
3
- import { defineMenuButton, defineMenuItem, registerControls, defineSwitch } from './chunk-SPRZIHUH.js';
2
+ import { THEME_CSS, installOfficeUiTheme } from './chunk-T5ARELU2.js';
3
+ import { defineMenuButton, defineMenuItem, registerControls, defineSwitch } from './chunk-TJ245GDD.js';
4
4
  import { registerIcon, getIcon } from './chunk-M6GF5ED2.js';
5
- import { initialsOf, definePresence } from './chunk-KNC2UEUR.js';
6
- import { definer, OfficeElement, controlStyles } from './chunk-CWBSXK7P.js';
5
+ import { initialsOf, definePresence } from './chunk-YZH2QS7J.js';
6
+ import { definer, OfficeElement, controlStyles } from './chunk-QLHCGV4C.js';
7
7
  import { nothing, html, unsafeCSS, svg } from 'lit';
8
8
  import { filterActivity, ACTIVITY_FILTERS, localZone, startOfDay, occurrencesBetween, DAY_MS as DAY_MS$1, dayKey, zonedToUtc, viewDays, zonedParts, shiftAnchor, layoutDay, mentionQueryAt, filterMentionTargets, insertMention, MAX_ATTACHMENTS, mentionsUser, mentionSegments, detectContentKind, contentUrl, readContent, sortFiles, filterFiles, parseServerConfig, STATUS_DURATIONS, MAX_STATUS_MESSAGE_CHARS, isPresenceStatus, PRESENCE_STATUSES, isStatusDuration, IDLE_MINUTE_CHOICES, sanitizeChannelName, MAX_CHANNEL_NAME_CHARS, MAX_CHANNEL_TOPIC_CHARS, MAX_CHAT_MEMBERS, occurrenceAt, MAX_RECURRENCE_COUNT, MINUTE_MS, MAX_MEETING_TITLE, MAX_MEETING_DESCRIPTION, markdownBlocks, repeatChoices, serverOrigin, probeTeamsAccounts, requestTeamsSession, signOutTeamsSession, checkTeamsSession, createTeamsClient, sanitizeAttachment, markdownInline, TeamsSignInError } from 'ooxml-core/teams';
9
9
  import { repeat } from 'lit/directives/repeat.js';
@@ -1993,7 +1993,8 @@ var XLSX_EDITOR_EVENTS = [
1993
1993
  "sheet-change",
1994
1994
  "dirty-change",
1995
1995
  "collaboration-change",
1996
- "office-ribbon-add-in"
1996
+ "office-ribbon-add-in",
1997
+ "validation-error"
1997
1998
  ];
1998
1999
  var CANCELABLE = /* @__PURE__ */ new Set(["file-command"]);
1999
2000
  function emitEvent(target, type, detail) {
@@ -219,6 +219,8 @@ var OFFICE_TOKENS = {
219
219
  "--office-comments-pane-width": "300px",
220
220
  "--office-comment-avatar-size": "24px",
221
221
  "--office-account-field-width": "320px",
222
+ // Component: colour grid
223
+ "--office-color-swatch-gap": "var(--office-space-1, 4px)",
222
224
  // Component: galleries
223
225
  "--office-gallery-trigger-height": "24px",
224
226
  "--office-gallery-strip-background": "color-mix(in srgb, var(--office-surface, #f3f4f6) 30%, transparent)",
@@ -1,4 +1,4 @@
1
- import { OfficeElement, controlStyles, definer } from './chunk-CWBSXK7P.js';
1
+ import { OfficeElement, controlStyles, definer } from './chunk-QLHCGV4C.js';
2
2
  import { html } from 'lit';
3
3
 
4
4
  // raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/presence/presence.css?raw