ooxml-ui 1.26.1 → 1.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/building-block-styles.d.ts +1 -0
  2. package/dist/chart/data-sheet-keys.d.ts +0 -1
  3. package/dist/chart/format-pane-3d.d.ts +1 -0
  4. package/dist/chart/format-pane-locales/fr.d.ts +1 -0
  5. package/dist/chart/format-pane-locales/index.d.ts +1 -0
  6. package/dist/chart/format-pane-text.d.ts +0 -1
  7. package/dist/chart/format-pane-translate.d.ts +1 -0
  8. package/dist/chrome/backstage.d.ts +2 -1
  9. package/dist/chrome/find-bar.d.ts +2 -1
  10. package/dist/{chunk-WH3EGA3S.js → chunk-2EFIFIPB.js} +2 -2
  11. package/dist/{chunk-P4FRKIPE.js → chunk-W2JD75LX.js} +1 -0
  12. package/dist/dialog/chart-picker.d.ts +2 -1
  13. package/dist/dialog/options-categories.d.ts +1 -0
  14. package/dist/docx/print-picture.d.ts +1 -0
  15. package/dist/docx.js +3 -2
  16. package/dist/index.js +3 -3
  17. package/dist/menu/command-search.d.ts +2 -1
  18. package/dist/menu/menu-separator.d.ts +2 -1
  19. package/dist/notices/toasts.d.ts +2 -1
  20. package/dist/pptx/{chunk-3ZI57W7O.mjs → chunk-3LOVEO7U.mjs} +5 -0
  21. package/dist/pptx/{chunk-NHRL2D4I.mjs → chunk-6QLGEV3I.mjs} +1432 -456
  22. package/dist/pptx/{chunk-BC23E73O.cjs → chunk-A3JJOLTS.cjs} +43 -43
  23. package/dist/pptx/{chunk-OOQMIQT3.cjs → chunk-GWKTHP6U.cjs} +0 -23
  24. package/dist/pptx/{chunk-BGABXFCV.cjs → chunk-I6ZVSJAR.cjs} +1462 -489
  25. package/dist/pptx/{chunk-CZUEATSN.mjs → chunk-LAF5W2UR.mjs} +1 -1
  26. package/dist/pptx/{chunk-LB3A3GF6.mjs → chunk-MJACF7Y2.mjs} +0 -23
  27. package/dist/pptx/{chunk-X4FNVH7J.cjs → chunk-YMITEJST.cjs} +32 -0
  28. package/dist/pptx/dom/index.cjs +389 -389
  29. package/dist/pptx/dom/index.mjs +8 -8
  30. package/dist/pptx/export/index.d.ts +1 -0
  31. package/dist/pptx/export/index.d.ts.map +1 -1
  32. package/dist/pptx/export/print-document.cjs +17 -17
  33. package/dist/pptx/export/print-document.d.ts +7 -5
  34. package/dist/pptx/export/print-document.d.ts.map +1 -1
  35. package/dist/pptx/export/print-document.mjs +1 -1
  36. package/dist/pptx/export/print-job.d.ts +134 -0
  37. package/dist/pptx/export/print-job.d.ts.map +1 -0
  38. package/dist/pptx/i18n/index.cjs +6 -6
  39. package/dist/pptx/i18n/index.mjs +1 -1
  40. package/dist/pptx/i18n/translations-en.d.ts.map +1 -1
  41. package/dist/pptx/index.cjs +3143 -3031
  42. package/dist/pptx/index.mjs +3 -3
  43. package/dist/pptx/render/controller/history-controller.d.ts +6 -0
  44. package/dist/pptx/render/controller/history-controller.d.ts.map +1 -1
  45. package/dist/pptx/render/deck-save-encryption.d.ts +10 -1
  46. package/dist/pptx/render/deck-save-encryption.d.ts.map +1 -1
  47. package/dist/pptx/render/deck-style.d.ts +12 -1
  48. package/dist/pptx/render/deck-style.d.ts.map +1 -1
  49. package/dist/pptx/render/google-webfonts.d.ts +32 -1
  50. package/dist/pptx/render/google-webfonts.d.ts.map +1 -1
  51. package/dist/pptx/render/index.d.ts +4 -0
  52. package/dist/pptx/render/index.d.ts.map +1 -1
  53. package/dist/pptx/render/inserted-slide-layout.d.ts +28 -0
  54. package/dist/pptx/render/inserted-slide-layout.d.ts.map +1 -0
  55. package/dist/pptx/render/inspector/index.d.ts +2 -0
  56. package/dist/pptx/render/inspector/index.d.ts.map +1 -1
  57. package/dist/pptx/render/inspector/text-effect-fields.d.ts +29 -0
  58. package/dist/pptx/render/inspector/text-effect-fields.d.ts.map +1 -0
  59. package/dist/pptx/render/master-view-crud-history.d.ts +45 -0
  60. package/dist/pptx/render/master-view-crud-history.d.ts.map +1 -0
  61. package/dist/pptx/render/master-view-crud.d.ts +11 -0
  62. package/dist/pptx/render/master-view-crud.d.ts.map +1 -1
  63. package/dist/pptx/render/morph-animation.d.ts +11 -2
  64. package/dist/pptx/render/morph-animation.d.ts.map +1 -1
  65. package/dist/pptx/render/morph-geometry-keyframes.d.ts.map +1 -1
  66. package/dist/pptx/render/morph-matching.d.ts +1 -0
  67. package/dist/pptx/render/morph-matching.d.ts.map +1 -1
  68. package/dist/pptx/render/morph-stacked-copies.d.ts +20 -0
  69. package/dist/pptx/render/morph-stacked-copies.d.ts.map +1 -0
  70. package/dist/pptx/render/morph-text-flow.d.ts +48 -0
  71. package/dist/pptx/render/morph-text-flow.d.ts.map +1 -0
  72. package/dist/pptx/render/shape-geometry-cascade.d.ts.map +1 -1
  73. package/dist/pptx/render/stroke-clip-edge.d.ts +27 -0
  74. package/dist/pptx/render/stroke-clip-edge.d.ts.map +1 -0
  75. package/dist/pptx/render/stroke-clip-outset.d.ts +11 -1
  76. package/dist/pptx/render/stroke-clip-outset.d.ts.map +1 -1
  77. package/dist/pptx/render/stroke-outline.d.ts +13 -0
  78. package/dist/pptx/render/stroke-outline.d.ts.map +1 -1
  79. package/dist/pptx/render/stroke-style.d.ts +10 -1
  80. package/dist/pptx/render/stroke-style.d.ts.map +1 -1
  81. package/dist/pptx/render/theme-by-path.d.ts +61 -0
  82. package/dist/pptx/render/theme-by-path.d.ts.map +1 -0
  83. package/dist/pptx/render/theme-history.d.ts +146 -0
  84. package/dist/pptx/render/theme-history.d.ts.map +1 -0
  85. package/dist/pptx/render/theme-write-queue.d.ts +21 -0
  86. package/dist/pptx/render/theme-write-queue.d.ts.map +1 -0
  87. package/dist/pptx/render/viewer-preferences.d.ts +11 -0
  88. package/dist/pptx/render/viewer-preferences.d.ts.map +1 -1
  89. package/dist/pptx/render/viewer-props-manifest.d.ts.map +1 -1
  90. package/dist/pptx/{smartart-insert-preview-TYCMBIUH.cjs → smartart-insert-preview-AERZURUO.cjs} +5 -5
  91. package/dist/pptx/{smartart-insert-preview-TJEN4WYF.mjs → smartart-insert-preview-CGAZP5JP.mjs} +4 -4
  92. package/dist/ribbon/keytip-run.d.ts +1 -0
  93. package/dist/ribbon/ribbon-stack.d.ts +2 -1
  94. package/dist/smartart.js +1 -1
  95. package/dist/teams.js +1 -1
  96. package/dist/theme-bridge.d.ts +0 -1
  97. package/dist/theme.d.ts +1 -0
  98. package/dist/xlsx/grid/styles.d.ts +1 -1
  99. package/dist/xlsx.js +5 -5
  100. package/package.json +2 -2
  101. /package/dist/{chunk-HGLCXNCT.js → chunk-WBE2Q5DC.js} +0 -0
@@ -2,3 +2,4 @@ export type OfficeUiBlockKind = 'toolbar' | 'formula-bar' | 'tabs' | 'inspector'
2
2
  export type OfficeUiProduct = 'docx' | 'xlsx' | 'visio' | 'pptx';
3
3
  /** Opt-in styles for native framework controls. They never target host-owned controls implicitly. */
4
4
  export declare const BUILDING_BLOCKS_CSS: string;
5
+ //# sourceMappingURL=building-block-styles.d.ts.map
@@ -35,4 +35,3 @@ export type ChartDataSheetKeyAction = {
35
35
  };
36
36
  /** What a key does in a cell at (`row`, `col`) of a sheet `rows` x `cols` (corner included). */
37
37
  export declare function chartDataSheetKeyAction(key: ChartDataSheetKey, mode: ChartDataSheetMode, row: number, col: number, rows: number, cols: number): ChartDataSheetKeyAction;
38
- //# sourceMappingURL=data-sheet-keys.d.ts.map
@@ -4,3 +4,4 @@ import type { ChartFormatThreeDView } from './format-pane-view.js';
4
4
  export declare const CHART_BEVEL_TYPES: readonly ['circle', 'relaxedInset', 'cross', 'coolSlant', 'angle', 'softRound', 'convex', 'slope', 'divot', 'riblet', 'hardEdge', 'artDeco'];
5
5
  /** The 3-D Format section for an element with `threeD` as its current 3-D settings. */
6
6
  export declare function threeDSection(threeD: ChartFormatThreeDView): ChartFormatSection;
7
+ //# sourceMappingURL=format-pane-3d.d.ts.map
@@ -1,2 +1,3 @@
1
1
  /** French captions of the shared chart Format pane, by `chartFormat.*` key. */
2
2
  export declare const chartFormatFr: Readonly<Record<string, string>>;
3
+ //# sourceMappingURL=fr.d.ts.map
@@ -4,3 +4,4 @@ export type ChartFormatLocale = (typeof CHART_FORMAT_LOCALES)[number];
4
4
  export declare const CHART_FORMAT_STRINGS: Readonly<Record<ChartFormatLocale, Readonly<Record<string, string>>>>;
5
5
  /** `strings` with every key prefixed (PowerPoint's dictionary keeps them as `pptx.chartFormat.*`). */
6
6
  export declare function prefixChartFormatStrings(strings: Readonly<Record<string, string>>, prefix: string): Record<string, string>;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -4,4 +4,3 @@ import type { ChartFormatTextView } from './format-pane-view.js';
4
4
  export declare function chartTextTabs(): ChartFormatTab[];
5
5
  /** The sections of Text Options tab `tab`. */
6
6
  export declare function textOptionsSections(text: ChartFormatTextView, tab: 'textFill' | 'textEffects' | 'textBox'): ChartFormatSection[];
7
- //# sourceMappingURL=format-pane-text.d.ts.map
@@ -7,3 +7,4 @@ export declare const chartFormatLocale: (value: string | null | undefined) => Ch
7
7
  * where it knows the key, that is where it returns neither the key nor an empty string.
8
8
  */
9
9
  export declare function chartFormatTranslator(locale: string | null | undefined, override?: ChartFormatTranslate): ChartFormatTranslate;
10
+ //# sourceMappingURL=format-pane-translate.d.ts.map
@@ -79,4 +79,5 @@ export declare class OfficeUiBackstage extends OfficeElement {
79
79
  private item;
80
80
  protected render(): import("lit").TemplateResult<1>;
81
81
  }
82
- export declare const defineBackstage: import("../index.js").Definer;
82
+ export declare const defineBackstage: import("../registry.js").Definer;
83
+ //# sourceMappingURL=backstage.d.ts.map
@@ -193,4 +193,5 @@ export declare class OfficeUiFindBar extends OfficeElement {
193
193
  private replaceOptions;
194
194
  protected render(): import("lit").TemplateResult<1>;
195
195
  }
196
- export declare const defineFindBar: import("../index.js").Definer;
196
+ export declare const defineFindBar: import("../registry.js").Definer;
197
+ //# sourceMappingURL=find-bar.d.ts.map
@@ -1,5 +1,5 @@
1
- import { defineSmartArt, defineSmartArtPicker, defineSmartArtTextPane } from './chunk-P4FRKIPE.js';
2
- import { TEAMS_TAGS, registerTeams } from './chunk-HGLCXNCT.js';
1
+ import { defineSmartArt, defineSmartArtPicker, defineSmartArtTextPane } from './chunk-W2JD75LX.js';
2
+ import { TEAMS_TAGS, registerTeams } from './chunk-WBE2Q5DC.js';
3
3
  import { installOfficeUiTheme } from './chunk-T5ARELU2.js';
4
4
  import { registerControls } from './chunk-WDOWQKKC.js';
5
5
  import { definePresence } from './chunk-YZH2QS7J.js';
@@ -128,6 +128,7 @@ function renderDiagramDrawing(doc, drawing, scheme = {}, fonts = {}) {
128
128
  svg.append(group);
129
129
  }
130
130
  svg.setAttribute("viewBox", `0 0 ${Math.max(right, 1)} ${Math.max(bottom, 1)}`);
131
+ svg.setAttribute("overflow", "visible");
131
132
  return { svg, report };
132
133
  }
133
134
  function textElement(doc, shape, scheme, fonts, report) {
@@ -74,4 +74,5 @@ export declare class OfficeUiChartPicker extends OfficeElement {
74
74
  protected updated(): void;
75
75
  protected render(): import("lit").TemplateResult<1>;
76
76
  }
77
- export declare const defineChartPicker: import("../index.js").Definer;
77
+ export declare const defineChartPicker: import("../registry.js").Definer;
78
+ //# sourceMappingURL=chart-picker.d.ts.map
@@ -36,3 +36,4 @@ export declare function personalizeSection(context: OptionsContext, controls: re
36
36
  /** The dialog's own buttons in the product's language. */
37
37
  export declare function optionsLabels(context: OptionsContext): OfficeOptionsLabels;
38
38
  export {};
39
+ //# sourceMappingURL=options-categories.d.ts.map
@@ -15,6 +15,7 @@ export declare function pictureElement(object: {
15
15
  chart?: {
16
16
  svg?: string;
17
17
  label: string;
18
+ shape?: true;
18
19
  };
19
20
  noteSeparator?: 'separator' | 'continuationSeparator';
20
21
  }, pictureUrl: PictureUrl | undefined): HTMLElement;
package/dist/docx.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { statusLayout, watchStatusWidth, compactPageText } from './chunk-UBBC5FH7.js';
2
2
  import { syncRibbonAddIns, createHostBackstagePages, withHostMenuItems } from './chunk-KSOHDEUI.js';
3
3
  export { RIBBON_ADD_IN_EVENT } from './chunk-KSOHDEUI.js';
4
- import { defineSmartArt, SmartArtTextPaneController, defineSmartArtPicker } from './chunk-P4FRKIPE.js';
4
+ import { defineSmartArt, SmartArtTextPaneController, defineSmartArtPicker } from './chunk-W2JD75LX.js';
5
5
  import { legacyThemeAliases, legacyThemeBridge, installOfficeUiThemeFor } from './chunk-T5ARELU2.js';
6
6
  import { createRibbonOverflow, defineRibbon, defineChartFormatPane, defineRuler, defineChartDataSheet, defineChartPicker, defineCommentsPane, defineDialog, defineSearchField, defineSwitch, defineTitleBar, defineRibbonActions, defineBackstage, defineStatusBar, defineZoomSlider, defineContextMenu, defineColorGrid, runKeyTips, defineOptionsDialog, assignKeyTips, optionsLabels, userInterfaceSection, personalizeSection, optionText, unavailableCategory } from './chunk-WDOWQKKC.js';
7
7
  import { registerIcon } from './chunk-M6GF5ED2.js';
@@ -20949,7 +20949,7 @@ var underline_default = `/* Styled runs paint their own underline. Do not superi
20949
20949
  `;
20950
20950
 
20951
20951
  // raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/docx/styles/print.css?raw
20952
- var print_default = ".dve-print-pages {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 24px;\n margin: 0 auto;\n zoom: var(--dve-zoom, 1);\n}\n/* The view wraps the layout's own pages container; zoom the pair once, not twice. */\n.dve-print-pages > .dve-print-pages {\n zoom: 1;\n}\n.dve-print-pages[hidden] {\n display: none;\n}\n.dve-print-page {\n position: relative;\n flex: none;\n background: var(--dve-page-color, var(--office-paper, #fff));\n color: #202124;\n box-shadow:\n 0 1px 3px #20212430,\n 0 4px 12px #20212420;\n overflow: hidden;\n}\n.dve-print-column {\n position: absolute;\n z-index: 1;\n}\n/* The frame and handles of a selected floating picture, as in Word. */\n.dve-print-float-frame {\n position: absolute;\n z-index: 4;\n box-sizing: border-box;\n border: 1px solid var(--word, #2b579a);\n pointer-events: none;\n}\n.dve-print-float-handle {\n position: absolute;\n box-sizing: border-box;\n width: 9px;\n height: 9px;\n border: 1px solid var(--word, #2b579a);\n background: #fff;\n pointer-events: auto;\n touch-action: none;\n}\n.dve-print-float-handle[data-float-handle='nw'] {\n left: -5px;\n top: -5px;\n}\n.dve-print-float-handle[data-float-handle='n'] {\n left: calc(50% - 5px);\n top: -5px;\n}\n.dve-print-float-handle[data-float-handle='ne'] {\n right: -5px;\n top: -5px;\n}\n.dve-print-float-handle[data-float-handle='e'] {\n right: -5px;\n top: calc(50% - 5px);\n}\n.dve-print-float-handle[data-float-handle='se'] {\n right: -5px;\n bottom: -5px;\n}\n.dve-print-float-handle[data-float-handle='s'] {\n left: calc(50% - 5px);\n bottom: -5px;\n}\n.dve-print-float-handle[data-float-handle='sw'] {\n left: -5px;\n bottom: -5px;\n}\n.dve-print-float-handle[data-float-handle='w'] {\n left: -5px;\n top: calc(50% - 5px);\n}\n/* Floating pictures sit in front of text unless anchored behind it (wp:anchor/@behindDoc). */\n.dve-print-float {\n z-index: 2;\n}\n.dve-print-float-behind {\n z-index: 0;\n}\n.dve-print-picture-missing {\n box-sizing: border-box;\n border: 1px dashed #8a8886;\n background: #f3f2f1;\n}\n.dve-print-chart {\n overflow: hidden;\n background: #fff;\n}\n.dve-print-chart > svg {\n display: block;\n width: 100%;\n height: 100%;\n}\n.dve-print-chart-frame {\n display: grid;\n place-items: center;\n color: #605e5c;\n font-size: 11px;\n}\n.dve-print-block {\n position: absolute;\n left: 0;\n width: 100%;\n}\n.dve-print-line {\n position: absolute;\n left: 0;\n width: 100%;\n font:\n 11pt/1.2 Calibri,\n Arial,\n sans-serif;\n cursor: text;\n}\n.dve-print-line span {\n position: absolute;\n top: 0;\n}\n.dve-print-row {\n position: absolute;\n left: 0;\n width: 100%;\n}\n/* Cells sit at their grid positions; borders come from the document (Word prints no gridlines). */\n.dve-print-cell {\n position: absolute;\n top: 0;\n box-sizing: border-box;\n}\n.dve-print-cell-content {\n position: absolute;\n bottom: 0;\n}\n@media print {\n .dve-ribbon,\n .dve-status,\n .multilingual-controls {\n display: none !important;\n }\n .dve-canvas {\n overflow: visible !important;\n padding: 0 !important;\n }\n .dve-paper {\n display: none !important;\n }\n .dve-print-pages {\n gap: 0 !important;\n zoom: 1 !important;\n }\n .dve-print-page {\n /* Like Word, page colours are not printed unless asked for. */\n background: #fff !important;\n box-shadow: none !important;\n break-after: page;\n }\n}\n.dve-print-header,\n.dve-print-footer {\n position: absolute;\n color: var(--ink);\n font-size: 11pt;\n pointer-events: none;\n}\n/* Header and footer editing in place on a page: the body dims, like Word. */\n.dve-print-story-editing .dve-print-block {\n opacity: 0.45;\n}\n.dve-print-header.dve-header-footer-editing,\n.dve-print-footer.dve-header-footer-editing {\n pointer-events: auto;\n cursor: text;\n z-index: 3;\n}\n.dve-print-header p,\n.dve-print-footer p {\n margin: 0;\n}\n.dve-print-header table,\n.dve-print-footer table {\n width: 100%;\n border-collapse: collapse;\n}\n\n/* Complex field begin/code/separate/end markers: kept in the document, never shown. */\n.dve-field-marker {\n display: inline;\n font-size: 0;\n}\n\n/* TOC entries link to hidden _Toc bookmarks; Word draws them in the entry's style, not as links. */\na.dve-link[data-anchor^='_Toc'] {\n color: inherit;\n text-decoration: none;\n}\n\n/* Tabs sized to Word's tab stops by tab-stops-view.ts; leaders fill the tab's width. */\n.dve-tab {\n display: inline-block;\n overflow: hidden;\n white-space: pre;\n vertical-align: baseline;\n text-indent: 0;\n}\n.dve-tab-leader-dot,\n.dve-tab-leader-middleDot {\n background-image: radial-gradient(circle, currentColor 0.8px, transparent 1.1px);\n background-size: 4px 4px;\n background-repeat: repeat-x;\n background-position: right 0 bottom 0.25em;\n}\n.dve-tab-leader-hyphen {\n background-image: linear-gradient(to right, currentColor 50%, transparent 50%);\n background-size: 6px 1px;\n background-repeat: repeat-x;\n background-position: right 0 bottom 0.4em;\n}\n.dve-tab-leader-underscore,\n.dve-tab-leader-heavy {\n border-bottom: 1px solid currentColor;\n}\n.dve-tab-leader-heavy {\n border-bottom-width: 2px;\n}\n\n/* Footnotes above the bottom margin; the separator is Word's 2-inch rule. */\n.dve-print-footnotes {\n position: absolute;\n z-index: 1;\n}\n.dve-print-footnote-separator {\n position: absolute;\n top: -7px;\n left: 0;\n width: 192px;\n border-top: 1px solid currentColor;\n}\n.dve-print-footnote-continuation-separator {\n width: 100%;\n}\n.dve-print-footnote {\n position: absolute;\n left: 0;\n width: 100%;\n}\n\n/* A note edited in place on its page: its number stays beside the editor. */\n.dve-print-note-container.dve-header-footer-editing {\n display: flex;\n align-items: flex-start;\n gap: 0.25em;\n z-index: 3;\n cursor: text;\n}\n.dve-print-note-container .dve-header-footer-editor {\n flex: 1 1 auto;\n min-width: 0;\n}\n.dve-print-note-label {\n font-size: 0.65em;\n line-height: 1.4;\n vertical-align: baseline;\n}\n\n[data-print-view] .dve-notes-container {\n display: none;\n}\n\n/* Word draws superscript and subscript at about two thirds size without growing the line. */\n.dve-paper sup,\n.dve-paper sub {\n font-size: 0.65em;\n line-height: 0;\n}\n/* Exact-height rows clip content that does not fit, as Word does. */\n.dve-print-cell {\n overflow: hidden;\n}\n.dve-print-paragraph-frame {\n position: absolute;\n top: 0;\n box-sizing: border-box;\n}\n\n/* View > Multiple Pages: Print Layout's sheets sit side by side and wrap, instead of one column. */\n.dve-canvas[data-multipage] .dve-print-pages {\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n justify-content: center;\n}\n\n/* Layout > Line Numbers: numbers in the left margin, one per printed line. */\n.dve-print-line-number {\n position: absolute;\n width: 40px;\n text-align: right;\n font: 10px var(--office-font, system-ui, sans-serif);\n color: #444;\n pointer-events: none;\n}\n\n/* Native input stays mounted while page geometry supplies the visible selection. */\n.dve-paper.dve-print-input {\n position: fixed;\n top: 0;\n left: 0;\n margin: 0;\n opacity: 0;\n max-height: 1px;\n overflow: hidden;\n pointer-events: none;\n z-index: -1;\n}\n.dve-print-pages {\n position: relative;\n}\n.dve-print-selection-layer {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 3;\n}\n.dve-print-caret,\n.dve-print-selection {\n position: absolute;\n pointer-events: none;\n}\n.dve-print-caret {\n background: currentColor;\n animation: dve-print-caret-blink 1s step-end infinite;\n}\n.dve-print-selection {\n background: Highlight;\n opacity: 0.3;\n}\n@keyframes dve-print-caret-blink {\n 50% {\n opacity: 0;\n }\n}\n@media print {\n .dve-print-input,\n .dve-print-selection-layer {\n display: none !important;\n }\n}\n/* In-place text editing of a floating shape or text box. */\n.dve-print-float-text {\n position: absolute;\n z-index: 5;\n box-sizing: border-box;\n padding: 4px 7px;\n resize: none;\n overflow: auto;\n border: 1px dashed var(--word, #2b579a);\n background: rgb(255 255 255 / 0.85);\n color: #000;\n font:\n 14.67px Calibri,\n Arial,\n sans-serif;\n text-align: center;\n}\n";
20952
+ var print_default = ".dve-print-pages {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 24px;\n margin: 0 auto;\n zoom: var(--dve-zoom, 1);\n}\n/* The view wraps the layout's own pages container; zoom the pair once, not twice. */\n.dve-print-pages > .dve-print-pages {\n zoom: 1;\n}\n.dve-print-pages[hidden] {\n display: none;\n}\n.dve-print-page {\n position: relative;\n flex: none;\n background: var(--dve-page-color, var(--office-paper, #fff));\n color: #202124;\n box-shadow:\n 0 1px 3px #20212430,\n 0 4px 12px #20212420;\n overflow: hidden;\n}\n.dve-print-column {\n position: absolute;\n z-index: 1;\n}\n/* The frame and handles of a selected floating picture, as in Word. */\n.dve-print-float-frame {\n position: absolute;\n z-index: 4;\n box-sizing: border-box;\n border: 1px solid var(--word, #2b579a);\n pointer-events: none;\n}\n.dve-print-float-handle {\n position: absolute;\n box-sizing: border-box;\n width: 9px;\n height: 9px;\n border: 1px solid var(--word, #2b579a);\n background: #fff;\n pointer-events: auto;\n touch-action: none;\n}\n.dve-print-float-handle[data-float-handle='nw'] {\n left: -5px;\n top: -5px;\n}\n.dve-print-float-handle[data-float-handle='n'] {\n left: calc(50% - 5px);\n top: -5px;\n}\n.dve-print-float-handle[data-float-handle='ne'] {\n right: -5px;\n top: -5px;\n}\n.dve-print-float-handle[data-float-handle='e'] {\n right: -5px;\n top: calc(50% - 5px);\n}\n.dve-print-float-handle[data-float-handle='se'] {\n right: -5px;\n bottom: -5px;\n}\n.dve-print-float-handle[data-float-handle='s'] {\n left: calc(50% - 5px);\n bottom: -5px;\n}\n.dve-print-float-handle[data-float-handle='sw'] {\n left: -5px;\n bottom: -5px;\n}\n.dve-print-float-handle[data-float-handle='w'] {\n left: -5px;\n top: calc(50% - 5px);\n}\n/* Floating pictures sit in front of text unless anchored behind it (wp:anchor/@behindDoc). */\n.dve-print-float {\n z-index: 2;\n}\n.dve-print-float-behind {\n z-index: 0;\n}\n.dve-print-picture-missing {\n box-sizing: border-box;\n border: 1px dashed #8a8886;\n background: #f3f2f1;\n}\n.dve-print-chart {\n overflow: hidden;\n background: #fff;\n}\n.dve-print-chart.dve-print-shape {\n overflow: visible;\n background: none;\n}\n.dve-print-chart > svg {\n display: block;\n width: 100%;\n height: 100%;\n}\n.dve-print-chart-frame {\n display: grid;\n place-items: center;\n color: #605e5c;\n font-size: 11px;\n}\n.dve-print-block {\n position: absolute;\n left: 0;\n width: 100%;\n}\n.dve-print-line {\n position: absolute;\n left: 0;\n width: 100%;\n font:\n 11pt/1.2 Calibri,\n Arial,\n sans-serif;\n cursor: text;\n}\n.dve-print-line span {\n position: absolute;\n top: 0;\n}\n.dve-print-row {\n position: absolute;\n left: 0;\n width: 100%;\n}\n/* Cells sit at their grid positions; borders come from the document (Word prints no gridlines). */\n.dve-print-cell {\n position: absolute;\n top: 0;\n box-sizing: border-box;\n}\n.dve-print-cell-content {\n position: absolute;\n bottom: 0;\n}\n@media print {\n .dve-ribbon,\n .dve-status,\n .multilingual-controls {\n display: none !important;\n }\n .dve-canvas {\n overflow: visible !important;\n padding: 0 !important;\n }\n .dve-paper {\n display: none !important;\n }\n .dve-print-pages {\n gap: 0 !important;\n zoom: 1 !important;\n }\n .dve-print-page {\n /* Like Word, page colours are not printed unless asked for. */\n background: #fff !important;\n box-shadow: none !important;\n break-after: page;\n }\n}\n.dve-print-header,\n.dve-print-footer {\n position: absolute;\n color: var(--ink);\n font-size: 11pt;\n pointer-events: none;\n}\n/* Header and footer editing in place on a page: the body dims, like Word. */\n.dve-print-story-editing .dve-print-block {\n opacity: 0.45;\n}\n.dve-print-header.dve-header-footer-editing,\n.dve-print-footer.dve-header-footer-editing {\n pointer-events: auto;\n cursor: text;\n z-index: 3;\n}\n.dve-print-header p,\n.dve-print-footer p {\n margin: 0;\n}\n.dve-print-header table,\n.dve-print-footer table {\n width: 100%;\n border-collapse: collapse;\n}\n\n/* Complex field begin/code/separate/end markers: kept in the document, never shown. */\n.dve-field-marker {\n display: inline;\n font-size: 0;\n}\n\n/* TOC entries link to hidden _Toc bookmarks; Word draws them in the entry's style, not as links. */\na.dve-link[data-anchor^='_Toc'] {\n color: inherit;\n text-decoration: none;\n}\n\n/* Tabs sized to Word's tab stops by tab-stops-view.ts; leaders fill the tab's width. */\n.dve-tab {\n display: inline-block;\n overflow: hidden;\n white-space: pre;\n vertical-align: baseline;\n text-indent: 0;\n}\n.dve-tab-leader-dot,\n.dve-tab-leader-middleDot {\n background-image: radial-gradient(circle, currentColor 0.8px, transparent 1.1px);\n background-size: 4px 4px;\n background-repeat: repeat-x;\n background-position: right 0 bottom 0.25em;\n}\n.dve-tab-leader-hyphen {\n background-image: linear-gradient(to right, currentColor 50%, transparent 50%);\n background-size: 6px 1px;\n background-repeat: repeat-x;\n background-position: right 0 bottom 0.4em;\n}\n.dve-tab-leader-underscore,\n.dve-tab-leader-heavy {\n border-bottom: 1px solid currentColor;\n}\n.dve-tab-leader-heavy {\n border-bottom-width: 2px;\n}\n\n/* Footnotes above the bottom margin; the separator is Word's 2-inch rule. */\n.dve-print-footnotes {\n position: absolute;\n z-index: 1;\n}\n.dve-print-footnote-separator {\n position: absolute;\n top: -7px;\n left: 0;\n width: 192px;\n border-top: 1px solid currentColor;\n}\n.dve-print-footnote-continuation-separator {\n width: 100%;\n}\n.dve-print-footnote {\n position: absolute;\n left: 0;\n width: 100%;\n}\n\n/* A note edited in place on its page: its number stays beside the editor. */\n.dve-print-note-container.dve-header-footer-editing {\n display: flex;\n align-items: flex-start;\n gap: 0.25em;\n z-index: 3;\n cursor: text;\n}\n.dve-print-note-container .dve-header-footer-editor {\n flex: 1 1 auto;\n min-width: 0;\n}\n.dve-print-note-label {\n font-size: 0.65em;\n line-height: 1.4;\n vertical-align: baseline;\n}\n\n[data-print-view] .dve-notes-container {\n display: none;\n}\n\n/* Word draws superscript and subscript at about two thirds size without growing the line. */\n.dve-paper sup,\n.dve-paper sub {\n font-size: 0.65em;\n line-height: 0;\n}\n/* Exact-height rows clip content that does not fit, as Word does. */\n.dve-print-cell {\n overflow: hidden;\n}\n.dve-print-paragraph-frame {\n position: absolute;\n top: 0;\n box-sizing: border-box;\n}\n\n/* View > Multiple Pages: Print Layout's sheets sit side by side and wrap, instead of one column. */\n.dve-canvas[data-multipage] .dve-print-pages {\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n justify-content: center;\n}\n\n/* Layout > Line Numbers: numbers in the left margin, one per printed line. */\n.dve-print-line-number {\n position: absolute;\n width: 40px;\n text-align: right;\n font: 10px var(--office-font, system-ui, sans-serif);\n color: #444;\n pointer-events: none;\n}\n\n/* Native input stays mounted while page geometry supplies the visible selection. */\n.dve-paper.dve-print-input {\n position: fixed;\n top: 0;\n left: 0;\n margin: 0;\n opacity: 0;\n max-height: 1px;\n overflow: hidden;\n pointer-events: none;\n z-index: -1;\n}\n.dve-print-pages {\n position: relative;\n}\n.dve-print-selection-layer {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 3;\n}\n.dve-print-caret,\n.dve-print-selection {\n position: absolute;\n pointer-events: none;\n}\n.dve-print-caret {\n background: currentColor;\n animation: dve-print-caret-blink 1s step-end infinite;\n}\n.dve-print-selection {\n background: Highlight;\n opacity: 0.3;\n}\n@keyframes dve-print-caret-blink {\n 50% {\n opacity: 0;\n }\n}\n@media print {\n .dve-print-input,\n .dve-print-selection-layer {\n display: none !important;\n }\n}\n/* In-place text editing of a floating shape or text box. */\n.dve-print-float-text {\n position: absolute;\n z-index: 5;\n box-sizing: border-box;\n padding: 4px 7px;\n resize: none;\n overflow: auto;\n border: 1px dashed var(--word, #2b579a);\n background: rgb(255 255 255 / 0.85);\n color: #000;\n font:\n 14.67px Calibri,\n Arial,\n sans-serif;\n text-align: center;\n}\n";
20953
20953
 
20954
20954
  // raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/docx/styles/chrome-titlebar.css?raw
20955
20955
  var chrome_titlebar_default = ".dve-frame {\n position: relative;\n border: 0;\n box-shadow: none;\n}\n.dve-icon {\n flex: none;\n}\n.dve-icon-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 28px;\n height: 28px;\n padding: 0 6px;\n border: 0;\n border-radius: var(--dve-radius, var(--office-radius, 4px));\n background: none;\n color: inherit;\n cursor: pointer;\n}\n.dve-icon-button:hover:not(:disabled),\n.dve-icon-button[aria-pressed='true'] {\n background: var(--word-soft);\n}\n.dve-icon-button:disabled {\n opacity: 0.4;\n cursor: default;\n}\n\n/* Title bar: drawn by the shared office-ui-title-bar; these colour it. */\n.dve-titlebar {\n flex: none;\n --office-title-bar-height: 40px;\n --office-title-bar-background: var(--chrome);\n --office-title-bar-border: var(--line);\n --office-title-bar-mark-background: var(--word);\n --office-title-bar-mark-foreground: var(\n --dve-primary-foreground,\n var(--office-accent-foreground, #fff)\n );\n}\n";
@@ -21700,6 +21700,7 @@ function chartElement(chart) {
21700
21700
  if (svg && svg.localName === "svg") {
21701
21701
  sanitizeChartSvg(svg);
21702
21702
  element.classList.add("dve-print-chart");
21703
+ if (chart.shape) element.classList.add("dve-print-shape");
21703
21704
  element.title = chart.label;
21704
21705
  element.append(document.importNode(svg, true));
21705
21706
  } else {
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- export { OFFICE_UI_TAGS, registerOfficeUi } from './chunk-WH3EGA3S.js';
1
+ export { OFFICE_UI_TAGS, registerOfficeUi } from './chunk-2EFIFIPB.js';
2
2
  export { HOST_REGION_ATTRIBUTE, HostRegionHost, RIBBON_ADD_IN_EVENT, createHostBackstagePages, defineRibbonAddInElements, syncHostMenuChildren, syncRibbonAddIns, tidyMenuSeparators, withHostMenuItems } from './chunk-KSOHDEUI.js';
3
- export { OfficeUiSmartArt, OfficeUiSmartArtPicker, OfficeUiSmartArtTextPane, SmartArtTextPaneController, defineSmartArt, defineSmartArtPicker, defineSmartArtTextPane, renderDiagramDrawing, smartArtColorsGalleryState, smartArtLayoutTileSvg, smartArtStylesGalleryState, smartArtTileSvg } from './chunk-P4FRKIPE.js';
4
- export { EMOJI, OfficeUiActivityFeed, OfficeUiAppRail, OfficeUiAvatar, OfficeUiCalendarAgenda, OfficeUiCalendarView, OfficeUiCallControls, OfficeUiCallGrid, OfficeUiChannelList, OfficeUiChatComposer, OfficeUiChatList, OfficeUiChatSidebar, OfficeUiPeoplePicker, OfficeUiPrejoin, QUICK_REACTIONS, TEAMS_CONTRACT, TEAMS_TAGS, TeamsApp, TeamsChannelTab, TeamsContentPreview, TeamsController, TeamsElement, TeamsFilesPanel, TeamsSettings, activityTime, applyTeamsProps, bindTeams, colorFor, createTeams, dayKind, dayLabel, defineActivityFeed, defineAppRail, defineAvatar, defineCalendarAgenda, defineCalendarView, defineCallControls, defineCallGrid, defineChannelList, defineChatComposer, defineChatList, defineChatSidebar, definePeoplePicker, definePrejoin, defineTeamsApp, defineTeamsChannelTab, defineTeamsContentPreview, defineTeamsFilesPanel, defineTeamsSettings, formatElapsed, formatSize, formatTime, formatWhen, icon, listenTeamsEvents, loadConfig, loadIdentity, parseIceLines, pickTeamsProps, registerTeams, safeStorage, saveConfig, saveIdentity, withStyles } from './chunk-HGLCXNCT.js';
3
+ export { OfficeUiSmartArt, OfficeUiSmartArtPicker, OfficeUiSmartArtTextPane, SmartArtTextPaneController, defineSmartArt, defineSmartArtPicker, defineSmartArtTextPane, renderDiagramDrawing, smartArtColorsGalleryState, smartArtLayoutTileSvg, smartArtStylesGalleryState, smartArtTileSvg } from './chunk-W2JD75LX.js';
4
+ export { EMOJI, OfficeUiActivityFeed, OfficeUiAppRail, OfficeUiAvatar, OfficeUiCalendarAgenda, OfficeUiCalendarView, OfficeUiCallControls, OfficeUiCallGrid, OfficeUiChannelList, OfficeUiChatComposer, OfficeUiChatList, OfficeUiChatSidebar, OfficeUiPeoplePicker, OfficeUiPrejoin, QUICK_REACTIONS, TEAMS_CONTRACT, TEAMS_TAGS, TeamsApp, TeamsChannelTab, TeamsContentPreview, TeamsController, TeamsElement, TeamsFilesPanel, TeamsSettings, activityTime, applyTeamsProps, bindTeams, colorFor, createTeams, dayKind, dayLabel, defineActivityFeed, defineAppRail, defineAvatar, defineCalendarAgenda, defineCalendarView, defineCallControls, defineCallGrid, defineChannelList, defineChatComposer, defineChatList, defineChatSidebar, definePeoplePicker, definePrejoin, defineTeamsApp, defineTeamsChannelTab, defineTeamsContentPreview, defineTeamsFilesPanel, defineTeamsSettings, formatElapsed, formatSize, formatTime, formatWhen, icon, listenTeamsEvents, loadConfig, loadIdentity, parseIceLines, pickTeamsProps, registerTeams, safeStorage, saveConfig, saveIdentity, withStyles } from './chunk-WBE2Q5DC.js';
5
5
  export { TeamsPresentationPreview, defineTeamsPresentationPreview } from './chunk-FHO7TEWA.js';
6
6
  import './chunk-CDAXY5KC.js';
7
7
  import './chunk-NDUD5JJB.js';
@@ -71,4 +71,5 @@ export declare class OfficeUiCommandSearch extends OfficeElement {
71
71
  private optionTemplates;
72
72
  protected render(): import("lit").TemplateResult<1>;
73
73
  }
74
- export declare const defineCommandSearch: import("../index.js").Definer;
74
+ export declare const defineCommandSearch: import("../registry.js").Definer;
75
+ //# sourceMappingURL=command-search.d.ts.map
@@ -4,4 +4,5 @@ export declare class OfficeUiMenuSeparator extends OfficeElement {
4
4
  static styles: import("lit").CSSResult[];
5
5
  protected willUpdate(): void;
6
6
  }
7
- export declare const defineMenuSeparator: import("../index.js").Definer;
7
+ export declare const defineMenuSeparator: import("../registry.js").Definer;
8
+ //# sourceMappingURL=menu-separator.d.ts.map
@@ -37,4 +37,5 @@ export declare class OfficeUiToasts extends OfficeElement {
37
37
  protected willUpdate(_changed: PropertyValues<this>): void;
38
38
  protected render(): import("lit").TemplateResult<1>;
39
39
  }
40
- export declare const defineToasts: import("../index.js").Definer;
40
+ export declare const defineToasts: import("../registry.js").Definer;
41
+ //# sourceMappingURL=toasts.d.ts.map
@@ -2,6 +2,8 @@ import { handoutMasterChrome } from './chunk-IXFG46KB.mjs';
2
2
  import { escapeHtml, safeDataImageSrc } from './chunk-IEAO7N4E.mjs';
3
3
  import { HANDOUT_OPTIONS, getHandoutGrid } from './chunk-WHUMPYEM.mjs';
4
4
  import DOMPurify from 'dompurify';
5
+ import { isTemplateElement } from 'ooxml-core/pptx/editor/render/element';
6
+ export { formatCommentTimestamp, getCommentMarkerPosition, getConnectionSitePosition, getElementLabel, isEditableTextElement, isTemplateElement, isTemplateElementId } from 'ooxml-core/pptx/editor/render/element';
5
7
 
6
8
  function purifyFn() {
7
9
  const purify = DOMPurify;
@@ -179,6 +181,9 @@ function slideTitle(slide, index) {
179
181
  }
180
182
  const elements = slide.elements ?? [];
181
183
  for (const el of elements) {
184
+ if (isTemplateElement(el)) {
185
+ continue;
186
+ }
182
187
  if ("text" in el) {
183
188
  const text = el.text;
184
189
  if (typeof text === "string" && text.trim()) {