ooxml-ui 1.19.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -39
- package/custom-elements.json +13 -2
- package/dist/{chunk-QEIGB73C.js → chunk-4XPAPETH.js} +4 -4
- package/dist/{chunk-SVRIVUWC.js → chunk-C7B7TJ2J.js} +1 -1
- package/dist/{chunk-ANPFMQ6E.js → chunk-QBXYGKPB.js} +1 -1
- package/dist/{chunk-CWBSXK7P.js → chunk-QLHCGV4C.js} +1 -1
- package/dist/{chunk-6Y7KR2I3.js → chunk-T5ARELU2.js} +1 -1
- package/dist/{chunk-SPRZIHUH.js → chunk-TJ245GDD.js} +37 -24
- package/dist/{chunk-KH2ZG3N6.js → chunk-UB36NYDT.js} +5 -5
- package/dist/{chunk-LD3K2RDN.js → chunk-XL77FR4B.js} +2 -0
- package/dist/{chunk-KNC2UEUR.js → chunk-YZH2QS7J.js} +1 -1
- package/dist/controls.d.ts +1 -1
- package/dist/controls.d.ts.map +1 -1
- package/dist/controls.js +4 -4
- package/dist/docx/collaboration-room.d.ts +46 -0
- package/dist/docx/collaboration-session.d.ts +2 -0
- package/dist/docx/collaboration-types.d.ts +13 -0
- package/dist/docx/component.d.ts +13 -0
- package/dist/docx/editor-core.d.ts +3 -0
- package/dist/docx/element-api.d.ts +3 -0
- package/dist/docx/events.d.ts +4 -1
- package/dist/docx/field-update.d.ts +8 -4
- package/dist/docx/form-field-view.d.ts +3 -0
- package/dist/docx/index.d.ts +1 -0
- package/dist/docx/ribbon-popover.d.ts +5 -4
- package/dist/docx/table-model-adapter.d.ts +2 -0
- package/dist/docx.js +19522 -18964
- package/dist/form/color-grid.d.ts +21 -2
- package/dist/form/color-grid.d.ts.map +1 -1
- package/dist/index.js +9 -9
- package/dist/pptx/{chunk-NDAE3JFO.cjs → chunk-3ESFHUZI.cjs} +2 -0
- package/dist/pptx/{chunk-OQQQ2GBW.cjs → chunk-ABDWUQRQ.cjs} +2132 -1360
- package/dist/pptx/{chunk-NLUVYOKN.mjs → chunk-F6P7VS5I.mjs} +2080 -1330
- package/dist/pptx/{chunk-UTFFX4M7.mjs → chunk-MK2ASJSY.mjs} +2 -0
- package/dist/pptx/dom/elements/text-warp.d.ts.map +1 -1
- package/dist/pptx/dom/index.cjs +217 -216
- package/dist/pptx/dom/index.mjs +16 -15
- package/dist/pptx/index.cjs +2970 -2882
- package/dist/pptx/index.mjs +2 -2
- package/dist/pptx/render/collaboration-options.d.ts +29 -0
- package/dist/pptx/render/collaboration-options.d.ts.map +1 -0
- package/dist/pptx/render/embedded-font-bytes.d.ts +27 -0
- package/dist/pptx/render/embedded-font-bytes.d.ts.map +1 -0
- package/dist/pptx/render/embedded-font-trust.d.ts +48 -0
- package/dist/pptx/render/embedded-font-trust.d.ts.map +1 -0
- package/dist/pptx/render/embedded-fonts.d.ts +8 -18
- package/dist/pptx/render/embedded-fonts.d.ts.map +1 -1
- package/dist/pptx/render/font-weight-names.d.ts +66 -0
- package/dist/pptx/render/font-weight-names.d.ts.map +1 -0
- package/dist/pptx/render/google-webfonts.d.ts +9 -4
- package/dist/pptx/render/google-webfonts.d.ts.map +1 -1
- package/dist/pptx/render/index.d.ts +3 -0
- package/dist/pptx/render/index.d.ts.map +1 -1
- package/dist/pptx/render/morph-animation.d.ts +5 -1
- package/dist/pptx/render/morph-animation.d.ts.map +1 -1
- package/dist/pptx/render/morph-image-alpha.d.ts +49 -0
- package/dist/pptx/render/morph-image-alpha.d.ts.map +1 -0
- package/dist/pptx/render/paragraph-bullet-marker-style.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/gallery-placements.d.ts +2 -0
- package/dist/pptx/render/ribbon-galleries/gallery-placements.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/gallery-registry.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/gallery-types.d.ts +3 -1
- package/dist/pptx/render/ribbon-galleries/gallery-types.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/index.d.ts +1 -0
- package/dist/pptx/render/ribbon-galleries/index.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/text-warp-gallery.d.ts +19 -0
- package/dist/pptx/render/ribbon-galleries/text-warp-gallery.d.ts.map +1 -0
- package/dist/pptx/render/ribbon-help-commands.d.ts +13 -0
- package/dist/pptx/render/ribbon-help-commands.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-record-commands.d.ts +4 -1
- package/dist/pptx/render/ribbon-record-commands.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-slide-show-commands.d.ts +6 -0
- package/dist/pptx/render/ribbon-slide-show-commands.d.ts.map +1 -1
- package/dist/pptx/render/slide-transition-css.d.ts.map +1 -1
- package/dist/pptx/render/table-cell-css.d.ts +12 -0
- package/dist/pptx/render/table-cell-css.d.ts.map +1 -1
- package/dist/pptx/render/table-style.d.ts +10 -1
- package/dist/pptx/render/table-style.d.ts.map +1 -1
- package/dist/pptx/render/text-block-style.d.ts.map +1 -1
- package/dist/pptx/render/text-east-asian-breaks.d.ts.map +1 -1
- package/dist/pptx/render/text-metric-tracking.d.ts.map +1 -1
- package/dist/pptx/render/text-run-gradient-span.d.ts.map +1 -1
- package/dist/pptx/render/text-run-style.d.ts.map +1 -1
- package/dist/pptx/render/text-tab-layout.d.ts.map +1 -1
- package/dist/pptx/render/text-warp-envelope-measure.d.ts.map +1 -1
- package/dist/pptx/render/text-warp-outline-font-cache.d.ts +2 -1
- package/dist/pptx/render/text-warp-outline-font-cache.d.ts.map +1 -1
- package/dist/pptx/render/text-warp-outline-webfont-fetch.d.ts.map +1 -1
- package/dist/pptx/render/theme-color-grid.d.ts +20 -0
- package/dist/pptx/render/theme-color-grid.d.ts.map +1 -0
- package/dist/pptx/render/used-fonts.d.ts.map +1 -1
- package/dist/pptx/theme/index.cjs +18 -18
- package/dist/pptx/theme/index.mjs +1 -1
- package/dist/pptx/types.d.ts +5 -1
- package/dist/pptx/types.d.ts.map +1 -1
- package/dist/pptx/web-components/index.d.ts +1 -0
- package/dist/pptx/web-components/index.d.ts.map +1 -1
- package/dist/pptx/web-components/office-aliases.d.ts +9 -0
- package/dist/pptx/web-components/office-aliases.d.ts.map +1 -1
- package/dist/pptx/web-components/office-token-bridge.d.ts +1 -1
- package/dist/pptx/web-components/office-token-bridge.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-gallery.d.ts +1 -0
- package/dist/pptx/web-components/ribbon-gallery.d.ts.map +1 -1
- package/dist/presence.js +3 -3
- package/dist/ribbon/gallery.d.ts +4 -2
- package/dist/ribbon/gallery.d.ts.map +1 -1
- package/dist/smartart.js +3 -3
- package/dist/teams.js +6 -6
- package/dist/theme.js +2 -2
- package/dist/tokens.d.ts +1 -0
- package/dist/tokens.d.ts.map +1 -1
- package/dist/visio/collaboration-types.d.ts +3 -0
- package/dist/visio/index.d.ts +1 -0
- package/dist/visio/viewer-element.d.ts +13 -0
- package/dist/visio/viewer-share-sync.d.ts +23 -0
- package/dist/visio/viewer-share.d.ts +20 -6
- package/dist/visio.js +265 -136
- package/dist/xlsx/collaboration-types.d.ts +7 -35
- package/dist/xlsx.js +19 -64
- 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
|
|
192
|
-
| ----------------------------------------------------- |
|
|
193
|
-
| `office-ui-button` | `label`, `icon`, `command`, `disabled`, `pressed`, `expanded`, `icon-only`, `variant="stacked"`, `keyshortcuts`
|
|
194
|
-
| `office-ui-checkbox`, `office-ui-switch` | `checked`, `disabled`, `value`, `aria-label`; form-associated
|
|
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"
|
|
196
|
-
| `office-ui-ribbon-group` | `label`, `launcher` (dialog launcher command), `launcher-disabled`; default slot
|
|
197
|
-
| `office-ui-ribbon-stack` | `orientation="horizontal"`; default slot (three-row column of small commands by default)
|
|
198
|
-
| `office-ui-menu-button` / `-menu-item` | button: `label`, `icon`, `command` (split button), `variant`, `disabled`, `keyshortcuts`; item: `command`, `label`, `icon`, `disabled`, `checked`
|
|
199
|
-
| `office-ui-toolbar` | `aria-label`, `aria-orientation`; arrow-key focus movement
|
|
200
|
-
| `office-ui-dialog` | `open`, `heading`, `dismissible="false"`, `show()`, `close()`; slots default, `footer`
|
|
201
|
-
| `office-ui-status-bar` / `-status-item` | `label`, `value`, `interactive`, `id`; controlled bar: `state` `{ items?, toggles?, views?, zoom? }` with `summary`, `collaboration` and `end` slots
|
|
202
|
-
| `office-ui-zoom-slider` | `value` (percent), `min`, `max`, `step`, `disabled`, `fit` (fit button name), `label`
|
|
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
|
|
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`
|
|
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
|
|
207
|
-
| `office-ui-command-search` | `commands` `[{ id, label, keywords?, description?, disabled?, title? }]`, `placeholder`, `label`, `limit` (Office's "Tell me what you want to do")
|
|
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()`
|
|
209
|
-
| `office-ui-account` | `profile` `{ displayName, avatarColor, initial? }`; slots `sign-in` and default (product sections)
|
|
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()`
|
|
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`
|
|
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()`
|
|
213
|
-
| `office-ui-ruler` | `orientation="vertical"`, `origin` (px offset of zero), `scale` (px per unit, default 96), `direction="reverse"`; decorative
|
|
214
|
-
| `office-ui-print-preview` | `pages` (rendered nodes; an inert clone of the current one is shown), `index`, `label`, `empty-label`
|
|
215
|
-
| `office-ui-radio` | `checked`, `disabled`, `value`, `name`; radios of one tag sharing a `name` form a roving-focus group; form-associated
|
|
216
|
-
| `office-ui-search` | `value`, `placeholder`, `disabled`, `aria-label`, `variant="titlebar"`; `focus()`, `select()`
|
|
217
|
-
| `office-ui-ribbon-toggle` | `label`, `checked`, `disabled`, `title`, `command` (a labelled ribbon checkbox row; static `checkboxTag` picks the inner checkbox)
|
|
218
|
-
| `office-ui-dialog-footer` | `state` `{ actions: [{ id, label, variant?, icon?, disabled?, busy?, title?, align?, testId? }] }`, `focusAction(id)`
|
|
219
|
-
| `office-ui-toasts` | `state` `{ toasts: [{ id, code?, severity, message }], overflowCount?, labels? }`; hidden when empty, host positions it
|
|
220
|
-
| `office-ui-read-only-banner` | `state` `{ kind, message, passwordPromptOpen?, passwordError?, checkingPassword?, labels? }`
|
|
221
|
-
| `office-ui-paste-options` | `state` `{ left, top, options: [{ id, label }], label? }`; fixed 4px past the pasted object
|
|
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-*`
|
|
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
|
|
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`
|
|
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
|
|
226
|
-
| `office-ui-presence` | `participants`, `max`, `label`
|
|
227
|
-
| `office-ui-smartart` | `drawing` (core `DiagramDrawing`), `schemeColors`, `label`
|
|
228
|
-
| `office-ui-icon` | `name`, `label`
|
|
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
|
package/custom-elements.json
CHANGED
|
@@ -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,9 +1,9 @@
|
|
|
1
1
|
import { TeamsLitElement, LOCALE_HOST, teamsI18n, inheritLocale, pushLocale } from './chunk-FHO7TEWA.js';
|
|
2
|
-
import { THEME_CSS, installOfficeUiTheme } from './chunk-
|
|
3
|
-
import { defineMenuButton, defineMenuItem, registerControls, defineSwitch } from './chunk-
|
|
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-
|
|
6
|
-
import { definer, OfficeElement, controlStyles } from './chunk-
|
|
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';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineRibbonGroup, defineRibbonStack, defineButton, defineMenuItem, defineMenuButton } from './chunk-
|
|
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-
|
|
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,7 +1,7 @@
|
|
|
1
1
|
import { createIconSvg, paintIcon, getIcon } from './chunk-M6GF5ED2.js';
|
|
2
|
-
import { initialsOf } from './chunk-
|
|
3
|
-
import { OfficeElement, controlStyles, definer, valueOn, flag, present, triState, withTokens, emit } from './chunk-
|
|
4
|
-
import { tok, OFFICE_TOKENS } from './chunk-
|
|
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 `
|
|
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-
|
|
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,
|
|
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=${
|
|
5772
|
-
aria-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(
|
|
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(
|
|
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"
|
|
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
|
-
|
|
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,8 +1,8 @@
|
|
|
1
|
-
import { defineSmartArt } from './chunk-
|
|
2
|
-
import { TEAMS_TAGS, registerTeams } from './chunk-
|
|
3
|
-
import { installOfficeUiTheme } from './chunk-
|
|
4
|
-
import { registerControls } from './chunk-
|
|
5
|
-
import { definePresence } from './chunk-
|
|
1
|
+
import { defineSmartArt } from './chunk-QBXYGKPB.js';
|
|
2
|
+
import { TEAMS_TAGS, registerTeams } from './chunk-4XPAPETH.js';
|
|
3
|
+
import { installOfficeUiTheme } from './chunk-T5ARELU2.js';
|
|
4
|
+
import { registerControls } from './chunk-TJ245GDD.js';
|
|
5
|
+
import { definePresence } from './chunk-YZH2QS7J.js';
|
|
6
6
|
|
|
7
7
|
// src/index.ts
|
|
8
8
|
var OFFICE_UI_TAGS = [
|
|
@@ -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)",
|