ooxml-ui 1.14.0 → 1.16.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/custom-elements.json +139 -2
- package/dist/{chunk-LAVVSCRJ.js → chunk-CHFMXUPK.js} +195 -12
- package/dist/chunk-GSWCAZQ3.js +3533 -0
- package/dist/{chunk-C3MXKNNK.js → chunk-JVNIZBG7.js} +1462 -781
- package/dist/{chunk-C5F7454A.js → chunk-QUG6IRQQ.js} +2 -2
- package/dist/{chunk-DSQBXLMO.js → chunk-UIVYZERK.js} +1 -1
- package/dist/controls.d.ts +1 -1
- package/dist/controls.d.ts.map +1 -1
- package/dist/controls.js +1 -1
- package/dist/docx.js +3 -3
- package/dist/index.js +5 -5
- package/dist/pptx/{chart-3d-view-scene-CFUVOILD.cjs → chart-3d-view-scene-3HDRDXX6.cjs} +38 -38
- package/dist/pptx/{chart-3d-view-scene-BEAJCQIS.mjs → chart-3d-view-scene-NMFMG76N.mjs} +2 -2
- package/dist/pptx/{chunk-5UGJC25J.cjs → chunk-3DGTZWI5.cjs} +1 -1
- package/dist/pptx/{chunk-4NBVWV6I.cjs → chunk-A2X5BP7J.cjs} +581 -0
- package/dist/pptx/{chunk-2JTHIDMD.cjs → chunk-CEH63AZB.cjs} +1172 -85
- package/dist/pptx/{chunk-DWUC6LZK.mjs → chunk-GCHJRKXZ.mjs} +10 -30
- package/dist/pptx/{chunk-VXKFXPCU.mjs → chunk-HL53SH7C.mjs} +1169 -86
- package/dist/pptx/{chunk-5DUBDWOU.cjs → chunk-KTHBMVMQ.cjs} +10436 -6294
- package/dist/pptx/{chunk-HULZNSHL.cjs → chunk-L2LK7TEC.cjs} +19 -40
- package/dist/pptx/{chunk-GUAP5VUN.mjs → chunk-RACO4FQT.mjs} +9643 -5546
- package/dist/pptx/{chunk-P3YE5LT2.mjs → chunk-XOMYHWQ3.mjs} +1 -1
- package/dist/pptx/{chunk-OJXPN2WX.mjs → chunk-ZNXKAINY.mjs} +581 -0
- package/dist/pptx/dom/element-styles.d.ts.map +1 -1
- package/dist/pptx/dom/elements/chart-editable.d.ts +11 -0
- package/dist/pptx/dom/elements/chart-editable.d.ts.map +1 -1
- package/dist/pptx/dom/elements/chart.d.ts.map +1 -1
- package/dist/pptx/dom/index.cjs +278 -265
- package/dist/pptx/dom/index.mjs +37 -25
- package/dist/pptx/export/html2canvas-clone.cjs +2 -2
- package/dist/pptx/export/html2canvas-clone.mjs +1 -1
- package/dist/pptx/i18n/index.cjs +6 -6
- package/dist/pptx/i18n/index.mjs +1 -1
- package/dist/pptx/i18n/translations-en-chart-format.d.ts +3 -0
- package/dist/pptx/i18n/translations-en-chart-format.d.ts.map +1 -0
- package/dist/pptx/i18n/translations-en-compare.d.ts +3 -0
- package/dist/pptx/i18n/translations-en-compare.d.ts.map +1 -0
- package/dist/pptx/i18n/translations-en-design-galleries.d.ts +3 -0
- package/dist/pptx/i18n/translations-en-design-galleries.d.ts.map +1 -0
- package/dist/pptx/i18n/translations-en-galleries-smartart-layouts.d.ts +6 -0
- package/dist/pptx/i18n/translations-en-galleries-smartart-layouts.d.ts.map +1 -0
- package/dist/pptx/i18n/translations-en-shape-gallery.d.ts +7 -0
- package/dist/pptx/i18n/translations-en-shape-gallery.d.ts.map +1 -0
- package/dist/pptx/i18n/translations-en.d.ts.map +1 -1
- package/dist/pptx/index.cjs +3338 -3146
- package/dist/pptx/index.mjs +6 -6
- package/dist/pptx/render/chart-axis-primitives.d.ts.map +1 -1
- package/dist/pptx/render/chart-canvas-drag.d.ts.map +1 -1
- package/dist/pptx/render/chart-cartesian-bars.d.ts.map +1 -1
- package/dist/pptx/render/chart-category-axis.d.ts.map +1 -1
- package/dist/pptx/render/chart-combo-stock.cjs +3 -3
- package/dist/pptx/render/chart-combo-stock.mjs +1 -1
- package/dist/pptx/render/chart-date-axis.d.ts.map +1 -1
- package/dist/pptx/render/chart-format/chart-area-outer-effects.d.ts +20 -0
- package/dist/pptx/render/chart-format/chart-area-outer-effects.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-3d-svg.d.ts +23 -0
- package/dist/pptx/render/chart-format/chart-format-3d-svg.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-context-menu.d.ts +11 -0
- package/dist/pptx/render/chart-format/chart-format-context-menu.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-effects-svg.d.ts +87 -0
- package/dist/pptx/render/chart-format/chart-format-effects-svg.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-fixtures.test-util.d.ts +10 -0
- package/dist/pptx/render/chart-format/chart-format-fixtures.test-util.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-geometry.d.ts +25 -0
- package/dist/pptx/render/chart-format/chart-format-geometry.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-hit-test.d.ts +42 -0
- package/dist/pptx/render/chart-format/chart-format-hit-test.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-paint-svg.d.ts +38 -0
- package/dist/pptx/render/chart-format/chart-format-paint-svg.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-pane-3d.d.ts +13 -0
- package/dist/pptx/render/chart-format/chart-format-pane-3d.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-pane-axis.d.ts +12 -0
- package/dist/pptx/render/chart-format/chart-format-pane-axis.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-pane-common.d.ts +14 -0
- package/dist/pptx/render/chart-format/chart-format-pane-common.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-pane-edit-extra.d.ts +28 -0
- package/dist/pptx/render/chart-format/chart-format-pane-edit-extra.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-pane-edit.d.ts +18 -0
- package/dist/pptx/render/chart-format/chart-format-pane-edit.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-pane-effects.d.ts +31 -0
- package/dist/pptx/render/chart-format/chart-format-pane-effects.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-pane-fill-kinds.d.ts +15 -0
- package/dist/pptx/render/chart-format/chart-format-pane-fill-kinds.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-pane-fill-line.d.ts +12 -0
- package/dist/pptx/render/chart-format/chart-format-pane-fill-line.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-pane-model.d.ts +17 -0
- package/dist/pptx/render/chart-format/chart-format-pane-model.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-pane-options.d.ts +13 -0
- package/dist/pptx/render/chart-format/chart-format-pane-options.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-pane-text.d.ts +14 -0
- package/dist/pptx/render/chart-format/chart-format-pane-text.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-pane-types.d.ts +96 -0
- package/dist/pptx/render/chart-format/chart-format-pane-types.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-render-labels.d.ts +26 -0
- package/dist/pptx/render/chart-format/chart-format-render-labels.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-render-lines.d.ts +36 -0
- package/dist/pptx/render/chart-format/chart-format-render-lines.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-render-series.d.ts +30 -0
- package/dist/pptx/render/chart-format/chart-format-render-series.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-render-text.d.ts +28 -0
- package/dist/pptx/render/chart-format/chart-format-render-text.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-render.d.ts +26 -0
- package/dist/pptx/render/chart-format/chart-format-render.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-format-targets.d.ts +36 -0
- package/dist/pptx/render/chart-format/chart-format-targets.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/chart-selection-strip.d.ts +39 -0
- package/dist/pptx/render/chart-format/chart-selection-strip.d.ts.map +1 -0
- package/dist/pptx/render/chart-format/index.d.ts +16 -0
- package/dist/pptx/render/chart-format/index.d.ts.map +1 -0
- package/dist/pptx/render/chart-legend-layout.d.ts +3 -1
- package/dist/pptx/render/chart-legend-layout.d.ts.map +1 -1
- package/dist/pptx/render/chart-overlays.cjs +7 -7
- package/dist/pptx/render/chart-overlays.mjs +1 -1
- package/dist/pptx/render/chart-surface-treemap.cjs +4 -4
- package/dist/pptx/render/chart-surface-treemap.mjs +1 -1
- package/dist/pptx/render/chart-svg-primitives.d.ts +6 -0
- package/dist/pptx/render/chart-svg-primitives.d.ts.map +1 -1
- package/dist/pptx/render/chart-view-model-build.d.ts.map +1 -1
- package/dist/pptx/render/chart-view-model-dom.d.ts +17 -2
- package/dist/pptx/render/chart-view-model-dom.d.ts.map +1 -1
- package/dist/pptx/render/chart-view-model-types.d.ts +3 -0
- package/dist/pptx/render/chart-view-model-types.d.ts.map +1 -1
- package/dist/pptx/render/chart-view-model.cjs +44 -44
- package/dist/pptx/render/chart-view-model.mjs +1 -1
- package/dist/pptx/render/chart-waterfall-map.cjs +6 -6
- package/dist/pptx/render/chart-waterfall-map.mjs +1 -1
- package/dist/pptx/render/context-menu-commands.d.ts +6 -1
- package/dist/pptx/render/context-menu-commands.d.ts.map +1 -1
- package/dist/pptx/render/customization/customization-catalog.d.ts +1 -1
- package/dist/pptx/render/customization/customization-catalog.d.ts.map +1 -1
- package/dist/pptx/render/customization/customization-descriptions.d.ts.map +1 -1
- package/dist/pptx/render/customization/ribbon-control-catalog-core.d.ts +11 -1
- package/dist/pptx/render/customization/ribbon-control-catalog-core.d.ts.map +1 -1
- package/dist/pptx/render/customization/ribbon-control-catalog-tail.d.ts +10 -0
- package/dist/pptx/render/customization/ribbon-control-catalog-tail.d.ts.map +1 -1
- package/dist/pptx/render/customization/ribbon-control-catalog.d.ts +21 -1
- package/dist/pptx/render/customization/ribbon-control-catalog.d.ts.map +1 -1
- package/dist/pptx/render/deck-style.d.ts +126 -0
- package/dist/pptx/render/deck-style.d.ts.map +1 -0
- package/dist/pptx/render/editor-chrome/metrics.d.ts +7 -0
- package/dist/pptx/render/editor-chrome/metrics.d.ts.map +1 -1
- package/dist/pptx/render/frame-effect-style.d.ts +22 -0
- package/dist/pptx/render/frame-effect-style.d.ts.map +1 -0
- package/dist/pptx/render/index.d.ts +6 -0
- package/dist/pptx/render/index.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-design-commands.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/gallery-module.d.ts +2 -1
- package/dist/pptx/render/ribbon-galleries/gallery-module.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/gallery-placements.d.ts +1 -1
- package/dist/pptx/render/ribbon-galleries/gallery-placements.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/gallery-registry.d.ts +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 +52 -3
- package/dist/pptx/render/ribbon-galleries/gallery-types.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/gallery-view.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/smartart-layouts-gallery.d.ts +5 -0
- package/dist/pptx/render/ribbon-galleries/smartart-layouts-gallery.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/theme-backgrounds-gallery.d.ts +7 -0
- package/dist/pptx/render/ribbon-galleries/theme-backgrounds-gallery.d.ts.map +1 -0
- package/dist/pptx/render/ribbon-galleries/theme-colors-gallery.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/theme-effects-gallery.d.ts +6 -0
- package/dist/pptx/render/ribbon-galleries/theme-effects-gallery.d.ts.map +1 -0
- package/dist/pptx/render/ribbon-galleries/theme-fonts-gallery.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-galleries/theme-variants-gallery.d.ts +32 -0
- package/dist/pptx/render/ribbon-galleries/theme-variants-gallery.d.ts.map +1 -0
- package/dist/pptx/render/ribbon-galleries/themes-gallery.d.ts +17 -0
- package/dist/pptx/render/ribbon-galleries/themes-gallery.d.ts.map +1 -0
- package/dist/pptx/render/ribbon-home-families-objects.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-home-families.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-home-menus.d.ts +1 -1
- package/dist/pptx/render/ribbon-home-menus.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-home-spec.d.ts +9 -1
- package/dist/pptx/render/ribbon-home-spec.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-home-state-objects.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-icons/chart-format-icons.d.ts +4 -0
- package/dist/pptx/render/ribbon-icons/chart-format-icons.d.ts.map +1 -0
- package/dist/pptx/render/ribbon-icons.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-insert-layout.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-insert-state.d.ts +6 -0
- package/dist/pptx/render/ribbon-insert-state.d.ts.map +1 -1
- package/dist/pptx/render/shape-gallery-home.d.ts +6 -0
- package/dist/pptx/render/shape-gallery-home.d.ts.map +1 -0
- package/dist/pptx/render/shape-gallery.d.ts +51 -0
- package/dist/pptx/render/shape-gallery.d.ts.map +1 -0
- package/dist/pptx/render/slide-compare-text.d.ts +13 -0
- package/dist/pptx/render/slide-compare-text.d.ts.map +1 -0
- package/dist/pptx/render/slide-compare.d.ts +10 -0
- package/dist/pptx/render/slide-compare.d.ts.map +1 -1
- package/dist/pptx/render/table-style-presets.d.ts +2 -0
- package/dist/pptx/render/table-style-presets.d.ts.map +1 -1
- package/dist/pptx/render/text-3d-presets.d.ts +4 -0
- package/dist/pptx/render/text-3d-presets.d.ts.map +1 -1
- package/dist/pptx/render/text-warp-presets.d.ts +2 -0
- package/dist/pptx/render/text-warp-presets.d.ts.map +1 -1
- package/dist/pptx/render/toolbar-actions.d.ts +1 -1
- package/dist/pptx/render/toolbar-actions.d.ts.map +1 -1
- package/dist/pptx/render/visual-effects.d.ts.map +1 -1
- package/dist/pptx/theme/index.cjs +16 -16
- package/dist/pptx/theme/index.mjs +1 -1
- package/dist/pptx/web-components/chart-format-pane-fields.d.ts +17 -0
- package/dist/pptx/web-components/chart-format-pane-fields.d.ts.map +1 -0
- package/dist/pptx/web-components/chart-format-pane-styles.d.ts +3 -0
- package/dist/pptx/web-components/chart-format-pane-styles.d.ts.map +1 -0
- package/dist/pptx/web-components/chart-format-pane.d.ts +34 -0
- package/dist/pptx/web-components/chart-format-pane.d.ts.map +1 -0
- package/dist/pptx/web-components/index.d.ts +3 -1
- package/dist/pptx/web-components/index.d.ts.map +1 -1
- package/dist/pptx/web-components/mobile-insert-styles.d.ts +2 -0
- package/dist/pptx/web-components/mobile-insert-styles.d.ts.map +1 -0
- package/dist/pptx/web-components/mobile-insert.d.ts +21 -0
- package/dist/pptx/web-components/mobile-insert.d.ts.map +1 -0
- package/dist/pptx/web-components/ribbon-gallery.d.ts +11 -0
- package/dist/pptx/web-components/ribbon-gallery.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-home-controls.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-home-layout.d.ts +6 -0
- package/dist/pptx/web-components/ribbon-home-layout.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-home-menu.d.ts +1 -1
- package/dist/pptx/web-components/ribbon-home-menu.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-home-styles.d.ts +1 -1
- package/dist/pptx/web-components/ribbon-home-styles.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-home.d.ts +2 -0
- package/dist/pptx/web-components/ribbon-home.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-icons.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-insert-styles.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-insert-table-picker.d.ts +2 -0
- package/dist/pptx/web-components/ribbon-insert-table-picker.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-insert-view.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-overflow.d.ts.map +1 -1
- package/dist/pptx/web-components/theme-editor-dock.d.ts +12 -1
- package/dist/pptx/web-components/theme-editor-dock.d.ts.map +1 -1
- package/dist/{presentation-preview-HVKJ3KJN.js → presentation-preview-HMEBDYEL.js} +1 -1
- package/dist/ribbon/gallery.d.ts +50 -0
- package/dist/ribbon/gallery.d.ts.map +1 -1
- package/dist/ribbon/ribbon-group.d.ts +1 -1
- package/dist/ribbon/ribbon-group.d.ts.map +1 -1
- package/dist/teams/activity-feed.d.ts +1 -1
- package/dist/teams/app/add-tab-dialog.d.ts +11 -10
- package/dist/teams/app/bind.d.ts +2 -0
- package/dist/teams/app/channel-tab.d.ts +3 -2
- package/dist/teams/app/chat-app.d.ts +2 -1
- package/dist/teams/app/content-preview.d.ts +3 -2
- package/dist/teams/app/create-channel-dialog.d.ts +3 -2
- package/dist/teams/app/draft-list.d.ts +2 -1
- package/dist/teams/app/file-actions.d.ts +3 -2
- package/dist/teams/app/files-panel.d.ts +3 -2
- package/dist/teams/app/followed-threads.d.ts +2 -1
- package/dist/teams/app/markdown-preview.d.ts +2 -1
- package/dist/teams/app/meeting-dialog.d.ts +11 -3
- package/dist/teams/app/message-transfers.d.ts +2 -1
- package/dist/teams/app/notify-delivery.d.ts +3 -2
- package/dist/teams/app/pinned-bar.d.ts +3 -2
- package/dist/teams/app/presentation-preview.d.ts +3 -2
- package/dist/teams/app/profile-menu.d.ts +12 -2
- package/dist/teams/app/repeat-text.d.ts +26 -0
- package/dist/teams/app/settings-density.d.ts +2 -1
- package/dist/teams/app/settings-notifications.d.ts +2 -1
- package/dist/teams/app/settings-search.d.ts +6 -4
- package/dist/teams/app/settings-theme.d.ts +2 -1
- package/dist/teams/app/sign-in-flow.d.ts +49 -0
- package/dist/teams/app/sign-in-strings.d.ts +4 -0
- package/dist/teams/app/teams-app.d.ts +12 -2
- package/dist/teams/app/teams-settings.d.ts +3 -2
- package/dist/teams/app/teams-sign-in.d.ts +57 -0
- package/dist/teams/app/thread-pane.d.ts +2 -1
- package/dist/teams/app/workbook-actions.d.ts +2 -1
- package/dist/teams/app-rail.d.ts +1 -0
- package/dist/teams/base.d.ts +25 -5
- package/dist/teams/calendar-view.d.ts +1 -0
- package/dist/teams/call-controls.d.ts +1 -0
- package/dist/teams/call-grid.d.ts +1 -0
- package/dist/teams/chat-list.d.ts +1 -0
- package/dist/teams/i18n/core-text.d.ts +3 -0
- package/dist/teams/i18n/describe.d.ts +4 -0
- package/dist/teams/i18n/lit-element.d.ts +16 -0
- package/dist/teams/i18n/locales/de/calendar.d.ts +2 -0
- package/dist/teams/i18n/locales/de/chat.d.ts +2 -0
- package/dist/teams/i18n/locales/de/core.d.ts +2 -0
- package/dist/teams/i18n/locales/de/files.d.ts +2 -0
- package/dist/teams/i18n/locales/de/settings.d.ts +2 -0
- package/dist/teams/i18n/locales/de/shell.d.ts +2 -0
- package/dist/teams/i18n/locales/de.d.ts +617 -0
- package/dist/teams/i18n/locales/en/calendar.d.ts +78 -0
- package/dist/teams/i18n/locales/en/chat.d.ts +109 -0
- package/dist/teams/i18n/locales/en/core.d.ts +34 -0
- package/dist/teams/i18n/locales/en/files.d.ts +128 -0
- package/dist/teams/i18n/locales/en/settings.d.ts +131 -0
- package/dist/teams/i18n/locales/en/shell.d.ts +146 -0
- package/dist/teams/i18n/locales/en.d.ts +617 -0
- package/dist/teams/i18n/locales/es/calendar.d.ts +2 -0
- package/dist/teams/i18n/locales/es/chat.d.ts +2 -0
- package/dist/teams/i18n/locales/es/core.d.ts +2 -0
- package/dist/teams/i18n/locales/es/files.d.ts +2 -0
- package/dist/teams/i18n/locales/es/settings.d.ts +2 -0
- package/dist/teams/i18n/locales/es/shell.d.ts +2 -0
- package/dist/teams/i18n/locales/es.d.ts +617 -0
- package/dist/teams/i18n/locales/fr/calendar.d.ts +2 -0
- package/dist/teams/i18n/locales/fr/chat.d.ts +2 -0
- package/dist/teams/i18n/locales/fr/core.d.ts +2 -0
- package/dist/teams/i18n/locales/fr/files.d.ts +2 -0
- package/dist/teams/i18n/locales/fr/settings.d.ts +2 -0
- package/dist/teams/i18n/locales/fr/shell.d.ts +2 -0
- package/dist/teams/i18n/locales/fr.d.ts +617 -0
- package/dist/teams/i18n/locales/zh-CN/calendar.d.ts +2 -0
- package/dist/teams/i18n/locales/zh-CN/chat.d.ts +2 -0
- package/dist/teams/i18n/locales/zh-CN/core.d.ts +2 -0
- package/dist/teams/i18n/locales/zh-CN/files.d.ts +2 -0
- package/dist/teams/i18n/locales/zh-CN/settings.d.ts +2 -0
- package/dist/teams/i18n/locales/zh-CN/shell.d.ts +2 -0
- package/dist/teams/i18n/locales/zh-CN.d.ts +617 -0
- package/dist/teams/i18n/runtime.d.ts +15 -0
- package/dist/teams/i18n/translator.d.ts +28 -0
- package/dist/teams.js +3 -3
- package/dist/visio.js +31 -4
- package/dist/xlsx/dialogs/help-dialogs.d.ts +1 -1
- package/dist/xlsx/dialogs/pivot-field-settings.d.ts +3 -3
- package/dist/xlsx/dialogs/pivot-page-filter.d.ts +1 -1
- package/dist/xlsx.js +68 -37
- package/package.json +2 -2
- package/dist/chunk-VRVFLYGI.js +0 -236
- /package/dist/pptx/{chunk-47FYJVMH.cjs → chunk-BDXQX6RA.cjs} +0 -0
- /package/dist/pptx/{chunk-XRWEURSV.mjs → chunk-ZAOD6O2D.mjs} +0 -0
package/custom-elements.json
CHANGED
|
@@ -50,6 +50,9 @@
|
|
|
50
50
|
{
|
|
51
51
|
"name": "filter"
|
|
52
52
|
},
|
|
53
|
+
{
|
|
54
|
+
"name": "locale"
|
|
55
|
+
},
|
|
53
56
|
{
|
|
54
57
|
"name": "selected-id"
|
|
55
58
|
}
|
|
@@ -66,6 +69,13 @@
|
|
|
66
69
|
"kind": "field",
|
|
67
70
|
"name": "items"
|
|
68
71
|
},
|
|
72
|
+
{
|
|
73
|
+
"kind": "field",
|
|
74
|
+
"name": "locale",
|
|
75
|
+
"type": {
|
|
76
|
+
"text": "string"
|
|
77
|
+
}
|
|
78
|
+
},
|
|
69
79
|
{
|
|
70
80
|
"kind": "field",
|
|
71
81
|
"name": "selectedId",
|
|
@@ -115,6 +125,9 @@
|
|
|
115
125
|
{
|
|
116
126
|
"name": "hide-labels"
|
|
117
127
|
},
|
|
128
|
+
{
|
|
129
|
+
"name": "locale"
|
|
130
|
+
},
|
|
118
131
|
{
|
|
119
132
|
"name": "selected"
|
|
120
133
|
}
|
|
@@ -132,6 +145,13 @@
|
|
|
132
145
|
"kind": "field",
|
|
133
146
|
"name": "items"
|
|
134
147
|
},
|
|
148
|
+
{
|
|
149
|
+
"kind": "field",
|
|
150
|
+
"name": "locale",
|
|
151
|
+
"type": {
|
|
152
|
+
"text": "string"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
135
155
|
{
|
|
136
156
|
"kind": "field",
|
|
137
157
|
"name": "moreOpen"
|
|
@@ -175,6 +195,9 @@
|
|
|
175
195
|
{
|
|
176
196
|
"name": "color"
|
|
177
197
|
},
|
|
198
|
+
{
|
|
199
|
+
"name": "locale"
|
|
200
|
+
},
|
|
178
201
|
{
|
|
179
202
|
"name": "name"
|
|
180
203
|
},
|
|
@@ -196,6 +219,13 @@
|
|
|
196
219
|
"text": "string"
|
|
197
220
|
}
|
|
198
221
|
},
|
|
222
|
+
{
|
|
223
|
+
"kind": "field",
|
|
224
|
+
"name": "locale",
|
|
225
|
+
"type": {
|
|
226
|
+
"text": "string"
|
|
227
|
+
}
|
|
228
|
+
},
|
|
199
229
|
{
|
|
200
230
|
"kind": "field",
|
|
201
231
|
"name": "name",
|
|
@@ -415,6 +445,9 @@
|
|
|
415
445
|
"customElement": true,
|
|
416
446
|
"description": "The Calendar app's side list: meetings in the next two weeks grouped by day, each with its time and a Join button once it is near or live. Properties: `meetings`, `zone`, `now` (the clock, for tests). Emits `office-agenda-open` `{ meetingId, start }`, `office-agenda-join` `{ meetingId }` and `office-agenda-new` `{}`.",
|
|
417
447
|
"attributes": [
|
|
448
|
+
{
|
|
449
|
+
"name": "locale"
|
|
450
|
+
},
|
|
418
451
|
{
|
|
419
452
|
"name": "now"
|
|
420
453
|
},
|
|
@@ -423,6 +456,13 @@
|
|
|
423
456
|
}
|
|
424
457
|
],
|
|
425
458
|
"members": [
|
|
459
|
+
{
|
|
460
|
+
"kind": "field",
|
|
461
|
+
"name": "locale",
|
|
462
|
+
"type": {
|
|
463
|
+
"text": "string"
|
|
464
|
+
}
|
|
465
|
+
},
|
|
426
466
|
{
|
|
427
467
|
"kind": "field",
|
|
428
468
|
"name": "meetings"
|
|
@@ -476,6 +516,9 @@
|
|
|
476
516
|
"customElement": true,
|
|
477
517
|
"description": "A Teams-style calendar: a time grid for the work week, the full week or one day in the viewer's zone, with Today, previous and next, and the view switch. Overlapping meetings share a column. Properties: `meetings` (core `MeetingView[]`), `zone` (default: this device's), `now` (the clock, for tests), `mode`. Events: `office-calendar-open` `{ meetingId, start }`, `office-calendar-new` `{ start }` (a click on an empty slot, or the New meeting button), and `office-calendar-mode` `{ mode }`.",
|
|
478
518
|
"attributes": [
|
|
519
|
+
{
|
|
520
|
+
"name": "locale"
|
|
521
|
+
},
|
|
479
522
|
{
|
|
480
523
|
"name": "mode"
|
|
481
524
|
},
|
|
@@ -491,6 +534,13 @@
|
|
|
491
534
|
"kind": "field",
|
|
492
535
|
"name": "anchor"
|
|
493
536
|
},
|
|
537
|
+
{
|
|
538
|
+
"kind": "field",
|
|
539
|
+
"name": "locale",
|
|
540
|
+
"type": {
|
|
541
|
+
"text": "string"
|
|
542
|
+
}
|
|
543
|
+
},
|
|
494
544
|
{
|
|
495
545
|
"kind": "field",
|
|
496
546
|
"name": "meetings"
|
|
@@ -564,6 +614,9 @@
|
|
|
564
614
|
{
|
|
565
615
|
"name": "heading"
|
|
566
616
|
},
|
|
617
|
+
{
|
|
618
|
+
"name": "locale"
|
|
619
|
+
},
|
|
567
620
|
{
|
|
568
621
|
"name": "mic"
|
|
569
622
|
},
|
|
@@ -602,6 +655,13 @@
|
|
|
602
655
|
"text": "string"
|
|
603
656
|
}
|
|
604
657
|
},
|
|
658
|
+
{
|
|
659
|
+
"kind": "field",
|
|
660
|
+
"name": "locale",
|
|
661
|
+
"type": {
|
|
662
|
+
"text": "string"
|
|
663
|
+
}
|
|
664
|
+
},
|
|
605
665
|
{
|
|
606
666
|
"kind": "field",
|
|
607
667
|
"name": "mic",
|
|
@@ -671,8 +731,19 @@
|
|
|
671
731
|
"tagName": "office-ui-call-grid",
|
|
672
732
|
"customElement": true,
|
|
673
733
|
"description": "The meeting stage. Property `participants` (`CallTile[]`). Someone sharing their screen is spotlighted with everyone else in a side strip. Your own tile is muted (no echo) and mirrored unless it shows a screen; tiles without video show the avatar. The grid only attaches the streams it is handed; capture and connections belong to the host.",
|
|
674
|
-
"attributes": [
|
|
734
|
+
"attributes": [
|
|
735
|
+
{
|
|
736
|
+
"name": "locale"
|
|
737
|
+
}
|
|
738
|
+
],
|
|
675
739
|
"members": [
|
|
740
|
+
{
|
|
741
|
+
"kind": "field",
|
|
742
|
+
"name": "locale",
|
|
743
|
+
"type": {
|
|
744
|
+
"text": "string"
|
|
745
|
+
}
|
|
746
|
+
},
|
|
676
747
|
{
|
|
677
748
|
"kind": "field",
|
|
678
749
|
"name": "participants"
|
|
@@ -705,6 +776,9 @@
|
|
|
705
776
|
{
|
|
706
777
|
"name": "heading"
|
|
707
778
|
},
|
|
779
|
+
{
|
|
780
|
+
"name": "locale"
|
|
781
|
+
},
|
|
708
782
|
{
|
|
709
783
|
"name": "selected-id"
|
|
710
784
|
}
|
|
@@ -725,6 +799,13 @@
|
|
|
725
799
|
"text": "string"
|
|
726
800
|
}
|
|
727
801
|
},
|
|
802
|
+
{
|
|
803
|
+
"kind": "field",
|
|
804
|
+
"name": "locale",
|
|
805
|
+
"type": {
|
|
806
|
+
"text": "string"
|
|
807
|
+
}
|
|
808
|
+
},
|
|
728
809
|
{
|
|
729
810
|
"kind": "field",
|
|
730
811
|
"name": "selectedId",
|
|
@@ -771,6 +852,9 @@
|
|
|
771
852
|
{
|
|
772
853
|
"name": "editing"
|
|
773
854
|
},
|
|
855
|
+
{
|
|
856
|
+
"name": "locale"
|
|
857
|
+
},
|
|
774
858
|
{
|
|
775
859
|
"name": "placeholder"
|
|
776
860
|
},
|
|
@@ -801,6 +885,13 @@
|
|
|
801
885
|
"kind": "field",
|
|
802
886
|
"name": "files"
|
|
803
887
|
},
|
|
888
|
+
{
|
|
889
|
+
"kind": "field",
|
|
890
|
+
"name": "locale",
|
|
891
|
+
"type": {
|
|
892
|
+
"text": "string"
|
|
893
|
+
}
|
|
894
|
+
},
|
|
804
895
|
{
|
|
805
896
|
"kind": "field",
|
|
806
897
|
"name": "mentionTargets"
|
|
@@ -880,6 +971,9 @@
|
|
|
880
971
|
{
|
|
881
972
|
"name": "highlight-id"
|
|
882
973
|
},
|
|
974
|
+
{
|
|
975
|
+
"name": "locale"
|
|
976
|
+
},
|
|
883
977
|
{
|
|
884
978
|
"name": "self-id"
|
|
885
979
|
}
|
|
@@ -893,6 +987,13 @@
|
|
|
893
987
|
},
|
|
894
988
|
"attribute": "highlight-id"
|
|
895
989
|
},
|
|
990
|
+
{
|
|
991
|
+
"kind": "field",
|
|
992
|
+
"name": "locale",
|
|
993
|
+
"type": {
|
|
994
|
+
"text": "string"
|
|
995
|
+
}
|
|
996
|
+
},
|
|
896
997
|
{
|
|
897
998
|
"kind": "field",
|
|
898
999
|
"name": "meetings"
|
|
@@ -967,6 +1068,9 @@
|
|
|
967
1068
|
"customElement": true,
|
|
968
1069
|
"description": "The Chat app's list: 1:1 and group chats, most recent first, with presence on the avatar, the last message and an unread badge. Properties: `chats` (core `ChatView[]`), `selectedId`. Emits `office-chat-select` `{ id }` and `office-chat-new` `{}` (the host asks who to chat with).",
|
|
969
1070
|
"attributes": [
|
|
1071
|
+
{
|
|
1072
|
+
"name": "locale"
|
|
1073
|
+
},
|
|
970
1074
|
{
|
|
971
1075
|
"name": "selected-id"
|
|
972
1076
|
}
|
|
@@ -976,6 +1080,13 @@
|
|
|
976
1080
|
"kind": "field",
|
|
977
1081
|
"name": "chats"
|
|
978
1082
|
},
|
|
1083
|
+
{
|
|
1084
|
+
"kind": "field",
|
|
1085
|
+
"name": "locale",
|
|
1086
|
+
"type": {
|
|
1087
|
+
"text": "string"
|
|
1088
|
+
}
|
|
1089
|
+
},
|
|
979
1090
|
{
|
|
980
1091
|
"kind": "field",
|
|
981
1092
|
"name": "selectedId",
|
|
@@ -1960,6 +2071,12 @@
|
|
|
1960
2071
|
"events": [
|
|
1961
2072
|
{
|
|
1962
2073
|
"name": "office-gallery-pick"
|
|
2074
|
+
},
|
|
2075
|
+
{
|
|
2076
|
+
"name": "office-gallery-preview"
|
|
2077
|
+
},
|
|
2078
|
+
{
|
|
2079
|
+
"name": "office-gallery-preview-end"
|
|
1963
2080
|
}
|
|
1964
2081
|
]
|
|
1965
2082
|
}
|
|
@@ -2408,6 +2525,9 @@
|
|
|
2408
2525
|
"attributes": [
|
|
2409
2526
|
{
|
|
2410
2527
|
"name": "label"
|
|
2528
|
+
},
|
|
2529
|
+
{
|
|
2530
|
+
"name": "locale"
|
|
2411
2531
|
}
|
|
2412
2532
|
],
|
|
2413
2533
|
"members": [
|
|
@@ -2426,6 +2546,13 @@
|
|
|
2426
2546
|
"text": "string"
|
|
2427
2547
|
}
|
|
2428
2548
|
},
|
|
2549
|
+
{
|
|
2550
|
+
"kind": "field",
|
|
2551
|
+
"name": "locale",
|
|
2552
|
+
"type": {
|
|
2553
|
+
"text": "string"
|
|
2554
|
+
}
|
|
2555
|
+
},
|
|
2429
2556
|
{
|
|
2430
2557
|
"kind": "field",
|
|
2431
2558
|
"name": "query"
|
|
@@ -2472,6 +2599,9 @@
|
|
|
2472
2599
|
{
|
|
2473
2600
|
"name": "heading"
|
|
2474
2601
|
},
|
|
2602
|
+
{
|
|
2603
|
+
"name": "locale"
|
|
2604
|
+
},
|
|
2475
2605
|
{
|
|
2476
2606
|
"name": "name"
|
|
2477
2607
|
},
|
|
@@ -2501,6 +2631,13 @@
|
|
|
2501
2631
|
"text": "string"
|
|
2502
2632
|
}
|
|
2503
2633
|
},
|
|
2634
|
+
{
|
|
2635
|
+
"kind": "field",
|
|
2636
|
+
"name": "locale",
|
|
2637
|
+
"type": {
|
|
2638
|
+
"text": "string"
|
|
2639
|
+
}
|
|
2640
|
+
},
|
|
2504
2641
|
{
|
|
2505
2642
|
"kind": "field",
|
|
2506
2643
|
"name": "name",
|
|
@@ -3075,7 +3212,7 @@
|
|
|
3075
3212
|
"name": "OfficeUiRibbonGroup",
|
|
3076
3213
|
"tagName": "office-ui-ribbon-group",
|
|
3077
3214
|
"customElement": true,
|
|
3078
|
-
"description": "Labelled group of ribbon commands: `role=\"group\"`, `label` is the caption and name. `launcher` adds Office's corner dialog launcher (`launcher=\"<command>\"` emits `office-command` `{ command }`; `launcher-label` names it; `launcher-disabled` disables it). For narrow windows an overflow controller sets `data-collapsed` (the group becomes one button showing `icon` and the label; activating it emits `office-ribbon-collapse-toggle`) and `data-open` (its commands open in a popup at `--office-ribbon-collapse-x/-y`). The group marks itself `data-compact-row` when every command is one line tall (they centre vertically) and `data-stack` when it holds only small drop-down galleries (`[mode=\"dropdown\"]` without `data-command-large`), which stack in columns. Static `launcherEvent`/`collapseEvent` and `launcherDetail()` let a product subclass keep its published events.",
|
|
3215
|
+
"description": "Labelled group of ribbon commands: `role=\"group\"`, `label` is the caption and name. `launcher` adds Office's corner dialog launcher (`launcher=\"<command>\"` emits `office-command` `{ command }`; `launcher-label` names it; `launcher-disabled` disables it). For narrow windows an overflow controller sets `data-collapsed` (the group becomes one button showing `icon` and the label; activating it emits `office-ribbon-collapse-toggle`) and `data-open` (its commands open in a popup at `--office-ribbon-collapse-x/-y`). The group marks itself `data-compact-row` when every command is one line tall (they centre vertically) and `data-stack` when it holds only small drop-down galleries (`[mode=\"dropdown\"]` without `data-command-large`), which stack in columns (`data-stack-beside` when an inline gallery sits next to them). Static `launcherEvent`/`collapseEvent` and `launcherDetail()` let a product subclass keep its published events.",
|
|
3079
3216
|
"attributes": [
|
|
3080
3217
|
{
|
|
3081
3218
|
"name": "data-open"
|
|
@@ -1916,7 +1916,7 @@ var OfficeUiButton = class extends OfficeElement {
|
|
|
1916
1916
|
var defineButton = definer("office-ui-button", () => OfficeUiButton);
|
|
1917
1917
|
|
|
1918
1918
|
// raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/ribbon/ribbon-group.css?raw
|
|
1919
|
-
var ribbon_group_default = ":host {\n display: inline-flex;\n flex: none;\n align-self: stretch;\n}\n.group {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n min-height: var(--office-ribbon-group-height);\n padding: var(--office-ribbon-group-padding);\n}\n/* Office draws a hairline between groups; a product may stop it short of the top and bottom. */\n.group::after {\n content: '';\n position: absolute;\n top: var(--office-ribbon-separator-inset);\n bottom: var(--office-ribbon-separator-inset);\n inset-inline-end: 0;\n width: var(--office-border-width);\n background: var(--office-ribbon-separator);\n}\n:host(:last-child) .group::after {\n content: none;\n}\n.row {\n display: flex;\n align-items: flex-start;\n gap: var(--office-space-1);\n flex: 1;\n}\n/* One-line groups centre their commands on the whole group box. */\n:host([data-compact-row]) .row {\n align-items: center;\n}\n/* Several small drop-down galleries stack in columns of three. */\n:host([data-stack]) .row {\n flex-direction: column;\n align-items: stretch;\n align-content: flex-start;\n flex-wrap: wrap;\n max-height: var(--office-ribbon-stack-max-height);\n gap: var(--office-space-0);\n}\n::slotted(*) {\n flex-shrink: 0;\n}\n.foot {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--office-ribbon-caption-padding);\n}\n.caption {\n color: var(--office-muted-foreground);\n font-size: var(--office-ribbon-caption-size);\n line-height: var(--office-ribbon-caption-line-height);\n text-align: center;\n white-space: nowrap;\n}\n.launcher {\n position: absolute;\n inset-inline-end: var(--office-launcher-inset-end);\n bottom: var(--office-launcher-inset-bottom);\n display: inline-grid;\n place-items: center;\n width: var(--office-launcher-width);\n height: var(--office-launcher-height);\n padding: 0;\n border: 0;\n border-radius: var(--office-radius-xs);\n background: transparent;\n color: var(--office-muted-foreground);\n cursor: pointer;\n}\n.launcher:hover:not(:disabled) {\n background: var(--office-surface);\n color: var(--office-foreground);\n}\n.launcher:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n}\n.launcher:disabled {\n opacity: 0.45;\n cursor: not-allowed;\n}\n.launcher[hidden] {\n display: none;\n}\n.launcher svg {\n width: var(--office-icon-size-xs);\n height: var(--office-icon-size-xs);\n fill: none;\n stroke: currentColor;\n stroke-width: var(--office-icon-stroke);\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n/* Collapsed (narrow window): the group is one button; its commands open in a popup. */\n.face {\n display: none;\n}\n:host([data-collapsed]) .face {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-start;\n gap: var(--office-space-0);\n min-width: var(--office-collapsed-group-min-width);\n height: var(--office-command-large-height);\n padding: var(--office-space-0) var(--office-space-1-5);\n border: 0;\n border-radius: var(--office-radius);\n background: transparent;\n color: var(--office-foreground);\n font: inherit;\n font-size: var(--office-font-size-sm);\n cursor: pointer;\n}\n:host([data-collapsed]) .face:hover,\n:host([data-open]) .face {\n background: var(--office-selected);\n}\n.face:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: var(--office-focus-offset);\n}\n.face svg {\n width: var(--office-command-large-icon);\n height: var(--office-command-large-icon);\n fill: none;\n stroke: currentColor;\n stroke-width: var(--office-icon-stroke);\n stroke-linecap: round;\n stroke-linejoin: round;\n color: var(--office-command-icon-color);\n}\n.face svg.chev {\n width: var(--office-icon-size-xs);\n height: var(--office-icon-size-xs);\n color: currentColor;\n}\n:host([data-collapsed]) .foot,\n:host([data-collapsed]) .row {\n display: none;\n}\n:host([data-collapsed][data-open]) .row {\n display: flex;\n flex-wrap: wrap;\n position: fixed;\n top: var(--office-ribbon-collapse-y);\n left: var(--office-ribbon-collapse-x);\n z-index: var(--office-z-popover);\n box-sizing: border-box;\n max-width: calc(100vw - 2 * var(--office-space-2));\n padding: var(--office-space-2);\n background: var(--office-popover);\n color: var(--office-popover-foreground);\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius-md);\n box-shadow: var(--office-shadow);\n}\n\n@media (forced-colors: active) {\n .group::after {\n background: CanvasText;\n }\n .caption,\n .launcher {\n color: CanvasText;\n }\n :host([data-collapsed][data-open]) .row {\n border-color: CanvasText;\n }\n}\n";
|
|
1919
|
+
var ribbon_group_default = ":host {\n display: inline-flex;\n flex: none;\n align-self: stretch;\n}\n.group {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n min-height: var(--office-ribbon-group-height);\n padding: var(--office-ribbon-group-padding);\n}\n/* Office draws a hairline between groups; a product may stop it short of the top and bottom. */\n.group::after {\n content: '';\n position: absolute;\n top: var(--office-ribbon-separator-inset);\n bottom: var(--office-ribbon-separator-inset);\n inset-inline-end: 0;\n width: var(--office-border-width);\n background: var(--office-ribbon-separator);\n}\n:host(:last-child) .group::after {\n content: none;\n}\n.row {\n display: flex;\n align-items: flex-start;\n gap: var(--office-space-1);\n flex: 1;\n}\n/* One-line groups centre their commands on the whole group box. */\n:host([data-compact-row]) .row {\n align-items: center;\n}\n/* Several small drop-down galleries stack in columns of three. */\n:host([data-stack]) .row {\n flex-direction: column;\n align-items: stretch;\n align-content: flex-start;\n flex-wrap: wrap;\n max-height: var(--office-ribbon-stack-max-height);\n gap: var(--office-space-0);\n}\n/* An inline gallery with several small drop-downs beside it: three rows, the gallery spans them. */\n:host([data-stack-beside]) .row {\n display: grid;\n grid-auto-flow: column;\n grid-template-rows: repeat(3, auto);\n align-items: center;\n gap: var(--office-space-0) var(--office-space-1);\n}\n:host([data-stack-beside]) ::slotted([data-stack-span]) {\n grid-row: 1 / span 3;\n}\n::slotted(*) {\n flex-shrink: 0;\n}\n.foot {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--office-ribbon-caption-padding);\n}\n.caption {\n color: var(--office-muted-foreground);\n font-size: var(--office-ribbon-caption-size);\n line-height: var(--office-ribbon-caption-line-height);\n text-align: center;\n white-space: nowrap;\n}\n.launcher {\n position: absolute;\n inset-inline-end: var(--office-launcher-inset-end);\n bottom: var(--office-launcher-inset-bottom);\n display: inline-grid;\n place-items: center;\n width: var(--office-launcher-width);\n height: var(--office-launcher-height);\n padding: 0;\n border: 0;\n border-radius: var(--office-radius-xs);\n background: transparent;\n color: var(--office-muted-foreground);\n cursor: pointer;\n}\n.launcher:hover:not(:disabled) {\n background: var(--office-surface);\n color: var(--office-foreground);\n}\n.launcher:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n}\n.launcher:disabled {\n opacity: 0.45;\n cursor: not-allowed;\n}\n.launcher[hidden] {\n display: none;\n}\n.launcher svg {\n width: var(--office-icon-size-xs);\n height: var(--office-icon-size-xs);\n fill: none;\n stroke: currentColor;\n stroke-width: var(--office-icon-stroke);\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n/* Collapsed (narrow window): the group is one button; its commands open in a popup. */\n.face {\n display: none;\n}\n:host([data-collapsed]) .face {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-start;\n gap: var(--office-space-0);\n min-width: var(--office-collapsed-group-min-width);\n height: var(--office-command-large-height);\n padding: var(--office-space-0) var(--office-space-1-5);\n border: 0;\n border-radius: var(--office-radius);\n background: transparent;\n color: var(--office-foreground);\n font: inherit;\n font-size: var(--office-font-size-sm);\n cursor: pointer;\n}\n:host([data-collapsed]) .face:hover,\n:host([data-open]) .face {\n background: var(--office-selected);\n}\n.face:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: var(--office-focus-offset);\n}\n.face svg {\n width: var(--office-command-large-icon);\n height: var(--office-command-large-icon);\n fill: none;\n stroke: currentColor;\n stroke-width: var(--office-icon-stroke);\n stroke-linecap: round;\n stroke-linejoin: round;\n color: var(--office-command-icon-color);\n}\n.face svg.chev {\n width: var(--office-icon-size-xs);\n height: var(--office-icon-size-xs);\n color: currentColor;\n}\n:host([data-collapsed]) .foot,\n:host([data-collapsed]) .row {\n display: none;\n}\n:host([data-collapsed][data-open]) .row {\n display: flex;\n flex-wrap: wrap;\n position: fixed;\n top: var(--office-ribbon-collapse-y);\n left: var(--office-ribbon-collapse-x);\n z-index: var(--office-z-popover);\n box-sizing: border-box;\n max-width: calc(100vw - 2 * var(--office-space-2));\n padding: var(--office-space-2);\n background: var(--office-popover);\n color: var(--office-popover-foreground);\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius-md);\n box-shadow: var(--office-shadow);\n}\n\n@media (forced-colors: active) {\n .group::after {\n background: CanvasText;\n }\n .caption,\n .launcher {\n color: CanvasText;\n }\n :host([data-collapsed][data-open]) .row {\n border-color: CanvasText;\n }\n}\n";
|
|
1920
1920
|
|
|
1921
1921
|
// src/ribbon/ribbon-group.ts
|
|
1922
1922
|
function tokenPx(el, name, fallback) {
|
|
@@ -1974,6 +1974,12 @@ var OfficeUiRibbonGroup = class extends OfficeElement {
|
|
|
1974
1974
|
"data-stack",
|
|
1975
1975
|
stackable.length > 1 && stackable.length === children.length
|
|
1976
1976
|
);
|
|
1977
|
+
const inline = children.filter(
|
|
1978
|
+
(el) => el.matches('[mode="inline"]') || el.querySelector('[mode="inline"]') !== null
|
|
1979
|
+
);
|
|
1980
|
+
const beside = inline.length > 0 && stackable.length > 1 && stackable.length + inline.length === children.length;
|
|
1981
|
+
this.toggleAttribute("data-stack-beside", beside);
|
|
1982
|
+
for (const el of children) el.toggleAttribute("data-stack-span", beside && inline.includes(el));
|
|
1977
1983
|
const tallest = Math.max(0, ...children.map((el) => el.getBoundingClientRect().height));
|
|
1978
1984
|
if (tallest > 0)
|
|
1979
1985
|
this.toggleAttribute(
|
|
@@ -2140,7 +2146,7 @@ var defineRibbonSection = definer(
|
|
|
2140
2146
|
);
|
|
2141
2147
|
|
|
2142
2148
|
// raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/ribbon/gallery.css?raw
|
|
2143
|
-
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@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'] .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";
|
|
2144
2150
|
|
|
2145
2151
|
// src/ribbon/gallery-styles.ts
|
|
2146
2152
|
var GALLERY_LIGHT_CSS = withTokens(gallery_default);
|
|
@@ -2195,6 +2201,12 @@ function parseSvgPreview(doc, svg2) {
|
|
|
2195
2201
|
var HOST_CSS = ":host { display: inline-flex; position: relative; flex: none; }";
|
|
2196
2202
|
var OfficeUiGallery = class extends OfficeElement {
|
|
2197
2203
|
static pickEvent = "office-gallery-pick";
|
|
2204
|
+
static previewEvent = "office-gallery-preview";
|
|
2205
|
+
static previewEndEvent = "office-gallery-preview-end";
|
|
2206
|
+
/** Hover time before the first preview shows, so sweeping across the strip does not flash. */
|
|
2207
|
+
static previewDelayMs = 120;
|
|
2208
|
+
/** Grace before a preview ends, so moving between tiles does not flash the original. */
|
|
2209
|
+
static previewEndDelayMs = 60;
|
|
2198
2210
|
static triggerAttribute = "data-gallery";
|
|
2199
2211
|
static popupAttribute = "data-gallery-popup";
|
|
2200
2212
|
static itemAttribute = "data-gallery-item";
|
|
@@ -2207,6 +2219,10 @@ var OfficeUiGallery = class extends OfficeElement {
|
|
|
2207
2219
|
model;
|
|
2208
2220
|
locked = false;
|
|
2209
2221
|
opened = false;
|
|
2222
|
+
previewing;
|
|
2223
|
+
previewStartTimer;
|
|
2224
|
+
previewEndTimer;
|
|
2225
|
+
menu;
|
|
2210
2226
|
attributeChangedCallback(name, old, value) {
|
|
2211
2227
|
super.attributeChangedCallback(name, old, value);
|
|
2212
2228
|
if (name === "mode" && value === "panel") this.close();
|
|
@@ -2245,8 +2261,132 @@ var OfficeUiGallery = class extends OfficeElement {
|
|
|
2245
2261
|
}
|
|
2246
2262
|
}
|
|
2247
2263
|
close() {
|
|
2264
|
+
this.endPreview(true);
|
|
2265
|
+
this.closeMenu();
|
|
2266
|
+
this.open = false;
|
|
2267
|
+
}
|
|
2268
|
+
/** Close the popup and menu but leave a running preview for the pick that follows to settle. */
|
|
2269
|
+
dismiss() {
|
|
2270
|
+
clearTimeout(this.previewStartTimer);
|
|
2271
|
+
this.previewStartTimer = void 0;
|
|
2272
|
+
this.closeMenu();
|
|
2248
2273
|
this.open = false;
|
|
2249
2274
|
}
|
|
2275
|
+
// ---- Preview and context menu ---------------------------------------------------------
|
|
2276
|
+
canPreview() {
|
|
2277
|
+
return this.model?.preview === true && !this.model.command && !this.unavailable() && this.getAttribute("mode") !== "panel";
|
|
2278
|
+
}
|
|
2279
|
+
startPreview(itemId) {
|
|
2280
|
+
if (!this.canPreview() || this.menu) return;
|
|
2281
|
+
clearTimeout(this.previewEndTimer);
|
|
2282
|
+
if (this.previewing === itemId) return;
|
|
2283
|
+
clearTimeout(this.previewStartTimer);
|
|
2284
|
+
const show = () => {
|
|
2285
|
+
const state = this.model;
|
|
2286
|
+
if (!state || !this.canPreview()) return;
|
|
2287
|
+
this.previewing = itemId;
|
|
2288
|
+
this.fire(this.constructor.previewEvent, {
|
|
2289
|
+
gallery: state.id,
|
|
2290
|
+
itemId
|
|
2291
|
+
});
|
|
2292
|
+
};
|
|
2293
|
+
const statics = this.constructor;
|
|
2294
|
+
if (this.previewing !== void 0) show();
|
|
2295
|
+
else this.previewStartTimer = setTimeout(show, statics.previewDelayMs);
|
|
2296
|
+
}
|
|
2297
|
+
endPreview(immediate = false) {
|
|
2298
|
+
clearTimeout(this.previewStartTimer);
|
|
2299
|
+
this.previewStartTimer = void 0;
|
|
2300
|
+
clearTimeout(this.previewEndTimer);
|
|
2301
|
+
this.previewEndTimer = void 0;
|
|
2302
|
+
if (this.previewing === void 0) return;
|
|
2303
|
+
const end = () => {
|
|
2304
|
+
this.previewEndTimer = void 0;
|
|
2305
|
+
const state = this.model;
|
|
2306
|
+
if (this.previewing === void 0) return;
|
|
2307
|
+
this.previewing = void 0;
|
|
2308
|
+
this.fire(this.constructor.previewEndEvent, {
|
|
2309
|
+
gallery: state?.id ?? ""
|
|
2310
|
+
});
|
|
2311
|
+
};
|
|
2312
|
+
const statics = this.constructor;
|
|
2313
|
+
if (immediate) end();
|
|
2314
|
+
else this.previewEndTimer = setTimeout(end, statics.previewEndDelayMs);
|
|
2315
|
+
}
|
|
2316
|
+
findItem(itemId) {
|
|
2317
|
+
for (const section of this.model?.sections ?? []) {
|
|
2318
|
+
const found = section.items.find((item) => item.id === itemId);
|
|
2319
|
+
if (found) return found;
|
|
2320
|
+
}
|
|
2321
|
+
return this.model?.inline?.find((item) => item.id === itemId);
|
|
2322
|
+
}
|
|
2323
|
+
openMenu(itemId, x, y) {
|
|
2324
|
+
if (this.unavailable() || !this.findItem(itemId)?.actions?.length) return;
|
|
2325
|
+
this.endPreview(true);
|
|
2326
|
+
this.menu = { itemId, x, y };
|
|
2327
|
+
this.ownerDocument.addEventListener("pointerdown", this.onMenuOutside, true);
|
|
2328
|
+
this.requestUpdate();
|
|
2329
|
+
}
|
|
2330
|
+
closeMenu() {
|
|
2331
|
+
if (!this.menu) return;
|
|
2332
|
+
this.menu = void 0;
|
|
2333
|
+
this.ownerDocument.removeEventListener("pointerdown", this.onMenuOutside, true);
|
|
2334
|
+
this.requestUpdate();
|
|
2335
|
+
}
|
|
2336
|
+
onMenuOutside = (event) => {
|
|
2337
|
+
if (!event.composedPath().some((node) => node.classList?.contains("tile-menu")))
|
|
2338
|
+
this.closeMenu();
|
|
2339
|
+
};
|
|
2340
|
+
onTileContextMenu(event, itemId) {
|
|
2341
|
+
if (!this.findItem(itemId)?.actions?.length) return;
|
|
2342
|
+
event.preventDefault();
|
|
2343
|
+
event.stopPropagation();
|
|
2344
|
+
this.openMenu(itemId, event.clientX, event.clientY);
|
|
2345
|
+
}
|
|
2346
|
+
onMenuKey(event) {
|
|
2347
|
+
const items = Array.from(
|
|
2348
|
+
event.currentTarget.querySelectorAll("button")
|
|
2349
|
+
);
|
|
2350
|
+
const index = items.indexOf(event.target);
|
|
2351
|
+
if (event.key === "Escape") {
|
|
2352
|
+
event.preventDefault();
|
|
2353
|
+
event.stopPropagation();
|
|
2354
|
+
const itemId = this.menu?.itemId;
|
|
2355
|
+
this.closeMenu();
|
|
2356
|
+
const statics = this.constructor;
|
|
2357
|
+
this.querySelector(`[${statics.itemAttribute}="${itemId}"]`)?.focus();
|
|
2358
|
+
} else if (event.key === "ArrowDown" || event.key === "ArrowUp") {
|
|
2359
|
+
event.preventDefault();
|
|
2360
|
+
event.stopPropagation();
|
|
2361
|
+
const step = event.key === "ArrowDown" ? 1 : -1;
|
|
2362
|
+
items[(index + step + items.length) % items.length]?.focus();
|
|
2363
|
+
} else if (event.key === "Tab") {
|
|
2364
|
+
this.closeMenu();
|
|
2365
|
+
}
|
|
2366
|
+
}
|
|
2367
|
+
menuTemplate() {
|
|
2368
|
+
const menu = this.menu;
|
|
2369
|
+
const item = menu ? this.findItem(menu.itemId) : void 0;
|
|
2370
|
+
if (!menu || !item?.actions?.length) return "";
|
|
2371
|
+
return html`<div
|
|
2372
|
+
class="tile-menu"
|
|
2373
|
+
role="menu"
|
|
2374
|
+
aria-label=${item.label}
|
|
2375
|
+
style="left:${menu.x}px;top:${menu.y}px"
|
|
2376
|
+
@keydown=${this.onMenuKey}
|
|
2377
|
+
>
|
|
2378
|
+
${item.actions.map(
|
|
2379
|
+
(action) => html`<button
|
|
2380
|
+
type="button"
|
|
2381
|
+
role="menuitem"
|
|
2382
|
+
class="tile-menu-item"
|
|
2383
|
+
data-gallery-action=${action.id}
|
|
2384
|
+
@click=${() => this.pick(menu.itemId, action.id)}
|
|
2385
|
+
>${action.label}</button
|
|
2386
|
+
>`
|
|
2387
|
+
)}
|
|
2388
|
+
</div>`;
|
|
2389
|
+
}
|
|
2250
2390
|
get trigger() {
|
|
2251
2391
|
this.ensureRendered();
|
|
2252
2392
|
return this.querySelector(".trigger");
|
|
@@ -2289,20 +2429,24 @@ var OfficeUiGallery = class extends OfficeElement {
|
|
|
2289
2429
|
super.disconnectedCallback();
|
|
2290
2430
|
this.close();
|
|
2291
2431
|
this.cleanup();
|
|
2432
|
+
clearTimeout(this.previewStartTimer);
|
|
2433
|
+
clearTimeout(this.previewEndTimer);
|
|
2292
2434
|
}
|
|
2293
2435
|
unavailable() {
|
|
2294
2436
|
const state = this.model;
|
|
2295
2437
|
return this.locked || !state || state.disabled === true || !state.sections.some((section) => section.items.length > 0);
|
|
2296
2438
|
}
|
|
2297
|
-
pick(itemId) {
|
|
2439
|
+
pick(itemId, action) {
|
|
2298
2440
|
const state = this.model;
|
|
2299
|
-
if (this.unavailable() || !state
|
|
2441
|
+
if (this.unavailable() || !state || !(state.sections.some((section) => section.items.some((item) => item.id === itemId)) || state.footer?.some((entry) => entry.id === itemId)))
|
|
2300
2442
|
return;
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2443
|
+
this.dismiss();
|
|
2444
|
+
if (this.getAttribute("mode") !== "panel") this.trigger.focus();
|
|
2445
|
+
this.fire(
|
|
2446
|
+
this.constructor.pickEvent,
|
|
2447
|
+
action === void 0 ? { gallery: state.id, itemId } : { gallery: state.id, itemId, action }
|
|
2448
|
+
);
|
|
2449
|
+
this.endPreview(true);
|
|
2306
2450
|
}
|
|
2307
2451
|
onTrigger() {
|
|
2308
2452
|
if (this.model?.command) {
|
|
@@ -2350,6 +2494,15 @@ var OfficeUiGallery = class extends OfficeElement {
|
|
|
2350
2494
|
}
|
|
2351
2495
|
if (event.key === "Enter" || event.key === " ") event.stopPropagation();
|
|
2352
2496
|
}
|
|
2497
|
+
/** The Menu key and Shift+F10 open a tile's context menu where the tile is. */
|
|
2498
|
+
onTileKey(event, itemId) {
|
|
2499
|
+
if (event.key !== "ContextMenu" && !(event.key === "F10" && event.shiftKey)) return;
|
|
2500
|
+
if (!this.findItem(itemId)?.actions?.length) return;
|
|
2501
|
+
event.preventDefault();
|
|
2502
|
+
event.stopPropagation();
|
|
2503
|
+
const box = event.currentTarget.getBoundingClientRect();
|
|
2504
|
+
this.openMenu(itemId, box.left, box.bottom);
|
|
2505
|
+
}
|
|
2353
2506
|
onOutside = (event) => {
|
|
2354
2507
|
if (!event.composedPath().includes(this)) this.close();
|
|
2355
2508
|
};
|
|
@@ -2401,6 +2554,17 @@ var OfficeUiGallery = class extends OfficeElement {
|
|
|
2401
2554
|
title=${item.label}
|
|
2402
2555
|
style="width:${width + 6}px;height:${height + 6}px;--office-gallery-preview-width:${width}px;--office-gallery-preview-height:${height}px"
|
|
2403
2556
|
@click=${() => this.pick(item.id)}
|
|
2557
|
+
@pointerenter=${(event) => {
|
|
2558
|
+
if (event.pointerType !== "touch") this.startPreview(item.id);
|
|
2559
|
+
}}
|
|
2560
|
+
@pointerleave=${() => this.endPreview()}
|
|
2561
|
+
@focus=${(event) => {
|
|
2562
|
+
if (event.currentTarget.matches(":focus-visible"))
|
|
2563
|
+
this.startPreview(item.id);
|
|
2564
|
+
}}
|
|
2565
|
+
@blur=${() => this.endPreview()}
|
|
2566
|
+
@contextmenu=${(event) => this.onTileContextMenu(event, item.id)}
|
|
2567
|
+
@keydown=${(event) => this.onTileKey(event, item.id)}
|
|
2404
2568
|
>${preview}${this.getAttribute("mode") === "panel" ? html`<span class="tile-label">${item.label}</span>` : ""}</button>`;
|
|
2405
2569
|
}
|
|
2406
2570
|
lightTemplate() {
|
|
@@ -2440,7 +2604,7 @@ var OfficeUiGallery = class extends OfficeElement {
|
|
|
2440
2604
|
role="dialog"
|
|
2441
2605
|
aria-label=${title}
|
|
2442
2606
|
${unsafeStatic(statics.popupAttribute)}=${ifDefined(state?.id)}
|
|
2443
|
-
>${(state?.sections ?? []).map((section) => this.section(section, disabled))}</div>`;
|
|
2607
|
+
>${(state?.sections ?? []).map((section) => this.section(section, disabled))}${this.footer(disabled)}</div>`;
|
|
2444
2608
|
return html`<span class="gallery-view" @keydown=${this.onKey}>
|
|
2445
2609
|
<div class="strip" ?hidden=${!inline} style=${inline ? "" : "display:none"}>
|
|
2446
2610
|
${inline ? repeat(
|
|
@@ -2449,9 +2613,25 @@ var OfficeUiGallery = class extends OfficeElement {
|
|
|
2449
2613
|
(item) => this.tile(item, first?.tileWidth ?? 40, first?.tileHeight ?? 30, disabled)
|
|
2450
2614
|
) : ""}
|
|
2451
2615
|
</div>
|
|
2452
|
-
${trigger}${this.opened ? popup : ""}
|
|
2616
|
+
${trigger}${this.opened ? popup : ""}${this.menuTemplate()}
|
|
2453
2617
|
</span>`;
|
|
2454
2618
|
}
|
|
2619
|
+
footer(disabled) {
|
|
2620
|
+
const entries = this.model?.footer ?? [];
|
|
2621
|
+
if (entries.length === 0) return "";
|
|
2622
|
+
return html`<div class="footer" role="group">
|
|
2623
|
+
${entries.map(
|
|
2624
|
+
(entry) => html`<button
|
|
2625
|
+
type="button"
|
|
2626
|
+
class="footer-item"
|
|
2627
|
+
data-gallery-footer=${entry.id}
|
|
2628
|
+
?disabled=${disabled}
|
|
2629
|
+
@click=${() => this.pick(entry.id)}
|
|
2630
|
+
>${entry.label}</button
|
|
2631
|
+
>`
|
|
2632
|
+
)}
|
|
2633
|
+
</div>`;
|
|
2634
|
+
}
|
|
2455
2635
|
section(section, disabled) {
|
|
2456
2636
|
return html`<section class="section">
|
|
2457
2637
|
${section.title ? html`<div class="heading">${section.title}</div>` : ""}
|
|
@@ -2475,6 +2655,9 @@ var OfficeUiGallery = class extends OfficeElement {
|
|
|
2475
2655
|
render(this.lightTemplate(), this, { host: this });
|
|
2476
2656
|
this.markHost();
|
|
2477
2657
|
if (this.opened) this.position();
|
|
2658
|
+
const menu = this.querySelector(".tile-menu");
|
|
2659
|
+
if (menu && !menu.contains(this.ownerDocument.activeElement))
|
|
2660
|
+
menu.querySelector("button")?.focus();
|
|
2478
2661
|
}
|
|
2479
2662
|
};
|
|
2480
2663
|
var defineGallery = definer("office-ui-gallery", () => OfficeUiGallery);
|
|
@@ -6069,7 +6252,7 @@ function runKeyTips(root, targets, onDone, className) {
|
|
|
6069
6252
|
}
|
|
6070
6253
|
|
|
6071
6254
|
// raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/ribbon/scroll-more.css?raw
|
|
6072
|
-
var scroll_more_default = ".ribbon-scroll-more {\n position: sticky;\n right: 0;\n z-index: 2;\n flex: none;\n align-self: center;\n margin-left: auto;\n width: 28px;\n height: 40px;\n padding: 0;\n border: 1px solid var(--office-border, #c8c6c4);\n border-radius: 4px;\n background: var(--office-background, #fff);\n color: var(--office-foreground, #201f1e);\n font-size: 20px;\n line-height: 1;\n box-
|
|
6255
|
+
var scroll_more_default = ".ribbon-scroll-more {\n position: sticky;\n right: 0;\n z-index: 2;\n flex: none;\n align-self: center;\n margin-left: auto;\n width: 28px;\n height: 40px;\n padding: 0;\n border: 1px solid var(--office-border, #c8c6c4);\n border-radius: 4px;\n background: var(--office-background, #fff);\n color: var(--office-foreground, #201f1e);\n font-size: 20px;\n line-height: 1;\n cursor: pointer;\n}\n/* A fade into the chevron: content scrolling under it dims out instead of being cut off by the box. */\n.ribbon-scroll-more::before {\n content: '';\n position: absolute;\n top: -1px;\n right: calc(100% + 1px);\n bottom: -1px;\n width: 32px;\n background: linear-gradient(to right, transparent, var(--office-background, #fff));\n pointer-events: none;\n}\n\n@media (pointer: coarse) {\n .ribbon-scroll-more {\n width: var(--office-target-size-touch, 44px);\n height: var(--office-target-size-touch, 44px);\n }\n /* The ribbon grows to fit 44px targets instead of clipping them. */\n .ribbon-panel {\n height: auto !important;\n min-height: 104px;\n -webkit-overflow-scrolling: touch;\n }\n .ribbon-panel .ribbon-group button,\n .ribbon-panel .ribbon-group select,\n .ribbon-panel .ribbon-group input,\n .ribbon-panel .ribbon-group .ribbon-overflow-button {\n min-width: var(--office-target-size-touch, 44px);\n min-height: var(--office-target-size-touch, 44px);\n }\n}\n";
|
|
6073
6256
|
|
|
6074
6257
|
// src/ribbon/scroll-more.ts
|
|
6075
6258
|
var STYLE_ID = "office-ui-ribbon-touch-style";
|