pptx-react-viewer 4.45.0 → 4.47.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 (126) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +5 -2
  3. package/dist/{AiChatPanel-Z5VHI4WA.mjs → AiChatPanel-6S4LWXGM.mjs} +2 -2
  4. package/dist/AiChatPanel-6S4LWXGM.mjs.br +0 -0
  5. package/dist/AiChatPanel-6S4LWXGM.mjs.gz +0 -0
  6. package/dist/{AiChatPanel-TGZQBH3L.js → AiChatPanel-IEM43TTZ.js} +10 -10
  7. package/dist/AiChatPanel-IEM43TTZ.js.br +0 -0
  8. package/dist/AiChatPanel-IEM43TTZ.js.gz +0 -0
  9. package/dist/{Model3DScene-5HLXSIIK.js → Model3DScene-CCIG67DJ.js} +1 -1
  10. package/dist/Model3DScene-CCIG67DJ.js.br +0 -0
  11. package/dist/Model3DScene-CCIG67DJ.js.gz +0 -0
  12. package/dist/{Model3DScene-MSC4LEKG.mjs → Model3DScene-NUJH2UKM.mjs} +1 -1
  13. package/dist/Model3DScene-NUJH2UKM.mjs.br +0 -0
  14. package/dist/Model3DScene-NUJH2UKM.mjs.gz +0 -0
  15. package/dist/{chunk-FBN7UFW2.mjs → chunk-BVQSH5SS.mjs} +36 -43
  16. package/dist/chunk-BVQSH5SS.mjs.br +0 -0
  17. package/dist/chunk-BVQSH5SS.mjs.gz +0 -0
  18. package/dist/{chunk-66APV3YZ.mjs → chunk-HDOR67HF.mjs} +258 -130
  19. package/dist/chunk-HDOR67HF.mjs.br +0 -0
  20. package/dist/chunk-HDOR67HF.mjs.gz +0 -0
  21. package/dist/{chunk-VJZJESNT.js → chunk-MA2BI7LX.js} +45 -61
  22. package/dist/chunk-MA2BI7LX.js.br +0 -0
  23. package/dist/chunk-MA2BI7LX.js.gz +0 -0
  24. package/dist/{chunk-2YCROYR6.js → chunk-MRSGNERC.js} +432 -302
  25. package/dist/chunk-MRSGNERC.js.br +0 -0
  26. package/dist/chunk-MRSGNERC.js.gz +0 -0
  27. package/dist/{chunk-VUE3EPTJ.mjs → chunk-OWZSRPAH.mjs} +248 -162
  28. package/dist/chunk-OWZSRPAH.mjs.br +0 -0
  29. package/dist/chunk-OWZSRPAH.mjs.gz +0 -0
  30. package/dist/{chunk-W2IMY5SY.js → chunk-PIRHQTI4.js} +0 -2
  31. package/dist/chunk-PIRHQTI4.js.br +0 -0
  32. package/dist/chunk-PIRHQTI4.js.gz +0 -0
  33. package/dist/{chunk-KUQRWMIK.js → chunk-SSANGQ35.js} +550 -464
  34. package/dist/chunk-SSANGQ35.js.br +0 -0
  35. package/dist/chunk-SSANGQ35.js.gz +0 -0
  36. package/dist/{chunk-Q3DHYOLK.mjs → chunk-UV2HVMKZ.mjs} +1 -2
  37. package/dist/chunk-UV2HVMKZ.mjs.br +0 -0
  38. package/dist/chunk-UV2HVMKZ.mjs.gz +0 -0
  39. package/dist/i18n.js +1 -1
  40. package/dist/i18n.js.br +2 -2
  41. package/dist/i18n.js.gz +0 -0
  42. package/dist/i18n.mjs +1 -1
  43. package/dist/i18n.mjs.br +1 -1
  44. package/dist/i18n.mjs.gz +0 -0
  45. package/dist/index.d.ts +47 -6
  46. package/dist/index.js +25 -25
  47. package/dist/index.js.br +0 -0
  48. package/dist/index.js.gz +0 -0
  49. package/dist/index.mjs +4 -4
  50. package/dist/index.mjs.br +0 -0
  51. package/dist/index.mjs.gz +0 -0
  52. package/dist/internals.d.ts +74 -8
  53. package/dist/internals.js +82 -82
  54. package/dist/internals.js.br +0 -0
  55. package/dist/internals.js.gz +0 -0
  56. package/dist/internals.mjs +3 -3
  57. package/dist/internals.mjs.br +0 -0
  58. package/dist/internals.mjs.gz +0 -0
  59. package/dist/pptx-viewer-canvas.css +2 -0
  60. package/dist/pptx-viewer-canvas.css.br +0 -0
  61. package/dist/pptx-viewer-canvas.css.gz +0 -0
  62. package/dist/pptx-viewer.css +1 -1
  63. package/dist/pptx-viewer.css.br +0 -0
  64. package/dist/pptx-viewer.css.gz +0 -0
  65. package/dist/{three.module-JPZUM7AI.mjs → three.module-EBJVANGB.mjs} +1 -1
  66. package/dist/three.module-EBJVANGB.mjs.br +0 -0
  67. package/dist/three.module-EBJVANGB.mjs.gz +0 -0
  68. package/dist/{three.module-RIUI7P3J.js → three.module-MBFHAT6M.js} +1 -1
  69. package/dist/three.module-MBFHAT6M.js.br +0 -0
  70. package/dist/three.module-MBFHAT6M.js.gz +0 -0
  71. package/dist/viewer/index.d.ts +49 -10
  72. package/dist/viewer/index.js +20 -20
  73. package/dist/viewer/index.js.br +0 -0
  74. package/dist/viewer/index.js.gz +0 -0
  75. package/dist/viewer/index.mjs +4 -4
  76. package/dist/viewer/index.mjs.br +0 -0
  77. package/dist/viewer/index.mjs.gz +0 -0
  78. package/dist/{y-webrtc-CCA4HVZZ.mjs → y-webrtc-2H7UYAQD.mjs} +1 -1
  79. package/dist/y-webrtc-2H7UYAQD.mjs.br +0 -0
  80. package/dist/y-webrtc-2H7UYAQD.mjs.gz +0 -0
  81. package/dist/{y-webrtc-MB5ZXFBA.js → y-webrtc-DVPQNFLL.js} +5 -5
  82. package/dist/y-webrtc-DVPQNFLL.js.br +0 -0
  83. package/dist/y-webrtc-DVPQNFLL.js.gz +0 -0
  84. package/dist/{y-websocket-JQQZVAMX.js → y-websocket-TN4OKPXQ.js} +1 -1
  85. package/dist/y-websocket-TN4OKPXQ.js.br +0 -0
  86. package/dist/y-websocket-TN4OKPXQ.js.gz +0 -0
  87. package/dist/{y-websocket-SCLLNICY.mjs → y-websocket-WORVRRQS.mjs} +1 -1
  88. package/dist/y-websocket-WORVRRQS.mjs.br +0 -0
  89. package/dist/y-websocket-WORVRRQS.mjs.gz +0 -0
  90. package/package.json +7 -5
  91. package/dist/AiChatPanel-TGZQBH3L.js.br +0 -0
  92. package/dist/AiChatPanel-TGZQBH3L.js.gz +0 -0
  93. package/dist/AiChatPanel-Z5VHI4WA.mjs.br +0 -0
  94. package/dist/AiChatPanel-Z5VHI4WA.mjs.gz +0 -0
  95. package/dist/Model3DScene-5HLXSIIK.js.br +0 -0
  96. package/dist/Model3DScene-5HLXSIIK.js.gz +0 -0
  97. package/dist/Model3DScene-MSC4LEKG.mjs.br +0 -0
  98. package/dist/Model3DScene-MSC4LEKG.mjs.gz +0 -0
  99. package/dist/chunk-2YCROYR6.js.br +0 -0
  100. package/dist/chunk-2YCROYR6.js.gz +0 -0
  101. package/dist/chunk-66APV3YZ.mjs.br +0 -0
  102. package/dist/chunk-66APV3YZ.mjs.gz +0 -0
  103. package/dist/chunk-FBN7UFW2.mjs.br +0 -0
  104. package/dist/chunk-FBN7UFW2.mjs.gz +0 -0
  105. package/dist/chunk-KUQRWMIK.js.br +0 -0
  106. package/dist/chunk-KUQRWMIK.js.gz +0 -0
  107. package/dist/chunk-Q3DHYOLK.mjs.br +0 -0
  108. package/dist/chunk-Q3DHYOLK.mjs.gz +0 -0
  109. package/dist/chunk-VJZJESNT.js.br +0 -0
  110. package/dist/chunk-VJZJESNT.js.gz +0 -0
  111. package/dist/chunk-VUE3EPTJ.mjs.br +0 -0
  112. package/dist/chunk-VUE3EPTJ.mjs.gz +0 -0
  113. package/dist/chunk-W2IMY5SY.js.br +0 -0
  114. package/dist/chunk-W2IMY5SY.js.gz +0 -0
  115. package/dist/three.module-JPZUM7AI.mjs.br +0 -0
  116. package/dist/three.module-JPZUM7AI.mjs.gz +0 -0
  117. package/dist/three.module-RIUI7P3J.js.br +0 -0
  118. package/dist/three.module-RIUI7P3J.js.gz +0 -0
  119. package/dist/y-webrtc-CCA4HVZZ.mjs.br +0 -0
  120. package/dist/y-webrtc-CCA4HVZZ.mjs.gz +0 -0
  121. package/dist/y-webrtc-MB5ZXFBA.js.br +0 -0
  122. package/dist/y-webrtc-MB5ZXFBA.js.gz +0 -0
  123. package/dist/y-websocket-JQQZVAMX.js.br +0 -0
  124. package/dist/y-websocket-JQQZVAMX.js.gz +0 -0
  125. package/dist/y-websocket-SCLLNICY.mjs.br +0 -0
  126. package/dist/y-websocket-SCLLNICY.mjs.gz +0 -0
@@ -1,11 +1,11 @@
1
1
  import * as ooxml_ui_pptx from 'ooxml-ui/pptx';
2
- import { CollaborationRole, CollaborationConfig, ViewportFitOptions, ViewerFontSource, CanvasSize, ViewerTheme, ThemeCatalogEntry, AccountAuthConfig, CollaborationInput, ToolbarActionId, RibbonAddInTab, ViewerCustomization, PowerPointViewerAPI, ViewerCustomizationApi, BorrowedCollaborationAwareness } from 'ooxml-ui/pptx';
2
+ import { CollaborationRole, CollaborationConfig, ViewportFitOptions, ViewerFontSource, CanvasSize, DocumentStorage, ViewerAutosaveStatus, AutosaveRecord, ConnectionStatus, ViewerTheme, ThemeCatalogEntry, AccountAuthConfig, CollaborationInput, ToolbarActionId, RibbonAddInTab, ViewerCustomization, PowerPointViewerAPI, ViewerCustomizationApi, BorrowedCollaborationAwareness } from 'ooxml-ui/pptx';
3
3
  export { CollaborationConfig, CollaborationRole, ElementClipboardPayload, ExternalCollaborationAwareness, ExternalCollaborationSession, ExternalCollaborationSnapshot, SessionDeck, ShapeAdjustmentDragState, ShapeAdjustmentHandleDescriptor, ViewerMode, clearAudienceContent, forgetSessionDeck, getSessionTabId, loadAudienceContent, loadSessionDeck, rememberSessionDeck, restoreSessionDeck, storeAudienceContent } from 'ooxml-ui/pptx';
4
4
  import * as React from 'react';
5
5
  import React__default, { RefObject } from 'react';
6
6
  import { LocaleCatalogEntry } from 'ooxml-ui/pptx/i18n';
7
- import { PptxAnimationPreset, ConnectorArrowType, PptxSlide, PptxElement, XmlObject, PptxElementAnimation, ShapeStyle, PptxSlideTransition, StrokeDashType, PptxNativeAnimation, PptxThemePreset, PptxThemeColorScheme, PptxThemeFontScheme, PptxHandler, PptxData } from 'ooxml-core/pptx';
8
- import { CollaborationState } from 'ooxml-core/collab';
7
+ import { PptxAnimationPreset, ConnectorArrowType, PptxSlide, PptxElement, XmlObject, PptxCoreProperties, PptxElementAnimation, ShapeStyle, PptxSlideTransition, StrokeDashType, PptxNativeAnimation, PptxThemePreset, PptxThemeColorScheme, PptxThemeFontScheme, PptxHandler, PptxData } from 'ooxml-core/pptx';
8
+ import { CollaborationWriteBackState, CollaborationState } from 'ooxml-core/collab';
9
9
  export { CollaborationState } from 'ooxml-core/collab';
10
10
  import { PptxAiConfig } from 'ooxml-ui/pptx/ai';
11
11
  export { PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiToolName, PptxAiWritePolicy } from 'ooxml-ui/pptx/ai';
@@ -135,7 +135,7 @@ interface ShapeQuickStyle {
135
135
  //#endregion
136
136
  //#region src/viewer/hooks/collaboration/types.d.ts
137
137
  /** Connection lifecycle states for the Yjs WebSocket provider. */
138
- type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'error';
138
+ type ConnectionStatus$1 = 'disconnected' | 'connecting' | 'connected' | 'error';
139
139
  /**
140
140
  * Presence data broadcast to other participants.
141
141
  * Cursor position is relative to the slide canvas (0..canvasWidth, 0..canvasHeight).
@@ -165,7 +165,7 @@ interface UserPresence {
165
165
  /** Value exposed by `CollaborationContext`. */
166
166
  interface CollaborationContextValue {
167
167
  /** Current WebSocket connection status. */
168
- status: ConnectionStatus;
168
+ status: ConnectionStatus$1;
169
169
  /** Presence data for all remote users (excludes the local user). */
170
170
  remoteUsers: UserPresence[];
171
171
  /** Broadcast the local user's presence state. */
@@ -185,6 +185,10 @@ interface CollaborationContextValue {
185
185
  retry: () => void;
186
186
  /** The local awareness client id, once the session has one. */
187
187
  clientId?: number | null;
188
+ /** The owner's write-back status, as the document sync last reported it. */
189
+ writeBack?: CollaborationWriteBackState | undefined;
190
+ /** Called by the document sync with the write-back status (undefined clears it). */
191
+ reportWriteBack?: (state: CollaborationWriteBackState | undefined) => void;
188
192
  }
189
193
  //#endregion
190
194
  //#region src/viewer/hooks/useLoadNotifications.d.ts
@@ -359,7 +363,7 @@ interface PowerPointViewerProps extends ViewportFitOptions {
359
363
  * and canvas size.
360
364
  */
361
365
  onLoad?: (detail: ViewerLoadDetail) => void;
362
- /** Fired once per distinct load failure, with a human-readable message. */
366
+ /** Fired once per distinct load failure, and for each failed Save / Save As, with a human-readable message. */
363
367
  onError?: (message: string) => void;
364
368
  /**
365
369
  * Host override for the File ▸ Open action. When provided, the built-in
@@ -370,6 +374,12 @@ interface PowerPointViewerProps extends ViewportFitOptions {
370
374
  onOpenFile?: () => void;
371
375
  /** Whether editing actions are enabled */
372
376
  canEdit?: boolean;
377
+ /**
378
+ * Makes the deck read-only (default `false`). It is the inverse of the edit switch: true wins
379
+ * over it, false only lifts this restriction, so editing still needs the edit switch and
380
+ * is never granted over a collaboration `viewer` role or `capabilities.edit`.
381
+ */
382
+ readOnly?: boolean;
373
383
  /**
374
384
  * Recovery autosave: after an edit the deck is re-serialised (always as a
375
385
  * plain, unencrypted package, because recovery has no password) and stashed
@@ -392,6 +402,35 @@ interface PowerPointViewerProps extends ViewportFitOptions {
392
402
  * "Save AutoRecover information every N minutes" (two minutes by default).
393
403
  */
394
404
  autosaveIntervalMs?: number;
405
+ /**
406
+ * Host-owned storage (`DocumentStorage` from `ooxml-core/embedding`). When set,
407
+ * Save and Save As hand the bytes to `storage.save()` instead of downloading
408
+ * them, and recovery autosave snapshots go to the storage's recovery methods
409
+ * (`readRecovery` / `writeRecovery` / `clearRecovery`) instead of IndexedDB
410
+ * when it provides them.
411
+ */
412
+ storage?: DocumentStorage;
413
+ /** Fired with the serialised deck each time a recovery autosave snapshot is written. */
414
+ onAutosave?: (content: Uint8Array) => void;
415
+ /** Fired when the user enables or disables autosave (title bar or File > Options). */
416
+ onAutosaveToggle?: (enabled: boolean) => void;
417
+ /** Fired on every autosave lifecycle transition (`idle`, `saving`, `saved`, `error`). */
418
+ onAutosaveStatus?: (status: ViewerAutosaveStatus) => void;
419
+ /**
420
+ * Fired when a recovery snapshot left by a previous session is found for this deck. The
421
+ * built-in recovery prompt is shown as well.
422
+ */
423
+ onAutosaveRecovery?: (record: AutosaveRecord) => void;
424
+ /** Fired after any committed document edit (move, resize, text, undo, redo, ...). */
425
+ onChange?: () => void;
426
+ /** Fired with the changed fields when the user saves the document properties dialog. */
427
+ onPropertiesChange?: (updates: Partial<PptxCoreProperties>) => void;
428
+ /** Fired with the new speaker-notes text when the user edits the notes of a slide. */
429
+ onNotesUpdate?: (notes: string) => void;
430
+ /** Fired when presentation (slide show) mode is entered (`true`) or left (`false`). */
431
+ onPresentationChange?: (presenting: boolean) => void;
432
+ /** Fired on every collaboration connection-status transition. */
433
+ onCollaborationStatus?: (status: ConnectionStatus) => void;
395
434
  /** Optional class name */
396
435
  className?: string;
397
436
  /**
@@ -874,7 +913,7 @@ interface UseYjsProviderInput {
874
913
  }
875
914
  interface UseYjsProviderResult {
876
915
  /** Current WebSocket connection status. */
877
- status: ConnectionStatus;
916
+ status: ConnectionStatus$1;
878
917
  /** The Yjs awareness instance (null until connected). */
879
918
  awareness: Awareness | null;
880
919
  /** The Yjs document (null until initialised). */
@@ -1010,7 +1049,7 @@ interface UserAvatarBarProps {
1010
1049
  /** Local user's avatar URL. */
1011
1050
  localUserAvatar?: string;
1012
1051
  /** Connection status. */
1013
- status: ConnectionStatus;
1052
+ status: ConnectionStatus$1;
1014
1053
  /** Maximum visible avatars before showing overflow (default: 5). */
1015
1054
  maxVisible?: number;
1016
1055
  }
@@ -1019,7 +1058,7 @@ declare function UserAvatarBar({ remoteUsers, localUserName, localUserColor, loc
1019
1058
  //#region src/viewer/components/collaboration/CollaborationStatusIndicator.d.ts
1020
1059
  interface CollaborationStatusIndicatorProps {
1021
1060
  /** Current WebSocket connection status. */
1022
- status: ConnectionStatus;
1061
+ status: ConnectionStatus$1;
1023
1062
  /** Number of connected users (including local). */
1024
1063
  connectedCount: number;
1025
1064
  /** Callback to retry the connection (shown for error state). */
@@ -1028,4 +1067,4 @@ interface CollaborationStatusIndicatorProps {
1028
1067
  declare function CollaborationStatusIndicator({ status, connectedCount, onRetry }: CollaborationStatusIndicatorProps): React__default.ReactElement;
1029
1068
 
1030
1069
  export { CollaborationProvider, CollaborationStatusIndicator, PowerPointViewer, RemoteUserCursors, UserAvatarBar, getAnimationInitialStyle, isAudienceTab, parseAudienceNonce, useCollaborativeHistory, useCollaborativeState, usePresenceTracking, useThemeSwitching, useYjsProvider };
1031
- export type { AccessibilityIssue, AnimationPresetOption, CanvasContextMenuState, CanvasSize$1 as CanvasSize, CollaborationContextValue, CollaborationStatusIndicatorProps, ConnectionStatus, ConnectorArrowOption, ConnectorGeometryOption, ConnectorGeometryType, ConnectorPathGeometry, DragState, DrawingTool, EditorHistorySnapshot, ElementBounds, ElementContextMenuAction, ElementContextMenuState, FileViewerHandle, MarqueeSelectionState, ParsedTableCell, ParsedTableData, PowerPointViewerHandle, PowerPointViewerProps, PresentationAnimationRuntime, RemoteUserCursorsProps, ResizeHandle, ResizeState, ShapePreset, ShapeQuickStyle, ShortcutReferenceItem, SlideAlignment, SlideSectionGroup, SlideTransitionOption, StrokeDashOption, SupportedShapeType, TableCellEditorState, ThemeSwitchingResult, ToolbarSection, UseCollaborativeHistoryResult, UseCollaborativeStateInput, UsePresenceTrackingResult, UseThemeSwitchingInput, UserAvatarBarProps, UserPresence };
1070
+ export type { AccessibilityIssue, AnimationPresetOption, CanvasContextMenuState, CanvasSize$1 as CanvasSize, CollaborationContextValue, CollaborationStatusIndicatorProps, ConnectionStatus$1 as ConnectionStatus, ConnectorArrowOption, ConnectorGeometryOption, ConnectorGeometryType, ConnectorPathGeometry, DragState, DrawingTool, EditorHistorySnapshot, ElementBounds, ElementContextMenuAction, ElementContextMenuState, FileViewerHandle, MarqueeSelectionState, ParsedTableCell, ParsedTableData, PowerPointViewerHandle, PowerPointViewerProps, PresentationAnimationRuntime, RemoteUserCursorsProps, ResizeHandle, ResizeState, ShapePreset, ShapeQuickStyle, ShortcutReferenceItem, SlideAlignment, SlideSectionGroup, SlideTransitionOption, StrokeDashOption, SupportedShapeType, TableCellEditorState, ThemeSwitchingResult, ToolbarSection, UseCollaborativeHistoryResult, UseCollaborativeStateInput, UsePresenceTrackingResult, UseThemeSwitchingInput, UserAvatarBarProps, UserPresence };
@@ -1,76 +1,76 @@
1
1
  'use strict';
2
2
 
3
- var chunkKUQRWMIK_js = require('../chunk-KUQRWMIK.js');
4
- var chunk2YCROYR6_js = require('../chunk-2YCROYR6.js');
5
- var chunkVJZJESNT_js = require('../chunk-VJZJESNT.js');
6
- require('../chunk-W2IMY5SY.js');
3
+ var chunkSSANGQ35_js = require('../chunk-SSANGQ35.js');
4
+ var chunkMRSGNERC_js = require('../chunk-MRSGNERC.js');
5
+ var chunkMA2BI7LX_js = require('../chunk-MA2BI7LX.js');
6
+ require('../chunk-PIRHQTI4.js');
7
7
  var pptx = require('ooxml-ui/pptx');
8
8
 
9
9
 
10
10
 
11
11
  Object.defineProperty(exports, "CollaborationStatusIndicator", {
12
12
  enumerable: true,
13
- get: function () { return chunkKUQRWMIK_js.CollaborationStatusIndicator; }
13
+ get: function () { return chunkSSANGQ35_js.CollaborationStatusIndicator; }
14
14
  });
15
15
  Object.defineProperty(exports, "PowerPointViewer", {
16
16
  enumerable: true,
17
- get: function () { return chunkKUQRWMIK_js.PowerPointViewer; }
17
+ get: function () { return chunkSSANGQ35_js.PowerPointViewer; }
18
18
  });
19
19
  Object.defineProperty(exports, "UserAvatarBar", {
20
20
  enumerable: true,
21
- get: function () { return chunkKUQRWMIK_js.UserAvatarBar; }
21
+ get: function () { return chunkSSANGQ35_js.UserAvatarBar; }
22
22
  });
23
23
  Object.defineProperty(exports, "CollaborationProvider", {
24
24
  enumerable: true,
25
- get: function () { return chunk2YCROYR6_js.CollaborationProvider; }
25
+ get: function () { return chunkMRSGNERC_js.CollaborationProvider; }
26
26
  });
27
27
  Object.defineProperty(exports, "RemoteUserCursors", {
28
28
  enumerable: true,
29
- get: function () { return chunk2YCROYR6_js.RemoteUserCursors; }
29
+ get: function () { return chunkMRSGNERC_js.RemoteUserCursors; }
30
30
  });
31
31
  Object.defineProperty(exports, "clearAudienceContent", {
32
32
  enumerable: true,
33
- get: function () { return chunk2YCROYR6_js.clearAudienceContent; }
33
+ get: function () { return chunkMRSGNERC_js.clearAudienceContent; }
34
34
  });
35
35
  Object.defineProperty(exports, "isAudienceTab", {
36
36
  enumerable: true,
37
- get: function () { return chunk2YCROYR6_js.isAudienceTab; }
37
+ get: function () { return chunkMRSGNERC_js.isAudienceTab; }
38
38
  });
39
39
  Object.defineProperty(exports, "loadAudienceContent", {
40
40
  enumerable: true,
41
- get: function () { return chunk2YCROYR6_js.loadAudienceContent; }
41
+ get: function () { return chunkMRSGNERC_js.loadAudienceContent; }
42
42
  });
43
43
  Object.defineProperty(exports, "parseAudienceNonce", {
44
44
  enumerable: true,
45
- get: function () { return chunk2YCROYR6_js.parseAudienceNonce; }
45
+ get: function () { return chunkMRSGNERC_js.parseAudienceNonce; }
46
46
  });
47
47
  Object.defineProperty(exports, "storeAudienceContent", {
48
48
  enumerable: true,
49
- get: function () { return chunk2YCROYR6_js.storeAudienceContent; }
49
+ get: function () { return chunkMRSGNERC_js.storeAudienceContent; }
50
50
  });
51
51
  Object.defineProperty(exports, "useCollaborativeHistory", {
52
52
  enumerable: true,
53
- get: function () { return chunk2YCROYR6_js.useCollaborativeHistory; }
53
+ get: function () { return chunkMRSGNERC_js.useCollaborativeHistory; }
54
54
  });
55
55
  Object.defineProperty(exports, "useCollaborativeState", {
56
56
  enumerable: true,
57
- get: function () { return chunk2YCROYR6_js.useCollaborativeState; }
57
+ get: function () { return chunkMRSGNERC_js.useCollaborativeState; }
58
58
  });
59
59
  Object.defineProperty(exports, "usePresenceTracking", {
60
60
  enumerable: true,
61
- get: function () { return chunk2YCROYR6_js.usePresenceTracking; }
61
+ get: function () { return chunkMRSGNERC_js.usePresenceTracking; }
62
62
  });
63
63
  Object.defineProperty(exports, "useThemeSwitching", {
64
64
  enumerable: true,
65
- get: function () { return chunk2YCROYR6_js.useThemeSwitching; }
65
+ get: function () { return chunkMRSGNERC_js.useThemeSwitching; }
66
66
  });
67
67
  Object.defineProperty(exports, "useYjsProvider", {
68
68
  enumerable: true,
69
- get: function () { return chunk2YCROYR6_js.useYjsProvider; }
69
+ get: function () { return chunkMRSGNERC_js.useYjsProvider; }
70
70
  });
71
71
  Object.defineProperty(exports, "getAnimationInitialStyle", {
72
72
  enumerable: true,
73
- get: function () { return chunkVJZJESNT_js.getAnimationInitialStyle; }
73
+ get: function () { return chunkMA2BI7LX_js.getAnimationInitialStyle; }
74
74
  });
75
75
  Object.defineProperty(exports, "forgetSessionDeck", {
76
76
  enumerable: true,
Binary file
Binary file
@@ -1,5 +1,5 @@
1
- export { CollaborationStatusIndicator, PowerPointViewer, UserAvatarBar } from '../chunk-VUE3EPTJ.mjs';
2
- export { CollaborationProvider, RemoteUserCursors, clearAudienceContent, isAudienceTab, loadAudienceContent, parseAudienceNonce, storeAudienceContent, useCollaborativeHistory, useCollaborativeState, usePresenceTracking, useThemeSwitching, useYjsProvider } from '../chunk-66APV3YZ.mjs';
3
- export { getAnimationInitialStyle } from '../chunk-FBN7UFW2.mjs';
4
- import '../chunk-Q3DHYOLK.mjs';
1
+ export { CollaborationStatusIndicator, PowerPointViewer, UserAvatarBar } from '../chunk-OWZSRPAH.mjs';
2
+ export { CollaborationProvider, RemoteUserCursors, clearAudienceContent, isAudienceTab, loadAudienceContent, parseAudienceNonce, storeAudienceContent, useCollaborativeHistory, useCollaborativeState, usePresenceTracking, useThemeSwitching, useYjsProvider } from '../chunk-HDOR67HF.mjs';
3
+ export { getAnimationInitialStyle } from '../chunk-BVQSH5SS.mjs';
4
+ import '../chunk-UV2HVMKZ.mjs';
5
5
  export { forgetSessionDeck, getSessionTabId, loadSessionDeck, rememberSessionDeck, restoreSessionDeck } from 'ooxml-ui/pptx';
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  import { getUnixTime, create2, floor, MAX_SAFE_INTEGER, MIN_SAFE_INTEGER, unexpectedCase, some, isArray, every, every2, create3, fromCharCode, hasProperty, getVariable, nop, equalityDeep, EqualityTraitSymbol, methodUnimplemented, equals, isObject, production, repeat, createEncoder, writeVarUint, writeSyncStep1, writeVarUint8Array, encodeAwarenessUpdate, toUint8Array, writeUpdate, removeAwarenessStates, subscribe, writeSyncStep2, writeUint8, writeVarString, unsubscribe, toBase64, fromBase64, ObservableV2, Awareness, setIfUndefined, createDecoder, readVarString, readVarUint8Array, readVarUint, readUint8, applyAwarenessUpdate, readSyncMessage, messageYjsSyncStep2, publish, writeAny, Observable, readAny, encodeUtf8, supportsColor, create, min, log10, map, messageYjsSyncStep1 } from './chunk-3VVZGHHY.mjs';
2
- import { __commonJS, __toESM, __require } from './chunk-Q3DHYOLK.mjs';
2
+ import { __commonJS, __toESM, __require } from './chunk-UV2HVMKZ.mjs';
3
3
  import 'yjs';
4
4
 
5
5
  // ../../../../node_modules/.bun/simple-peer@9.11.1/node_modules/simple-peer/simplepeer.min.js
Binary file
Binary file
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkNUNDT6EL_js = require('./chunk-NUNDT6EL.js');
4
- var chunkW2IMY5SY_js = require('./chunk-W2IMY5SY.js');
4
+ var chunkPIRHQTI4_js = require('./chunk-PIRHQTI4.js');
5
5
  require('yjs');
6
6
 
7
7
  // ../../../../node_modules/.bun/simple-peer@9.11.1/node_modules/simple-peer/simplepeer.min.js
8
- var require_simplepeer_min = chunkW2IMY5SY_js.__commonJS({
8
+ var require_simplepeer_min = chunkPIRHQTI4_js.__commonJS({
9
9
  "../../../../node_modules/.bun/simple-peer@9.11.1/node_modules/simple-peer/simplepeer.min.js"(exports, module) {
10
10
  (function(e) {
11
11
  if ("object" == typeof exports && "undefined" != typeof module) module.exports = e();
@@ -21,7 +21,7 @@ var require_simplepeer_min = chunkW2IMY5SY_js.__commonJS({
21
21
  function t2(o, i) {
22
22
  if (!e[o]) {
23
23
  if (!s[o]) {
24
- var l = "function" == typeof chunkW2IMY5SY_js.__require && chunkW2IMY5SY_js.__require;
24
+ var l = "function" == typeof chunkPIRHQTI4_js.__require && chunkPIRHQTI4_js.__require;
25
25
  if (!i && l) return l(o, true);
26
26
  if (r2) return r2(o, true);
27
27
  var c = new Error("Cannot find module '" + o + "'");
@@ -35,7 +35,7 @@ var require_simplepeer_min = chunkW2IMY5SY_js.__commonJS({
35
35
  }
36
36
  return e[o].exports;
37
37
  }
38
- for (var r2 = "function" == typeof chunkW2IMY5SY_js.__require && chunkW2IMY5SY_js.__require, a = 0; a < n2.length; a++) t2(n2[a]);
38
+ for (var r2 = "function" == typeof chunkPIRHQTI4_js.__require && chunkPIRHQTI4_js.__require, a = 0; a < n2.length; a++) t2(n2[a]);
39
39
  return t2;
40
40
  }
41
41
  return d;
@@ -3666,7 +3666,7 @@ var createMutex = () => {
3666
3666
  };
3667
3667
 
3668
3668
  // ../../../../node_modules/.bun/y-webrtc@10.3.0+dd3713061a4ad7f6/node_modules/y-webrtc/src/y-webrtc.js
3669
- var import_simplepeer_min = chunkW2IMY5SY_js.__toESM(require_simplepeer_min(), 1);
3669
+ var import_simplepeer_min = chunkPIRHQTI4_js.__toESM(require_simplepeer_min(), 1);
3670
3670
 
3671
3671
  // ../../../../node_modules/.bun/y-webrtc@10.3.0+dd3713061a4ad7f6/node_modules/y-webrtc/src/crypto.js
3672
3672
  var deriveKey = (secret, roomName) => {
Binary file
Binary file
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkNUNDT6EL_js = require('./chunk-NUNDT6EL.js');
4
- require('./chunk-W2IMY5SY.js');
4
+ require('./chunk-PIRHQTI4.js');
5
5
  require('yjs');
6
6
 
7
7
  var messagePermissionDenied = 0;
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  import { ObservableV2, Awareness, createEncoder, writeVarUint, writeSyncStep1, toUint8Array, length, publish, writeUpdate, writeVarUint8Array, encodeAwarenessUpdate, removeAwarenessStates, isNode, getUnixTime, subscribe, writeSyncStep2, unsubscribe, createDecoder, readVarUint, min, pow, map2, readSyncMessage, messageYjsSyncStep2, applyAwarenessUpdate, readVarUint8Array, readVarString } from './chunk-3VVZGHHY.mjs';
2
- import './chunk-Q3DHYOLK.mjs';
2
+ import './chunk-UV2HVMKZ.mjs';
3
3
  import 'yjs';
4
4
 
5
5
  var messagePermissionDenied = 0;
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pptx-react-viewer",
3
- "version": "4.45.0",
3
+ "version": "4.47.0",
4
4
  "description": "pptx-viewer for React: a PowerPoint viewer and editor component to render, edit, and export PPTX slides in the browser.",
5
5
  "keywords": [
6
6
  "editor",
@@ -62,6 +62,7 @@
62
62
  },
63
63
  "./styles": "./dist/pptx-viewer.css",
64
64
  "./styles.css": "./dist/pptx-viewer.css",
65
+ "./canvas.css": "./dist/pptx-viewer-canvas.css",
65
66
  "./theme.css": "./src/styles/theme.css",
66
67
  "./i18n/fr": {
67
68
  "import": {
@@ -105,8 +106,8 @@
105
106
  }
106
107
  },
107
108
  "scripts": {
108
- "build": "tsup && tsdown && node ../../scripts/merge-declarations.mjs && node ../../scripts/bundle-declarations.mjs index viewer/index i18n internals && node ../../scripts/merge-declarations.mjs .types-bundle && node ../../scripts/prune-stray-declarations.mjs dist index.d.ts viewer/index.d.ts i18n.d.ts internals.d.ts && npx @tailwindcss/cli -i src/styles/pptx-viewer.css -o dist/pptx-viewer.css --minify && node ../locales/scripts/copy-subpaths.mjs && node ../../scripts/compress-dist.mjs dist",
109
- "build:css": "npx @tailwindcss/cli -i src/styles/pptx-viewer.css -o dist/pptx-viewer.css --minify",
109
+ "build": "tsup && tsdown && node ../../scripts/merge-declarations.mjs && node ../../scripts/bundle-declarations.mjs index viewer/index i18n internals && node ../../scripts/merge-declarations.mjs .types-bundle && node ../../scripts/prune-stray-declarations.mjs dist index.d.ts viewer/index.d.ts i18n.d.ts internals.d.ts && npx @tailwindcss/cli -i src/styles/pptx-viewer.css -o dist/pptx-viewer.css --minify && node scripts/build-canvas-css.mjs && node ../locales/scripts/copy-subpaths.mjs && node ../../scripts/compress-dist.mjs dist",
110
+ "build:css": "npx @tailwindcss/cli -i src/styles/pptx-viewer.css -o dist/pptx-viewer.css --minify && node scripts/build-canvas-css.mjs",
110
111
  "dev": "tsup --watch",
111
112
  "typecheck": "tsc --noEmit --pretty",
112
113
  "typecheck:react18": "tsc --noEmit --pretty -p tsconfig.react18.json",
@@ -119,8 +120,8 @@
119
120
  "clsx": "^2.1.1",
120
121
  "dompurify": "^3.4.17",
121
122
  "html2canvas-pro": "^2.5.2",
122
- "ooxml-core": "^1.22.0",
123
- "ooxml-ui": "^1.21.0",
123
+ "ooxml-core": "^1.24.0",
124
+ "ooxml-ui": "^1.23.0",
124
125
  "opentype.js": "^2.0.0",
125
126
  "tailwind-merge": "^3.7.0"
126
127
  },
@@ -131,6 +132,7 @@
131
132
  "@types/opentype.js": "^1.3.10",
132
133
  "@types/react": "^19.3.0",
133
134
  "@types/react-dom": "^19.3.0",
135
+ "esbuild": "^0.28.2",
134
136
  "pptx-viewer-core": "^4.13.5",
135
137
  "tailwindcss": "^4.3.3",
136
138
  "tsdown": "^0.23.1",
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file