ooxml-ui 1.8.4 → 1.9.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 (87) hide show
  1. package/dist/{chunk-CTPXTRDT.js → chunk-PH7IBZOZ.js} +1 -1
  2. package/dist/docx/columns-dialog.d.ts +1 -1
  3. package/dist/docx/editor-core.d.ts +2 -0
  4. package/dist/docx/page-controller.d.ts +3 -2
  5. package/dist/docx/print-drag-scroll.d.ts +7 -0
  6. package/dist/docx/print-editing-geometry.d.ts +2 -0
  7. package/dist/docx/print-editing-index.d.ts +30 -0
  8. package/dist/docx/print-editing.d.ts +12 -0
  9. package/dist/docx/print-keyboard-navigation.d.ts +18 -0
  10. package/dist/docx/print-layout-view.d.ts +6 -10
  11. package/dist/docx/print-layout.d.ts +2 -2
  12. package/dist/docx/print-picture.d.ts +1 -0
  13. package/dist/docx.js +677 -20
  14. package/dist/index.js +2 -2
  15. package/dist/pptx/{chunk-KMNNTEGF.cjs → chunk-BFZDO2DY.cjs} +429 -194
  16. package/dist/pptx/{chunk-VRFNAF3Q.mjs → chunk-F7BBPOVJ.mjs} +9 -0
  17. package/dist/pptx/{chunk-STXGHV25.cjs → chunk-HWW2UVUP.cjs} +161 -4
  18. package/dist/pptx/{chunk-GHFJ46NS.mjs → chunk-KBCKCW5M.mjs} +371 -161
  19. package/dist/pptx/{chunk-NVYVHNPD.mjs → chunk-MKVKISFW.mjs} +1 -1
  20. package/dist/pptx/{chunk-NKHPE4PS.cjs → chunk-PKDISDDZ.cjs} +2 -2
  21. package/dist/pptx/{chunk-SM3CWDIQ.cjs → chunk-QVYJB7G2.cjs} +9 -0
  22. package/dist/pptx/chunk-SABFKDRM.mjs +286 -0
  23. package/dist/pptx/dom/elements/image.d.ts.map +1 -1
  24. package/dist/pptx/dom/index.cjs +221 -213
  25. package/dist/pptx/dom/index.mjs +24 -16
  26. package/dist/pptx/i18n/index.cjs +6 -6
  27. package/dist/pptx/i18n/index.mjs +1 -1
  28. package/dist/pptx/i18n/translations-en.d.ts.map +1 -1
  29. package/dist/pptx/index.cjs +2834 -2766
  30. package/dist/pptx/index.mjs +4 -4
  31. package/dist/pptx/render/find-replace.d.ts +1 -1
  32. package/dist/pptx/render/find-replace.d.ts.map +1 -1
  33. package/dist/pptx/render/format-painter.cjs +5 -5
  34. package/dist/pptx/render/format-painter.mjs +2 -2
  35. package/dist/pptx/render/index.d.ts +3 -0
  36. package/dist/pptx/render/index.d.ts.map +1 -1
  37. package/dist/pptx/render/inspector-helpers.cjs +12 -12
  38. package/dist/pptx/render/inspector-helpers.d.ts.map +1 -1
  39. package/dist/pptx/render/inspector-helpers.mjs +1 -1
  40. package/dist/pptx/render/inspector-number.d.ts +15 -0
  41. package/dist/pptx/render/inspector-number.d.ts.map +1 -0
  42. package/dist/pptx/render/picture-frame.d.ts +52 -0
  43. package/dist/pptx/render/picture-frame.d.ts.map +1 -0
  44. package/dist/pptx/render/ribbon-home-commands.d.ts +11 -2
  45. package/dist/pptx/render/ribbon-home-commands.d.ts.map +1 -1
  46. package/dist/pptx/render/share-session.d.ts.map +1 -1
  47. package/dist/pptx/render/slide-operations.d.ts +2 -1
  48. package/dist/pptx/render/slide-operations.d.ts.map +1 -1
  49. package/dist/pptx/render/slide-package-clipboard.d.ts +31 -0
  50. package/dist/pptx/render/slide-package-clipboard.d.ts.map +1 -0
  51. package/dist/pptx/render/slide-sorter-context-menu.d.ts +3 -5
  52. package/dist/pptx/render/slide-sorter-context-menu.d.ts.map +1 -1
  53. package/dist/pptx/render/slide-sorter-state.d.ts +8 -1
  54. package/dist/pptx/render/slide-sorter-state.d.ts.map +1 -1
  55. package/dist/pptx/render/text-advanced.d.ts.map +1 -1
  56. package/dist/pptx/render/text-style-scope.d.ts +41 -1
  57. package/dist/pptx/render/text-style-scope.d.ts.map +1 -1
  58. package/dist/pptx/render/text-style-update.d.ts.map +1 -1
  59. package/dist/pptx/web-components/index.d.ts +2 -0
  60. package/dist/pptx/web-components/index.d.ts.map +1 -1
  61. package/dist/pptx/web-components/slide-clipboard.d.ts +14 -0
  62. package/dist/pptx/web-components/slide-clipboard.d.ts.map +1 -0
  63. package/dist/teams.js +1 -1
  64. package/dist/visio/format-pane-fields.d.ts +2 -0
  65. package/dist/visio/page-setup-action.d.ts +1 -1
  66. package/dist/visio/page-setup-dialog-form.d.ts +1 -1
  67. package/dist/visio/ribbon-action.d.ts +1 -1
  68. package/dist/visio/viewer-accessibility.d.ts +17 -0
  69. package/dist/visio/viewer-insert-dialog.d.ts +2 -1
  70. package/dist/visio/viewer-review.d.ts +2 -0
  71. package/dist/visio.js +304 -14
  72. package/dist/xlsx/commands/pivots.d.ts +2 -0
  73. package/dist/xlsx/commands/sparklines.d.ts +2 -0
  74. package/dist/xlsx/dialogs/help-dialogs.d.ts +2 -2
  75. package/dist/xlsx/dialogs/page-header.d.ts +4 -0
  76. package/dist/xlsx/dialogs/page-setup-tabs.d.ts +6 -1
  77. package/dist/xlsx/dialogs/pivots.d.ts +2 -0
  78. package/dist/xlsx/dialogs/print-preview.d.ts +2 -0
  79. package/dist/xlsx/dialogs/sparklines.d.ts +4 -0
  80. package/dist/xlsx/print-cell.d.ts +4 -0
  81. package/dist/xlsx/print-header.d.ts +7 -0
  82. package/dist/xlsx/print-pages.d.ts +4 -0
  83. package/dist/xlsx/print.d.ts +4 -12
  84. package/dist/xlsx.js +1078 -287
  85. package/package.json +3 -3
  86. package/dist/pptx/chunk-VD7HRMTA.mjs +0 -137
  87. /package/dist/{chunk-SUHT5S2P.js → chunk-SKYBYVYH.js} +0 -0
@@ -0,0 +1,52 @@
1
+ /**
2
+ * picture-frame.ts: where a picture's own frame (`p:spPr/a:ln`) and outer
3
+ * shadow (`a:effectLst/a:outerShdw`) are painted, and the box split that lets
4
+ * them show.
5
+ *
6
+ * PowerPoint centres a picture's line on the frame edge, so half of it falls
7
+ * outside the picture, and the outer shadow falls outside it as well. The box
8
+ * that clips the picture's pixels (the `a:srcRect` crop, the picture geometry,
9
+ * the Crop to Shape clip) would cut both. When either is present the clip
10
+ * therefore moves to an inner surface layer, and the box stays unclipped and
11
+ * carries the shadow; the outline overlay (`buildStrokeOutline`) is mounted on
12
+ * the box, beside the surface, and so is the reflection mirror. A picture with
13
+ * neither keeps its clip on the box, so it paints exactly as before.
14
+ *
15
+ * React already paints pictures this way (an unclipped container with the
16
+ * composite shadow, a clipped image surface, and `ShapeEffectOverlay`'s
17
+ * outline); this is the shared decision the other bindings map.
18
+ *
19
+ * @module render/picture-frame
20
+ */
21
+ import type { PptxElement } from 'ooxml-core/pptx';
22
+ import type { CssStyleMap } from './element-style-transform.js';
23
+ /** The clip a picture box carries when it has no frame. */
24
+ export interface PictureClipStyle {
25
+ overflow: 'hidden' | 'visible';
26
+ borderRadius?: string | undefined;
27
+ clipPath?: string | undefined;
28
+ }
29
+ /** How a binding styles a picture's box and, when it has a frame, its clipped surface. */
30
+ export interface PictureFrameLayers {
31
+ /** Spread onto the picture box after the container style. */
32
+ box: CssStyleMap;
33
+ /**
34
+ * Style of the inner layer that holds the picture's pixels (the `<img>`,
35
+ * tile, colour wash and filter defs) and clips them, or `undefined` when
36
+ * the box itself clips them (no frame).
37
+ */
38
+ surface: CssStyleMap | undefined;
39
+ }
40
+ /** The composite outer shadow a picture casts, or `undefined` without one. */
41
+ export declare function getPictureShadowFilter(element: PptxElement): string | undefined;
42
+ /** True when the picture paints an outline or an outer shadow past its box. */
43
+ export declare function hasPictureFrame(element: PptxElement): boolean;
44
+ /**
45
+ * Split a picture's clip between its box and an inner surface.
46
+ *
47
+ * Without a frame the box keeps `clip` exactly as before. With one, the box is
48
+ * unclipped (`overflow: visible`) and carries the shadow `filter`, and `clip`
49
+ * moves to a surface layer that fills the box.
50
+ */
51
+ export declare function getPictureFrameLayers(element: PptxElement, clip: PictureClipStyle): PictureFrameLayers;
52
+ //# sourceMappingURL=picture-frame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"picture-frame.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/picture-frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI7D,2DAA2D;AAC3D,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,0FAA0F;AAC1F,MAAM,WAAW,kBAAkB;IAClC,6DAA6D;IAC7D,GAAG,EAAE,WAAW,CAAC;IACjB;;;;OAIG;IACH,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;CACjC;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAK/E;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAK7D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,gBAAgB,GACpB,kBAAkB,CAcpB"}
@@ -26,8 +26,17 @@ export declare function resetSlideLayoutPath(slide: PptxSlide | undefined): stri
26
26
  * stored ref for a plain/custom/recent pick.
27
27
  */
28
28
  export declare function shapeFillChange(hex: string, ref?: PptxThemeColorRef): Partial<ShapeStyle>;
29
- /** The style change Home > Shape Outline commits for a picked swatch. Same `ref` contract as {@link shapeFillChange}. */
30
- export declare function shapeOutlineChange(hex: string, ref?: PptxThemeColorRef): Partial<ShapeStyle>;
29
+ /**
30
+ * The style change an outline colour pick commits (Home > Shape Outline and
31
+ * the inspector's line colour). Same `ref` contract as {@link shapeFillChange}.
32
+ *
33
+ * Pass the element's `current` style: a shape with no visible line (no width,
34
+ * or a zero width from `a:noFill`) only got the colour, so nothing appeared.
35
+ * Such a pick also turns the line on with {@link DEFAULT_STROKE_WIDTH} (1px,
36
+ * which is PowerPoint's default 0.75pt line) and a solid line fill, the way
37
+ * PowerPoint does; a line that already shows keeps its width and fill.
38
+ */
39
+ export declare function shapeOutlineChange(hex: string, ref?: PptxThemeColorRef, current?: Pick<ShapeStyle, 'strokeWidth'>): Partial<ShapeStyle>;
31
40
  /**
32
41
  * The swatch grid both pickers show: PowerPoint's Standard Colors row plus
33
42
  * black/white, which is what the vanilla binding already offered and what the
@@ -1 +1 @@
1
- {"version":3,"file":"ribbon-home-commands.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/ribbon-home-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEhF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGrF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAEzF;AAED,yHAAyH;AACzH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAE5F;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAalD,CAAC"}
1
+ {"version":3,"file":"ribbon-home-commands.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/ribbon-home-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIhF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGrF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAEzF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,MAAM,EACX,GAAG,CAAC,EAAE,iBAAiB,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,GACvC,OAAO,CAAC,UAAU,CAAC,CAQrB;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAalD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"share-session.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/share-session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAIpD,MAAM,WAAW,oBAAoB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IACjC,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,oBAAoB,GAAG,kBAAkB,CAM1F;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAEjF;AAED,wBAAgB,8BAA8B,CAC7C,MAAM,EAAE,kBAAkB,GACxB,mBAAmB,GAAG,IAAI,CAa5B;AAUD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,iBAAiB,GACvB,mBAAmB,GAAG,IAAI,CAgC5B;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAE9E;AAED,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,EACrF,QAAQ,CAAC,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7C,MAAM,CAeR"}
1
+ {"version":3,"file":"share-session.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/share-session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAIpD,MAAM,WAAW,oBAAoB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IACjC,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,oBAAoB,GAAG,kBAAkB,CAM1F;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAEjF;AAED,wBAAgB,8BAA8B,CAC7C,MAAM,EAAE,kBAAkB,GACxB,mBAAmB,GAAG,IAAI,CAa5B;AAUD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,iBAAiB,GACvB,mBAAmB,GAAG,IAAI,CAgC5B;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAE9E;AAED,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,EACrF,QAAQ,CAAC,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7C,MAAM,CAkBR"}
@@ -1,2 +1,3 @@
1
- export { makeSlideId, createBlankSlide } from 'ooxml-core/pptx/editor/render/slide-operations';
1
+ export { makeSlideId, createBlankSlide, captureSlideClipboard, createSlidePaste, insertSlidePaste, applySlidePasteTemplates, captureSlideClipboardTemplates, } from 'ooxml-core/pptx/editor/render/slide-operations';
2
+ export type { SlidePasteRequest } from 'ooxml-core/pptx/editor/render/slide-operations';
2
3
  //# sourceMappingURL=slide-operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slide-operations.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/slide-operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC"}
1
+ {"version":3,"file":"slide-operations.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/slide-operations.ts"],"names":[],"mappings":"AACA,OAAO,EACN,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,8BAA8B,GAC9B,MAAM,gDAAgD,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { PptxData, PptxElement, PptxHandler as Handler, PptxSlide } from 'ooxml-core/pptx';
2
+ export interface SlidePackageClipboardSnapshot {
3
+ handler: Handler;
4
+ slides: readonly PptxSlide[];
5
+ templateElementsBySlideId: Readonly<Record<string, readonly PptxElement[]>>;
6
+ allowExternalImages?: boolean;
7
+ editable?: boolean;
8
+ }
9
+ export interface SlidePackageClipboardPaste {
10
+ handler: Handler;
11
+ data: PptxData;
12
+ slides: PptxSlide[];
13
+ templateElementsBySlideId: Record<string, PptxElement[]>;
14
+ mediaUrls: Map<string, string>;
15
+ insertAt: number;
16
+ count: number;
17
+ }
18
+ export interface SlidePackageClipboardHost {
19
+ getSnapshot(): SlidePackageClipboardSnapshot | null;
20
+ /** Adopt the handler/model through the binding's single history transaction. */
21
+ commit(result: SlidePackageClipboardPaste): void;
22
+ }
23
+ /** Browser transport and resource ownership; all package operations remain in core. */
24
+ export declare function createSlidePackageClipboard(initialHost: SlidePackageClipboardHost): {
25
+ updateHost(next: SlidePackageClipboardHost): void;
26
+ copy(indexes: readonly number[]): Promise<void>;
27
+ paste(insertAt: number): Promise<void>;
28
+ dispose(): void;
29
+ };
30
+ export type SlidePackageClipboard = ReturnType<typeof createSlidePackageClipboard>;
31
+ //# sourceMappingURL=slide-package-clipboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slide-package-clipboard.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/slide-package-clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,IAAI,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAmBhG,MAAM,WAAW,6BAA6B;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC,CAAC,CAAC;IAC5E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,0BAA0B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACzD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,yBAAyB;IACzC,WAAW,IAAI,6BAA6B,GAAG,IAAI,CAAC;IACpD,gFAAgF;IAChF,MAAM,CAAC,MAAM,EAAE,0BAA0B,GAAG,IAAI,CAAC;CACjD;AAED,uFAAuF;AACvF,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,yBAAyB;IAchF,UAAU,OAAO,yBAAyB,GAAG,IAAI;IAG3C,IAAI,UAAU,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C/C,KAAK,WAAW,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4E5C,OAAO,IAAI,IAAI;EAQhB;AACD,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -54,11 +54,9 @@ export declare function buildSlideSorterContextMenuEntries(context: SlideSorterC
54
54
  /** The label to show for `entry`: the translation plus the selection-count suffix. */
55
55
  export declare function slideSorterContextMenuLabel(translated: string, entry: Pick<SlideSorterContextMenuEntry, 'countSuffix'>, selectedCount: number): string;
56
56
  /**
57
- * Where a paste lands: the current positions of the slides that were copied,
58
- * in deck order. A copied slide that has since been deleted is skipped, so a
59
- * paste after a delete never throws. Paste inserts a copy after each source
60
- * slide (a duplicate of the copied slides), which is React's long-standing
61
- * behaviour; positional paste is not implemented.
57
+ * Resolve slide identities to current positions in deck order. Used for sorter
58
+ * selection; paste itself uses the retained snapshots and destination in the
59
+ * shared sorter state, so deleting a copied source does not empty the clipboard.
62
60
  */
63
61
  export declare function slideSorterPasteIndexes(clipboardSlideIds: readonly string[], slides: readonly {
64
62
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"slide-sorter-context-menu.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/slide-sorter-context-menu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,+CAA+C;AAC/C,MAAM,MAAM,+BAA+B,GACxC,MAAM,GACN,OAAO,GACP,WAAW,GACX,eAAe,GACf,QAAQ,CAAC;AAEZ,0BAA0B;AAC1B,MAAM,WAAW,2BAA2B;IAC3C,EAAE,EAAE,+BAA+B,CAAC;IACpC,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,0CAA0C;AAC1C,MAAM,WAAW,6BAA6B;IAC7C,6EAA6E;IAC7E,aAAa,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,0EAA0E;IAC1E,oBAAoB,EAAE,OAAO,CAAC;CAC9B;AAED,wEAAwE;AACxE,eAAO,MAAM,4BAA4B;aACxC,IAAI,EAAE,mCAAmC;aACzC,KAAK,EAAE,oCAAoC;aAC3C,SAAS,EAAE,wCAAwC;aACnD,IAAI,EAAE,yCAAyC;aAC/C,IAAI,EAAE,yCAAyC;aAC/C,MAAM,EAAE,qCAAqC;CACpC,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,kCAAkC,CACjD,OAAO,EAAE,6BAA6B,GACpC,2BAA2B,EAAE,CA0B/B;AAED,sFAAsF;AACtF,wBAAgB,2BAA2B,CAC1C,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,IAAI,CAAC,2BAA2B,EAAE,aAAa,CAAC,EACvD,aAAa,EAAE,MAAM,GACnB,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACtC,iBAAiB,EAAE,SAAS,MAAM,EAAE,EACpC,MAAM,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GAC/B,MAAM,EAAE,CASV;AAED,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB;aACnC,EAAE,EAAE,WAAW;aAAE,QAAQ,EAAE,wBAAwB;EAC5C,CAAC"}
1
+ {"version":3,"file":"slide-sorter-context-menu.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/slide-sorter-context-menu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,+CAA+C;AAC/C,MAAM,MAAM,+BAA+B,GACxC,MAAM,GACN,OAAO,GACP,WAAW,GACX,eAAe,GACf,QAAQ,CAAC;AAEZ,0BAA0B;AAC1B,MAAM,WAAW,2BAA2B;IAC3C,EAAE,EAAE,+BAA+B,CAAC;IACpC,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,0CAA0C;AAC1C,MAAM,WAAW,6BAA6B;IAC7C,6EAA6E;IAC7E,aAAa,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,0EAA0E;IAC1E,oBAAoB,EAAE,OAAO,CAAC;CAC9B;AAED,wEAAwE;AACxE,eAAO,MAAM,4BAA4B;aACxC,IAAI,EAAE,mCAAmC;aACzC,KAAK,EAAE,oCAAoC;aAC3C,SAAS,EAAE,wCAAwC;aACnD,IAAI,EAAE,yCAAyC;aAC/C,IAAI,EAAE,yCAAyC;aAC/C,MAAM,EAAE,qCAAqC;CACpC,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,kCAAkC,CACjD,OAAO,EAAE,6BAA6B,GACpC,2BAA2B,EAAE,CA0B/B;AAED,sFAAsF;AACtF,wBAAgB,2BAA2B,CAC1C,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,IAAI,CAAC,2BAA2B,EAAE,aAAa,CAAC,EACvD,aAAa,EAAE,MAAM,GACnB,MAAM,CAER;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACtC,iBAAiB,EAAE,SAAS,MAAM,EAAE,EACpC,MAAM,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GAC/B,MAAM,EAAE,CASV;AAED,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB;aACnC,EAAE,EAAE,WAAW;aAAE,QAAQ,EAAE,wBAAwB;EAC5C,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import type { SlideSorterContextMenuContext } from './slide-sorter-context-menu.js';
2
2
  import type { SlideSorterKeyActionName } from './slide-sorter-keymap.js';
3
+ import type { SlidePasteRequest } from './slide-operations.js';
4
+ import type { PptxElement, PptxSlide } from 'ooxml-core/pptx';
3
5
  export interface SorterSlide {
4
6
  id: string;
5
7
  hidden?: boolean;
@@ -8,6 +10,8 @@ export interface SlideSorterState {
8
10
  selectedIds: string[];
9
11
  anchor: number;
10
12
  clipboardIds: string[];
13
+ clipboardSlides?: PptxSlide[];
14
+ clipboardTemplates?: Record<string, PptxElement[]>;
11
15
  zoom: number;
12
16
  }
13
17
  export declare function createSlideSorterState(slides: readonly SorterSlide[], active: number): SlideSorterState;
@@ -20,10 +24,13 @@ export declare function sorterSelectionIndexes(state: SlideSorterState, slides:
20
24
  export declare function sorterMenuContext(state: SlideSorterState, slides: readonly SorterSlide[]): SlideSorterContextMenuContext;
21
25
  export declare function sorterGridColumns(zoom: number): number;
22
26
  /** A decision descriptor; adapters apply deck operations in descending index order. */
23
- export declare function applySorterAction(state: SlideSorterState, slides: readonly SorterSlide[], action: SlideSorterKeyActionName | 'toggle-hidden', active: number): {
27
+ export declare function applySorterAction(state: SlideSorterState, slides: readonly SorterSlide[], action: SlideSorterKeyActionName | 'toggle-hidden', active: number, clipboardSourceSlides?: readonly PptxSlide[], clipboardTemplates?: Record<string, PptxElement[]>): {
24
28
  state: SlideSorterState;
25
29
  indexes: number[];
26
30
  operation?: 'duplicate' | 'delete' | 'toggle-hidden';
27
31
  close?: boolean;
32
+ paste?: SlidePasteRequest;
28
33
  };
34
+ /** The destination follows the last selected tile, or the active slide. */
35
+ export declare function sorterPasteInsertAt(indexes: readonly number[], active: number, slideCount: number): number;
29
36
  //# sourceMappingURL=slide-sorter-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slide-sorter-state.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/slide-sorter-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAEjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,MAAM,WAAW,gBAAgB;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACb;AACD,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,MAAM,EAAE,MAAM,GACZ,gBAAgB,CAOlB;AACD,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,SAAS,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,EAC5E,OAAO,UAAQ,GACb,gBAAgB,CAuBlB;AACD,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,SAAS,WAAW,EAAE,GAC5B,MAAM,EAAE,CAEV;AACD,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,SAAS,WAAW,EAAE,GAC5B,6BAA6B,CAS/B;AACD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AACD,uFAAuF;AACvF,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,MAAM,EAAE,wBAAwB,GAAG,eAAe,EAClD,MAAM,EAAE,MAAM,GACZ;IACF,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAC;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,CAyCA"}
1
+ {"version":3,"file":"slide-sorter-state.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/slide-sorter-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAEjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAMtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,MAAM,WAAW,gBAAgB;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACnD,IAAI,EAAE,MAAM,CAAC;CACb;AACD,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,MAAM,EAAE,MAAM,GACZ,gBAAgB,CAOlB;AACD,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,SAAS,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,EAC5E,OAAO,UAAQ,GACb,gBAAgB,CA2BlB;AACD,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,SAAS,WAAW,EAAE,GAC5B,MAAM,EAAE,CAEV;AACD,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,SAAS,WAAW,EAAE,GAC5B,6BAA6B,CAW/B;AACD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AACD,uFAAuF;AACvF,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,MAAM,EAAE,wBAAwB,GAAG,eAAe,EAClD,MAAM,EAAE,MAAM,EACd,qBAAqB,CAAC,EAAE,SAAS,SAAS,EAAE,EAC5C,kBAAkB,GAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAM,GACpD;IACF,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAC;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC1B,CA4DA;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GAChB,MAAM,CAER"}
@@ -1 +1 @@
1
- {"version":3,"file":"text-advanced.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/text-advanced.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-advanced.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/text-advanced.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@
16
16
  * `text-decoration` cannot keep painting underline over a run that was just
17
17
  * un-underlined.
18
18
  */
19
- import type { TextSegment, TextStyle } from 'ooxml-core/pptx';
19
+ import type { PptxElement, TextSegment, TextStyle } from 'ooxml-core/pptx';
20
20
  import type { TextDecorationFlag } from './selection-format-state.js';
21
21
  /**
22
22
  * Keys read from `element.textStyle` only: `a:bodyPr` attributes, the text
@@ -45,4 +45,44 @@ export declare function reconcileDecorationFlags(segments: readonly TextSegment[
45
45
  textStyle: TextStyle;
46
46
  textSegments: TextSegment[];
47
47
  };
48
+ /**
49
+ * Clear the other line-spacing mode when an update sets one. Without this a
50
+ * multiplier applied over an authored `a:spcPts` keeps the exact size, which
51
+ * the renderer prefers, so the edit shows nothing.
52
+ */
53
+ export declare function withExclusiveLineSpacing(updates: Partial<TextStyle>): Partial<TextStyle>;
54
+ /**
55
+ * Apply a body-wide paragraph update over each paragraph's own `a:pPr`.
56
+ *
57
+ * A paragraph's authored properties (`segment.paragraphProperties`) win over
58
+ * `element.textStyle` both on screen and on save, so an element-wide line
59
+ * spacing or indent change is invisible on any paragraph that declares its
60
+ * own. Only body-level keys the paragraph already declares (or whose
61
+ * line-spacing twin it declares) are rewritten, so nothing new is pinned onto
62
+ * its `a:pPr` and run-level keys such as `align` keep their old behaviour.
63
+ * Pass `updates` through {@link withExclusiveLineSpacing} first.
64
+ */
65
+ export declare function overrideParagraphProperties(segments: readonly TextSegment[], updates: Partial<TextStyle>): TextSegment[];
66
+ /** The parts of a text element below its body style that a paragraph update rewrites. */
67
+ export interface ParagraphLevelPatch {
68
+ textSegments?: TextSegment[];
69
+ paragraphIndents?: {
70
+ marginLeft?: number;
71
+ indent?: number;
72
+ }[];
73
+ }
74
+ /**
75
+ * The per-paragraph indents with an element-wide indent applied. The renderer
76
+ * reads these instead of `textStyle` once a body has any
77
+ * (`text-block-style.ts`), so without this an indent change only shows after
78
+ * a save and reload. Empty when there is nothing to rewrite.
79
+ */
80
+ export declare function overrideParagraphIndents(element: PptxElement, updates: Partial<TextStyle>): Pick<ParagraphLevelPatch, 'paragraphIndents'>;
81
+ /**
82
+ * The paragraph-level half of an element-wide text-style patch: the segments
83
+ * whose own `a:pPr` had to change and the rewritten indents. Empty when
84
+ * nothing below the body changes, so a plain body edit does not resend every
85
+ * segment. Pass `updates` through {@link withExclusiveLineSpacing} first.
86
+ */
87
+ export declare function paragraphOverridePatch(element: PptxElement, updates: Partial<TextStyle>): ParagraphLevelPatch;
48
88
  //# sourceMappingURL=text-style-scope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-style-scope.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/text-style-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGnE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,SAAS,CAoD5D,CAAC;AAEH,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,2EAA2E;AAC3E,MAAM,WAAW,oBAAoB;IACpC,0EAA0E;IAC1E,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACzB,6EAA6E;IAC7E,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CACxB;AAED,+GAA+G;AAC/G,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,oBAAoB,CAOtF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,KAAK,EAAE,SAAS,kBAAkB,EAAE,GAClC;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,WAAW,EAAE,CAAA;CAAE,CAwBvD"}
1
+ {"version":3,"file":"text-style-scope.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/text-style-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGnE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,SAAS,CAoD5D,CAAC;AAEH,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,2EAA2E;AAC3E,MAAM,WAAW,oBAAoB;IACpC,0EAA0E;IAC1E,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACzB,6EAA6E;IAC7E,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CACxB;AAED,+GAA+G;AAC/G,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,oBAAoB,CAOtF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,KAAK,EAAE,SAAS,kBAAkB,EAAE,GAClC;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,WAAW,EAAE,CAAA;CAAE,CAwBvD;AAQD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CASxF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAC1C,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GACzB,WAAW,EAAE,CAuBf;AAED,yFAAyF;AACzF,MAAM,WAAW,mBAAmB;IACnC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9D;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GACzB,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAgB/C;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GACzB,mBAAmB,CAQrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"text-style-update.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/text-style-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAOpE,0DAA0D;AAC1D,MAAM,WAAW,qBAAqB;IACrC,iFAAiF;IACjF,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5B,gFAAgF;IAChF,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACzC;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,EAC3B,SAAS,EAAE,mBAAmB,GAAG,IAAI,EACrC,QAAQ,CAAC,EAAE,SAAS,WAAW,EAAE,GAC/B,qBAAqB,CA+BvB"}
1
+ {"version":3,"file":"text-style-update.d.ts","sourceRoot":"","sources":["../../../src/pptx/render/text-style-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAapE,0DAA0D;AAC1D,MAAM,WAAW,qBAAqB;IACrC,iFAAiF;IACjF,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5B,gFAAgF;IAChF,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACzC;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,EAC3B,SAAS,EAAE,mBAAmB,GAAG,IAAI,EACrC,QAAQ,CAAC,EAAE,SAAS,WAAW,EAAE,GAC/B,qBAAqB,CA+CvB"}
@@ -1,3 +1,5 @@
1
+ export { slideClipboardLabels } from './slide-clipboard.js';
2
+ export type { PptxUiSlideClipboardElement } from './slide-clipboard.js';
1
3
  export type { PptxUiThemeEditorElement, ThemeEditorApplyEvent } from './theme-editor.js';
2
4
  export type { CompatToastsRequestEvent, PptxUiCompatToastsElement } from './office-alias-types.js';
3
5
  export type { DialogFooterRequestEvent, PptxUiDialogFooterElement } from './office-alias-types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pptx/web-components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pptx/web-components/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export interface PptxUiSlideClipboardElement extends HTMLElement {
2
+ copyAction: (() => Promise<void>) | undefined;
3
+ pasteAction: (() => Promise<void>) | undefined;
4
+ labels: {
5
+ copy: string;
6
+ paste: string;
7
+ copied: string;
8
+ pasted: string;
9
+ };
10
+ }
11
+ export declare function slideClipboardLabels(t: (key: string) => string): PptxUiSlideClipboardElement['labels'];
12
+ /** Shared async system-clipboard actions, with visible permission and import failures. */
13
+ export declare function definePptxSlideClipboard(registry: CustomElementRegistry): void;
14
+ //# sourceMappingURL=slide-clipboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slide-clipboard.d.ts","sourceRoot":"","sources":["../../../src/pptx/web-components/slide-clipboard.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,2BAA4B,SAAQ,WAAW;IAC/D,UAAU,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9C,WAAW,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IAC/C,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxE;AACD,wBAAgB,oBAAoB,CACnC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GACxB,2BAA2B,CAAC,QAAQ,CAAC,CAOvC;AACD,0FAA0F;AAC1F,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CA8E9E"}
package/dist/teams.js CHANGED
@@ -1,4 +1,4 @@
1
- export { EMOJI, OfficeUiAppRail, OfficeUiAvatar, OfficeUiCallControls, OfficeUiCallGrid, OfficeUiChannelList, OfficeUiChatComposer, OfficeUiChatList, OfficeUiPrejoin, QUICK_REACTIONS, TEAMS_TAGS, TeamsApp, TeamsChannelTab, TeamsContentPreview, TeamsController, TeamsElement, TeamsFilesPanel, TeamsSettings, applyTeamsProps, colorFor, createTeams, dayLabel, defineAppRail, defineAvatar, defineCallControls, defineCallGrid, defineChannelList, defineChatComposer, defineChatList, definePrejoin, defineTeamsApp, defineTeamsChannelTab, defineTeamsContentPreview, defineTeamsFilesPanel, defineTeamsSettings, formatElapsed, formatSize, formatTime, icon, listenTeamsEvents, loadConfig, loadIdentity, parseIceLines, registerTeams, safeStorage, saveConfig, saveIdentity, withStyles } from './chunk-SUHT5S2P.js';
1
+ export { EMOJI, OfficeUiAppRail, OfficeUiAvatar, OfficeUiCallControls, OfficeUiCallGrid, OfficeUiChannelList, OfficeUiChatComposer, OfficeUiChatList, OfficeUiPrejoin, QUICK_REACTIONS, TEAMS_TAGS, TeamsApp, TeamsChannelTab, TeamsContentPreview, TeamsController, TeamsElement, TeamsFilesPanel, TeamsSettings, applyTeamsProps, colorFor, createTeams, dayLabel, defineAppRail, defineAvatar, defineCallControls, defineCallGrid, defineChannelList, defineChatComposer, defineChatList, definePrejoin, defineTeamsApp, defineTeamsChannelTab, defineTeamsContentPreview, defineTeamsFilesPanel, defineTeamsSettings, formatElapsed, formatSize, formatTime, icon, listenTeamsEvents, loadConfig, loadIdentity, parseIceLines, registerTeams, safeStorage, saveConfig, saveIdentity, withStyles } from './chunk-SKYBYVYH.js';
2
2
  export { TeamsPresentationPreview, defineTeamsPresentationPreview } from './chunk-SNV6YKPC.js';
3
3
  import './chunk-S6ZXU442.js';
4
4
  import './chunk-O7APCA5N.js';
@@ -10,6 +10,8 @@ export interface PaneFieldContext {
10
10
  effects: readonly ReturnType<typeof visioShapeEffectValues>[];
11
11
  }
12
12
  export interface PaneField {
13
+ /** Connector settings are unavailable for a mixed or 2D selection. */
14
+ connectorOnly?: boolean;
13
15
  key: string;
14
16
  label: string;
15
17
  group: PaneFieldGroup;
@@ -1,6 +1,6 @@
1
1
  import type { VisioBackgroundStyle, VisioBorderStyle } from 'ooxml-core/visio';
2
2
  /** The Page Setup dialog's tabs, as Visio orders them. */
3
- export type VisioPageSetupTab = 'print' | 'size' | 'scale' | 'properties';
3
+ export type VisioPageSetupTab = 'print' | 'size' | 'scale' | 'properties' | 'layout';
4
4
  /** Design > Page Setup, Backgrounds and Borders & Titles, and View > Page Breaks. */
5
5
  export type VisioPageSetupCommand = {
6
6
  op: 'orientation';
@@ -16,7 +16,7 @@ export type SetupDialog = HTMLElement & {
16
16
  export type SetupButton = HTMLElement & {
17
17
  disabled: boolean;
18
18
  };
19
- export type SetupField = 'paper' | 'print-orientation' | 'size-mode' | 'width' | 'height' | 'scale-mode' | 'scale-page' | 'scale-drawing' | 'scale-unit' | 'type' | 'name' | 'back-page';
19
+ export type SetupField = 'paper' | 'print-orientation' | 'size-mode' | 'width' | 'height' | 'scale-mode' | 'scale-page' | 'scale-drawing' | 'scale-unit' | 'type' | 'name' | 'jump-code' | 'jump-style' | 'jump-direction-x' | 'jump-direction-y' | 'jump-size-x' | 'jump-size-y' | 'back-page';
20
20
  export type SetupControl = HTMLInputElement | SetupSelect;
21
21
  export declare const SETUP_TABS: readonly [VisioPageSetupTab, string][];
22
22
  export declare const UNIT_INCHES: Record<string, number>;
@@ -57,7 +57,7 @@ export type VisioTextFeature = 'text-dialog' | 'paragraph-dialog' | 'text-block'
57
57
  /** Insert-tab items that act on the page or the selected shape. */
58
58
  export type VisioInsertItem = 'picture' | 'link' | 'screen-tip';
59
59
  /** Review and Process tab commands: comments, shape reports, diagram checks and subprocesses. */
60
- export type VisioReviewCommand = 'new-comment' | 'page-comment' | 'comments-pane' | 'shape-reports' | 'check-diagram' | 'issues-window' | 'ignore-issue' | 'rule-set' | 'subprocess-new' | 'subprocess-existing' | 'subprocess-selection';
60
+ export type VisioReviewCommand = 'check-accessibility' | 'alt-text' | 'page-alt-text' | 'new-comment' | 'page-comment' | 'comments-pane' | 'shape-reports' | 'check-diagram' | 'issues-window' | 'ignore-issue' | 'rule-set' | 'subprocess-new' | 'subprocess-existing' | 'subprocess-selection';
61
61
  /** Insert > Diagram Parts: a container or callout in one of its styles. */
62
62
  export type VisioDiagramPartAction = {
63
63
  type: 'diagram-part';
@@ -0,0 +1,17 @@
1
+ import type { ViewerController, ViewerState } from './controller.js';
2
+ import { InsertDialog } from './viewer-insert-dialog.js';
3
+ /** Review accessibility tools, using native ShapeSheet metadata and the normal edit history. */
4
+ export declare class ViewerAccessibility {
5
+ #private;
6
+ private readonly root;
7
+ private readonly controller;
8
+ private readonly announce;
9
+ readonly alt: InsertDialog;
10
+ readonly report: InsertDialog;
11
+ readonly results: HTMLElement;
12
+ constructor(root: ShadowRoot, controller: ViewerController, announce: (text: string) => void);
13
+ edit(pageOnly?: boolean): void;
14
+ check(): void;
15
+ close(): void;
16
+ render(state: ViewerState): void;
17
+ }
@@ -13,6 +13,7 @@ export interface FieldSpec {
13
13
  choices?: boolean;
14
14
  maxLength?: number;
15
15
  placeholder?: string;
16
+ multiline?: boolean;
16
17
  /** A checkbox (read with `checked`) or a number field instead of text. */
17
18
  input?: 'checkbox' | 'number';
18
19
  }
@@ -23,7 +24,7 @@ export interface FieldSpec {
23
24
  export declare class InsertDialog {
24
25
  readonly dialog: Dialog;
25
26
  readonly error: HTMLElement;
26
- readonly fields: Map<string, HTMLInputElement | HTMLSelectElement>;
27
+ readonly fields: Map<string, HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>;
27
28
  readonly buttons: Map<string, Button>;
28
29
  constructor(root: ShadowRoot, className: string, heading: string, specs: readonly FieldSpec[], buttons: readonly string[], press: (button: string) => void);
29
30
  value(name: string): string;
@@ -4,6 +4,7 @@ import { ViewerComments } from './viewer-comments.js';
4
4
  import { ViewerIssues } from './viewer-issues.js';
5
5
  import { ViewerShapeReport } from './viewer-shape-report.js';
6
6
  import { ViewerSubprocess } from './viewer-subprocess.js';
7
+ import { ViewerAccessibility } from './viewer-accessibility.js';
7
8
  type Run = (action: () => Promise<void>, success: string) => void;
8
9
  type ReviewAction = Extract<VisioRibbonAction, {
9
10
  type: 'review';
@@ -15,6 +16,7 @@ export declare class ViewerReview {
15
16
  readonly issues: ViewerIssues;
16
17
  readonly report: ViewerShapeReport;
17
18
  readonly subprocess: ViewerSubprocess;
19
+ readonly accessibility: ViewerAccessibility;
18
20
  constructor(root: ShadowRoot, viewport: HTMLElement, controller: ViewerController, announce: (message: string) => void, run: Run);
19
21
  run(action: ReviewAction): void;
20
22
  wire(): () => void;