pptx-vue-viewer 1.1.57 → 1.1.59

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 (51) hide show
  1. package/dist/gif-encoder-CcWUggji.js +2 -0
  2. package/dist/gif-encoder-CcWUggji.js.br +3 -0
  3. package/dist/gif-encoder-CcWUggji.js.gz +0 -0
  4. package/dist/gif-encoder-DumqPjSP.cjs +2 -0
  5. package/dist/gif-encoder-DumqPjSP.cjs.br +0 -0
  6. package/dist/gif-encoder-DumqPjSP.cjs.gz +0 -0
  7. package/dist/index.cjs +1 -1
  8. package/dist/index.cjs.br +0 -0
  9. package/dist/index.cjs.gz +0 -0
  10. package/dist/index.js +1 -1
  11. package/dist/index.js.br +0 -0
  12. package/dist/index.js.gz +0 -0
  13. package/dist/viewer/PowerPointViewer.vue.d.ts.map +1 -1
  14. package/dist/viewer/components/SlideCanvas.vue.d.ts +6 -1
  15. package/dist/viewer/components/SlideCanvas.vue.d.ts.map +1 -1
  16. package/dist/viewer/components/SlideStage.vue.d.ts +16 -6
  17. package/dist/viewer/components/SlideStage.vue.d.ts.map +1 -1
  18. package/dist/viewer/composables/collaboration-types.d.ts +5 -0
  19. package/dist/viewer/composables/collaboration-types.d.ts.map +1 -1
  20. package/dist/viewer/composables/template-editing.d.ts +39 -16
  21. package/dist/viewer/composables/template-editing.d.ts.map +1 -1
  22. package/dist/viewer/composables/useCollaboration.d.ts.map +1 -1
  23. package/dist/viewer/composables/useEditorHistory.d.ts +5 -1
  24. package/dist/viewer/composables/useEditorHistory.d.ts.map +1 -1
  25. package/dist/viewer/composables/useEditorOperations.d.ts +8 -0
  26. package/dist/viewer/composables/useEditorOperations.d.ts.map +1 -1
  27. package/dist/viewer/composables/useLoadContent.d.ts +8 -1
  28. package/dist/viewer/composables/useLoadContent.d.ts.map +1 -1
  29. package/dist/viewer/index.cjs +1 -1
  30. package/dist/viewer/index.cjs.br +0 -0
  31. package/dist/viewer/index.cjs.gz +0 -0
  32. package/dist/viewer/index.js +1 -1
  33. package/dist/viewer/index.js.br +0 -0
  34. package/dist/viewer/index.js.gz +0 -0
  35. package/dist/{viewer-NbF7Qm6F.js → viewer-DGEv39Ny.js} +2317 -2247
  36. package/dist/viewer-DGEv39Ny.js.br +0 -0
  37. package/dist/viewer-DGEv39Ny.js.gz +0 -0
  38. package/dist/{viewer-BuN7D1QY.cjs → viewer-Pr4mhkIE.cjs} +2323 -2253
  39. package/dist/viewer-Pr4mhkIE.cjs.br +0 -0
  40. package/dist/viewer-Pr4mhkIE.cjs.gz +0 -0
  41. package/package.json +1 -1
  42. package/dist/gif-encoder-CzVWhNrA.cjs +0 -2
  43. package/dist/gif-encoder-CzVWhNrA.cjs.br +0 -0
  44. package/dist/gif-encoder-CzVWhNrA.cjs.gz +0 -0
  45. package/dist/gif-encoder-DTPJIT9a.js +0 -2
  46. package/dist/gif-encoder-DTPJIT9a.js.br +0 -0
  47. package/dist/gif-encoder-DTPJIT9a.js.gz +0 -0
  48. package/dist/viewer-BuN7D1QY.cjs.br +0 -0
  49. package/dist/viewer-BuN7D1QY.cjs.gz +0 -0
  50. package/dist/viewer-NbF7Qm6F.js.br +0 -0
  51. package/dist/viewer-NbF7Qm6F.js.gz +0 -0
@@ -0,0 +1,2 @@
1
+ import { L as r } from "./viewer-DGEv39Ny.js";
2
+ export { r as encodeGif };
@@ -0,0 +1,3 @@
1
+ �$�import { L as r } from "./viewer-DGEv39Ny.js";
2
+ export { r as encodeGif };
3
+ 
Binary file
@@ -0,0 +1,2 @@
1
+ const e = require("./viewer-Pr4mhkIE.cjs");
2
+ exports.encodeGif = e.encodeGif;
Binary file
Binary file
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const e = require("./viewer-BuN7D1QY.cjs");
2
+ const e = require("./viewer-Pr4mhkIE.cjs");
3
3
  exports.ElementRenderer = e.ElementRenderer_default, exports.PowerPointViewer = e.PowerPointViewer_default, exports.SlideCanvas = e.SlideCanvas_default, exports.SlideStage = e.SlideStage_default, exports.cn = e.cn, exports.defaultCssVars = e.defaultCssVars, exports.defaultRadius = e.defaultRadius, exports.defaultThemeColors = e.defaultThemeColors, exports.provideViewerTheme = e.provideViewerTheme, exports.themeToCssVars = e.themeToCssVars, exports.useThemeStyle = e.useThemeStyle, exports.useViewerTheme = e.useViewerTheme;
package/dist/index.cjs.br CHANGED
Binary file
package/dist/index.cjs.gz CHANGED
Binary file
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { A as a, B as s, F as e, I as r, O as i, P as o, a as t, c as n, k as d, o as l, s as m, t as w } from "./viewer-NbF7Qm6F.js";
1
+ import { A as a, B as s, F as e, I as r, O as i, P as o, a as t, c as n, k as d, o as l, s as m, t as w } from "./viewer-DGEv39Ny.js";
2
2
  export { n as ElementRenderer, w as PowerPointViewer, t as SlideCanvas, m as SlideStage, l as cn, o as defaultCssVars, e as defaultRadius, r as defaultThemeColors, i as provideViewerTheme, s as themeToCssVars, d as useThemeStyle, a as useViewerTheme };
package/dist/index.js.br CHANGED
Binary file
package/dist/index.js.gz CHANGED
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"PowerPointViewer.vue.d.ts","sourceRoot":"","sources":["../../src/viewer/PowerPointViewer.vue"],"names":[],"mappings":"AA+/FA,OAAO,KAAK,EACX,mBAAmB,EAEnB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,SAAS,CAAC;AAipIjB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;6EAKhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"PowerPointViewer.vue.d.ts","sourceRoot":"","sources":["../../src/viewer/PowerPointViewer.vue"],"names":[],"mappings":"AAikGA,OAAO,KAAK,EACX,mBAAmB,EAEnB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,SAAS,CAAC;AA6sIjB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;6EAKhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1,4 +1,4 @@
1
- import { PptxSlide } from 'pptx-viewer-core';
1
+ import { PptxElement, PptxSlide } from 'pptx-viewer-core';
2
2
  import { CanvasSize } from '../types';
3
3
  /**
4
4
  * SlideCanvas - Vue port of the React `SlideCanvas.tsx` (viewer-first subset).
@@ -22,6 +22,11 @@ type __VLS_Props = {
22
22
  zoom?: number;
23
23
  /** Show the horizontal/vertical rulers along the slide edges (View ▸ Rulers). */
24
24
  showRulers?: boolean;
25
+ /**
26
+ * Master/layout (template) elements for the active slide, rendered by
27
+ * {@link SlideStage} in a dedicated layer behind the slide content.
28
+ */
29
+ templateElements?: PptxElement[];
25
30
  /**
26
31
  * When on, master/layout (template) elements become interactive on the canvas
27
32
  * and gain a visual affordance. Threaded down to {@link SlideStage}.
@@ -1 +1 @@
1
- {"version":3,"file":"SlideCanvas.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/SlideCanvas.vue"],"names":[],"mappings":"AA2HA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAKlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAI3C;;;;;;;;;;;;;GAaG;AACH,KAAK,WAAW,GAAG;IAClB,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAoIF,QAAA,IAAI,QAAQ,IAAY,CAAE;AAC1B,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAOhD,QAAA,MAAM,UAAU;;;;kFAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"SlideCanvas.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/SlideCanvas.vue"],"names":[],"mappings":"AAiIA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAI3C;;;;;;;;;;;;;GAaG;AACH,KAAK,WAAW,GAAG;IAClB,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC;IACjC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAsIF,QAAA,IAAI,QAAQ,IAAY,CAAE;AAC1B,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAOhD,QAAA,MAAM,UAAU;;;;kFAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { PptxSlide } from 'pptx-viewer-core';
1
+ import { PptxElement, PptxSlide } from 'pptx-viewer-core';
2
2
  import { CanvasSize } from '../types';
3
3
  /**
4
4
  * SlideStage - the fixed-size slide surface (background + absolutely-positioned
@@ -7,6 +7,11 @@ import { CanvasSize } from '../types';
7
7
  * Extracted so it can be reused at full size by `SlideCanvas` and at tiny scale
8
8
  * by the thumbnail rail. It owns no chrome (no centering, margins, or shadow);
9
9
  * the host decides layout.
10
+ *
11
+ * Template (master/layout) elements are rendered in a DEDICATED layer behind the
12
+ * slide content (lower z), supplied separately via `templateElements`. They are
13
+ * interactive (and gain the editable affordance) only while `editTemplateMode`
14
+ * is on; otherwise they render but are locked.
10
15
  */
11
16
  type __VLS_Props = {
12
17
  slide: PptxSlide | undefined;
@@ -16,15 +21,20 @@ type __VLS_Props = {
16
21
  /** Mark elements with the `data-pptx-element` interaction hook (main canvas only). */
17
22
  interactive?: boolean;
18
23
  /**
19
- * When on, master/layout (template) elements become interactive and get a
20
- * visual affordance; when off they render but are locked. Only the main
21
- * editable canvas threads this through.
24
+ * Master/layout elements pulled out of the slide at load time, rendered in a
25
+ * dedicated layer behind the slide content.
26
+ */
27
+ templateElements?: PptxElement[];
28
+ /**
29
+ * When on, the template-layer elements become interactive and gain a visual
30
+ * affordance; when off they render but are locked. Only the main editable
31
+ * canvas threads this through.
22
32
  */
23
33
  editTemplateMode?: boolean;
24
34
  };
25
- declare var __VLS_6: {};
35
+ declare var __VLS_11: {};
26
36
  type __VLS_Slots = {} & {
27
- default?: (props: typeof __VLS_6) => any;
37
+ default?: (props: typeof __VLS_11) => any;
28
38
  };
29
39
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
30
40
  scale: number;
@@ -1 +1 @@
1
- {"version":3,"file":"SlideStage.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/SlideStage.vue"],"names":[],"mappings":"AAmFA,OAAO,KAAK,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C;;;;;;;GAOG;AACH,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAqFH,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAK/C,QAAA,MAAM,UAAU;WArGN,MAAM;6EAwGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"SlideStage.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/SlideStage.vue"],"names":[],"mappings":"AAuGA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C;;;;;;;;;;;;GAYG;AACH,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC;IACjC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AA2GH,QAAA,IAAI,QAAQ,IAAY,CAAE;AAC1B,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAKhD,QAAA,MAAM,UAAU;WAhIN,MAAM;6EAmId,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -20,6 +20,11 @@ export interface UseCollaborationOptions {
20
20
  * when role === 'owner' and config.onWriteBack is provided.
21
21
  */
22
22
  getSourceBytes?: () => Uint8Array | null;
23
+ /**
24
+ * Return the separate per-slide master/layout (template) element store so the
25
+ * elected-writer write-back can merge template edits back into the saved file.
26
+ */
27
+ getTemplateElements?: () => Record<string, import('pptx-viewer-core').PptxElement[]>;
23
28
  }
24
29
  /**
25
30
  * A remote peer's full presence: identity plus the live cursor, selection and
@@ -1 +1 @@
1
- {"version":3,"file":"collaboration-types.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/collaboration-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collaboration-types.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/collaboration-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACjF;;;GAGG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAE3E,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACvC,oEAAoE;IACpE,MAAM,EAAE,GAAG,CAAC,OAAO,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC;IACpD,8DAA8D;IAC9D,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,kBAAkB,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IACzE,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACnC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACpC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC;IACzC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,kBAAkB,EAAE,WAAW,EAAE,CAAC,CAAC;CACrF;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,GAAG,CAAC,OAAO,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;IAC3D,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACxB,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7B,eAAe,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;IACvC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,gBAAgB,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrC,kBAAkB,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/C,qBAAqB,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,KAAK,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC9C;AAGD,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC5C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV"}
@@ -1,23 +1,46 @@
1
- import { PptxElement } from 'pptx-viewer-core';
1
+ import { PptxElement, PptxSlide } from 'pptx-viewer-core';
2
2
  /**
3
- * Whether `element` may be selected / dragged / deleted / edited on the canvas.
4
- *
5
- * - The canvas as a whole must be interactive (`canvasInteractive`); thumbnails,
6
- * the export stage and presentation mode pass `false` and gate everything off.
7
- * - Normal (non-template) slide elements are always interactive when the canvas
8
- * is.
9
- * - Template elements are interactive only while `editTemplateMode` is on.
3
+ * Per-slide store of the master/layout (template) elements pulled out of each
4
+ * slide at load time, keyed by `slide.id`. Owned by the load composable and
5
+ * threaded into the render / edit / save / history paths.
10
6
  */
11
- export declare function isElementInteractive(element: PptxElement, canvasInteractive: boolean, editTemplateMode: boolean): boolean;
7
+ export type TemplateElementMap = Record<string, PptxElement[]>;
8
+ /** The result of splitting a deck into editable slides + their template store. */
9
+ export interface PartitionedSlides {
10
+ /** Slides whose `.elements` no longer contain any template element. */
11
+ slides: PptxSlide[];
12
+ /** Template elements pulled out of each slide, keyed by `slide.id`. */
13
+ templateElementsBySlideId: TemplateElementMap;
14
+ }
12
15
  /**
13
- * Whether the element id may be selected on the canvas. Mirrors
14
- * {@link isElementInteractive} but keyed on the id alone, for the pointer-down
15
- * delegation path (which only knows the `data-element-id`).
16
+ * Split every slide's `elements` into normal content (kept on the slide) and
17
+ * template elements (accumulated into a per-slide store). The core loader merges
18
+ * template elements to the front of `slide.elements` (behind the content); this
19
+ * reverses that merge while preserving order. Pure: returns new arrays and never
20
+ * mutates the input.
16
21
  */
17
- export declare function isElementIdInteractive(elementId: string, editTemplateMode: boolean): boolean;
22
+ export declare function partitionTemplateElements(slides: PptxSlide[]): PartitionedSlides;
23
+ /**
24
+ * Re-assemble the slides for serialisation by prepending each slide's template
25
+ * elements (so they sit behind the slide content, matching the core loader's
26
+ * ordering). Every save path must route through this so template edits persist.
27
+ * Pure: returns new slide objects and never mutates the input.
28
+ */
29
+ export declare function buildSaveSlides(slides: PptxSlide[], templateElementsBySlideId: TemplateElementMap): PptxSlide[];
30
+ /**
31
+ * Immutably replace one slide's template-element list in the map.
32
+ */
33
+ export declare function setTemplateElements(map: TemplateElementMap, slideId: string, elements: PptxElement[]): TemplateElementMap;
34
+ /**
35
+ * Look up an element by id in the template store for a given slide. Returns
36
+ * `undefined` when the slide has no template store or the id is absent.
37
+ */
38
+ export declare function findTemplateElement(map: TemplateElementMap, slideId: string | undefined, elementId: string): PptxElement | undefined;
18
39
  /**
19
- * Whether the element should show the "editable template" visual affordance:
20
- * only template elements, and only while edit-template mode is on.
40
+ * Whether the element id may be selected on the canvas. Template ids
41
+ * (`master-` / `layout-` prefix) are selectable only while edit-template mode is
42
+ * on; normal ids are always selectable. Keyed on the id alone, for the
43
+ * pointer-down delegation path (which only knows the `data-element-id`).
21
44
  */
22
- export declare function isTemplateEditingHighlight(element: PptxElement, editTemplateMode: boolean): boolean;
45
+ export declare function isElementIdInteractive(elementId: string, editTemplateMode: boolean): boolean;
23
46
  //# sourceMappingURL=template-editing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-editing.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/template-editing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,WAAW,EACpB,iBAAiB,EAAE,OAAO,EAC1B,gBAAgB,EAAE,OAAO,GACvB,OAAO,CAKT;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAE5F;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACzC,OAAO,EAAE,WAAW,EACpB,gBAAgB,EAAE,OAAO,GACvB,OAAO,CAET"}
1
+ {"version":3,"file":"template-editing.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/template-editing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG/D;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;AAE/D,kFAAkF;AAClF,MAAM,WAAW,iBAAiB;IACjC,uEAAuE;IACvE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,uEAAuE;IACvE,yBAAyB,EAAE,kBAAkB,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAYhF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,SAAS,EAAE,EACnB,yBAAyB,EAAE,kBAAkB,GAC3C,SAAS,EAAE,CAQb;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,GACrB,kBAAkB,CAEpB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAClC,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,GACf,WAAW,GAAG,SAAS,CAKzB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAE5F"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCollaboration.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useCollaboration.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EACX,uBAAuB,EACvB,sBAAsB,EAItB,cAAc,EACd,MAAM,uBAAuB,CAAC;AAoB/B,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;AAEhF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CAqVzF"}
1
+ {"version":3,"file":"useCollaboration.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useCollaboration.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EACX,uBAAuB,EACvB,sBAAsB,EAItB,cAAc,EACd,MAAM,uBAAuB,CAAC;AAqB/B,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;AAEhF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CAwVzF"}
@@ -1,5 +1,6 @@
1
1
  import { PptxSlide } from 'pptx-viewer-core';
2
2
  import { ComputedRef, Ref } from 'vue';
3
+ import { TemplateElementMap } from './template-editing';
3
4
  export interface EditorHistoryResult {
4
5
  /** True when there is at least one snapshot to undo to. */
5
6
  canUndo: ComputedRef<boolean>;
@@ -20,6 +21,9 @@ export interface EditorHistoryResult {
20
21
  /**
21
22
  * @param slides Reactive reference to the live slide array the editor mutates.
22
23
  * A `shallowRef` is recommended for large decks.
24
+ * @param templateElementsBySlideId Optional reactive store of the per-slide
25
+ * master/layout (template) elements, snapshotted alongside slides
26
+ * so edits in `editTemplateMode` are undoable.
23
27
  */
24
- export declare function useEditorHistory(slides: Ref<PptxSlide[]>): EditorHistoryResult;
28
+ export declare function useEditorHistory(slides: Ref<PptxSlide[]>, templateElementsBySlideId?: Ref<TemplateElementMap>): EditorHistoryResult;
25
29
  //# sourceMappingURL=useEditorHistory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useEditorHistory.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useEditorHistory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AA2C5C,MAAM,WAAW,mBAAmB;IACnC,2DAA2D;IAC3D,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,2DAA2D;IAC3D,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B;;;OAGG;IACH,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,oEAAoE;IACpE,YAAY,EAAE,MAAM,IAAI,CAAC;CACzB;AAMD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,mBAAmB,CA2D9E"}
1
+ {"version":3,"file":"useEditorHistory.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useEditorHistory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AA2C7D,MAAM,WAAW,mBAAmB;IACnC,2DAA2D;IAC3D,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,2DAA2D;IAC3D,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B;;;OAGG;IACH,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,oEAAoE;IACpE,YAAY,EAAE,MAAM,IAAI,CAAC;CACzB;AAeD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,EACxB,yBAAyB,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAC,GACjD,mBAAmB,CA8ErB"}
@@ -1,5 +1,6 @@
1
1
  import { PptxElement, PptxSlide } from 'pptx-viewer-core';
2
2
  import { ComputedRef, Ref } from 'vue';
3
+ import { TemplateElementMap } from './template-editing';
3
4
  /**
4
5
  * useEditorOperations: element CRUD + transform operations over the active
5
6
  * slide of a reactive `PptxSlide[]`.
@@ -44,6 +45,13 @@ export interface UseEditorOperationsInput {
44
45
  * deselected. When omitted, an internally-owned selection ref is used.
45
46
  */
46
47
  selectedElementIds?: Ref<string[]>;
48
+ /**
49
+ * Optional separate store of the per-slide master/layout (template) elements.
50
+ * When provided, id-routed operations (update / remove / transform / text /
51
+ * z-order) targeting a template id (`master-` / `layout-` prefix) mutate this
52
+ * store for the active slide instead of `slides`.
53
+ */
54
+ templateElementsBySlideId?: Ref<TemplateElementMap>;
47
55
  }
48
56
  export interface EditorOperations {
49
57
  /** Resolved active slide (or `undefined` when the index is out of range). */
@@ -1 +1 @@
1
- {"version":3,"file":"useEditorOperations.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useEditorOperations.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,0FAA0F;AAC1F,MAAM,WAAW,gBAAgB;IAChC,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACxC,uEAAuE;IACvE,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IACzB,6DAA6D;IAC7D,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B;;;OAGG;IACH,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAChC,6EAA6E;IAC7E,WAAW,EAAE,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAChD,kFAAkF;IAClF,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAElC,2DAA2D;IAC3D,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C,qFAAqF;IACrF,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC1E,8EAA8E;IAC9E,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,+DAA+D;IAC/D,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3E,6EAA6E;IAC7E,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtE;;;OAGG;IACH,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC5D,qEAAqE;IACrE,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,sEAAsE;IACtE,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,8EAA8E;IAC9E,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD;;;;OAIG;IACH,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9E;AAMD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,gBAAgB,CAwLrF"}
1
+ {"version":3,"file":"useEditorOperations.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useEditorOperations.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,0FAA0F;AAC1F,MAAM,WAAW,gBAAgB;IAChC,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACxC,uEAAuE;IACvE,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IACzB,6DAA6D;IAC7D,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B;;;OAGG;IACH,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,gBAAgB;IAChC,6EAA6E;IAC7E,WAAW,EAAE,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAChD,kFAAkF;IAClF,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAElC,2DAA2D;IAC3D,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C,qFAAqF;IACrF,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC1E,8EAA8E;IAC9E,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,+DAA+D;IAC/D,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3E,6EAA6E;IAC7E,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtE;;;OAGG;IACH,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC5D,qEAAqE;IACrE,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,sEAAsE;IACtE,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,8EAA8E;IAC9E,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD;;;;OAIG;IACH,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9E;AAMD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,gBAAgB,CAgOrF"}
@@ -1,6 +1,7 @@
1
1
  import { ParsedSignature, ParsedTableStyleMap, PptxAppProperties, PptxCoreProperties, PptxCustomProperty, PptxCustomShow, PptxEmbeddedFont, PptxHandoutMaster, PptxHeaderFooter, PptxLayoutOption, PptxNotesMaster, PptxSaveFormat, PptxSection, PptxSlide, PptxSlideMaster, PptxTheme, PptxHandler } from 'pptx-viewer-core';
2
2
  import { MaybeRefOrGetter, Ref, ShallowRef } from 'vue';
3
3
  import { CanvasSize } from '../types';
4
+ import { TemplateElementMap } from './template-editing';
4
5
  /**
5
6
  * `useLoadContent`: Vue port of the React hook of the same name.
6
7
  *
@@ -21,8 +22,14 @@ import { CanvasSize } from '../types';
21
22
  * added here as the corresponding features are ported.
22
23
  */
23
24
  export interface UseLoadContentResult {
24
- /** Parsed slides (with image Blob URLs patched in). */
25
+ /** Parsed slides (with image Blob URLs patched in), template elements removed. */
25
26
  slides: ShallowRef<PptxSlide[]>;
27
+ /**
28
+ * Master/layout (template) elements pulled out of each slide at load time,
29
+ * keyed by `slide.id`. Edited in `editTemplateMode` and merged back (behind the
30
+ * slide content) by every save path via {@link buildSaveSlides}.
31
+ */
32
+ templateElementsBySlideId: ShallowRef<TemplateElementMap>;
26
33
  /** Slide canvas size in pixels. */
27
34
  canvasSize: Ref<CanvasSize>;
28
35
  /** Resolved presentation theme. */
@@ -1 +1 @@
1
- {"version":3,"file":"useLoadContent.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useLoadContent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useLoadContent.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useLoadContent.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const e = require("../viewer-BuN7D1QY.cjs");
2
+ const e = require("../viewer-Pr4mhkIE.cjs");
3
3
  exports.ChartRenderer = e.ChartRenderer_default, exports.ConnectorRenderer = e.ConnectorRenderer_default, exports.DEFAULT_CANVAS_HEIGHT = e.DEFAULT_CANVAS_HEIGHT, exports.DEFAULT_CANVAS_WIDTH = e.DEFAULT_CANVAS_WIDTH, exports.DEFAULT_FILL_COLOR = e.DEFAULT_FILL_COLOR, exports.DEFAULT_STROKE_COLOR = e.DEFAULT_STROKE_COLOR, exports.DEFAULT_TEXT_COLOR = e.DEFAULT_TEXT_COLOR, exports.ElementRenderer = e.ElementRenderer_default, exports.EquationRenderer = e.EquationRenderer_default, exports.InkRenderer = e.InkRenderer_default, exports.Model3DRenderer = e.Model3DRenderer_default, exports.OleRenderer = e.OleRenderer_default, exports.PowerPointViewer = e.PowerPointViewer_default, exports.SlideCanvas = e.SlideCanvas_default, exports.SlideStage = e.SlideStage_default, exports.SmartArtRenderer = e.SmartArtRenderer_default, exports.TableRenderer = e.TableRenderer_default, exports.WordArtText = e.WordArtText_default, exports.ZoomRenderer = e.ZoomRenderer_default, exports.buildInitialGuides = e.buildInitialGuides, exports.collectImagePaths = e.collectImagePaths, exports.collectMediaElements = e.collectMediaElements, exports.getContainerStyle = e.getContainerStyle, exports.getImageSrc = e.getImageSrc, exports.getResolvedShapeClipPath = e.getResolvedShapeClipPath, exports.getResolvedShapeClipPathFor = e.getResolvedShapeClipPathFor, exports.getShapeFillStrokeStyle = e.getShapeFillStrokeStyle, exports.getTextBlockStyle = e.getTextBlockStyle, exports.useEditorHistory = e.useEditorHistory, exports.useEditorOperations = e.useEditorOperations, exports.useLoadContent = e.useLoadContent;
Binary file
Binary file
@@ -1,2 +1,2 @@
1
- import { C as a, D as s, E as e, M as r, N as n, R as d, S as t, T as o, _ as R, a as i, b as l, c as m, d as S, f as w, g as C, h as p, i as v, j as x, l as E, m as T, n as b, p as c, r as f, s as g, t as h, u as j, v as u, w as A, x as D, y as M, z as P } from "../viewer-NbF7Qm6F.js";
1
+ import { C as a, D as s, E as e, M as r, N as n, R as d, S as t, T as o, _ as R, a as i, b as l, c as m, d as S, f as w, g as C, h as p, i as v, j as x, l as E, m as T, n as b, p as c, r as f, s as g, t as h, u as j, v as u, w as A, x as D, y as M, z as P } from "../viewer-DGEv39Ny.js";
2
2
  export { u as ChartRenderer, R as ConnectorRenderer, a as DEFAULT_CANVAS_HEIGHT, A as DEFAULT_CANVAS_WIDTH, o as DEFAULT_FILL_COLOR, e as DEFAULT_STROKE_COLOR, s as DEFAULT_TEXT_COLOR, m as ElementRenderer, C as EquationRenderer, p as InkRenderer, T as Model3DRenderer, c as OleRenderer, h as PowerPointViewer, i as SlideCanvas, g as SlideStage, w as SmartArtRenderer, S as TableRenderer, j as WordArtText, E as ZoomRenderer, x as buildInitialGuides, r as collectImagePaths, n as collectMediaElements, M as getContainerStyle, l as getImageSrc, d as getResolvedShapeClipPath, P as getResolvedShapeClipPathFor, D as getShapeFillStrokeStyle, t as getTextBlockStyle, v as useEditorHistory, f as useEditorOperations, b as useLoadContent };
Binary file
Binary file