pptx-react-viewer 1.23.0 → 1.24.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 (104) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +27 -0
  3. package/dist/{Model3DScene-4XNBDASE.mjs → Model3DScene-QTNGCODM.mjs} +2 -2
  4. package/dist/Model3DScene-QTNGCODM.mjs.br +0 -0
  5. package/dist/Model3DScene-QTNGCODM.mjs.gz +0 -0
  6. package/dist/{Model3DScene-AQS7KDM4.js → Model3DScene-RD4XEC3F.js} +3 -3
  7. package/dist/Model3DScene-RD4XEC3F.js.br +0 -0
  8. package/dist/Model3DScene-RD4XEC3F.js.gz +0 -0
  9. package/dist/{PowerPointViewer-DFTatVS4.d.ts → PowerPointViewer-CnADroqZ.d.ts} +2 -2
  10. package/dist/{PowerPointViewer-DFTatVS4.d.ts.map → PowerPointViewer-CnADroqZ.d.ts.map} +1 -1
  11. package/dist/{SurfaceChart3DScene-K7ZDXDBL.mjs → SurfaceChart3DScene-VKS3ELTU.mjs} +2 -2
  12. package/dist/SurfaceChart3DScene-VKS3ELTU.mjs.br +0 -0
  13. package/dist/SurfaceChart3DScene-VKS3ELTU.mjs.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-HA2SD6BY.js → SurfaceChart3DScene-YR3GX4X6.js} +3 -3
  15. package/dist/SurfaceChart3DScene-YR3GX4X6.js.br +0 -0
  16. package/dist/SurfaceChart3DScene-YR3GX4X6.js.gz +0 -0
  17. package/dist/{types-Da1M5VBY.d.ts → animation-timeline-CEJJLFqK.d.ts} +3 -3
  18. package/dist/animation-timeline-CEJJLFqK.d.ts.map +1 -0
  19. package/dist/{chunk-LS2AIX2H.js → chunk-3YMK5VLS.js} +26707 -26744
  20. package/dist/chunk-3YMK5VLS.js.br +0 -0
  21. package/dist/chunk-3YMK5VLS.js.gz +0 -0
  22. package/dist/{chunk-H5RREYCO.js → chunk-GKST4OS7.js} +1270 -454
  23. package/dist/chunk-GKST4OS7.js.br +0 -0
  24. package/dist/chunk-GKST4OS7.js.gz +0 -0
  25. package/dist/{chunk-2DXNTVFV.js → chunk-I5SO5OV4.js} +69 -71
  26. package/dist/chunk-I5SO5OV4.js.br +0 -0
  27. package/dist/chunk-I5SO5OV4.js.gz +0 -0
  28. package/dist/{chunk-I42XL2WU.mjs → chunk-KPT54MHG.mjs} +40 -42
  29. package/dist/chunk-KPT54MHG.mjs.br +0 -0
  30. package/dist/chunk-KPT54MHG.mjs.gz +0 -0
  31. package/dist/{chunk-MS6S6YYR.js → chunk-KV3EOLP3.js} +50785 -50553
  32. package/dist/chunk-KV3EOLP3.js.br +0 -0
  33. package/dist/chunk-KV3EOLP3.js.gz +0 -0
  34. package/dist/{chunk-AFWMAFWR.mjs → chunk-LDZQNYWL.mjs} +50784 -50554
  35. package/dist/chunk-LDZQNYWL.mjs.br +0 -0
  36. package/dist/chunk-LDZQNYWL.mjs.gz +0 -0
  37. package/dist/{chunk-36NC56XG.mjs → chunk-PUQ6GIOM.mjs} +26099 -26138
  38. package/dist/chunk-PUQ6GIOM.mjs.br +0 -0
  39. package/dist/chunk-PUQ6GIOM.mjs.gz +0 -0
  40. package/dist/{chunk-LFEVG3ED.mjs → chunk-YJVMOX2Y.mjs} +819 -5
  41. package/dist/chunk-YJVMOX2Y.mjs.br +0 -0
  42. package/dist/chunk-YJVMOX2Y.mjs.gz +0 -0
  43. package/dist/{dist-5KQQ6GP2.mjs → dist-A3OATMOE.mjs} +1 -1
  44. package/dist/dist-A3OATMOE.mjs.br +0 -0
  45. package/dist/dist-A3OATMOE.mjs.gz +0 -0
  46. package/dist/{dist-CVSSAFDL.js → dist-XF3QJAEF.js} +568 -560
  47. package/dist/dist-XF3QJAEF.js.br +0 -0
  48. package/dist/dist-XF3QJAEF.js.gz +0 -0
  49. package/dist/hooks-unstable.d.ts +407 -37
  50. package/dist/hooks-unstable.d.ts.map +1 -1
  51. package/dist/hooks-unstable.js +80 -76
  52. package/dist/hooks-unstable.js.br +0 -0
  53. package/dist/hooks-unstable.js.gz +0 -0
  54. package/dist/hooks-unstable.mjs +3 -3
  55. package/dist/hooks-unstable.mjs.br +0 -0
  56. package/dist/hooks-unstable.mjs.gz +0 -0
  57. package/dist/{index-COgh2UTL.d.ts → index-hm2FF-FU.d.ts} +3 -3
  58. package/dist/{index-COgh2UTL.d.ts.map → index-hm2FF-FU.d.ts.map} +1 -1
  59. package/dist/index.d.ts +865 -7
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +42 -30
  62. package/dist/index.js.br +0 -0
  63. package/dist/index.js.gz +0 -0
  64. package/dist/index.mjs +4 -4
  65. package/dist/index.mjs.br +0 -0
  66. package/dist/index.mjs.gz +0 -0
  67. package/dist/useViewerBuildingBlocks-ll3_ncCH.d.ts +378 -0
  68. package/dist/useViewerBuildingBlocks-ll3_ncCH.d.ts.map +1 -0
  69. package/dist/viewer/index.js +20 -20
  70. package/dist/viewer/index.js.br +0 -0
  71. package/dist/viewer/index.js.gz +0 -0
  72. package/dist/viewer/index.mjs +4 -4
  73. package/dist/viewer/index.mjs.br +0 -0
  74. package/dist/viewer/index.mjs.gz +0 -0
  75. package/package.json +1 -1
  76. package/dist/Model3DScene-4XNBDASE.mjs.br +0 -0
  77. package/dist/Model3DScene-4XNBDASE.mjs.gz +0 -0
  78. package/dist/Model3DScene-AQS7KDM4.js.br +0 -0
  79. package/dist/Model3DScene-AQS7KDM4.js.gz +0 -0
  80. package/dist/SurfaceChart3DScene-HA2SD6BY.js.br +0 -0
  81. package/dist/SurfaceChart3DScene-HA2SD6BY.js.gz +0 -0
  82. package/dist/SurfaceChart3DScene-K7ZDXDBL.mjs.br +0 -0
  83. package/dist/SurfaceChart3DScene-K7ZDXDBL.mjs.gz +0 -0
  84. package/dist/chunk-2DXNTVFV.js.br +0 -0
  85. package/dist/chunk-2DXNTVFV.js.gz +0 -0
  86. package/dist/chunk-36NC56XG.mjs.br +0 -0
  87. package/dist/chunk-36NC56XG.mjs.gz +0 -0
  88. package/dist/chunk-AFWMAFWR.mjs.br +0 -0
  89. package/dist/chunk-AFWMAFWR.mjs.gz +0 -0
  90. package/dist/chunk-H5RREYCO.js.br +0 -0
  91. package/dist/chunk-H5RREYCO.js.gz +0 -0
  92. package/dist/chunk-I42XL2WU.mjs.br +0 -0
  93. package/dist/chunk-I42XL2WU.mjs.gz +0 -0
  94. package/dist/chunk-LFEVG3ED.mjs.br +0 -0
  95. package/dist/chunk-LFEVG3ED.mjs.gz +0 -0
  96. package/dist/chunk-LS2AIX2H.js.br +0 -0
  97. package/dist/chunk-LS2AIX2H.js.gz +0 -0
  98. package/dist/chunk-MS6S6YYR.js.br +0 -0
  99. package/dist/chunk-MS6S6YYR.js.gz +0 -0
  100. package/dist/dist-5KQQ6GP2.mjs.br +0 -0
  101. package/dist/dist-5KQQ6GP2.mjs.gz +0 -0
  102. package/dist/dist-CVSSAFDL.js.br +0 -0
  103. package/dist/dist-CVSSAFDL.js.gz +0 -0
  104. package/dist/types-Da1M5VBY.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/lib/canvas-export.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;iBAmCsB,eACrB,SAAS,aACT,UAAS,QAAQ,WACf,QAAQ"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/viewer/components/Toolbar.tsx","../src/viewer/components/SlideCanvas.tsx","../src/lib/canvas-export.ts"],"mappings":";;;;;;;;iBA4BgB,QAAQ,GAAG,eAAe,MAAM;;;iBCThC,cACf,aACA,kBACA,YACA,MACA,MACA,SACA,kBACA,sBACA,iBACA,wBACA,mBACA,mBACA,eACA,kBACA,uBACA,WACA,UACA,eACA,YACA,WACA,QACA,2BACA,0BACA,SACA,eACA,aACA,eACA,mBACA,qBACA,yBACA,UACA,oBACA,oBACA,oBACA,mBACA,kBACA,yBACA,cACA,sBACA,kBACA,aACA,iBACA,kBACA,YACA,cACA,cACA,cACA,iBACA,oBACA,mBACA,eACA,kBACA,UACA,oBACA,sBACA,aACA,eACA,wBACA,uBACA,mBACA,WACA,aACA,kBACA,cACA,mBACA,wBACE,mCAAgB,IAAA;;;;;;;;;;;;;;;;;;;iBCnDG,eACrB,SAAS,aACT,UAAS,QAAQ,WACf,QAAQ"}
package/dist/index.js CHANGED
@@ -1,117 +1,129 @@
1
1
  'use strict';
2
2
 
3
- var chunkLS2AIX2H_js = require('./chunk-LS2AIX2H.js');
4
- var chunkH5RREYCO_js = require('./chunk-H5RREYCO.js');
5
- var chunk2DXNTVFV_js = require('./chunk-2DXNTVFV.js');
3
+ var chunk3YMK5VLS_js = require('./chunk-3YMK5VLS.js');
4
+ var chunkGKST4OS7_js = require('./chunk-GKST4OS7.js');
5
+ var chunkI5SO5OV4_js = require('./chunk-I5SO5OV4.js');
6
6
  var chunkZISXRMDJ_js = require('./chunk-ZISXRMDJ.js');
7
- require('./chunk-MS6S6YYR.js');
7
+ require('./chunk-KV3EOLP3.js');
8
8
  require('./chunk-QGM4M3NI.js');
9
9
 
10
10
 
11
11
 
12
12
  Object.defineProperty(exports, "PowerPointViewer", {
13
13
  enumerable: true,
14
- get: function () { return chunkLS2AIX2H_js.PowerPointViewer; }
14
+ get: function () { return chunk3YMK5VLS_js.PowerPointViewer; }
15
+ });
16
+ Object.defineProperty(exports, "SlideCanvas", {
17
+ enumerable: true,
18
+ get: function () { return chunk3YMK5VLS_js.SlideCanvas; }
19
+ });
20
+ Object.defineProperty(exports, "Toolbar", {
21
+ enumerable: true,
22
+ get: function () { return chunk3YMK5VLS_js.Toolbar; }
15
23
  });
16
24
  Object.defineProperty(exports, "ViewerThemeProvider", {
17
25
  enumerable: true,
18
- get: function () { return chunkLS2AIX2H_js.ViewerThemeProvider; }
26
+ get: function () { return chunk3YMK5VLS_js.ViewerThemeProvider; }
19
27
  });
20
28
  Object.defineProperty(exports, "useViewerTheme", {
21
29
  enumerable: true,
22
- get: function () { return chunkLS2AIX2H_js.useViewerTheme; }
30
+ get: function () { return chunk3YMK5VLS_js.useViewerTheme; }
23
31
  });
24
32
  Object.defineProperty(exports, "getAnimationInitialStyle", {
25
33
  enumerable: true,
26
- get: function () { return chunkH5RREYCO_js.getAnimationInitialStyle; }
34
+ get: function () { return chunkGKST4OS7_js.getAnimationInitialStyle; }
27
35
  });
28
36
  Object.defineProperty(exports, "renderToCanvas", {
29
37
  enumerable: true,
30
- get: function () { return chunkH5RREYCO_js.renderToCanvas; }
38
+ get: function () { return chunkGKST4OS7_js.renderToCanvas; }
39
+ });
40
+ Object.defineProperty(exports, "useViewerBuildingBlocks", {
41
+ enumerable: true,
42
+ get: function () { return chunkGKST4OS7_js.useViewerBuildingBlocks; }
31
43
  });
32
44
  Object.defineProperty(exports, "AVATAR_COLOR_SWATCHES", {
33
45
  enumerable: true,
34
- get: function () { return chunk2DXNTVFV_js.AVATAR_COLOR_SWATCHES; }
46
+ get: function () { return chunkI5SO5OV4_js.AVATAR_COLOR_SWATCHES; }
35
47
  });
36
48
  Object.defineProperty(exports, "DEFAULT_VIEWER_PROFILE", {
37
49
  enumerable: true,
38
- get: function () { return chunk2DXNTVFV_js.DEFAULT_VIEWER_PROFILE; }
50
+ get: function () { return chunkI5SO5OV4_js.DEFAULT_VIEWER_PROFILE; }
39
51
  });
40
52
  Object.defineProperty(exports, "THEME_CATALOG", {
41
53
  enumerable: true,
42
- get: function () { return chunk2DXNTVFV_js.THEME_CATALOG; }
54
+ get: function () { return chunkI5SO5OV4_js.THEME_CATALOG; }
43
55
  });
44
56
  Object.defineProperty(exports, "VIEWER_PREFS_STORAGE_KEY", {
45
57
  enumerable: true,
46
- get: function () { return chunk2DXNTVFV_js.VIEWER_PREFS_STORAGE_KEY; }
58
+ get: function () { return chunkI5SO5OV4_js.VIEWER_PREFS_STORAGE_KEY; }
47
59
  });
48
60
  Object.defineProperty(exports, "clearAllLocalViewerData", {
49
61
  enumerable: true,
50
- get: function () { return chunk2DXNTVFV_js.clearAllLocalViewerData; }
62
+ get: function () { return chunkI5SO5OV4_js.clearAllLocalViewerData; }
51
63
  });
52
64
  Object.defineProperty(exports, "clearStoredViewerPrefs", {
53
65
  enumerable: true,
54
- get: function () { return chunk2DXNTVFV_js.clearStoredViewerPrefs; }
66
+ get: function () { return chunkI5SO5OV4_js.clearStoredViewerPrefs; }
55
67
  });
56
68
  Object.defineProperty(exports, "defaultCssVars", {
57
69
  enumerable: true,
58
- get: function () { return chunk2DXNTVFV_js.defaultCssVars; }
70
+ get: function () { return chunkI5SO5OV4_js.defaultCssVars; }
59
71
  });
60
72
  Object.defineProperty(exports, "defaultRadius", {
61
73
  enumerable: true,
62
- get: function () { return chunk2DXNTVFV_js.defaultRadius; }
74
+ get: function () { return chunkI5SO5OV4_js.defaultRadius; }
63
75
  });
64
76
  Object.defineProperty(exports, "defaultThemeColors", {
65
77
  enumerable: true,
66
- get: function () { return chunk2DXNTVFV_js.defaultThemeColors; }
78
+ get: function () { return chunkI5SO5OV4_js.defaultThemeColors; }
67
79
  });
68
80
  Object.defineProperty(exports, "getLocalStorageUsageSummary", {
69
81
  enumerable: true,
70
- get: function () { return chunk2DXNTVFV_js.getLocalStorageUsageSummary; }
82
+ get: function () { return chunkI5SO5OV4_js.getLocalStorageUsageSummary; }
71
83
  });
72
84
  Object.defineProperty(exports, "readStoredViewerPrefs", {
73
85
  enumerable: true,
74
- get: function () { return chunk2DXNTVFV_js.readStoredViewerPrefs; }
86
+ get: function () { return chunkI5SO5OV4_js.readStoredViewerPrefs; }
75
87
  });
76
88
  Object.defineProperty(exports, "resolveProfileInitial", {
77
89
  enumerable: true,
78
- get: function () { return chunk2DXNTVFV_js.resolveProfileInitial; }
90
+ get: function () { return chunkI5SO5OV4_js.resolveProfileInitial; }
79
91
  });
80
92
  Object.defineProperty(exports, "resolveThemeCatalogEntry", {
81
93
  enumerable: true,
82
- get: function () { return chunk2DXNTVFV_js.resolveThemeCatalogEntry; }
94
+ get: function () { return chunkI5SO5OV4_js.resolveThemeCatalogEntry; }
83
95
  });
84
96
  Object.defineProperty(exports, "saveViewerProfile", {
85
97
  enumerable: true,
86
- get: function () { return chunk2DXNTVFV_js.saveViewerProfile; }
98
+ get: function () { return chunkI5SO5OV4_js.saveViewerProfile; }
87
99
  });
88
100
  Object.defineProperty(exports, "themeToCssVars", {
89
101
  enumerable: true,
90
- get: function () { return chunk2DXNTVFV_js.themeToCssVars; }
102
+ get: function () { return chunkI5SO5OV4_js.themeToCssVars; }
91
103
  });
92
104
  Object.defineProperty(exports, "vermilionDarkColors", {
93
105
  enumerable: true,
94
- get: function () { return chunk2DXNTVFV_js.vermilionDarkColors; }
106
+ get: function () { return chunkI5SO5OV4_js.vermilionDarkColors; }
95
107
  });
96
108
  Object.defineProperty(exports, "vermilionDarkTheme", {
97
109
  enumerable: true,
98
- get: function () { return chunk2DXNTVFV_js.vermilionDarkTheme; }
110
+ get: function () { return chunkI5SO5OV4_js.vermilionDarkTheme; }
99
111
  });
100
112
  Object.defineProperty(exports, "vermilionLightColors", {
101
113
  enumerable: true,
102
- get: function () { return chunk2DXNTVFV_js.vermilionLightColors; }
114
+ get: function () { return chunkI5SO5OV4_js.vermilionLightColors; }
103
115
  });
104
116
  Object.defineProperty(exports, "vermilionLightTheme", {
105
117
  enumerable: true,
106
- get: function () { return chunk2DXNTVFV_js.vermilionLightTheme; }
118
+ get: function () { return chunkI5SO5OV4_js.vermilionLightTheme; }
107
119
  });
108
120
  Object.defineProperty(exports, "vermilionRadius", {
109
121
  enumerable: true,
110
- get: function () { return chunk2DXNTVFV_js.vermilionRadius; }
122
+ get: function () { return chunkI5SO5OV4_js.vermilionRadius; }
111
123
  });
112
124
  Object.defineProperty(exports, "writeStoredViewerPrefs", {
113
125
  enumerable: true,
114
- get: function () { return chunk2DXNTVFV_js.writeStoredViewerPrefs; }
126
+ get: function () { return chunkI5SO5OV4_js.writeStoredViewerPrefs; }
115
127
  });
116
128
  Object.defineProperty(exports, "LOCALE_CATALOG", {
117
129
  enumerable: true,
package/dist/index.js.br CHANGED
Binary file
package/dist/index.js.gz CHANGED
Binary file
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- export { PowerPointViewer, ViewerThemeProvider, useViewerTheme } from './chunk-36NC56XG.mjs';
2
- export { getAnimationInitialStyle, renderToCanvas } from './chunk-LFEVG3ED.mjs';
3
- export { AVATAR_COLOR_SWATCHES, DEFAULT_VIEWER_PROFILE, THEME_CATALOG, VIEWER_PREFS_STORAGE_KEY, clearAllLocalViewerData, clearStoredViewerPrefs, defaultCssVars, defaultRadius, defaultThemeColors, getLocalStorageUsageSummary, readStoredViewerPrefs, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs } from './chunk-I42XL2WU.mjs';
1
+ export { PowerPointViewer, SlideCanvas, Toolbar, ViewerThemeProvider, useViewerTheme } from './chunk-PUQ6GIOM.mjs';
2
+ export { getAnimationInitialStyle, renderToCanvas, useViewerBuildingBlocks } from './chunk-YJVMOX2Y.mjs';
3
+ export { AVATAR_COLOR_SWATCHES, DEFAULT_VIEWER_PROFILE, THEME_CATALOG, VIEWER_PREFS_STORAGE_KEY, clearAllLocalViewerData, clearStoredViewerPrefs, defaultCssVars, defaultRadius, defaultThemeColors, getLocalStorageUsageSummary, readStoredViewerPrefs, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs } from './chunk-KPT54MHG.mjs';
4
4
  export { LOCALE_CATALOG } from './chunk-E3KJKCSV.mjs';
5
- import './chunk-AFWMAFWR.mjs';
5
+ import './chunk-LDZQNYWL.mjs';
6
6
  import './chunk-6DZX6EAA.mjs';
package/dist/index.mjs.br CHANGED
Binary file
package/dist/index.mjs.gz CHANGED
Binary file
@@ -0,0 +1,378 @@
1
+ import { C as ToolbarSection, G as CanvasSize, S as TableCellEditorState, Z as ElementClipboardPayload, it as ViewerMode$1, o as DrawingTool, p as PowerPointViewerHandle, rt as SupportedShapeType, t as ElementAnimationState, u as MarqueeSelectionState } from "./animation-timeline-CEJJLFqK.js";
2
+ import { ConnectorPptxElement, InkPptxElement, ParsedTableStyleMap, PptxAction, PptxChartType, PptxComment, PptxCustomShow, PptxElement, PptxSlide, PptxSlideTransition, PptxTheme, ShapePptxElement, TextStyle, XmlObject } from "pptx-viewer-core";
3
+ import { ChangeCaseMode, FieldSubstitutionContext, RulerUnit, ToolbarActionId } from "pptx-viewer-shared";
4
+ import React$1 from "react";
5
+ //#region src/viewer/hooks/useAutosave.d.ts
6
+ type AutosaveStatus = {
7
+ state: 'idle';
8
+ } | {
9
+ state: 'disabled';
10
+ reason: string;
11
+ } | {
12
+ state: 'saving';
13
+ } | {
14
+ state: 'saved';
15
+ timestamp: number;
16
+ } | {
17
+ state: 'error';
18
+ message: string;
19
+ };
20
+ interface UseAutosaveInput {
21
+ /** Whether the document has unsaved changes. */
22
+ isDirty: boolean;
23
+ /** File path or name of the currently-open PPTX. Required for autosave to work. */
24
+ filePath: string | undefined;
25
+ /** Serialise current editor state to a Uint8Array. */
26
+ serializeSlides: () => Promise<Uint8Array | null>;
27
+ /** Autosave interval in seconds (default 120). */
28
+ intervalSeconds?: number;
29
+ /** Whether autosave is enabled. */
30
+ enabled?: boolean;
31
+ }
32
+ interface UseAutosaveResult {
33
+ /** Current autosave status for display in the StatusBar. */
34
+ autosaveStatus: AutosaveStatus;
35
+ /** Manually trigger an autosave right now. */
36
+ triggerAutosave: () => Promise<void>;
37
+ }
38
+ declare function useAutosave(input: UseAutosaveInput): UseAutosaveResult;
39
+ //#endregion
40
+ //#region src/viewer/utils/table-band-style.d.ts
41
+ /** Context for resolving table style colours from the theme. */
42
+ interface TableStyleContext {
43
+ tableStyleMap?: ParsedTableStyleMap;
44
+ theme?: PptxTheme;
45
+ }
46
+ //#endregion
47
+ //#region src/viewer/components/canvas/canvas-types.d.ts
48
+ interface ZoomViewport {
49
+ canvasViewportRef: React$1.RefObject<HTMLDivElement | null>;
50
+ editWrapperRef: React$1.RefObject<HTMLDivElement | null>;
51
+ canvasStageRef: React$1.RefObject<HTMLDivElement | null>;
52
+ editorScale: number;
53
+ }
54
+ interface SlideCanvasProps {
55
+ activeSlide: PptxSlide | undefined;
56
+ templateElements: PptxElement[];
57
+ canvasSize: CanvasSize;
58
+ zoom: ZoomViewport;
59
+ mode: ViewerMode$1;
60
+ canEdit: boolean;
61
+ editTemplateMode: boolean;
62
+ selectedElementIdSet: Set<string>;
63
+ selectedElement: PptxElement | null;
64
+ inlineEditingElementId: string | null;
65
+ inlineEditingText: string;
66
+ spellCheckEnabled: boolean;
67
+ mediaDataUrls: Map<string, string>;
68
+ tableEditorState: TableCellEditorState | null;
69
+ marqueeSelectionState: MarqueeSelectionState | null;
70
+ snapLines: Array<{
71
+ axis: string;
72
+ position: number;
73
+ }>;
74
+ showGrid: boolean;
75
+ /** Grid spacing in CSS px (derived from PPTX gridSpacing EMUs). */
76
+ gridSpacingPx?: number;
77
+ showRulers: boolean;
78
+ /** Unit system for rulers (default: inches). */
79
+ rulerUnit?: RulerUnit;
80
+ guides: Array<{
81
+ id: string;
82
+ axis: 'h' | 'v';
83
+ position: number;
84
+ }>;
85
+ presentationElementStates?: Map<string, ElementAnimationState>;
86
+ presentationKeyframesCss?: string;
87
+ onClick: (elementId: string, e: React$1.MouseEvent) => void;
88
+ onDoubleClick: (elementId: string, e: React$1.MouseEvent) => void;
89
+ onMouseDown: (elementId: string, e: React$1.MouseEvent) => void;
90
+ onContextMenu: (elementId: string, e: React$1.MouseEvent) => void;
91
+ /** Called when the user presses mouse down on empty canvas space. */
92
+ onCanvasMouseDown?: (e: React$1.MouseEvent) => void;
93
+ onResizePointerDown: (elementId: string, e: React$1.MouseEvent, handle: string) => void;
94
+ onAdjustmentPointerDown: (elementId: string, e: React$1.MouseEvent) => void;
95
+ /** Commit a new rotation (degrees) when the on-canvas rotate handle is dragged. */
96
+ onRotate?: (elementId: string, rotationDeg: number) => void;
97
+ onInlineEditChange: (text: string) => void;
98
+ onInlineEditCommit: () => void;
99
+ onInlineEditCancel: () => void;
100
+ onTableCellSelect: (cell: Omit<TableCellEditorState, 'elementId'> | null, elementId: string) => void;
101
+ /** Called when an edited table cell should be committed. */
102
+ onCommitCellEdit?: (elementId: string, rowIndex: number, colIndex: number, text: string) => void;
103
+ /**
104
+ * Commit a partial update to a SmartArt element from inline (on-canvas) node
105
+ * editing. Routed to the same element-update path the inspector uses (undo/redo
106
+ * + dirty marking). When absent, inline SmartArt editing is disabled.
107
+ */
108
+ onUpdateSmartArtElement?: (elementId: string, updates: Partial<PptxElement>) => void;
109
+ /**
110
+ * Apply a text-style toggle (Ctrl/Cmd+B/I/U) to the element being
111
+ * inline-edited. Routed to the same updateSelectedTextStyle path as the
112
+ * toolbar. When absent, the inline formatting shortcuts are inert.
113
+ */
114
+ onFormatText?: (updates: Partial<TextStyle>) => void;
115
+ /** Called when table column widths are resized. */
116
+ onResizeTableColumns?: (elementId: string, newWidths: number[]) => void;
117
+ /** Called when a table row is resized. */
118
+ onResizeTableRow?: (elementId: string, rowIndex: number, newHeight: number) => void;
119
+ /** Find & Replace results (all matches across all slides). */
120
+ findResults?: Array<{
121
+ slideIndex: number;
122
+ elementId: string;
123
+ segmentIndex: number;
124
+ startOffset: number;
125
+ length: number;
126
+ }>;
127
+ /** Index of the currently focused find result (-1 for none). */
128
+ findResultIndex?: number;
129
+ /** Index of the currently visible slide (needed to filter find results). */
130
+ activeSlideIndex?: number;
131
+ /** Currently active drawing tool ("select" means no drawing overlay). */
132
+ activeTool?: DrawingTool;
133
+ /** Stroke colour for pen / highlighter. */
134
+ drawingColor?: string;
135
+ /** Stroke width for pen / highlighter. */
136
+ drawingWidth?: number;
137
+ /** Ref that is true while a pointer stroke is in progress. */
138
+ isDrawingRef?: React$1.RefObject<boolean>;
139
+ /** Called when a completed ink stroke should be added to the slide. */
140
+ onAddInkElement?: (ink: InkPptxElement) => void;
141
+ /** Called when a freeform drawing stroke should be added as a shape element. */
142
+ onAddFreeformShape?: (shape: ShapePptxElement) => void;
143
+ /** Called when the eraser tool removes an ink element. */
144
+ onEraseInkElement?: (elementId: string) => void;
145
+ /** Called when a shape-level action is clicked (e.g. slide jump, URL). */
146
+ onActionClick?: (elementId: string, action: PptxAction) => void;
147
+ /** Called when a text-level hyperlink is clicked. */
148
+ onHyperlinkClick?: (url: string) => void;
149
+ /** Comments for the current slide (used for on-canvas markers). */
150
+ comments?: PptxComment[];
151
+ /** Whether to show comment markers on the slide canvas. */
152
+ showCommentMarkers?: boolean;
153
+ /** Called when a comment marker is clicked. */
154
+ onCommentMarkerClick?: (commentId: string) => void;
155
+ onMoveGuide?: (guideId: string, position: number) => void;
156
+ onDeleteGuide?: (guideId: string) => void;
157
+ onCreateGuideFromRuler?: (axis: 'h' | 'v', positionPx: number) => void;
158
+ /** When true, shows connection sites on shapes and enables connector drawing. */
159
+ connectorCreationMode?: boolean;
160
+ /** Called when a new connector is created between two shapes. */
161
+ onCreateConnector?: (connector: ConnectorPptxElement) => void;
162
+ /** All slides in the presentation (for zoom element thumbnails). */
163
+ allSlides?: readonly PptxSlide[];
164
+ /** Callback fired when a zoom element is clicked in presentation mode. */
165
+ onZoomClick?: (targetSlideIndex: number, returnSlideIndex: number) => void;
166
+ /** Index of the current slide (for zoom return navigation). */
167
+ sourceSlideIndex?: number;
168
+ /** Context for text field placeholder substitution (slide number, header/footer, etc.). */
169
+ fieldContext?: FieldSubstitutionContext;
170
+ /** Theme + table style map for resolving table band/header colours. */
171
+ tableStyleContext?: TableStyleContext;
172
+ /** Optional collaboration cursor overlay rendered on top of the canvas. */
173
+ collaborationOverlay?: React$1.ReactNode;
174
+ }
175
+ //#endregion
176
+ //#region src/viewer/components/toolbar/toolbar-types.d.ts
177
+ interface ToolbarProps {
178
+ fileName?: string;
179
+ mode: ViewerMode$1;
180
+ canEdit: boolean;
181
+ isNarrowViewport: boolean;
182
+ isSidebarCollapsed: boolean;
183
+ isInspectorPaneOpen: boolean;
184
+ isCompactToolbarOpen: boolean;
185
+ toolbarSection: ToolbarSection;
186
+ scale: number;
187
+ canUndo: boolean;
188
+ canRedo: boolean;
189
+ undoLabel: string | undefined;
190
+ redoLabel: string | undefined;
191
+ findReplaceOpen: boolean;
192
+ selectedElement: PptxElement | null;
193
+ tableEditorState?: TableCellEditorState | null;
194
+ editTemplateMode: boolean;
195
+ newShapeType: SupportedShapeType;
196
+ activeTool: DrawingTool;
197
+ drawingColor: string;
198
+ drawingWidth: number;
199
+ clipboardPayload: ElementClipboardPayload | null;
200
+ onSetMode: (mode: ViewerMode$1) => void;
201
+ onToggleSidebar: () => void;
202
+ onToggleInspector: () => void;
203
+ /** Opens the inspector pane and switches to the properties tab (for animation panel). */
204
+ onOpenAnimationPanel: () => void;
205
+ /** Adds an animation preset to the selected element. */
206
+ onAddAnimation?: (preset: string, group: 'entrance' | 'emphasis' | 'exit') => void;
207
+ /** Removes all animations from the selected element. */
208
+ onRemoveAnimation?: () => void;
209
+ onToggleCompactToolbar: () => void;
210
+ onSetToolbarSection: (section: ToolbarSection) => void;
211
+ onZoomIn: () => void;
212
+ onZoomOut: () => void;
213
+ onZoomToFit: () => void;
214
+ onUndo: () => void;
215
+ onRedo: () => void;
216
+ onToggleFindReplace: () => void;
217
+ onSetNewShapeType: (type: SupportedShapeType) => void;
218
+ onAddTextBox: () => void;
219
+ onAddShape: () => void;
220
+ onAddTable: () => void;
221
+ onAddChart?: (chartType: PptxChartType) => void;
222
+ onAddSmartArt: () => void;
223
+ onAddEquation: () => void;
224
+ onAddActionButton: (shapeType: string) => void;
225
+ onInsertField?: (fieldType: string, value?: string) => void;
226
+ onOpenHeaderFooter?: () => void;
227
+ onOpenImagePicker: () => void;
228
+ onOpenMediaPicker: () => void;
229
+ onSetActiveTool: (tool: DrawingTool) => void;
230
+ onSetDrawingColor: (color: string) => void;
231
+ onSetDrawingWidth: (width: number) => void;
232
+ onSetEditTemplateMode: (mode: boolean) => void;
233
+ spellCheckEnabled: boolean;
234
+ showGrid: boolean;
235
+ showRulers: boolean;
236
+ snapToGrid: boolean;
237
+ snapToShape: boolean;
238
+ onSetSpellCheckEnabled: (enabled: boolean) => void;
239
+ onSetShowGrid: (enabled: boolean) => void;
240
+ onSetShowRulers: (enabled: boolean) => void;
241
+ onSetSnapToGrid: (enabled: boolean) => void;
242
+ onSetSnapToShape: (enabled: boolean) => void;
243
+ onAddGuide: (axis: 'h' | 'v') => void;
244
+ onAlignElements: (align: string) => void;
245
+ onDistributeElements: (axis: string) => void;
246
+ canDistribute: boolean;
247
+ onCopy: () => void;
248
+ onCut: () => void;
249
+ onPaste: () => void;
250
+ onFlip: (direction: 'horizontal' | 'vertical') => void;
251
+ onMoveLayer: (direction: string) => void;
252
+ onMoveLayerToEdge: (direction: string) => void;
253
+ onDuplicate: () => void;
254
+ onDelete: () => void;
255
+ /** Open another presentation (File ▸ Open). Hidden when not provided. */
256
+ onOpenFile?: () => void;
257
+ onOpenRecentFile?: (key: string) => void;
258
+ onCreatePresentation: (templateId: string) => void;
259
+ onExportPng: () => void;
260
+ onExportPdf: () => void;
261
+ onExportVideo: () => void;
262
+ onExportGif: () => void;
263
+ onPackageForSharing: () => void;
264
+ onOpenShareDialog?: () => void;
265
+ onSaveAsPptx: () => void;
266
+ onSaveAsPpsx: () => void;
267
+ onSaveAsPptm: () => void;
268
+ hasMacros: boolean;
269
+ onCopySlideAsImage: () => void;
270
+ onPrint: () => void;
271
+ onToggleShortcuts: () => void;
272
+ onOpenSettings?: () => void;
273
+ onRunAccessibilityCheck: () => void;
274
+ onToggleSlideSorter: () => void;
275
+ onUpdateTextStyle: (updates: Partial<TextStyle>) => void;
276
+ /** Rewrite the selected text's characters (PowerPoint's Aa "Change Case" dropdown). */
277
+ onTransformTextCase: (mode: ChangeCaseMode) => void;
278
+ isOverflowMenuOpen: boolean;
279
+ onSetOverflowMenuOpen: (open: boolean) => void;
280
+ layoutOptions: Array<{
281
+ path: string;
282
+ name: string;
283
+ }>;
284
+ onInsertSlideFromLayout: (path: string, name?: string) => void;
285
+ customShows: PptxCustomShow[];
286
+ activeCustomShowId: string | null;
287
+ onSetActiveCustomShowId: (id: string | null) => void;
288
+ onCreateCustomShow: () => void;
289
+ onRenameActiveCustomShow: () => void;
290
+ onDeleteActiveCustomShow: () => void;
291
+ onToggleCurrentSlideInActiveShow: () => void;
292
+ isCurrentSlideInActiveShow: boolean;
293
+ onToggleVersionHistory?: () => void;
294
+ onOpenPasswordProtection?: () => void;
295
+ onOpenDocumentProperties?: () => void;
296
+ onOpenFontEmbedding?: () => void;
297
+ onOpenDigitalSignatures?: () => void;
298
+ onEnterMasterView: () => void;
299
+ onCloseMasterView: () => void;
300
+ onEnterPresenterView?: () => void;
301
+ onEnterRehearsalMode?: () => void;
302
+ onToggleThemeEditor: () => void;
303
+ isThemeEditorOpen: boolean;
304
+ onToggleThemeGallery: () => void;
305
+ isThemeGalleryOpen: boolean;
306
+ onCompare?: () => void;
307
+ onToggleComments?: () => void;
308
+ isCommentsPanelOpen?: boolean;
309
+ spellCheckActive?: boolean;
310
+ slideCommentCount?: number;
311
+ formatPainterActive?: boolean;
312
+ onToggleFormatPainter?: () => void;
313
+ canActivateFormatPainter?: boolean;
314
+ isSelectionPaneOpen?: boolean;
315
+ onToggleSelectionPane?: () => void;
316
+ eyedropperActive?: boolean;
317
+ onToggleEyedropper?: () => void;
318
+ onOpenSetUpSlideShow?: () => void;
319
+ onOpenBroadcastDialog?: () => void;
320
+ onToggleSubtitles?: () => void;
321
+ showSubtitles?: boolean;
322
+ activeSlide?: PptxSlide;
323
+ onTransitionChange: (updates: Partial<PptxSlideTransition>) => void;
324
+ onApplyTransitionToAll: () => void;
325
+ /** Host-supplied list of toolbar buttons/ribbon tabs to hide. See `PowerPointViewerProps.hiddenActions`. */
326
+ hiddenActions?: readonly ToolbarActionId[];
327
+ }
328
+ //#endregion
329
+ //#region src/viewer/hooks/useViewerBuildingBlocks.d.ts
330
+ interface UseViewerBuildingBlocksInput {
331
+ /** PPTX content as ArrayBuffer/Uint8Array, or null/undefined while no file is loaded. */
332
+ content: ArrayBuffer | Uint8Array | null | undefined;
333
+ /** Whether editing actions are enabled. Defaults to false (view-only). */
334
+ canEdit?: boolean;
335
+ /** Original file path, used for autosave recovery. */
336
+ filePath?: string;
337
+ /** Display name for the toolbar's file-name-aware controls (e.g. title bar hosts build themselves). */
338
+ fileName?: string;
339
+ /** Whether the built-in autosave-to-localStorage recovery timer is active. Defaults to true. */
340
+ autosaveEnabled?: boolean;
341
+ /** Display name used as the author for comments. */
342
+ userName?: string;
343
+ /** Host-supplied list of toolbar buttons/ribbon tabs to hide. */
344
+ hiddenActions?: readonly ToolbarActionId[];
345
+ /** Imperative handle ref, exposing the same `PowerPointViewerHandle` API `PowerPointViewer` does. */
346
+ handle?: React.ForwardedRef<PowerPointViewerHandle>;
347
+ onContentChange?: (content: Uint8Array) => void;
348
+ onDirtyChange?: (dirty: boolean) => void;
349
+ onActiveSlideChange?: (index: number) => void;
350
+ onModeChange?: (mode: ViewerMode$1) => void;
351
+ onZoomChange?: (zoom: number) => void;
352
+ onSelectionChange?: (ids: string[]) => void;
353
+ onSlideCountChange?: (count: number) => void;
354
+ /** Fired by the toolbar's "Settings" button; the host owns rendering that dialog. */
355
+ onOpenSettings?: () => void;
356
+ /** Fired by the toolbar's "Header & Footer" button; the host owns rendering that panel. */
357
+ onOpenHeaderFooter?: () => void;
358
+ /** Fired by the toolbar's "Share" button; the host owns rendering that dialog. */
359
+ onOpenShareDialog?: () => void;
360
+ }
361
+ interface ViewerBuildingBlocksResult {
362
+ /** Flat, self-contained props for the standalone `<Toolbar>` component. */
363
+ toolbarProps: ToolbarProps;
364
+ /** Flat, self-contained props for the standalone `<SlideCanvas>` component. */
365
+ canvasProps: SlideCanvasProps;
366
+ /** Current viewer mode (edit, view, present, master). */
367
+ mode: ViewerMode$1;
368
+ /** True while the initial parse of `content` is in progress. */
369
+ loading: boolean;
370
+ /** Parse error message, or null. */
371
+ error: string | null;
372
+ /** Current autosave-to-localStorage recovery status. */
373
+ autosaveStatus: AutosaveStatus;
374
+ }
375
+ declare function useViewerBuildingBlocks(input: UseViewerBuildingBlocksInput): ViewerBuildingBlocksResult;
376
+ //#endregion
377
+ export { SlideCanvasProps as a, UseAutosaveInput as c, ToolbarProps as i, UseAutosaveResult as l, ViewerBuildingBlocksResult as n, ChangeCaseMode as o, useViewerBuildingBlocks as r, AutosaveStatus as s, UseViewerBuildingBlocksInput as t, useAutosave as u };
378
+ //# sourceMappingURL=useViewerBuildingBlocks-ll3_ncCH.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useViewerBuildingBlocks-ll3_ncCH.d.ts","names":[],"sources":["../src/viewer/hooks/useAutosave.ts","../src/viewer/utils/table-band-style.tsx","../src/viewer/components/canvas/canvas-types.ts","../src/viewer/components/toolbar/toolbar-types.ts","../src/viewer/hooks/useViewerBuildingBlocks.ts"],"mappings":"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"}