pptx-react-viewer 1.13.1 → 1.14.1

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 (108) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/{Model3DScene-C5O6LDSN.js → Model3DScene-E2FDY2TX.js} +3 -3
  3. package/dist/Model3DScene-E2FDY2TX.js.br +0 -0
  4. package/dist/Model3DScene-E2FDY2TX.js.gz +0 -0
  5. package/dist/{Model3DScene-SGFNVFB2.mjs → Model3DScene-JUJB4MJX.mjs} +2 -2
  6. package/dist/{Model3DScene-SGFNVFB2.mjs.br → Model3DScene-JUJB4MJX.mjs.br} +0 -0
  7. package/dist/Model3DScene-JUJB4MJX.mjs.gz +0 -0
  8. package/dist/{PowerPointViewer-C2a7iXAK.d.ts → PowerPointViewer-BsaUH3ZT.d.ts} +3 -3
  9. package/dist/{PowerPointViewer-BzsjqMzg.d.mts → PowerPointViewer-Nxku67uL.d.mts} +3 -3
  10. package/dist/{SurfaceChart3DScene-CDWIMU7C.mjs → SurfaceChart3DScene-2DEB7NMW.mjs} +2 -2
  11. package/dist/SurfaceChart3DScene-2DEB7NMW.mjs.br +0 -0
  12. package/dist/SurfaceChart3DScene-2DEB7NMW.mjs.gz +0 -0
  13. package/dist/{SurfaceChart3DScene-NWZ2GCPS.js → SurfaceChart3DScene-Z64TSGR5.js} +3 -3
  14. package/dist/SurfaceChart3DScene-Z64TSGR5.js.br +0 -0
  15. package/dist/SurfaceChart3DScene-Z64TSGR5.js.gz +0 -0
  16. package/dist/{chunk-LARZRLKB.js → chunk-6CNJINIT.js} +322 -27
  17. package/dist/chunk-6CNJINIT.js.br +0 -0
  18. package/dist/chunk-6CNJINIT.js.gz +0 -0
  19. package/dist/{chunk-AMFNG44P.js → chunk-CHG7GPGB.js} +471 -626
  20. package/dist/chunk-CHG7GPGB.js.br +0 -0
  21. package/dist/chunk-CHG7GPGB.js.gz +0 -0
  22. package/dist/{chunk-ASB757HI.mjs → chunk-CZOMQPLZ.mjs} +65 -220
  23. package/dist/chunk-CZOMQPLZ.mjs.br +0 -0
  24. package/dist/chunk-CZOMQPLZ.mjs.gz +0 -0
  25. package/dist/{chunk-4ZYUPWYP.mjs → chunk-MAXS6AU7.mjs} +38 -18
  26. package/dist/chunk-MAXS6AU7.mjs.br +0 -0
  27. package/dist/chunk-MAXS6AU7.mjs.gz +0 -0
  28. package/dist/{chunk-S52XBUDM.js → chunk-OBLHB72P.js} +10 -0
  29. package/dist/chunk-OBLHB72P.js.br +0 -0
  30. package/dist/{chunk-S52XBUDM.js.gz → chunk-OBLHB72P.js.gz} +0 -0
  31. package/dist/{chunk-XBOHG5BO.mjs → chunk-QFRXMAFR.mjs} +10 -0
  32. package/dist/chunk-QFRXMAFR.mjs.br +0 -0
  33. package/dist/{chunk-XBOHG5BO.mjs.gz → chunk-QFRXMAFR.mjs.gz} +0 -0
  34. package/dist/{chunk-3VVUDMB7.js → chunk-RXIGJGJN.js} +856 -836
  35. package/dist/chunk-RXIGJGJN.js.br +0 -0
  36. package/dist/chunk-RXIGJGJN.js.gz +0 -0
  37. package/dist/{chunk-KULOGKNE.mjs → chunk-ZK4SPHDQ.mjs} +291 -3
  38. package/dist/chunk-ZK4SPHDQ.mjs.br +0 -0
  39. package/dist/chunk-ZK4SPHDQ.mjs.gz +0 -0
  40. package/dist/{dist-JVXXDMU7.mjs → dist-D5LQ7PW7.mjs} +1 -1
  41. package/dist/dist-D5LQ7PW7.mjs.br +0 -0
  42. package/dist/dist-D5LQ7PW7.mjs.gz +0 -0
  43. package/dist/{dist-TRWOWXDT.js → dist-MVSQ6PWP.js} +505 -505
  44. package/dist/dist-MVSQ6PWP.js.br +0 -0
  45. package/dist/dist-MVSQ6PWP.js.gz +0 -0
  46. package/dist/hooks-unstable.d.mts +127 -121
  47. package/dist/hooks-unstable.d.ts +127 -121
  48. package/dist/hooks-unstable.js +74 -74
  49. package/dist/hooks-unstable.js.br +0 -0
  50. package/dist/hooks-unstable.js.gz +0 -0
  51. package/dist/hooks-unstable.mjs +3 -3
  52. package/dist/hooks-unstable.mjs.br +0 -0
  53. package/dist/hooks-unstable.mjs.gz +0 -0
  54. package/dist/index.d.mts +3 -3
  55. package/dist/index.d.ts +3 -3
  56. package/dist/index.js +18 -18
  57. package/dist/index.js.br +0 -0
  58. package/dist/index.js.gz +0 -0
  59. package/dist/index.mjs +4 -4
  60. package/dist/index.mjs.br +0 -0
  61. package/dist/index.mjs.gz +0 -0
  62. package/dist/pptx-viewer.css +2 -2
  63. package/dist/pptx-viewer.css.br +0 -0
  64. package/dist/pptx-viewer.css.gz +0 -0
  65. package/dist/{types-ui-DlsqFx7_.d.mts → types-ui-NG29h55h.d.mts} +31 -20
  66. package/dist/{types-ui-DlsqFx7_.d.ts → types-ui-NG29h55h.d.ts} +31 -20
  67. package/dist/{usePresenterWindow-BKx5DLJy.d.ts → usePresenterWindow-DToCijGy.d.ts} +44 -44
  68. package/dist/{usePresenterWindow-BQwzr87T.d.mts → usePresenterWindow-DeTm-unp.d.mts} +44 -44
  69. package/dist/viewer/index.d.mts +6 -6
  70. package/dist/viewer/index.d.ts +6 -6
  71. package/dist/viewer/index.js +19 -19
  72. package/dist/viewer/index.js.br +0 -0
  73. package/dist/viewer/index.js.gz +0 -0
  74. package/dist/viewer/index.mjs +4 -4
  75. package/dist/viewer/index.mjs.br +0 -0
  76. package/dist/viewer/index.mjs.gz +0 -0
  77. package/dist/y-webrtc-6CRYHAXH.mjs +2 -2
  78. package/dist/y-webrtc-6CRYHAXH.mjs.br +0 -0
  79. package/dist/y-webrtc-6CRYHAXH.mjs.gz +0 -0
  80. package/dist/y-webrtc-QCZF75JW.js +2 -2
  81. package/dist/y-webrtc-QCZF75JW.js.br +0 -0
  82. package/dist/y-webrtc-QCZF75JW.js.gz +0 -0
  83. package/package.json +1 -1
  84. package/dist/Model3DScene-C5O6LDSN.js.br +0 -0
  85. package/dist/Model3DScene-C5O6LDSN.js.gz +0 -0
  86. package/dist/Model3DScene-SGFNVFB2.mjs.gz +0 -0
  87. package/dist/SurfaceChart3DScene-CDWIMU7C.mjs.br +0 -0
  88. package/dist/SurfaceChart3DScene-CDWIMU7C.mjs.gz +0 -0
  89. package/dist/SurfaceChart3DScene-NWZ2GCPS.js.br +0 -0
  90. package/dist/SurfaceChart3DScene-NWZ2GCPS.js.gz +0 -0
  91. package/dist/chunk-3VVUDMB7.js.br +0 -0
  92. package/dist/chunk-3VVUDMB7.js.gz +0 -0
  93. package/dist/chunk-4ZYUPWYP.mjs.br +0 -0
  94. package/dist/chunk-4ZYUPWYP.mjs.gz +0 -0
  95. package/dist/chunk-AMFNG44P.js.br +0 -0
  96. package/dist/chunk-AMFNG44P.js.gz +0 -0
  97. package/dist/chunk-ASB757HI.mjs.br +0 -0
  98. package/dist/chunk-ASB757HI.mjs.gz +0 -0
  99. package/dist/chunk-KULOGKNE.mjs.br +0 -0
  100. package/dist/chunk-KULOGKNE.mjs.gz +0 -0
  101. package/dist/chunk-LARZRLKB.js.br +0 -0
  102. package/dist/chunk-LARZRLKB.js.gz +0 -0
  103. package/dist/chunk-S52XBUDM.js.br +0 -0
  104. package/dist/chunk-XBOHG5BO.mjs.br +0 -0
  105. package/dist/dist-JVXXDMU7.mjs.br +0 -0
  106. package/dist/dist-JVXXDMU7.mjs.gz +0 -0
  107. package/dist/dist-TRWOWXDT.js.br +0 -0
  108. package/dist/dist-TRWOWXDT.js.gz +0 -0
@@ -1,18 +1,18 @@
1
- import { l, P, r, R, a2, A, ap, J, aq, t, u, s, y, z, x, D, v, w, K, bk, B, $, a0, k, ca, I, S, m, d, e, N, o } from './presentation-CLc4eS3z.js';
2
- import { d as CanvasSize, E as EditorHistorySnapshot, q as PresentationAnimationRuntime, H as ElementAnimationState, V as ViewerMode, D as DragState, r as ResizeState, S as ShapeAdjustmentDragState, M as MarqueeSelectionState, B as SupportedShapeType, l as ElementClipboardPayload, G as ToolbarSection, A as AccessibilityIssue, n as ElementContextMenuState, T as TableCellEditorState, j as DrawingTool, m as ElementContextMenuAction, I as PrintSettings, J as CompareResult, x as SlideSectionGroup, a as PowerPointViewerHandle, C as CollaborationConfig, K as DeviceOrientation, L as TouchGestureCallbacks } from './types-ui-DlsqFx7_.js';
3
- export { N as MOBILE_BREAKPOINT, O as TABLET_BREAKPOINT } from './types-ui-DlsqFx7_.js';
1
+ import { P, a, r, R, a2, A, ap, J, aq, t, u, s, y, z, x, D, v, w, K, bk, B, $, a0, l, ca, I, S, m, e, f, N, o } from './presentation-BfnrtJV1.js';
2
+ import { d as CanvasSize, E as EditorHistorySnapshot, q as PresentationAnimationRuntime, H as ElementAnimationState, V as ViewerMode, D as DragState, r as ResizeState, S as ShapeAdjustmentDragState, M as MarqueeSelectionState, B as SupportedShapeType, l as ElementClipboardPayload, G as ToolbarSection, A as AccessibilityIssue, n as ElementContextMenuState, T as TableCellEditorState, j as DrawingTool, I as ChangeCaseMode, m as ElementContextMenuAction, J as PrintSettings, K as CompareResult, x as SlideSectionGroup, a as PowerPointViewerHandle, C as CollaborationConfig, L as DeviceOrientation, N as TouchGestureCallbacks } from './types-ui-NG29h55h.js';
3
+ export { O as MOBILE_BREAKPOINT, Q as TABLET_BREAKPOINT } from './types-ui-NG29h55h.js';
4
4
  import React__default, { Dispatch, SetStateAction, RefObject, MutableRefObject, ForwardedRef } from 'react';
5
- import { P as PptxHandler, M as MergeShapeOperation, k as PptxSaveFormat, a as CollaborationContextValue } from './usePresenterWindow-BKx5DLJy.js';
6
- export { C as ConnectionStatus, T as ThemeSwitchingResult, l as UseCollaborativeHistoryInput, b as UseCollaborativeHistoryResult, c as UseCollaborativeStateInput, m as UsePresenceTrackingInput, d as UsePresenceTrackingResult, n as UsePresenterWindowInput, o as UsePresenterWindowResult, e as UseThemeSwitchingInput, p as UseYjsProviderInput, q as UseYjsProviderResult, U as UserPresence, u as useCollaborativeHistory, f as useCollaborativeState, g as usePresenceTracking, r as usePresenterWindow, h as useThemeSwitching, j as useYjsProvider } from './usePresenterWindow-BKx5DLJy.js';
5
+ import { P as PptxHandler, M as MergeShapeOperation, k as PptxSaveFormat, a as CollaborationContextValue } from './usePresenterWindow-DToCijGy.js';
6
+ export { C as ConnectionStatus, T as ThemeSwitchingResult, l as UseCollaborativeHistoryInput, b as UseCollaborativeHistoryResult, c as UseCollaborativeStateInput, m as UsePresenceTrackingInput, d as UsePresenceTrackingResult, n as UsePresenterWindowInput, o as UsePresenterWindowResult, e as UseThemeSwitchingInput, p as UseYjsProviderInput, q as UseYjsProviderResult, U as UserPresence, u as useCollaborativeHistory, f as useCollaborativeState, g as usePresenceTracking, r as usePresenterWindow, h as useThemeSwitching, j as useYjsProvider } from './usePresenterWindow-DToCijGy.js';
7
7
  import { Doc } from 'yjs';
8
8
  import './theme/index.js';
9
9
  import 'y-protocols/awareness';
10
10
 
11
11
  interface EditorHistoryInput {
12
- slides: l[];
12
+ slides: P[];
13
13
  canvasSize: CanvasSize;
14
14
  activeSlideIndex: number;
15
- templateElementsBySlideId: Record<string, P[]>;
15
+ templateElementsBySlideId: Record<string, a[]>;
16
16
  selectedElementId: string | null;
17
17
  selectedElementIds: string[];
18
18
  editTemplateMode: boolean;
@@ -21,10 +21,10 @@ interface EditorHistoryInput {
21
21
  error: string | null;
22
22
  hasActivePointerInteraction: () => boolean;
23
23
  pointerCommitNonce: number;
24
- setSlides: (slides: l[]) => void;
24
+ setSlides: (slides: P[]) => void;
25
25
  setCanvasSize: (size: CanvasSize) => void;
26
26
  setActiveSlideIndex: (index: number) => void;
27
- setTemplateElementsBySlideId: (map: Record<string, P[]>) => void;
27
+ setTemplateElementsBySlideId: (map: Record<string, a[]>) => void;
28
28
  setSelectedElementId: (id: string | null) => void;
29
29
  setSelectedElementIds: (ids: string[]) => void;
30
30
  setEditTemplateMode: (mode: boolean) => void;
@@ -52,7 +52,7 @@ interface SelectionBounds {
52
52
  }
53
53
  interface UseZoomViewportInput {
54
54
  canvasSize: CanvasSize;
55
- selectedElements: P[];
55
+ selectedElements: a[];
56
56
  }
57
57
  interface UseZoomViewportResult {
58
58
  editWrapperRef: React.RefObject<HTMLDivElement | null>;
@@ -97,7 +97,7 @@ interface PresentationTransitionOverlayState {
97
97
  }
98
98
  interface UsePresentationModeInput {
99
99
  mode: ViewerMode;
100
- slides: l[];
100
+ slides: P[];
101
101
  visibleSlideIndexes: number[];
102
102
  activeSlideIndex: number;
103
103
  containerRef: React.RefObject<HTMLElement | null>;
@@ -262,11 +262,11 @@ interface FindResult {
262
262
  length: number;
263
263
  }
264
264
  interface UseFindReplaceInput {
265
- slides: l[];
265
+ slides: P[];
266
266
  mode: string;
267
267
  onSetActiveSlideIndex: (index: number) => void;
268
268
  onSetSelectedElementId: (id: string | null) => void;
269
- onUpdateSlides: (updater: (slides: l[]) => l[]) => void;
269
+ onUpdateSlides: (updater: (slides: P[]) => P[]) => void;
270
270
  onMarkDirty: () => void;
271
271
  }
272
272
  interface UseFindReplaceResult {
@@ -335,12 +335,12 @@ interface ModalDismissDrag {
335
335
  declare function useModalDismissDrag(onClose: () => void, threshold?: number): ModalDismissDrag;
336
336
 
337
337
  interface UseCommentsInput {
338
- slides: l[];
338
+ slides: P[];
339
339
  activeSlideIndex: number;
340
340
  canEdit: boolean;
341
341
  userName?: string;
342
342
  selectedElementId?: string | null;
343
- onUpdateSlides: (updater: (slides: l[]) => l[]) => void;
343
+ onUpdateSlides: (updater: (slides: P[]) => P[]) => void;
344
344
  onMarkDirty: () => void;
345
345
  }
346
346
  interface UseCommentsResult {
@@ -415,11 +415,11 @@ interface ViewerCoreState {
415
415
  error: string | null;
416
416
  setError: React__default.Dispatch<React__default.SetStateAction<string | null>>;
417
417
  /** The ordered array of all slides in the presentation. */
418
- slides: l[];
419
- setSlides: React__default.Dispatch<React__default.SetStateAction<l[]>>;
418
+ slides: P[];
419
+ setSlides: React__default.Dispatch<React__default.SetStateAction<P[]>>;
420
420
  /** Layout/master placeholder elements keyed by slide id, used for template rendering. */
421
- templateElementsBySlideId: Record<string, P[]>;
422
- setTemplateElementsBySlideId: React__default.Dispatch<React__default.SetStateAction<Record<string, P[]>>>;
421
+ templateElementsBySlideId: Record<string, a[]>;
422
+ setTemplateElementsBySlideId: React__default.Dispatch<React__default.SetStateAction<Record<string, a[]>>>;
423
423
  /** Width and height of the slide canvas in CSS pixels. */
424
424
  canvasSize: CanvasSize;
425
425
  setCanvasSize: React__default.Dispatch<React__default.SetStateAction<CanvasSize>>;
@@ -538,29 +538,29 @@ interface ViewerCoreState {
538
538
  handoutSlidesPerPage: number;
539
539
  setHandoutSlidesPerPage: React__default.Dispatch<React__default.SetStateAction<number>>;
540
540
  /** The slide object at `activeSlideIndex`, or undefined if out of bounds. */
541
- activeSlide: l | undefined;
541
+ activeSlide: P | undefined;
542
542
  /** Template (layout/master placeholder) elements for the active slide. */
543
- templateElements: P[];
543
+ templateElements: a[];
544
544
  /** Fast id-to-element lookup map covering both slide and template elements. */
545
- elementLookup: Map<string, P>;
545
+ elementLookup: Map<string, a>;
546
546
  /** The single primarily-selected element, resolved from `selectedElementId`. */
547
- selectedElement: P | null;
547
+ selectedElement: a | null;
548
548
  /** Union of `selectedElementIds` and `selectedElementId`: the canonical list of selected ids. */
549
549
  effectiveSelectedIds: string[];
550
550
  /** Set form of `effectiveSelectedIds` for O(1) membership checks. */
551
551
  selectedElementIdSet: Set<string>;
552
552
  /** Resolved element objects for all selected ids. */
553
- selectedElements: P[];
553
+ selectedElements: a[];
554
554
  /** The currently active master in master view. */
555
555
  activeMaster: A | undefined;
556
556
  /** The currently active layout in master view. */
557
557
  activeLayout: B | undefined;
558
558
  /** Elements for the currently active master or layout in master view. */
559
- masterViewElements: P[];
559
+ masterViewElements: a[];
560
560
  /** Elements for the notes master (when notes tab is active). */
561
- notesMasterElements: P[];
561
+ notesMasterElements: a[];
562
562
  /** Elements for the handout master (when handout tab is active). */
563
- handoutMasterElements: P[];
563
+ handoutMasterElements: a[];
564
564
  }
565
565
 
566
566
  /**
@@ -686,8 +686,8 @@ interface UseLoadContentInput {
686
686
  content: ArrayBuffer | Uint8Array | null | undefined;
687
687
  clearSelection: () => void;
688
688
  history: EditorHistoryResult;
689
- setSlides: React.Dispatch<React.SetStateAction<l[]>>;
690
- setTemplateElementsBySlideId: React.Dispatch<React.SetStateAction<Record<string, P[]>>>;
689
+ setSlides: React.Dispatch<React.SetStateAction<P[]>>;
690
+ setTemplateElementsBySlideId: React.Dispatch<React.SetStateAction<Record<string, a[]>>>;
691
691
  mediaDataUrls: Map<string, string>;
692
692
  setCanvasSize: React.Dispatch<React.SetStateAction<CanvasSize>>;
693
693
  setHeaderFooter: React.Dispatch<React.SetStateAction<r>>;
@@ -764,18 +764,18 @@ interface UseAutosaveResult {
764
764
  declare function useAutosave(input: UseAutosaveInput): UseAutosaveResult;
765
765
 
766
766
  interface UseElementOperationsInput {
767
- slides: l[];
768
- activeSlide: l | undefined;
767
+ slides: P[];
768
+ activeSlide: P | undefined;
769
769
  activeSlideIndex: number;
770
- selectedElement: P | null;
770
+ selectedElement: a | null;
771
771
  selectedElementId: string | null;
772
772
  /** When true, element operations target the template store, not slide.elements. */
773
773
  editTemplateMode: boolean;
774
774
  /** Template (master/layout) elements for the active slide. */
775
- templateElements: P[];
775
+ templateElements: a[];
776
776
  history: EditorHistoryResult;
777
- setSlides: React.Dispatch<React.SetStateAction<l[]>>;
778
- setTemplateElementsBySlideId: React.Dispatch<React.SetStateAction<Record<string, P[]>>>;
777
+ setSlides: React.Dispatch<React.SetStateAction<P[]>>;
778
+ setTemplateElementsBySlideId: React.Dispatch<React.SetStateAction<Record<string, a[]>>>;
779
779
  setSelectedElementId: React.Dispatch<React.SetStateAction<string | null>>;
780
780
  setSelectedElementIds: React.Dispatch<React.SetStateAction<string[]>>;
781
781
  setInlineEditingElementId: React.Dispatch<React.SetStateAction<string | null>>;
@@ -784,21 +784,23 @@ interface UseElementOperationsInput {
784
784
  interface ElementOperations {
785
785
  applySelection: (primaryId: string | null, ids?: string[]) => void;
786
786
  clearSelection: () => void;
787
- updateElementById: (elementId: string, updates: Partial<P>) => void;
788
- updateSelectedElement: (updates: Partial<P>) => void;
787
+ updateElementById: (elementId: string, updates: Partial<a>) => void;
788
+ updateSelectedElement: (updates: Partial<a>) => void;
789
789
  updateSelectedShapeStyle: (updates: Partial<$>) => void;
790
790
  updateSelectedTextStyle: (updates: Partial<a0>) => void;
791
- updateSlides: (updater: (s: l[]) => l[]) => void;
791
+ /** Rewrite the selected text's characters (PowerPoint's Aa "Change Case" dropdown). */
792
+ updateSelectedTextCase: (mode: ChangeCaseMode) => void;
793
+ updateSlides: (updater: (s: P[]) => P[]) => void;
792
794
  /**
793
795
  * The element list currently being edited: the template store for the active
794
796
  * slide while edit-template mode is on, otherwise the active slide's elements.
795
797
  */
796
- activeElements: P[];
798
+ activeElements: a[];
797
799
  /**
798
800
  * Replace the active element list (template store or slide.elements depending
799
801
  * on edit-template mode). Does not mark the document dirty; callers do.
800
802
  */
801
- updateActiveElements: (updater: (els: P[]) => P[]) => void;
803
+ updateActiveElements: (updater: (els: a[]) => a[]) => void;
802
804
  serializeSlides: () => Promise<Uint8Array | null>;
803
805
  }
804
806
  declare function useElementOperations(input: UseElementOperationsInput): ElementOperations;
@@ -806,8 +808,8 @@ declare function useElementOperations(input: UseElementOperationsInput): Element
806
808
  interface UseSectionOperationsInput {
807
809
  sections: u[];
808
810
  setSections: React.Dispatch<React.SetStateAction<u[]>>;
809
- slides: l[];
810
- setSlides: React.Dispatch<React.SetStateAction<l[]>>;
811
+ slides: P[];
812
+ setSlides: React.Dispatch<React.SetStateAction<P[]>>;
811
813
  markDirty: () => void;
812
814
  }
813
815
  interface SectionOperations {
@@ -828,7 +830,7 @@ interface UsePointerHandlersInput {
828
830
  editorScale: number;
829
831
  canvasStageRef: React.RefObject<HTMLDivElement | null>;
830
832
  canvasSize: CanvasSize;
831
- activeSlide: l | undefined;
833
+ activeSlide: P | undefined;
832
834
  activeSlideIndex: number;
833
835
  gridSpacingPx: number;
834
836
  dragStateRef: React.MutableRefObject<DragState | null>;
@@ -845,20 +847,20 @@ interface UsePointerHandlersInput {
845
847
  position: number;
846
848
  }>;
847
849
  /** Template (master/layout) elements for the active slide (drag/marquee source while editing templates). */
848
- templateElements: P[];
849
- elementLookup: Map<string, P>;
850
+ templateElements: a[];
851
+ elementLookup: Map<string, a>;
850
852
  setMarqueeSelectionState: React.Dispatch<React.SetStateAction<MarqueeSelectionState | null>>;
851
853
  setSnapLines: React.Dispatch<React.SetStateAction<Array<{
852
854
  axis: string;
853
855
  position: number;
854
856
  }>>>;
855
- setTemplateElementsBySlideId: React.Dispatch<React.SetStateAction<Record<string, P[]>>>;
857
+ setTemplateElementsBySlideId: React.Dispatch<React.SetStateAction<Record<string, a[]>>>;
856
858
  setPointerCommitNonce: React.Dispatch<React.SetStateAction<number>>;
857
859
  effectiveSelectedIds: string[];
858
860
  applySelection: (primaryId: string | null, ids?: string[]) => void;
859
861
  clearSelection: () => void;
860
- updateSlides: (updater: (s: l[]) => l[]) => void;
861
- updateElementById: (id: string, updates: Partial<P>) => void;
862
+ updateSlides: (updater: (s: P[]) => P[]) => void;
863
+ updateElementById: (id: string, updates: Partial<a>) => void;
862
864
  markDirty: () => void;
863
865
  }
864
866
 
@@ -878,7 +880,7 @@ interface CanvasInteractionHandlers {
878
880
  /** Commit a new rotation (degrees) for an element from the on-canvas rotate handle. */
879
881
  handleRotate: (elementId: string, rotationDeg: number) => void;
880
882
  /** Commit an inline (on-canvas) SmartArt node edit through the element-update path. */
881
- handleUpdateSmartArtElement: (elementId: string, updates: Partial<P>) => void;
883
+ handleUpdateSmartArtElement: (elementId: string, updates: Partial<a>) => void;
882
884
  /** Apply a text-style toggle (Ctrl/Cmd+B/I/U) to the element being inline-edited. */
883
885
  handleFormatText: (updates: Partial<a0>) => void;
884
886
  handleInlineEditCommit: () => void;
@@ -894,7 +896,7 @@ interface UseCanvasInteractionsInput {
894
896
  selectedElementIdSet: Set<string>;
895
897
  inlineEditingElementId: string | null;
896
898
  effectiveSelectedIds: string[];
897
- elementLookup: Map<string, P>;
899
+ elementLookup: Map<string, a>;
898
900
  activeTool: string;
899
901
  editTemplateMode: boolean;
900
902
  editorScale: number;
@@ -945,11 +947,11 @@ interface HyperlinkEditData {
945
947
  */
946
948
 
947
949
  interface UseInsertElementsInput {
948
- activeSlide: l | undefined;
950
+ activeSlide: P | undefined;
949
951
  activeSlideIndex: number;
950
952
  canvasSize: CanvasSize;
951
953
  newShapeType: SupportedShapeType;
952
- selectedElements: P[];
954
+ selectedElements: a[];
953
955
  ops: ElementOperations;
954
956
  history: EditorHistoryResult;
955
957
  }
@@ -957,7 +959,7 @@ interface InsertElementHandlers {
957
959
  handleAddTextBox: () => void;
958
960
  handleAddShape: () => void;
959
961
  handleAddTable: () => void;
960
- handleAddChart: (chartType: k) => void;
962
+ handleAddChart: (chartType: l) => void;
961
963
  handleInsertSmartArt: (layout: ca, defaultItems: string[]) => void;
962
964
  handleInsertEquation: (omml: Record<string, unknown>) => void;
963
965
  handleUpdateEquation: (omml: Record<string, unknown>) => void;
@@ -977,20 +979,20 @@ declare function useInsertElements(input: UseInsertElementsInput): InsertElement
977
979
  */
978
980
 
979
981
  interface UseElementManipulationInput {
980
- activeSlide: l | undefined;
982
+ activeSlide: P | undefined;
981
983
  activeSlideIndex: number;
982
- selectedElement: P | null;
984
+ selectedElement: a | null;
983
985
  effectiveSelectedIds: string[];
984
- selectedElements: P[];
986
+ selectedElements: a[];
985
987
  selectedElementIdSet: Set<string>;
986
- elementLookup: Map<string, P>;
988
+ elementLookup: Map<string, a>;
987
989
  editTemplateMode: boolean;
988
990
  clipboardPayload: {
989
- element: P;
991
+ element: a;
990
992
  isTemplate: boolean;
991
993
  } | null;
992
994
  setClipboardPayload: React.Dispatch<React.SetStateAction<{
993
- element: P;
995
+ element: a;
994
996
  isTemplate: boolean;
995
997
  } | null>>;
996
998
  setSelectedElementIds: React.Dispatch<React.SetStateAction<string[]>>;
@@ -1046,8 +1048,8 @@ declare function useElementManipulation(input: UseElementManipulationInput): Ele
1046
1048
  */
1047
1049
 
1048
1050
  interface UseSlideManagementInput {
1049
- slides: l[];
1050
- activeSlide: l | undefined;
1051
+ slides: P[];
1052
+ activeSlide: P | undefined;
1051
1053
  activeSlideIndex: number;
1052
1054
  setActiveSlideIndex: React__default.Dispatch<React__default.SetStateAction<number>>;
1053
1055
  ops: ElementOperations;
@@ -1067,9 +1069,9 @@ interface SlideManagementHandlers {
1067
1069
  declare function useSlideManagement(input: UseSlideManagementInput): SlideManagementHandlers;
1068
1070
 
1069
1071
  interface UseTableOperationsInput {
1070
- selectedElement: P | null;
1072
+ selectedElement: a | null;
1071
1073
  tableEditorState: TableCellEditorState | null;
1072
- elementLookup: Map<string, P>;
1074
+ elementLookup: Map<string, a>;
1073
1075
  setTableEditorState: Dispatch<SetStateAction<TableCellEditorState | null>>;
1074
1076
  ops: ElementOperations;
1075
1077
  history: EditorHistoryResult;
@@ -1100,10 +1102,10 @@ type TableOperationHandlers = TableStructHandlers & TableMergeHandlers;
1100
1102
  declare function useTableOperations(input: UseTableOperationsInput): TableOperationHandlers;
1101
1103
 
1102
1104
  interface UseExportHandlersInput {
1103
- slides: l[];
1105
+ slides: P[];
1104
1106
  /** Separated master/layout (template) elements, merged back at save time. */
1105
- templateElementsBySlideId: Record<string, P[]>;
1106
- activeSlide: l | undefined;
1107
+ templateElementsBySlideId: Record<string, a[]>;
1108
+ activeSlide: P | undefined;
1107
1109
  activeSlideIndex: number;
1108
1110
  filePath: string | undefined;
1109
1111
  canvasStageRef: RefObject<HTMLDivElement | null>;
@@ -1167,7 +1169,7 @@ interface ExportModalControls {
1167
1169
  declare function useExportHandlers(input: UseExportHandlersInput): ExportHandlersResult;
1168
1170
 
1169
1171
  interface UsePrintHandlersInput {
1170
- slides: l[];
1172
+ slides: P[];
1171
1173
  activeSlideIndex: number;
1172
1174
  canvasStageRef: RefObject<HTMLDivElement | null>;
1173
1175
  setActiveSlideIndex: React.Dispatch<React.SetStateAction<number>>;
@@ -1195,11 +1197,11 @@ interface UseThemeHandlersInput {
1195
1197
  }
1196
1198
  interface ThemeHandlersResult {
1197
1199
  handleApplyTheme: (themePath: string, applyToAllMasters: boolean) => Promise<void>;
1198
- handleUpdateThemeColorScheme: (colorScheme: d) => Promise<void>;
1199
- handleUpdateThemeFontScheme: (fontScheme: e) => Promise<void>;
1200
+ handleUpdateThemeColorScheme: (colorScheme: e) => Promise<void>;
1201
+ handleUpdateThemeFontScheme: (fontScheme: f) => Promise<void>;
1200
1202
  handleUpdateThemeName: (name: string) => Promise<void>;
1201
1203
  handleApplyThemeToPresentation: () => Promise<void>;
1202
- handleApplyThemeData: (colorScheme: d, fontScheme: e, themeName?: string) => Promise<void>;
1204
+ handleApplyThemeData: (colorScheme: e, fontScheme: f, themeName?: string) => Promise<void>;
1203
1205
  handleSetTemplateBackground: (path: string, backgroundColor: string | undefined) => void;
1204
1206
  handleGetTemplateBackgroundColor: (path: string) => string | undefined;
1205
1207
  /** Return theme parts discovered in the loaded PPTX archive. */
@@ -1213,7 +1215,7 @@ interface ThemeHandlersResult {
1213
1215
  declare function useThemeHandlers(input: UseThemeHandlersInput): ThemeHandlersResult;
1214
1216
 
1215
1217
  interface UsePropertyHandlersInput {
1216
- slides: l[];
1218
+ slides: P[];
1217
1219
  activeSlideIndex: number;
1218
1220
  canvasSize: CanvasSize;
1219
1221
  setContent: React.Dispatch<React.SetStateAction<ArrayBuffer | Uint8Array | null>>;
@@ -1221,14 +1223,14 @@ interface UsePropertyHandlersInput {
1221
1223
  setCoreProperties: React.Dispatch<React.SetStateAction<v | null>>;
1222
1224
  setAppProperties: React.Dispatch<React.SetStateAction<w | null>>;
1223
1225
  setCustomProperties: React.Dispatch<React.SetStateAction<x[]>>;
1224
- setSlides: React.Dispatch<React.SetStateAction<l[]>>;
1226
+ setSlides: React.Dispatch<React.SetStateAction<P[]>>;
1225
1227
  setIsDirty: React.Dispatch<React.SetStateAction<boolean>>;
1226
1228
  ops: ElementOperations;
1227
1229
  history: EditorHistoryResult;
1228
1230
  }
1229
1231
  interface PropertyHandlersResult {
1230
1232
  handleUpdateNotes: (text: string, segments?: N[]) => void;
1231
- handleUpdateSlide: (updates: Partial<l>) => void;
1233
+ handleUpdateSlide: (updates: Partial<P>) => void;
1232
1234
  handleUpdatePresentationProperties: (updates: Partial<s>) => void;
1233
1235
  handleUpdateCoreProperties: (updates: Partial<v>) => void;
1234
1236
  handleUpdateAppProperties: (updates: Partial<w>) => void;
@@ -1268,9 +1270,9 @@ interface UseViewerDialogsInput {
1268
1270
  /** Current viewer mode (edit, view, present, master). */
1269
1271
  mode: ViewerMode;
1270
1272
  /** All slides in the presentation. */
1271
- slides: l[];
1273
+ slides: P[];
1272
1274
  /** The currently active slide, or undefined. */
1273
- activeSlide: l | undefined;
1275
+ activeSlide: P | undefined;
1274
1276
  /** Zero-based index of the active slide. */
1275
1277
  activeSlideIndex: number;
1276
1278
  /** Slide canvas dimensions (used for guide positioning). */
@@ -1432,7 +1434,7 @@ interface ViewerDialogsResult {
1432
1434
  declare function useViewerDialogs(input: UseViewerDialogsInput): ViewerDialogsResult;
1433
1435
 
1434
1436
  interface UseDerivedSlideStateInput {
1435
- slides: l[];
1437
+ slides: P[];
1436
1438
  sections: Array<{
1437
1439
  id: string;
1438
1440
  name: string;
@@ -1456,7 +1458,7 @@ interface DerivedSlideState {
1456
1458
  gridSpacingPx: number;
1457
1459
  visibleSlideIndexes: number[];
1458
1460
  slideSectionGroups: SlideSectionGroup[];
1459
- masterPseudoSlide: l | undefined;
1461
+ masterPseudoSlide: P | undefined;
1460
1462
  }
1461
1463
  declare function useDerivedSlideState(input: UseDerivedSlideStateInput): DerivedSlideState;
1462
1464
 
@@ -1466,7 +1468,7 @@ interface UseAnnotationHandlersInput {
1466
1468
  annotations: UsePresentationAnnotationsResult;
1467
1469
  history: EditorHistoryResult;
1468
1470
  setMode: React.Dispatch<React.SetStateAction<ViewerMode>>;
1469
- setSlides: React.Dispatch<React.SetStateAction<l[]>>;
1471
+ setSlides: React.Dispatch<React.SetStateAction<P[]>>;
1470
1472
  }
1471
1473
  interface AnnotationHandlersResult {
1472
1474
  showKeepAnnotationsDialog: boolean;
@@ -1479,9 +1481,9 @@ interface AnnotationHandlersResult {
1479
1481
  declare function useAnnotationHandlers(input: UseAnnotationHandlersInput): AnnotationHandlersResult;
1480
1482
 
1481
1483
  interface UseSerializeInput {
1482
- slides: l[];
1484
+ slides: P[];
1483
1485
  /** Separated master/layout (template) elements, merged back at save time. */
1484
- templateElementsBySlideId: Record<string, P[]>;
1486
+ templateElementsBySlideId: Record<string, a[]>;
1485
1487
  activeSlideIndex: number;
1486
1488
  guides: Array<{
1487
1489
  id: string;
@@ -1519,7 +1521,7 @@ declare function useRecoveryDetection(input: UseRecoveryDetectionInput): void;
1519
1521
 
1520
1522
  interface UsePresentationSetupInput {
1521
1523
  mode: ViewerMode;
1522
- slides: l[];
1524
+ slides: P[];
1523
1525
  visibleSlideIndexes: number[];
1524
1526
  activeSlideIndex: number;
1525
1527
  containerRef: React.RefObject<HTMLElement | null>;
@@ -1534,7 +1536,7 @@ interface UsePresentationSetupInput {
1534
1536
  };
1535
1537
  setMode: React.Dispatch<React.SetStateAction<ViewerMode>>;
1536
1538
  setActiveSlideIndex: React.Dispatch<React.SetStateAction<number>>;
1537
- setSlides: React.Dispatch<React.SetStateAction<l[]>>;
1539
+ setSlides: React.Dispatch<React.SetStateAction<P[]>>;
1538
1540
  history: EditorHistoryResult;
1539
1541
  }
1540
1542
  interface PresentationSetupResult {
@@ -1553,10 +1555,10 @@ interface UseEditorOperationsInput {
1553
1555
  };
1554
1556
  mode: ViewerMode;
1555
1557
  canEdit: boolean;
1556
- slides: l[];
1557
- activeSlide: l | undefined;
1558
+ slides: P[];
1559
+ activeSlide: P | undefined;
1558
1560
  activeSlideIndex: number;
1559
- selectedElement: P | null;
1561
+ selectedElement: a | null;
1560
1562
  selectedElementId: string | null;
1561
1563
  selectedElementIds: string[];
1562
1564
  canvasSize: CanvasSize;
@@ -1582,7 +1584,7 @@ declare function useEditorOperations(input: UseEditorOperationsInput): EditorOpe
1582
1584
 
1583
1585
  interface UseIOHandlersInput {
1584
1586
  state: ViewerState;
1585
- slides: l[];
1587
+ slides: P[];
1586
1588
  activeSlideIndex: number;
1587
1589
  canvasSize: CanvasSize;
1588
1590
  filePath: string | undefined;
@@ -1610,7 +1612,7 @@ interface UseContentLifecycleInput {
1610
1612
  filePath: string | undefined;
1611
1613
  /** AutoSave toggle state; when false the recovery autosave timer is off. */
1612
1614
  autosaveEnabled?: boolean;
1613
- slides: l[];
1615
+ slides: P[];
1614
1616
  state: ViewerState;
1615
1617
  history: EditorHistoryResult;
1616
1618
  ops: ElementOperations;
@@ -1634,8 +1636,8 @@ interface UseKeyboardShortcutWiringInput {
1634
1636
  state: ViewerState;
1635
1637
  mode: ViewerMode;
1636
1638
  canEdit: boolean;
1637
- slides: l[];
1638
- activeSlide: l | undefined;
1639
+ slides: P[];
1640
+ activeSlide: P | undefined;
1639
1641
  ops: ElementOperations;
1640
1642
  manipulation: ElementManipulationHandlers;
1641
1643
  history: EditorHistoryResult;
@@ -1658,8 +1660,8 @@ interface UseViewerIntegrationInput {
1658
1660
  autosaveEnabled: boolean;
1659
1661
  canEdit: boolean;
1660
1662
  mode: ViewerState['mode'];
1661
- slides: l[];
1662
- activeSlide: l | undefined;
1663
+ slides: P[];
1664
+ activeSlide: P | undefined;
1663
1665
  activeSlideIndex: number;
1664
1666
  canvasSize: ViewerState['canvasSize'];
1665
1667
  loading: boolean;
@@ -1727,11 +1729,11 @@ interface UseYjsDocumentSyncInput {
1727
1729
  /** The Yjs document (from useYjsProvider). null when not collaborating. */
1728
1730
  doc: Doc | null;
1729
1731
  /** Current slides state. */
1730
- slides: l[];
1732
+ slides: P[];
1731
1733
  /** Separated master/layout (template) elements, merged back on write-back. */
1732
- templateElementsBySlideId: Record<string, P[]>;
1734
+ templateElementsBySlideId: Record<string, a[]>;
1733
1735
  /** React state setter for slides. */
1734
- setSlides: React.Dispatch<React.SetStateAction<l[]>>;
1736
+ setSlides: React.Dispatch<React.SetStateAction<P[]>>;
1735
1737
  /** Whether collaboration is active (status === 'connected'). */
1736
1738
  isConnected: boolean;
1737
1739
  /**
@@ -1793,7 +1795,7 @@ interface UseLayoutSwitchingInput {
1793
1795
  /** Current PPTX handler instance (may be null before load). */
1794
1796
  handler: PptxHandler | null;
1795
1797
  /** Current slides array. */
1796
- slides: l[];
1798
+ slides: P[];
1797
1799
  /** Index of the currently active slide. */
1798
1800
  activeSlideIndex: number;
1799
1801
  /** Element operations for updating the slides array. */
@@ -1918,20 +1920,24 @@ declare function useKeyboardInsets(enabled?: boolean): UseKeyboardInsetsResult;
1918
1920
  /**
1919
1921
  * useClipboardHandlers: Copy, cut, paste, duplicate, and delete handlers
1920
1922
  * extracted from useElementManipulation.
1923
+ *
1924
+ * Thin wrapper over the shared element-clipboard module
1925
+ * (`pptx-viewer-shared`, render/element-clipboard.ts), which owns the pure
1926
+ * payload building + paste cloning (fresh template-aware ids, cascade offset).
1921
1927
  */
1922
1928
 
1923
1929
  interface ClipboardInput {
1924
- activeSlide: l | undefined;
1930
+ activeSlide: P | undefined;
1925
1931
  activeSlideIndex: number;
1926
- selectedElement: P | null;
1932
+ selectedElement: a | null;
1927
1933
  effectiveSelectedIds: string[];
1928
1934
  editTemplateMode: boolean;
1929
1935
  clipboardPayload: {
1930
- element: P;
1936
+ element: a;
1931
1937
  isTemplate: boolean;
1932
1938
  } | null;
1933
1939
  setClipboardPayload: React.Dispatch<React.SetStateAction<{
1934
- element: P;
1940
+ element: a;
1935
1941
  isTemplate: boolean;
1936
1942
  } | null>>;
1937
1943
  ops: ElementOperations;
@@ -1940,9 +1946,9 @@ interface ClipboardInput {
1940
1946
  declare function useClipboardHandlers(input: ClipboardInput): ClipboardHandlers;
1941
1947
 
1942
1948
  interface UseDerivedElementStateInput {
1943
- slides: l[];
1949
+ slides: P[];
1944
1950
  activeSlideIndex: number;
1945
- templateElementsBySlideId: Record<string, P[]>;
1951
+ templateElementsBySlideId: Record<string, a[]>;
1946
1952
  selectedElementId: string | null;
1947
1953
  selectedElementIds: string[];
1948
1954
  slideMasters: A[];
@@ -1952,23 +1958,23 @@ interface UseDerivedElementStateInput {
1952
1958
  handoutMaster: z | undefined;
1953
1959
  }
1954
1960
  interface DerivedElementState {
1955
- activeSlide: l | undefined;
1956
- templateElements: P[];
1957
- elementLookup: Map<string, P>;
1958
- selectedElement: P | null;
1961
+ activeSlide: P | undefined;
1962
+ templateElements: a[];
1963
+ elementLookup: Map<string, a>;
1964
+ selectedElement: a | null;
1959
1965
  effectiveSelectedIds: string[];
1960
1966
  selectedElementIdSet: Set<string>;
1961
- selectedElements: P[];
1967
+ selectedElements: a[];
1962
1968
  activeMaster: A | undefined;
1963
1969
  activeLayout: B | undefined;
1964
- masterViewElements: P[];
1965
- notesMasterElements: P[];
1966
- handoutMasterElements: P[];
1970
+ masterViewElements: a[];
1971
+ notesMasterElements: a[];
1972
+ handoutMasterElements: a[];
1967
1973
  }
1968
1974
  declare function useDerivedElementState(input: UseDerivedElementStateInput): DerivedElementState;
1969
1975
 
1970
1976
  interface UseDialogCustomShowsInput {
1971
- activeSlide: l | undefined;
1977
+ activeSlide: P | undefined;
1972
1978
  customShows: Array<{
1973
1979
  id: string;
1974
1980
  name: string;
@@ -1993,9 +1999,9 @@ interface UseDialogCustomShowsResult {
1993
1999
  declare function useDialogCustomShows(input: UseDialogCustomShowsInput): UseDialogCustomShowsResult;
1994
2000
 
1995
2001
  interface UseExportSaveAsInput {
1996
- slides: l[];
2002
+ slides: P[];
1997
2003
  /** Separated master/layout (template) elements, merged back at save time. */
1998
- templateElementsBySlideId: Record<string, P[]>;
2004
+ templateElementsBySlideId: Record<string, a[]>;
1999
2005
  filePath: string | undefined;
2000
2006
  handlerRef: RefObject<PptxHandler | null>;
2001
2007
  serializeSlides: () => Promise<Uint8Array | null>;
@@ -2037,7 +2043,7 @@ declare function useExportSaveAs(input: UseExportSaveAsInput): ExportSaveAsResul
2037
2043
 
2038
2044
  interface UseFontInjectionInput {
2039
2045
  embeddedFonts: K[];
2040
- slides: l[];
2046
+ slides: P[];
2041
2047
  }
2042
2048
  declare function useFontInjection({ embeddedFonts, slides }: UseFontInjectionInput): void;
2043
2049
 
@@ -2047,12 +2053,12 @@ declare function useFontInjection({ embeddedFonts, slides }: UseFontInjectionInp
2047
2053
  */
2048
2054
 
2049
2055
  interface GroupAlignLayerInput {
2050
- activeSlide: l | undefined;
2056
+ activeSlide: P | undefined;
2051
2057
  activeSlideIndex: number;
2052
- selectedElement: P | null;
2058
+ selectedElement: a | null;
2053
2059
  effectiveSelectedIds: string[];
2054
- selectedElements: P[];
2055
- elementLookup: Map<string, P>;
2060
+ selectedElements: a[];
2061
+ elementLookup: Map<string, a>;
2056
2062
  setSelectedElementIds: React.Dispatch<React.SetStateAction<string[]>>;
2057
2063
  ops: ElementOperations;
2058
2064
  history: EditorHistoryResult;
@@ -2094,9 +2100,9 @@ declare function useKeyboardShortcuts(input: UseKeyboardShortcutsInput): void;
2094
2100
 
2095
2101
  /** Input for the merge shapes handler. */
2096
2102
  interface MergeShapesHandlerInput {
2097
- activeSlide: l | undefined;
2103
+ activeSlide: P | undefined;
2098
2104
  activeSlideIndex: number;
2099
- selectedElements: P[];
2105
+ selectedElements: a[];
2100
2106
  effectiveSelectedIds: string[];
2101
2107
  setSelectedElementIds: React.Dispatch<React.SetStateAction<string[]>>;
2102
2108
  ops: ElementOperations;
@@ -2136,7 +2142,7 @@ interface UseSwipeNavigationResult {
2136
2142
  declare function useSwipeNavigation(input: UseSwipeNavigationInput): UseSwipeNavigationResult;
2137
2143
 
2138
2144
  interface UseAnimationPlaybackInput {
2139
- slides: l[];
2145
+ slides: P[];
2140
2146
  onPlayActionSound?: (soundPath: string) => void;
2141
2147
  /** When false, all animations are skipped (elements shown immediately). */
2142
2148
  showWithAnimation?: boolean;
@@ -2203,7 +2209,7 @@ interface UsePresentationKeyboardInput {
2203
2209
  declare function usePresentationKeyboard(input: UsePresentationKeyboardInput): void;
2204
2210
 
2205
2211
  interface UseSlideNavigationInput {
2206
- slides: l[];
2212
+ slides: P[];
2207
2213
  visibleSlideIndexes: number[];
2208
2214
  presentationSlideIndex: number;
2209
2215
  setPresentationSlideIndex: (index: number) => void;