ooxml-ui 1.6.2 → 1.8.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 (164) hide show
  1. package/README.md +90 -37
  2. package/custom-elements.json +303 -4
  3. package/dist/chrome/ruler.d.ts +7 -1
  4. package/dist/chrome/ruler.d.ts.map +1 -1
  5. package/dist/chrome/status-bar.d.ts.map +1 -1
  6. package/dist/chrome/tab-strip.d.ts +3 -1
  7. package/dist/chrome/tab-strip.d.ts.map +1 -1
  8. package/dist/chrome/task-pane.d.ts +29 -0
  9. package/dist/chrome/task-pane.d.ts.map +1 -0
  10. package/dist/chrome/title-bar.d.ts +2 -1
  11. package/dist/chrome/title-bar.d.ts.map +1 -1
  12. package/dist/{chunk-QAIVGTQZ.js → chunk-7US5GCXF.js} +158 -153
  13. package/dist/{chunk-Z7CS3UUK.js → chunk-KF72ZA6V.js} +5 -2
  14. package/dist/{chunk-QHAE6Y5B.js → chunk-O7APCA5N.js} +680 -98
  15. package/dist/chunk-W6AV3GHC.js +112 -0
  16. package/dist/controls.d.ts +9 -2
  17. package/dist/controls.d.ts.map +1 -1
  18. package/dist/controls.js +1 -1
  19. package/dist/dialog/dialog-footer.d.ts.map +1 -1
  20. package/dist/dialog/options-dialog.d.ts.map +1 -1
  21. package/dist/docx/editor-core.d.ts +3 -0
  22. package/dist/docx/editor-shell.d.ts +2 -0
  23. package/dist/docx/element-api.d.ts +7 -0
  24. package/dist/docx/events.d.ts +4 -1
  25. package/dist/docx/index.d.ts +1 -0
  26. package/dist/docx/ribbon-color-grid.d.ts +3 -4
  27. package/dist/docx.js +46 -78
  28. package/dist/edit-worker.js +52 -3
  29. package/dist/form/color-custom.d.ts +79 -0
  30. package/dist/form/color-custom.d.ts.map +1 -0
  31. package/dist/form/color-grid.d.ts +125 -0
  32. package/dist/form/color-grid.d.ts.map +1 -0
  33. package/dist/index.d.ts +2 -1
  34. package/dist/index.js +4 -3
  35. package/dist/menu/context-menu.d.ts.map +1 -1
  36. package/dist/menu/menu-button.d.ts +2 -1
  37. package/dist/menu/menu-button.d.ts.map +1 -1
  38. package/dist/notices/paste-options.d.ts.map +1 -1
  39. package/dist/notices/toasts.d.ts.map +1 -1
  40. package/dist/pptx/{chart-3d-view-scene-ERX2GRCD.mjs → chart-3d-view-scene-P6MAFEGL.mjs} +2 -2
  41. package/dist/pptx/{chart-3d-view-scene-55WDENSO.cjs → chart-3d-view-scene-V74F7ZOC.cjs} +38 -38
  42. package/dist/pptx/{chunk-G2YUKLRX.cjs → chunk-526IHNIH.cjs} +1 -1
  43. package/dist/pptx/{chunk-SVN6OBG4.mjs → chunk-DPOES4WM.mjs} +26 -11
  44. package/dist/pptx/{chunk-BLAJIEXA.cjs → chunk-GCS5KBMR.cjs} +511 -653
  45. package/dist/pptx/{chunk-RPRC2EG5.cjs → chunk-K3S2A64B.cjs} +13 -13
  46. package/dist/pptx/{chunk-E55NU4BF.mjs → chunk-MCHPNO42.mjs} +289 -493
  47. package/dist/pptx/{chunk-AWQRQUPL.mjs → chunk-NAFUYAQP.mjs} +1 -1
  48. package/dist/pptx/{chunk-LCIXR7WE.cjs → chunk-VFPVEVF4.cjs} +26 -11
  49. package/dist/pptx/{chunk-TKATCPOK.mjs → chunk-ZAOYPCAM.mjs} +1 -1
  50. package/dist/pptx/dom/activex-controls-overlay.d.ts.map +1 -1
  51. package/dist/pptx/dom/elements/image.d.ts.map +1 -1
  52. package/dist/pptx/dom/elements/media.d.ts.map +1 -1
  53. package/dist/pptx/dom/elements/text-block.d.ts.map +1 -1
  54. package/dist/pptx/dom/elements/zoom.d.ts.map +1 -1
  55. package/dist/pptx/dom/index.cjs +252 -247
  56. package/dist/pptx/dom/index.mjs +11 -6
  57. package/dist/pptx/export/html2canvas-clone.cjs +2 -2
  58. package/dist/pptx/export/html2canvas-clone.mjs +1 -1
  59. package/dist/pptx/index.cjs +3059 -3023
  60. package/dist/pptx/index.mjs +4 -4
  61. package/dist/pptx/render/chart-combo-series.d.ts.map +1 -1
  62. package/dist/pptx/render/chart-combo-stock.cjs +3 -3
  63. package/dist/pptx/render/chart-combo-stock.mjs +1 -1
  64. package/dist/pptx/render/chart-marker-shape.d.ts.map +1 -1
  65. package/dist/pptx/render/chart-overlays.cjs +7 -7
  66. package/dist/pptx/render/chart-overlays.mjs +1 -1
  67. package/dist/pptx/render/chart-surface-treemap.cjs +4 -4
  68. package/dist/pptx/render/chart-surface-treemap.mjs +1 -1
  69. package/dist/pptx/render/chart-view-model.cjs +44 -44
  70. package/dist/pptx/render/chart-view-model.mjs +1 -1
  71. package/dist/pptx/render/chart-waterfall-map.cjs +6 -6
  72. package/dist/pptx/render/chart-waterfall-map.mjs +1 -1
  73. package/dist/pptx/render/connector-router-types.d.ts +4 -52
  74. package/dist/pptx/render/connector-router-types.d.ts.map +1 -1
  75. package/dist/pptx/render/connector-router.d.ts +4 -32
  76. package/dist/pptx/render/connector-router.d.ts.map +1 -1
  77. package/dist/pptx/render/editor-keymap-arrows.d.ts +0 -7
  78. package/dist/pptx/render/editor-keymap-arrows.d.ts.map +1 -1
  79. package/dist/pptx/render/element-interaction.d.ts +2 -6
  80. package/dist/pptx/render/element-interaction.d.ts.map +1 -1
  81. package/dist/pptx/render/index.d.ts +1 -0
  82. package/dist/pptx/render/index.d.ts.map +1 -1
  83. package/dist/pptx/render/ribbon-add-ins.d.ts +53 -0
  84. package/dist/pptx/render/ribbon-add-ins.d.ts.map +1 -0
  85. package/dist/pptx/web-components/index.d.ts +1 -0
  86. package/dist/pptx/web-components/index.d.ts.map +1 -1
  87. package/dist/pptx/web-components/ribbon-add-in.d.ts +20 -0
  88. package/dist/pptx/web-components/ribbon-add-in.d.ts.map +1 -0
  89. package/dist/ribbon/add-in-tabs.d.ts +36 -0
  90. package/dist/ribbon/group-overflow.d.ts +37 -0
  91. package/dist/ribbon/group-overflow.d.ts.map +1 -0
  92. package/dist/ribbon/ribbon-tabs.d.ts.map +1 -1
  93. package/dist/teams/app/index.d.ts +1 -1
  94. package/dist/teams.js +2 -2
  95. package/dist/visio/format-pane-fields.d.ts +42 -0
  96. package/dist/visio/format-pane-view.d.ts +44 -0
  97. package/dist/visio/index.d.ts +1 -0
  98. package/dist/visio/page-setup-action.d.ts +4 -0
  99. package/dist/visio/ribbon-action.d.ts +20 -7
  100. package/dist/visio/ribbon-change-shape.d.ts +17 -6
  101. package/dist/visio/ribbon-color-menu.d.ts +29 -0
  102. package/dist/visio/ribbon-inline-galleries.d.ts +20 -0
  103. package/dist/visio/ribbon-overflow.d.ts +7 -0
  104. package/dist/visio/ribbon-review.d.ts +5 -2
  105. package/dist/visio/ribbon-router.d.ts +3 -3
  106. package/dist/visio/ribbon-shape-styles.d.ts +4 -1
  107. package/dist/visio/ribbon-style-options.d.ts +4 -3
  108. package/dist/visio/ribbon.d.ts +2 -2
  109. package/dist/visio/shapes-document.d.ts +29 -0
  110. package/dist/visio/shapes-sections.d.ts +19 -5
  111. package/dist/visio/shapes-storage.d.ts +15 -0
  112. package/dist/visio/shapes-window.d.ts +9 -2
  113. package/dist/visio/status-bar.d.ts +7 -4
  114. package/dist/visio/stencil-catalog.d.ts +4 -0
  115. package/dist/visio/styles/theme.d.ts +1 -1
  116. package/dist/visio/styles.d.ts +1 -1
  117. package/dist/visio/text-measurer.d.ts +25 -0
  118. package/dist/visio/title-bar.d.ts +9 -0
  119. package/dist/visio/viewer-auto-connect-parts.d.ts +12 -0
  120. package/dist/visio/viewer-auto-connect.d.ts +33 -0
  121. package/dist/visio/viewer-backstage.d.ts +2 -1
  122. package/dist/visio/viewer-canvas.d.ts +1 -1
  123. package/dist/visio/viewer-change-shape.d.ts +8 -4
  124. package/dist/visio/viewer-chrome.d.ts +13 -5
  125. package/dist/visio/viewer-color-menus.d.ts +34 -0
  126. package/dist/visio/viewer-commands.d.ts +4 -1
  127. package/dist/visio/viewer-connector-tool.d.ts +5 -3
  128. package/dist/visio/viewer-data-window.d.ts +5 -1
  129. package/dist/visio/viewer-draw-tool.d.ts +1 -11
  130. package/dist/visio/viewer-element.d.ts +16 -0
  131. package/dist/visio/viewer-format-pane.d.ts +26 -0
  132. package/dist/visio/viewer-guides.d.ts +7 -4
  133. package/dist/visio/viewer-inline-text.d.ts +31 -0
  134. package/dist/visio/viewer-input.d.ts +5 -1
  135. package/dist/visio/viewer-layer-properties.d.ts +18 -0
  136. package/dist/visio/viewer-layout-commands.d.ts +8 -2
  137. package/dist/visio/viewer-more-colors.d.ts +16 -0
  138. package/dist/visio/viewer-options.d.ts +18 -4
  139. package/dist/visio/viewer-page-setup.d.ts +6 -0
  140. package/dist/visio/viewer-ruler-grid.d.ts +25 -0
  141. package/dist/visio/viewer-ruler.d.ts +11 -3
  142. package/dist/visio/viewer-snap-glue.d.ts +23 -0
  143. package/dist/visio/viewer-stencil.d.ts +4 -1
  144. package/dist/visio.js +7595 -5944
  145. package/dist/xlsx/component.d.ts +8 -0
  146. package/dist/xlsx/dialogs/format-cells/color-swatches.d.ts +4 -2
  147. package/dist/xlsx/dialogs/styles.d.ts +1 -1
  148. package/dist/xlsx/events.d.ts +4 -1
  149. package/dist/xlsx/index.d.ts +1 -0
  150. package/dist/xlsx/ribbon/color-grid.d.ts +25 -7
  151. package/dist/xlsx/ribbon/ribbon.d.ts +3 -0
  152. package/dist/xlsx.js +121 -163
  153. package/package.json +3 -2
  154. package/dist/pptx/render/connector-router-astar.d.ts +0 -24
  155. package/dist/pptx/render/connector-router-astar.d.ts.map +0 -1
  156. package/dist/pptx/render/connector-router-graph.d.ts +0 -38
  157. package/dist/pptx/render/connector-router-graph.d.ts.map +0 -1
  158. package/dist/visio/format-shape-dialog.d.ts +0 -21
  159. package/dist/visio/viewer-edit-controls.d.ts +0 -12
  160. package/dist/visio/viewer-format-shape.d.ts +0 -16
  161. package/dist/visio/viewer-geometry-controls.d.ts +0 -14
  162. package/dist/visio/viewer-layer-controls.d.ts +0 -5
  163. package/dist/visio/viewer-paint-dialog.d.ts +0 -28
  164. package/dist/visio/viewer-paint-properties.d.ts +0 -13
@@ -1,6 +1,8 @@
1
1
  import type { ViewerController, ViewerState } from './controller.js';
2
2
  import type { VisioPageSetupCommand } from './page-setup-action.js';
3
3
  import { ViewerPageSetupDialog } from './viewer-page-setup-dialog.js';
4
+ import { ViewerRulerGrid } from './viewer-ruler-grid.js';
5
+ import { ViewerSnapGlue } from './viewer-snap-glue.js';
4
6
  type Edit = (run: () => Promise<void>, message: string) => void;
5
7
  /**
6
8
  * Design > Page Setup and Backgrounds, File > Page Setup and View > Page Breaks. Every change is
@@ -14,6 +16,10 @@ export declare class ViewerPageSetup {
14
16
  private readonly edit;
15
17
  private readonly announce;
16
18
  readonly dialog: ViewerPageSetupDialog;
19
+ /** View > Show > Ruler & Grid, and the page's grid and ruler values. */
20
+ readonly rulerGrid: ViewerRulerGrid;
21
+ /** View > Visual Aids > Snap & Glue. */
22
+ readonly snapGlue: ViewerSnapGlue;
17
23
  constructor(root: ShadowRoot, controller: ViewerController, edit: Edit, announce: (message: string) => void);
18
24
  get pageBreaks(): boolean;
19
25
  run(command: VisioPageSetupCommand): void;
@@ -0,0 +1,25 @@
1
+ import { type VisioGridSteps } from 'ooxml-core/visio/ui';
2
+ import type { ViewerController, ViewerState } from './controller.js';
3
+ import { ViewerDialog } from './viewer-dialog.js';
4
+ import type { RulerLook } from './viewer-ruler.js';
5
+ /**
6
+ * View > Show > Ruler & Grid, as Visio's dialog: ruler subdivisions and zero point, and the grid's
7
+ * spacing, minimum spacing and origin, each for the horizontal and the vertical axis. OK saves
8
+ * the changed cells of the page as one `set-page-layout` edit. The canvas grid, Snap to Grid and
9
+ * the rulers follow the page's values (`steps`, `look`).
10
+ */
11
+ export declare class ViewerRulerGrid {
12
+ #private;
13
+ private readonly root;
14
+ private readonly controller;
15
+ private readonly announce;
16
+ readonly dialog: ViewerDialog;
17
+ constructor(root: ShadowRoot, controller: ViewerController, announce: (message: string) => void);
18
+ /** Grid lines of the shown page at the current zoom, for the canvas and Snap to Grid. */
19
+ steps(state?: ViewerState): VisioGridSteps;
20
+ /** Where the rulers' zero is and how many subdivisions they show. */
21
+ look(state?: ViewerState): RulerLook;
22
+ show(): void;
23
+ wire(): () => void;
24
+ render(state: ViewerState): void;
25
+ }
@@ -1,12 +1,20 @@
1
1
  /**
2
2
  * Visio's rulers: inch scales along the top and left of the drawing window with 0 at the page's
3
3
  * left and bottom edges (vertical values grow upward, as in Visio). Drawn by the shared
4
- * `office-ui-ruler`; this module only lays them out and says where zero is. Viewer-only
5
- * presentation: nothing is read from or written to the document beyond the rendered page box.
4
+ * `office-ui-ruler`; this module only lays them out and says where zero is. The page's Ruler &
5
+ * Grid settings move zero (`RulerLook.originX`/`originY`, page inches from the lower-left corner)
6
+ * and thin the subdivisions.
6
7
  */
8
+ export interface RulerLook {
9
+ originX: number;
10
+ originY: number;
11
+ /** Share of the subdivisions shown, 1 for Fine. */
12
+ densityX: number;
13
+ densityY: number;
14
+ }
7
15
  export interface Rulers {
8
16
  element: HTMLElement;
9
- render(visible: boolean, zoom: number): void;
17
+ render(visible: boolean, zoom: number, look?: RulerLook): void;
10
18
  wire(): () => void;
11
19
  }
12
20
  /** Wraps the viewport in a grid with a corner, a top ruler and a left ruler. */
@@ -0,0 +1,23 @@
1
+ import { type VisioSnapGlue } from 'ooxml-core/visio';
2
+ import type { ViewerController, ViewerState } from './controller.js';
3
+ import { ViewerDialog } from './viewer-dialog.js';
4
+ /**
5
+ * View > Visual Aids > Snap & Glue, as Visio's dialog: whether snapping and gluing are active and
6
+ * what they snap and glue to. OK saves the drawing's DocumentSettings as one `set-snap-glue`
7
+ * edit. This editor acts on Snap (grid and guides), Glue and Glue to connection points; the
8
+ * other choices are saved for Visio and say so in the dialog. View > Dynamic Grid stays a
9
+ * per-viewer toggle and is not in this dialog.
10
+ */
11
+ export declare class ViewerSnapGlue {
12
+ #private;
13
+ private readonly root;
14
+ private readonly controller;
15
+ private readonly announce;
16
+ readonly dialog: ViewerDialog;
17
+ constructor(root: ShadowRoot, controller: ViewerController, announce: (message: string) => void);
18
+ /** The drawing's settings, or Visio's defaults without a drawing. */
19
+ settings(state?: ViewerState): VisioSnapGlue;
20
+ show(): void;
21
+ wire(): () => void;
22
+ render(state: ViewerState): void;
23
+ }
@@ -1,6 +1,9 @@
1
1
  import type { ViewerController } from './controller.js';
2
2
  /**
3
3
  * Shapes window interaction: drag a master onto the page to drop it there, or activate it to add
4
- * it at the page centre. Ellipses and circles are native ellipses; the rest are core outlines.
4
+ * it at the page centre. Either way the page gets an instance of a master, as in Visio: a master
5
+ * of a built-in stencil is first copied into the drawing's own Document Stencil, and a master
6
+ * that is already there is instanced directly. The window follows the open drawing: its Document
7
+ * Stencil and the stencils it docks.
5
8
  */
6
9
  export declare function wireStencil(pane: HTMLElement, viewport: HTMLElement, controller: ViewerController, announce: (message: string) => void): () => void;