pptx-react-viewer 4.53.0 → 4.53.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 (39) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/{chunk-7M7MQGRK.js → chunk-2ZS3FP62.js} +120 -120
  3. package/dist/chunk-2ZS3FP62.js.br +0 -0
  4. package/dist/chunk-2ZS3FP62.js.gz +0 -0
  5. package/dist/{chunk-L3I2DEBI.js → chunk-433LAU63.js} +9 -19
  6. package/dist/chunk-433LAU63.js.br +0 -0
  7. package/dist/chunk-433LAU63.js.gz +0 -0
  8. package/dist/{chunk-3WAEUEID.mjs → chunk-QCNVTNVV.mjs} +9 -19
  9. package/dist/chunk-QCNVTNVV.mjs.br +0 -0
  10. package/dist/chunk-QCNVTNVV.mjs.gz +0 -0
  11. package/dist/{chunk-BFVUPYIH.mjs → chunk-SN4XVKRH.mjs} +2 -2
  12. package/dist/chunk-SN4XVKRH.mjs.br +0 -0
  13. package/dist/{chunk-BFVUPYIH.mjs.gz → chunk-SN4XVKRH.mjs.gz} +0 -0
  14. package/dist/index.js +23 -23
  15. package/dist/index.js.br +0 -0
  16. package/dist/index.js.gz +0 -0
  17. package/dist/index.mjs +2 -2
  18. package/dist/index.mjs.br +0 -0
  19. package/dist/index.mjs.gz +0 -0
  20. package/dist/internals.js +80 -80
  21. package/dist/internals.js.br +0 -0
  22. package/dist/internals.js.gz +0 -0
  23. package/dist/internals.mjs +1 -1
  24. package/dist/internals.mjs.br +0 -0
  25. package/dist/internals.mjs.gz +0 -0
  26. package/dist/viewer/index.js +18 -18
  27. package/dist/viewer/index.js.br +0 -0
  28. package/dist/viewer/index.js.gz +0 -0
  29. package/dist/viewer/index.mjs +2 -2
  30. package/dist/viewer/index.mjs.br +0 -0
  31. package/dist/viewer/index.mjs.gz +0 -0
  32. package/package.json +3 -3
  33. package/dist/chunk-3WAEUEID.mjs.br +0 -0
  34. package/dist/chunk-3WAEUEID.mjs.gz +0 -0
  35. package/dist/chunk-7M7MQGRK.js.br +0 -0
  36. package/dist/chunk-7M7MQGRK.js.gz +0 -0
  37. package/dist/chunk-BFVUPYIH.mjs.br +0 -0
  38. package/dist/chunk-L3I2DEBI.js.br +0 -0
  39. package/dist/chunk-L3I2DEBI.js.gz +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkL3I2DEBI_js = require('./chunk-L3I2DEBI.js');
3
+ var chunk433LAU63_js = require('./chunk-433LAU63.js');
4
4
  var chunk3TN5SUQR_js = require('./chunk-3TN5SUQR.js');
5
5
  var pptx = require('ooxml-ui/pptx');
6
6
  var React109 = require('react');
@@ -309,7 +309,7 @@ function SlideTemplatePreview({
309
309
  transformOrigin: "top left"
310
310
  },
311
311
  children: previewSlide.elements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
312
- chunkL3I2DEBI_js.StaticElementRenderer,
312
+ chunk433LAU63_js.StaticElementRenderer,
313
313
  {
314
314
  element,
315
315
  activeSlide: previewSlide,
@@ -378,7 +378,7 @@ function SlideTemplateGalleryDialog({
378
378
  scheme
379
379
  }) {
380
380
  const { t } = chunk3TN5SUQR_js.useTranslation();
381
- const { panelStyle, handlers: dragHandlers } = chunkL3I2DEBI_js.useModalDismissDrag(onClose);
381
+ const { panelStyle, handlers: dragHandlers } = chunk433LAU63_js.useModalDismissDrag(onClose);
382
382
  const [selected, setSelected] = React109.useState(null);
383
383
  const dialogRef = React109.useRef(null);
384
384
  useModalFocus(isOpen, dialogRef, onClose);
@@ -876,7 +876,7 @@ function MobileSheet({
876
876
  }) {
877
877
  const sheetRef = React109.useRef(null);
878
878
  const { t } = chunk3TN5SUQR_js.useTranslation();
879
- const { dragY, dragging, handlers } = chunkL3I2DEBI_js.useSheetDismissDrag(onClose);
879
+ const { dragY, dragging, handlers } = chunk433LAU63_js.useSheetDismissDrag(onClose);
880
880
  useModalFocus(open, sheetRef, onClose);
881
881
  if (!open) {
882
882
  return null;
@@ -1145,7 +1145,7 @@ function WebHomeControls({
1145
1145
  function ShapeArrangeExtras(p) {
1146
1146
  const commands = useShapeFormatContext();
1147
1147
  const crop = commands?.crop;
1148
- const { isHidden } = chunkL3I2DEBI_js.useToolbarVisibility(p.hiddenActions);
1148
+ const { isHidden } = chunk433LAU63_js.useToolbarVisibility(p.hiddenActions);
1149
1149
  const { onGroupElements, onUngroupElement, onUpdateElementStyle } = p;
1150
1150
  const controls = React109.useMemo(
1151
1151
  () => pptx.arrangeShapeHomeControls({
@@ -1480,7 +1480,7 @@ function TransitionsSection(p) {
1480
1480
  case "soundPreview": {
1481
1481
  const url = pptx.ribbonTransitionStockSoundUrl(transition);
1482
1482
  if (url) {
1483
- chunkL3I2DEBI_js.playAnimationSound(url);
1483
+ chunk433LAU63_js.playAnimationSound(url);
1484
1484
  }
1485
1485
  break;
1486
1486
  }
@@ -1683,7 +1683,7 @@ function AccountPage() {
1683
1683
  return void 0;
1684
1684
  });
1685
1685
  };
1686
- const version = "4.53.0" ;
1686
+ const version = "4.53.1" ;
1687
1687
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
1688
1688
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: cardClass, children: [
1689
1689
  /* @__PURE__ */ jsxRuntime.jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -1947,7 +1947,7 @@ function FileSection(p) {
1947
1947
  const page = offered(requestedPage) ? requestedPage : offered("home") ? "home" : nav.find((item) => item.id !== "save" && item.id !== "close")?.id ?? "home";
1948
1948
  const [query, setQuery] = React109.useState("");
1949
1949
  const [recent, setRecent] = React109.useState([]);
1950
- const { isHidden } = chunkL3I2DEBI_js.useToolbarVisibility(p.hiddenActions);
1950
+ const { isHidden } = chunk433LAU63_js.useToolbarVisibility(p.hiddenActions);
1951
1951
  const exportHidden = isHidden("export");
1952
1952
  const storage = useViewerStorage();
1953
1953
  React109.useEffect(() => {
@@ -2296,7 +2296,7 @@ function LayoutArtwork({
2296
2296
  backgroundColor
2297
2297
  };
2298
2298
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: (preview?.elements ?? []).slice(0, MAX_PREVIEW_ELEMENTS).map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
2299
- chunkL3I2DEBI_js.StaticElementRenderer,
2299
+ chunk433LAU63_js.StaticElementRenderer,
2300
2300
  {
2301
2301
  element,
2302
2302
  activeSlide: slide,
@@ -2746,7 +2746,7 @@ function SlideShowOptions({
2746
2746
  }
2747
2747
  function SubtitleSettingsControl() {
2748
2748
  const { t } = chunk3TN5SUQR_js.useTranslation();
2749
- const supplied = React109.useContext(chunkL3I2DEBI_js.ViewerOptionsStoreContext);
2749
+ const supplied = React109.useContext(chunk433LAU63_js.ViewerOptionsStoreContext);
2750
2750
  const fallback = React109.useRef(null);
2751
2751
  if (!supplied) {
2752
2752
  fallback.current ??= pptx.createViewerOptionsStore({ persist: false });
@@ -2780,7 +2780,7 @@ function SubtitleSettingsControl() {
2780
2780
  }
2781
2781
  function SlideShowSection(p) {
2782
2782
  const { t } = chunk3TN5SUQR_js.useTranslation();
2783
- const { isHidden } = chunkL3I2DEBI_js.useToolbarVisibility(p.hiddenActions);
2783
+ const { isHidden } = chunk433LAU63_js.useToolbarVisibility(p.hiddenActions);
2784
2784
  const [showsOpen, setShowsOpen] = React109.useState(false);
2785
2785
  const showsRef = React109.useRef(null);
2786
2786
  React109.useEffect(() => {
@@ -3319,7 +3319,7 @@ function MobileMenuSheet(props) {
3319
3319
  const { t } = chunk3TN5SUQR_js.useTranslation();
3320
3320
  const { open, onClose } = props;
3321
3321
  const [active, setActive] = React109.useState("home");
3322
- const { isTabVisible } = chunkL3I2DEBI_js.useToolbarVisibility(props.hiddenActions);
3322
+ const { isTabVisible } = chunk433LAU63_js.useToolbarVisibility(props.hiddenActions);
3323
3323
  return /* @__PURE__ */ jsxRuntime.jsx(
3324
3324
  MobileSheet,
3325
3325
  {
@@ -3610,7 +3610,7 @@ function MobileToolbar(props) {
3610
3610
  const { t } = chunk3TN5SUQR_js.useTranslation();
3611
3611
  const { mode, canUndo, canRedo, onUndo, onRedo, onSetMode, onSaveAsPptx } = props;
3612
3612
  const [menuOpen, setMenuOpen] = React109.useState(false);
3613
- const { isHidden } = chunkL3I2DEBI_js.useToolbarVisibility(props.hiddenActions);
3613
+ const { isHidden } = chunk433LAU63_js.useToolbarVisibility(props.hiddenActions);
3614
3614
  const showEdit = mode === "edit" || mode === "master";
3615
3615
  const hidden = [];
3616
3616
  if (isHidden("undo")) {
@@ -3657,7 +3657,7 @@ function MobileToolbar(props) {
3657
3657
  }
3658
3658
  function ChartSelectionStrip() {
3659
3659
  const { t } = chunk3TN5SUQR_js.useTranslation();
3660
- const commands = chunkL3I2DEBI_js.useChartFormatContext();
3660
+ const commands = chunk433LAU63_js.useChartFormatContext();
3661
3661
  const chart = commands?.chart;
3662
3662
  const chartData = chart?.type === "chart" ? chart.chartData : void 0;
3663
3663
  const controls = React109.useMemo(
@@ -3688,7 +3688,7 @@ function PictureSizeStrip({
3688
3688
  hiddenActions
3689
3689
  }) {
3690
3690
  const crop = useShapeFormatContext()?.crop;
3691
- const { isHidden } = chunkL3I2DEBI_js.useToolbarVisibility(hiddenActions);
3691
+ const { isHidden } = chunk433LAU63_js.useToolbarVisibility(hiddenActions);
3692
3692
  const controls = React109.useMemo(
3693
3693
  () => pptx.pictureSizeHomeControls({
3694
3694
  editable: Boolean(crop),
@@ -3861,7 +3861,7 @@ var TAB_BASE = "relative px-3.5 py-2 text-[12px] font-medium whitespace-nowrap t
3861
3861
  var TAB_UNDERLINE = "after:absolute after:-bottom-px after:left-0 after:right-0 after:h-[2.5px] after:bg-primary";
3862
3862
  function RibbonTabBar(p) {
3863
3863
  const { t } = chunk3TN5SUQR_js.useTranslation();
3864
- const viewerOptions = chunkL3I2DEBI_js.useViewerOptionsContext();
3864
+ const viewerOptions = chunk433LAU63_js.useViewerOptionsContext();
3865
3865
  return /* @__PURE__ */ jsxRuntime.jsxs(
3866
3866
  "div",
3867
3867
  {
@@ -3938,9 +3938,9 @@ function RibbonTabBar(p) {
3938
3938
  }
3939
3939
  function TabRowActions(p) {
3940
3940
  const { t } = chunk3TN5SUQR_js.useTranslation();
3941
- const collab = chunkL3I2DEBI_js.useCollaboration();
3941
+ const collab = chunk433LAU63_js.useCollaboration();
3942
3942
  const isCollaborating = Boolean(collab && collab.status === "connected");
3943
- const { isHidden } = chunkL3I2DEBI_js.useToolbarVisibility(p.hiddenActions);
3943
+ const { isHidden } = chunk433LAU63_js.useToolbarVisibility(p.hiddenActions);
3944
3944
  const customization = useViewerCustomizationContext();
3945
3945
  const ref = React109.useRef(null);
3946
3946
  const handlers = React109.useRef(p);
@@ -3995,7 +3995,7 @@ function TabRowActions(p) {
3995
3995
  }
3996
3996
  function TitleBarElement(p) {
3997
3997
  const { t } = chunk3TN5SUQR_js.useTranslation();
3998
- const options = chunkL3I2DEBI_js.useViewerOptionsContext();
3998
+ const options = chunk433LAU63_js.useViewerOptionsContext();
3999
3999
  const customization = useViewerCustomizationContext();
4000
4000
  const ref = React109.useRef(null);
4001
4001
  const stripVisible = options.quickAccess.visible && pptx.isPanelVisible(customization, "quickAccessToolbar");
@@ -4331,7 +4331,7 @@ function ToolbarPrimaryRow(p) {
4331
4331
  onToggleSidebar,
4332
4332
  onToggleInspector
4333
4333
  } = p;
4334
- const collab = chunkL3I2DEBI_js.useCollaboration();
4334
+ const collab = chunk433LAU63_js.useCollaboration();
4335
4335
  const customization = useViewerCustomizationContext();
4336
4336
  const showSlidesToggle = pptx.isPanelVisible(customization, "slidesPane");
4337
4337
  const showInspectorToggle = pptx.isPanelVisible(customization, "inspector");
@@ -4621,8 +4621,8 @@ function ToolbarLateTabs({
4621
4621
  function Toolbar(p) {
4622
4622
  const { mode, isNarrowViewport, isCompactToolbarOpen, toolbarSection, onSetToolbarSection } = p;
4623
4623
  const { t } = chunk3TN5SUQR_js.useTranslation();
4624
- const { isTabVisible } = chunkL3I2DEBI_js.useToolbarVisibility(p.hiddenActions);
4625
- const viewerOptions = chunkL3I2DEBI_js.useViewerOptionsContext();
4624
+ const { isTabVisible } = chunk433LAU63_js.useToolbarVisibility(p.hiddenActions);
4625
+ const viewerOptions = chunk433LAU63_js.useViewerOptionsContext();
4626
4626
  const customization = useViewerCustomizationContext();
4627
4627
  const belowInput = React109.useMemo(
4628
4628
  () => ({
@@ -5608,7 +5608,7 @@ function DrawingOverlaySvg({
5608
5608
  onPointerDown,
5609
5609
  onPointerMove,
5610
5610
  onPointerUp,
5611
- children: isStrokeActive && liveStrokeView ? chunkL3I2DEBI_js.renderStrokeView(liveStrokeView, true, void 0, "ink-live-preview") : isStrokeActive && liveStrokeD && /* @__PURE__ */ jsxRuntime.jsx(
5611
+ children: isStrokeActive && liveStrokeView ? chunk433LAU63_js.renderStrokeView(liveStrokeView, true, void 0, "ink-live-preview") : isStrokeActive && liveStrokeD && /* @__PURE__ */ jsxRuntime.jsx(
5612
5612
  "path",
5613
5613
  {
5614
5614
  d: liveStrokeD,
@@ -6187,7 +6187,7 @@ function PictureCropOverlay({
6187
6187
  };
6188
6188
  };
6189
6189
  const { ghost, frame, handles } = overlay;
6190
- const src = chunkL3I2DEBI_js.imgSrc(element);
6190
+ const src = chunk433LAU63_js.imgSrc(element);
6191
6191
  return /* @__PURE__ */ jsxRuntime.jsxs(
6192
6192
  "div",
6193
6193
  {
@@ -6363,7 +6363,7 @@ function HorizontalRulerView({ ticks, widthPx, highlight }) {
6363
6363
  }
6364
6364
  );
6365
6365
  }
6366
- var HorizontalRuler = /* @__PURE__ */ chunkL3I2DEBI_js.withDisplayName(
6366
+ var HorizontalRuler = /* @__PURE__ */ chunk433LAU63_js.withDisplayName(
6367
6367
  /* @__PURE__ */ React109__default.default.memo(HorizontalRulerView),
6368
6368
  "HorizontalRuler"
6369
6369
  );
@@ -6437,7 +6437,7 @@ function VerticalRulerView({ ticks, heightPx, highlight }) {
6437
6437
  }
6438
6438
  );
6439
6439
  }
6440
- var VerticalRuler = /* @__PURE__ */ chunkL3I2DEBI_js.withDisplayName(
6440
+ var VerticalRuler = /* @__PURE__ */ chunk433LAU63_js.withDisplayName(
6441
6441
  /* @__PURE__ */ React109__default.default.memo(VerticalRulerView),
6442
6442
  "VerticalRuler"
6443
6443
  );
@@ -6631,7 +6631,7 @@ function SelectionHandleOverlay({
6631
6631
  onDoubleClick: (e) => onDoubleClick(element.id, e),
6632
6632
  onContextMenu: (e) => onContextMenu(element.id, e),
6633
6633
  children: /* @__PURE__ */ jsxRuntime.jsx(
6634
- chunkL3I2DEBI_js.ResizeHandles,
6634
+ chunk433LAU63_js.ResizeHandles,
6635
6635
  {
6636
6636
  elementId: element.id,
6637
6637
  adjustmentHandles,
@@ -7342,7 +7342,7 @@ function SlideCanvas(props) {
7342
7342
  props.registerInlineEditReader
7343
7343
  ]
7344
7344
  );
7345
- return /* @__PURE__ */ jsxRuntime.jsx(chunkL3I2DEBI_js.InlineCollaborationContext.Provider, { value, children: /* @__PURE__ */ jsxRuntime.jsx(SlideCanvasContent, { ...props }) });
7345
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk433LAU63_js.InlineCollaborationContext.Provider, { value, children: /* @__PURE__ */ jsxRuntime.jsx(SlideCanvasContent, { ...props }) });
7346
7346
  }
7347
7347
  function SlideCanvasContent({
7348
7348
  imagePaste,
@@ -7611,7 +7611,7 @@ function SlideCanvasContent({
7611
7611
  onPointerMove: handleStagePointerMove,
7612
7612
  onPointerUp: handleStagePointerUp,
7613
7613
  children: [
7614
- /* @__PURE__ */ jsxRuntime.jsx(chunkL3I2DEBI_js.SlideBackgroundImageLayer, { slide: activeSlide }),
7614
+ /* @__PURE__ */ jsxRuntime.jsx(chunk433LAU63_js.SlideBackgroundImageLayer, { slide: activeSlide }),
7615
7615
  presentationKeyframesCss && /* @__PURE__ */ jsxRuntime.jsx("style", { children: presentationKeyframesCss }),
7616
7616
  /* @__PURE__ */ jsxRuntime.jsx(GridOverlay, { canvasSize, gridSpacingPx, visible: showGrid }),
7617
7617
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -7623,7 +7623,7 @@ function SlideCanvasContent({
7623
7623
  }
7624
7624
  ),
7625
7625
  templateElements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
7626
- chunkL3I2DEBI_js.ElementRenderer,
7626
+ chunk433LAU63_js.ElementRenderer,
7627
7627
  {
7628
7628
  element,
7629
7629
  activeSlide,
@@ -7667,7 +7667,7 @@ function SlideCanvasContent({
7667
7667
  `tpl-${element.id}`
7668
7668
  )),
7669
7669
  activeSlide?.elements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
7670
- chunkL3I2DEBI_js.ElementRenderer,
7670
+ chunk433LAU63_js.ElementRenderer,
7671
7671
  {
7672
7672
  element,
7673
7673
  activeSlide,
@@ -7733,7 +7733,7 @@ function SlideCanvasContent({
7733
7733
  editingMember && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7734
7734
  /* @__PURE__ */ jsxRuntime.jsx("style", { children: `[data-element-id="${cssAttr(editingMember.parentId)}"] [data-element-id="${cssAttr(editingMember.member.id)}"]{visibility:hidden}` }),
7735
7735
  /* @__PURE__ */ jsxRuntime.jsx(
7736
- chunkL3I2DEBI_js.ElementRenderer,
7736
+ chunk433LAU63_js.ElementRenderer,
7737
7737
  {
7738
7738
  element: editingMember.member,
7739
7739
  activeSlide,
@@ -8205,7 +8205,7 @@ function SlideThumbnailImpl({
8205
8205
  ...pptx.deviceStrokeStageStyle(scale)
8206
8206
  },
8207
8207
  children: [
8208
- /* @__PURE__ */ jsxRuntime.jsx(chunkL3I2DEBI_js.SlideBackgroundImageLayer, { slide }),
8208
+ /* @__PURE__ */ jsxRuntime.jsx(chunk433LAU63_js.SlideBackgroundImageLayer, { slide }),
8209
8209
  slide.transition && slide.transition.type !== "none" && slide.transition.type !== "cut" && /* @__PURE__ */ jsxRuntime.jsx(
8210
8210
  "div",
8211
8211
  {
@@ -8215,7 +8215,7 @@ function SlideThumbnailImpl({
8215
8215
  }
8216
8216
  ),
8217
8217
  previewElements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
8218
- chunkL3I2DEBI_js.StaticElementRenderer,
8218
+ chunk433LAU63_js.StaticElementRenderer,
8219
8219
  {
8220
8220
  element,
8221
8221
  activeSlide: slide,
@@ -8393,7 +8393,7 @@ function ContextMenu(props) {
8393
8393
  const { t } = chunk3TN5SUQR_js.useTranslation();
8394
8394
  const customization = useViewerCustomizationContext();
8395
8395
  const shapeFormat = useShapeFormatContext();
8396
- const chartFormat = chunkL3I2DEBI_js.useChartFormatContext();
8396
+ const chartFormat = chunk433LAU63_js.useChartFormatContext();
8397
8397
  const open = Boolean(contextMenuState) && mode === "edit";
8398
8398
  const handlers = {
8399
8399
  ...contextMenuHandlers(props, shapeFormat),
@@ -9308,7 +9308,7 @@ function SlidesPaneSidebar({
9308
9308
  tableStyleContext
9309
9309
  }) {
9310
9310
  const { t } = chunk3TN5SUQR_js.useTranslation();
9311
- const collab = chunkL3I2DEBI_js.useCollaboration();
9311
+ const collab = chunk433LAU63_js.useCollaboration();
9312
9312
  const slideRefs = React109.useRef(/* @__PURE__ */ new Map());
9313
9313
  const renameInputRef = React109.useRef(null);
9314
9314
  const slidePresenceMap = React109.useMemo(() => {
@@ -9403,7 +9403,7 @@ function SlidesPaneSidebar({
9403
9403
  [sectionGroups, showSectionHeaders, effectiveCollapsed]
9404
9404
  );
9405
9405
  const shouldVirtualize = slides.length >= VIRTUALIZATION_THRESHOLD;
9406
- const { startIndex, endIndex, totalHeight, offsetY, scrollContainerRef, scrollToIndex } = chunkL3I2DEBI_js.useVirtualizedSlides({
9406
+ const { startIndex, endIndex, totalHeight, offsetY, scrollContainerRef, scrollToIndex } = chunk433LAU63_js.useVirtualizedSlides({
9407
9407
  totalItems: shouldVirtualize ? flatItems.length : 0,
9408
9408
  itemHeight: estimatedItemHeight
9409
9409
  });
@@ -11287,7 +11287,7 @@ function ReadingViewStage({
11287
11287
  className: "absolute left-0 top-0 origin-top-left",
11288
11288
  style: { width, height, transform: `scale(${scale})`, ...pptx.deviceStrokeStageStyle(scale) },
11289
11289
  children: elements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
11290
- chunkL3I2DEBI_js.StaticElementRenderer,
11290
+ chunk433LAU63_js.StaticElementRenderer,
11291
11291
  {
11292
11292
  element,
11293
11293
  activeSlide: slide,
@@ -11942,7 +11942,7 @@ function SlideNotesPanel({
11942
11942
  });
11943
11943
  const hasNotes = draft.trim().length > 0;
11944
11944
  const slideLabel = activeSlide ? t("pptx.notes.slideN", { n: activeSlide.slideNumber }) : t("pptx.notes.noSlide");
11945
- const { dragY, handlers: dragHandlers } = chunkL3I2DEBI_js.useSheetDismissDrag(onToggle);
11945
+ const { dragY, handlers: dragHandlers } = chunk433LAU63_js.useSheetDismissDrag(onToggle);
11946
11946
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
11947
11947
  isExpanded && /* @__PURE__ */ jsxRuntime.jsx(
11948
11948
  "button",
@@ -13079,7 +13079,7 @@ function DocumentPropertiesDialog({
13079
13079
  const handleClose = React109.useCallback(() => {
13080
13080
  onClose();
13081
13081
  }, [onClose]);
13082
- const { panelStyle, handlers: dragHandlers } = chunkL3I2DEBI_js.useModalDismissDrag(handleClose);
13082
+ const { panelStyle, handlers: dragHandlers } = chunk433LAU63_js.useModalDismissDrag(handleClose);
13083
13083
  if (!isOpen) {
13084
13084
  return null;
13085
13085
  }
@@ -13676,7 +13676,7 @@ function PresentationSubtitleBar({
13676
13676
  }) {
13677
13677
  const { t } = chunk3TN5SUQR_js.useTranslation();
13678
13678
  const language = pptx.subtitleRecognitionLanguage(
13679
- pptx.subtitleSettingsFromOptions(chunkL3I2DEBI_js.useViewerOptionsContext()),
13679
+ pptx.subtitleSettingsFromOptions(chunk433LAU63_js.useViewerOptionsContext()),
13680
13680
  typeof navigator === "undefined" ? "en-US" : navigator.language
13681
13681
  );
13682
13682
  const [captionText, setCaptionText] = React109.useState("");
@@ -13870,7 +13870,7 @@ function ScaledSlidePreviewImpl({
13870
13870
  ...pptx.deviceStrokeStageStyle(scale)
13871
13871
  },
13872
13872
  children: previewElements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
13873
- chunkL3I2DEBI_js.StaticElementRenderer,
13873
+ chunk433LAU63_js.StaticElementRenderer,
13874
13874
  {
13875
13875
  element,
13876
13876
  activeSlide: slide,
@@ -15204,7 +15204,7 @@ function EffectSoundRow({
15204
15204
  }
15205
15205
  const asset = pptx.getEffectSoundAsset(soundState.catalogueId);
15206
15206
  if (asset) {
15207
- chunkL3I2DEBI_js.playAnimationSound(asset.dataUrl);
15207
+ chunk433LAU63_js.playAnimationSound(asset.dataUrl);
15208
15208
  }
15209
15209
  };
15210
15210
  return /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex flex-col gap-1", children: [
@@ -15716,7 +15716,7 @@ function AnimationPanel({
15716
15716
  onUpdateSlide
15717
15717
  }) {
15718
15718
  const { t } = chunk3TN5SUQR_js.useTranslation();
15719
- const { viewportWidth } = chunkL3I2DEBI_js.useIsMobile();
15719
+ const { viewportWidth } = chunk433LAU63_js.useIsMobile();
15720
15720
  const directionBtnPx = Math.max(28, pptx.getDensePanelTouchTargetPx(viewportWidth));
15721
15721
  const fieldStyle = { minHeight: pptx.getDensePanelTouchTargetPx(viewportWidth) };
15722
15722
  const handlers = useAnimationHandlers({
@@ -17841,8 +17841,8 @@ function ChartUserShapeOptions({
17841
17841
  }
17842
17842
  function ChartDataPanel({ selectedElement, canEdit, onUpdateElement }) {
17843
17843
  const chartData = selectedElement.chartData;
17844
- const followDataPoint = chunkL3I2DEBI_js.useViewerOptionsContext().advanced.chartPropertiesFollowDataPoint;
17845
- const { selection: partSelection } = chunkL3I2DEBI_js.useChartPartSelection();
17844
+ const followDataPoint = chunk433LAU63_js.useViewerOptionsContext().advanced.chartPropertiesFollowDataPoint;
17845
+ const { selection: partSelection } = chunk433LAU63_js.useChartPartSelection();
17846
17846
  const canvasPart = partSelection?.elementId === selectedElement.id ? partSelection.part : null;
17847
17847
  const title = chartData?.title;
17848
17848
  const chartType = chartData?.chartType;
@@ -19038,7 +19038,7 @@ function DuotonePanel({
19038
19038
  ] }),
19039
19039
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
19040
19040
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground text-[10px]", children: t("pptx.image.duotonePresets") }),
19041
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-1", children: chunkL3I2DEBI_js.DUOTONE_PRESETS.map((preset) => /* @__PURE__ */ jsxRuntime.jsxs(
19041
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-1", children: chunk433LAU63_js.DUOTONE_PRESETS.map((preset) => /* @__PURE__ */ jsxRuntime.jsxs(
19042
19042
  "button",
19043
19043
  {
19044
19044
  type: "button",
@@ -22296,7 +22296,7 @@ function SmartArtPropertiesPanel({
22296
22296
  const reflowed = box ? pptx.rebuildDrawingShapesIfCleared(
22297
22297
  newData,
22298
22298
  newData.layout,
22299
- chunkL3I2DEBI_js.resolveSmartArtDataPalette(newData),
22299
+ chunk433LAU63_js.resolveSmartArtDataPalette(newData),
22300
22300
  newData.style ?? "flat",
22301
22301
  "inspector",
22302
22302
  box
@@ -22369,7 +22369,7 @@ function TableDataGrid({
22369
22369
  }) {
22370
22370
  const { t } = chunk3TN5SUQR_js.useTranslation();
22371
22371
  const grid = pptx.buildTableDataGrid(tableElement);
22372
- const { viewportWidth } = chunkL3I2DEBI_js.useIsMobile();
22372
+ const { viewportWidth } = chunk433LAU63_js.useIsMobile();
22373
22373
  const gridPlan = pptx.getDenseGridLayoutPlan(viewportWidth);
22374
22374
  const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
22375
22375
  const stickyGutterClass = gridPlan.stickyFirstColumn ? "sticky left-0 z-10" : "";
@@ -24199,7 +24199,7 @@ function InspectorPaneHeader({
24199
24199
  onClose
24200
24200
  }) {
24201
24201
  const { t } = chunk3TN5SUQR_js.useTranslation();
24202
- const { viewportWidth } = chunkL3I2DEBI_js.useIsMobile();
24202
+ const { viewportWidth } = chunk433LAU63_js.useIsMobile();
24203
24203
  const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
24204
24204
  const touchBtnStyle = { minWidth: touchTargetPx, minHeight: touchTargetPx };
24205
24205
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -24900,7 +24900,7 @@ function TransitionPreview({
24900
24900
  const { t } = chunk3TN5SUQR_js.useTranslation();
24901
24901
  const durationMs = transition.durationMs ?? 500;
24902
24902
  const animations = React109.useMemo(
24903
- () => chunkL3I2DEBI_js.getSlideTransitionAnimations(
24903
+ () => chunk433LAU63_js.getSlideTransitionAnimations(
24904
24904
  transition.type,
24905
24905
  durationMs,
24906
24906
  transition.direction,
@@ -24969,7 +24969,7 @@ function TransitionPreview({
24969
24969
  ]
24970
24970
  }
24971
24971
  ),
24972
- /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunkL3I2DEBI_js.SLIDE_TRANSITION_KEYFRAMES })
24972
+ /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunk433LAU63_js.SLIDE_TRANSITION_KEYFRAMES })
24973
24973
  ] });
24974
24974
  }
24975
24975
  var DEFAULT_DURATION_MS = 320;
@@ -25632,7 +25632,7 @@ function InspectorPane(props) {
25632
25632
  } = props;
25633
25633
  const hasSelection = selectedElement !== null;
25634
25634
  const { t } = chunk3TN5SUQR_js.useTranslation();
25635
- const { dragY, handlers: dragHandlers } = chunkL3I2DEBI_js.useSheetDismissDrag(onClose);
25635
+ const { dragY, handlers: dragHandlers } = chunk433LAU63_js.useSheetDismissDrag(onClose);
25636
25636
  const {
25637
25637
  animationPanelHeight,
25638
25638
  effectiveThemeOptions,
@@ -26045,7 +26045,7 @@ function PresentationTouchControls({
26045
26045
  hideNavigation = false
26046
26046
  }) {
26047
26047
  const { t } = chunk3TN5SUQR_js.useTranslation();
26048
- const { isTouchDevice } = chunkL3I2DEBI_js.useIsMobile();
26048
+ const { isTouchDevice } = chunk433LAU63_js.useIsMobile();
26049
26049
  if (!isTouchDevice) {
26050
26050
  return null;
26051
26051
  }
@@ -26692,11 +26692,11 @@ function PrintDialog({
26692
26692
  }) {
26693
26693
  const { t } = chunk3TN5SUQR_js.useTranslation();
26694
26694
  const regionRenderer = useRegionRenderer("dialog.print");
26695
- const { panelStyle, handlers: dragHandlers } = chunkL3I2DEBI_js.useModalDismissDrag(onClose);
26696
- const { viewportWidth } = chunkL3I2DEBI_js.useIsMobile();
26695
+ const { panelStyle, handlers: dragHandlers } = chunk433LAU63_js.useModalDismissDrag(onClose);
26696
+ const { viewportWidth } = chunk433LAU63_js.useIsMobile();
26697
26697
  const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
26698
26698
  const closeBtnStyle = { minWidth: touchTargetPx, minHeight: touchTargetPx };
26699
- const printOptionDefaults = pptx.resolveDefaultPrintSettings(chunkL3I2DEBI_js.useViewerOptionsContext());
26699
+ const printOptionDefaults = pptx.resolveDefaultPrintSettings(chunk433LAU63_js.useViewerOptionsContext());
26700
26700
  const [printWhat, setPrintWhat] = React109.useState(printOptionDefaults?.printWhat ?? "slides");
26701
26701
  const [orientation, setOrientation] = React109.useState("landscape");
26702
26702
  const [colorMode, setColorMode] = React109.useState(
@@ -27186,14 +27186,14 @@ function BroadcastDialog({
27186
27186
  }) {
27187
27187
  const { t } = chunk3TN5SUQR_js.useTranslation();
27188
27188
  const regionRenderer = useRegionRenderer("dialog.broadcast");
27189
- const collab = chunkL3I2DEBI_js.useCollaboration();
27189
+ const collab = chunk433LAU63_js.useCollaboration();
27190
27190
  const isBroadcasting = collab !== null && collab.status !== "disconnected" && collab.status !== "error" && collab.config.role === "owner";
27191
27191
  const [roomId, setRoomId] = React109.useState("");
27192
27192
  const [userName, setUserName] = React109.useState("");
27193
27193
  const [serverUrl, setServerUrl] = React109.useState("");
27194
27194
  const [copied, setCopied] = React109.useState(false);
27195
27195
  const dialogRef = React109.useRef(null);
27196
- const { panelStyle, handlers: dragHandlers } = chunkL3I2DEBI_js.useModalDismissDrag(onClose);
27196
+ const { panelStyle, handlers: dragHandlers } = chunk433LAU63_js.useModalDismissDrag(onClose);
27197
27197
  useModalFocus(open, dialogRef, onClose);
27198
27198
  React109.useEffect(() => {
27199
27199
  if (open && !isBroadcasting) {
@@ -27509,7 +27509,7 @@ function ActiveSessionView({
27509
27509
  onCopyRoomId,
27510
27510
  onStopCollaboration
27511
27511
  }) {
27512
- const { t } = chunk3TN5SUQR_js.useTranslation(), viewerOptions = chunkL3I2DEBI_js.useViewerOptionsContext(), statusColor = collab.status === "connected" ? "text-green-400" : collab.status === "connecting" ? "text-yellow-400" : "text-red-400", statusIcon = collab.status === "connected" || collab.status === "connecting" ? /* @__PURE__ */ jsxRuntime.jsx(lu.LuWifi, { className: "w-4 h-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lu.LuWifiOff, { className: "w-4 h-4" }), sessionUsers = pptx.buildActiveSessionUsers({
27512
+ const { t } = chunk3TN5SUQR_js.useTranslation(), viewerOptions = chunk433LAU63_js.useViewerOptionsContext(), statusColor = collab.status === "connected" ? "text-green-400" : collab.status === "connecting" ? "text-yellow-400" : "text-red-400", statusIcon = collab.status === "connected" || collab.status === "connecting" ? /* @__PURE__ */ jsxRuntime.jsx(lu.LuWifi, { className: "w-4 h-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lu.LuWifiOff, { className: "w-4 h-4" }), sessionUsers = pptx.buildActiveSessionUsers({
27513
27513
  localUserName: activeCollaboration?.userName ?? collab.config.userName,
27514
27514
  localUserInitials: viewerOptions.general.userInitials,
27515
27515
  localUserColor: collab.config.userColor,
@@ -27608,7 +27608,7 @@ function StartSessionForm({
27608
27608
  onRetry
27609
27609
  }) {
27610
27610
  const { t } = chunk3TN5SUQR_js.useTranslation();
27611
- const { viewportWidth } = chunkL3I2DEBI_js.useIsMobile();
27611
+ const { viewportWidth } = chunk433LAU63_js.useIsMobile();
27612
27612
  const tabBtnStyle = { minHeight: pptx.getDensePanelTouchTargetPx(viewportWidth) };
27613
27613
  const inputReadOnlyClass = preconfigured ? " opacity-70 cursor-not-allowed" : "";
27614
27614
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
@@ -27742,7 +27742,7 @@ function ShareDialog({
27742
27742
  defaultUserName,
27743
27743
  defaultServerUrl
27744
27744
  }) {
27745
- const collab = chunkL3I2DEBI_js.useCollaboration();
27745
+ const collab = chunk433LAU63_js.useCollaboration();
27746
27746
  const isActive = collab !== null && collab.status !== "disconnected" && collab.status !== "error";
27747
27747
  const { t } = chunk3TN5SUQR_js.useTranslation();
27748
27748
  const regionRenderer = useRegionRenderer("dialog.share");
@@ -27753,9 +27753,9 @@ function ShareDialog({
27753
27753
  const [invitation, setInvitation] = React109.useState("");
27754
27754
  const [copied, setCopied] = React109.useState(false);
27755
27755
  const dialogRef = React109.useRef(null);
27756
- const { panelStyle, handlers: dragHandlers } = chunkL3I2DEBI_js.useModalDismissDrag(onClose);
27756
+ const { panelStyle, handlers: dragHandlers } = chunk433LAU63_js.useModalDismissDrag(onClose);
27757
27757
  useModalFocus(open, dialogRef, onClose);
27758
- const { viewportWidth, viewportHeight } = chunkL3I2DEBI_js.useIsMobile();
27758
+ const { viewportWidth, viewportHeight } = chunk433LAU63_js.useIsMobile();
27759
27759
  const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
27760
27760
  const touchBtnStyle = { minWidth: touchTargetPx, minHeight: touchTargetPx };
27761
27761
  const stickyFooterClass = pptx.shouldStickyActionRow(viewportWidth, viewportHeight) ? "sticky bottom-0 bg-popover" : "";
@@ -28054,12 +28054,12 @@ function HyperlinkEditDialog({
28054
28054
  onCancel
28055
28055
  }) {
28056
28056
  const { t } = chunk3TN5SUQR_js.useTranslation();
28057
- const { panelStyle, handlers: dragHandlers } = chunkL3I2DEBI_js.useModalDismissDrag(onCancel);
28057
+ const { panelStyle, handlers: dragHandlers } = chunk433LAU63_js.useModalDismissDrag(onCancel);
28058
28058
  const inputRef = React109.useRef(null);
28059
- const detectedType = chunkL3I2DEBI_js.detectTargetType(initialUrl, initialAction);
28060
- const emailParts = chunkL3I2DEBI_js.parseEmailUrl(initialUrl || "");
28061
- const detectedSlide = chunkL3I2DEBI_js.parseSlideFromUrl(initialUrl, initialAction);
28062
- const detectedVerb = initialAction ? chunkL3I2DEBI_js.ACTION_VERB_MAP[initialAction.toLowerCase()] || "nextSlide" : "nextSlide";
28059
+ const detectedType = chunk433LAU63_js.detectTargetType(initialUrl, initialAction);
28060
+ const emailParts = chunk433LAU63_js.parseEmailUrl(initialUrl || "");
28061
+ const detectedSlide = chunk433LAU63_js.parseSlideFromUrl(initialUrl, initialAction);
28062
+ const detectedVerb = initialAction ? chunk433LAU63_js.ACTION_VERB_MAP[initialAction.toLowerCase()] || "nextSlide" : "nextSlide";
28063
28063
  const [targetType, setTargetType] = React109.useState(detectedType);
28064
28064
  const [url, setUrl] = React109.useState(
28065
28065
  detectedType === "email" || detectedType === "slide" || detectedType === "action" ? "" : initialUrl || ""
@@ -28336,7 +28336,7 @@ function ViewerBottomPanels({
28336
28336
  notesStyle,
28337
28337
  onNotesHeightChange
28338
28338
  }) {
28339
- const { isHidden } = chunkL3I2DEBI_js.useToolbarVisibility(hiddenActions);
28339
+ const { isHidden } = chunk433LAU63_js.useToolbarVisibility(hiddenActions);
28340
28340
  const customization = useViewerCustomizationContext();
28341
28341
  const showNotes = pptx.isPanelVisible(customization, "notes");
28342
28342
  const notesRenderer = useRegionRenderer("notes");
@@ -28733,7 +28733,7 @@ function ViewerToolbarSection(props) {
28733
28733
  [activeSlide, propertyHandlers]
28734
28734
  );
28735
28735
  const scopedLayoutOptions = React109__default.default.useMemo(
28736
- () => chunkL3I2DEBI_js.scopeLayoutOptionsToActiveSlide(s.layoutOptions, activeSlide),
28736
+ () => chunk433LAU63_js.scopeLayoutOptionsToActiveSlide(s.layoutOptions, activeSlide),
28737
28737
  [s.layoutOptions, activeSlide]
28738
28738
  );
28739
28739
  const handleResetSlide = React109.useCallback(() => {
@@ -29140,7 +29140,7 @@ function ViewerToolbarSection(props) {
29140
29140
  isMobileInsertOpen: s.isMobileInsertOpen,
29141
29141
  onCloseMobileInsert: () => s.setIsMobileInsertOpen(false),
29142
29142
  slideCommentCount: activeSlide?.comments?.length ?? 0,
29143
- reviewComments: chunkL3I2DEBI_js.createReviewCommentsHost({
29143
+ reviewComments: chunk433LAU63_js.createReviewCommentsHost({
29144
29144
  state: s,
29145
29145
  activeSlideIndex,
29146
29146
  updateSlides: ops.updateSlides,
@@ -29234,7 +29234,7 @@ function EquationEditorDialog({
29234
29234
  existingOmml
29235
29235
  }) {
29236
29236
  const { t } = chunk3TN5SUQR_js.useTranslation();
29237
- const { panelStyle, handlers: dragHandlers } = chunkL3I2DEBI_js.useModalDismissDrag(onClose);
29237
+ const { panelStyle, handlers: dragHandlers } = chunk433LAU63_js.useModalDismissDrag(onClose);
29238
29238
  const initialLatex = React109.useMemo(() => {
29239
29239
  if (!existingOmml) {
29240
29240
  return "";
@@ -29933,11 +29933,11 @@ function PresentationStage({
29933
29933
  })
29934
29934
  },
29935
29935
  children: [
29936
- /* @__PURE__ */ jsxRuntime.jsx(chunkL3I2DEBI_js.SlideBackgroundImageLayer, { slide: activeSlide }),
29936
+ /* @__PURE__ */ jsxRuntime.jsx(chunk433LAU63_js.SlideBackgroundImageLayer, { slide: activeSlide }),
29937
29937
  /* @__PURE__ */ jsxRuntime.jsx("style", { children: pptx.PRESENTATION_HIT_TEST_CSS }),
29938
29938
  presentationKeyframesCss && /* @__PURE__ */ jsxRuntime.jsx("style", { children: presentationKeyframesCss }),
29939
29939
  templateElements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
29940
- chunkL3I2DEBI_js.ElementRenderer,
29940
+ chunk433LAU63_js.ElementRenderer,
29941
29941
  {
29942
29942
  element,
29943
29943
  activeSlide,
@@ -29974,7 +29974,7 @@ function PresentationStage({
29974
29974
  `tpl-${element.id}`
29975
29975
  )),
29976
29976
  activeSlide?.elements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
29977
- chunkL3I2DEBI_js.ElementRenderer,
29977
+ chunk433LAU63_js.ElementRenderer,
29978
29978
  {
29979
29979
  element,
29980
29980
  activeSlide,
@@ -30096,8 +30096,8 @@ function ViewerCanvasArea(props) {
30096
30096
  aiCanvasActive = false
30097
30097
  } = props;
30098
30098
  const { t } = chunk3TN5SUQR_js.useTranslation();
30099
- const { isHidden } = chunkL3I2DEBI_js.useToolbarVisibility(hiddenActions);
30100
- const viewerOptions = chunkL3I2DEBI_js.useViewerOptionsContext();
30099
+ const { isHidden } = chunk433LAU63_js.useToolbarVisibility(hiddenActions);
30100
+ const viewerOptions = chunk433LAU63_js.useViewerOptionsContext();
30101
30101
  const outlineAuthoring = useOutlineAuthoring({
30102
30102
  state: s,
30103
30103
  updateElement: canvasHandlers.handleUpdateSmartArtElement,
@@ -30235,7 +30235,7 @@ ${url}`)) {
30235
30235
  s.setActiveSlideIndex((i) => Math.max(0, i - 1));
30236
30236
  }
30237
30237
  }, [mode, presentation, s]);
30238
- const swipe = chunkL3I2DEBI_js.useSwipeNavigation({
30238
+ const swipe = chunk433LAU63_js.useSwipeNavigation({
30239
30239
  enabled: swipeEnabled,
30240
30240
  onNext: handleSwipeNext,
30241
30241
  onPrev: handleSwipePrev
@@ -30315,7 +30315,7 @@ ${url}`)) {
30315
30315
  ),
30316
30316
  children: (stageScale) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
30317
30317
  presentation.transitionOverlay && slides[presentation.transitionOverlay.outgoingSlideIndex] && /* @__PURE__ */ jsxRuntime.jsx(
30318
- chunkL3I2DEBI_js.PresentationTransitionOverlay,
30318
+ chunk433LAU63_js.PresentationTransitionOverlay,
30319
30319
  {
30320
30320
  outgoingSlide: slides[presentation.transitionOverlay.outgoingSlideIndex],
30321
30321
  templateElements: [
@@ -30432,14 +30432,14 @@ ${url}`)) {
30432
30432
  outlineAuthoring,
30433
30433
  collaborationOverlay: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
30434
30434
  /* @__PURE__ */ jsxRuntime.jsx(
30435
- chunkL3I2DEBI_js.RemoteSelectionOverlay,
30435
+ chunk433LAU63_js.RemoteSelectionOverlay,
30436
30436
  {
30437
30437
  elements: effectiveSlide?.elements ?? [],
30438
30438
  activeSlideIndex
30439
30439
  }
30440
30440
  ),
30441
30441
  /* @__PURE__ */ jsxRuntime.jsx(
30442
- chunkL3I2DEBI_js.CollaborationCursorOverlay,
30442
+ chunk433LAU63_js.CollaborationCursorOverlay,
30443
30443
  {
30444
30444
  activeSlideIndex,
30445
30445
  canvasWidth: canvasSize.width,
@@ -30703,7 +30703,7 @@ function AiChangeOverlay({ batch, activeSlideIndex }) {
30703
30703
  }
30704
30704
  function ChartFormatPanel() {
30705
30705
  const { t } = chunk3TN5SUQR_js.useTranslation();
30706
- const commands = chunkL3I2DEBI_js.useChartFormatContext();
30706
+ const commands = chunk433LAU63_js.useChartFormatContext();
30707
30707
  const ref = React109.useRef(null);
30708
30708
  const chart = commands?.chart;
30709
30709
  const chartData = chart?.type === "chart" ? chart.chartData : void 0;
@@ -30776,7 +30776,7 @@ function MobileDismissSheet({
30776
30776
  children
30777
30777
  }) {
30778
30778
  const { t } = chunk3TN5SUQR_js.useTranslation();
30779
- const { dragY, handlers } = chunkL3I2DEBI_js.useSheetDismissDrag(onClose);
30779
+ const { dragY, handlers } = chunk433LAU63_js.useSheetDismissDrag(onClose);
30780
30780
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
30781
30781
  /* @__PURE__ */ jsxRuntime.jsx(
30782
30782
  "button",
@@ -31518,7 +31518,7 @@ function ViewerMainContent(props) {
31518
31518
  );
31519
31519
  const layoutGalleryAnchorRef = React109.useRef(null);
31520
31520
  const layoutGalleryPreviews = useLayoutPreviews(loadLayoutPreviews, layoutGalleryAnchor !== null);
31521
- return /* @__PURE__ */ jsxRuntime.jsx(chunkL3I2DEBI_js.ChartPartSelectionProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-pptx-chrome": "body", className: "relative z-10 flex flex-1 min-h-0", children: [
31521
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk433LAU63_js.ChartPartSelectionProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-pptx-chrome": "body", className: "relative z-10 flex flex-1 min-h-0", children: [
31522
31522
  showSlidesPane && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
31523
31523
  slidesPaneRenderer ? (
31524
31524
  // The rail's slot (width, collapse, resize handle) stays the viewer's.
@@ -32023,7 +32023,7 @@ function MobileChromeOverlay(props) {
32023
32023
  slideSectionGroups,
32024
32024
  canEdit,
32025
32025
  commentCount
32026
- } = props, { keyboardInset, isKeyboardOpen } = chunkL3I2DEBI_js.useKeyboardInsets(), activeSheet = s.isMobileInsertOpen ? "insert" : s.isSlidesPaneOpen ? "slides" : s.isInspectorPaneOpen ? s.sidebarPanelMode === "comments" ? "comments" : "inspector" : !s.isSlideNotesCollapsed ? "notes" : null, closeAllSheets = () => {
32026
+ } = props, { keyboardInset, isKeyboardOpen } = chunk433LAU63_js.useKeyboardInsets(), activeSheet = s.isMobileInsertOpen ? "insert" : s.isSlidesPaneOpen ? "slides" : s.isInspectorPaneOpen ? s.sidebarPanelMode === "comments" ? "comments" : "inspector" : !s.isSlideNotesCollapsed ? "notes" : null, closeAllSheets = () => {
32027
32027
  s.setIsSlidesPaneOpen(false);
32028
32028
  s.setIsMobileInsertOpen(false);
32029
32029
  s.setIsInspectorPaneOpen(false);
@@ -32500,7 +32500,7 @@ async function exportAiChatLogs(options) {
32500
32500
  chats,
32501
32501
  { format: options?.format, detailed: options?.detailed, now: options?.now },
32502
32502
  (filename, content, mime) => {
32503
- chunkL3I2DEBI_js.downloadBlob(new Blob([content], { type: mime }), filename);
32503
+ chunk433LAU63_js.downloadBlob(new Blob([content], { type: mime }), filename);
32504
32504
  }
32505
32505
  );
32506
32506
  }
@@ -32853,7 +32853,7 @@ function ViewerOptionsProvider({
32853
32853
  store,
32854
32854
  children
32855
32855
  }) {
32856
- return /* @__PURE__ */ jsxRuntime.jsx(chunkL3I2DEBI_js.ViewerOptionsStoreContext.Provider, { value: store, children: /* @__PURE__ */ jsxRuntime.jsx(chunkL3I2DEBI_js.ViewerOptionsContext.Provider, { value: options, children }) });
32856
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk433LAU63_js.ViewerOptionsStoreContext.Provider, { value: store, children: /* @__PURE__ */ jsxRuntime.jsx(chunk433LAU63_js.ViewerOptionsContext.Provider, { value: options, children }) });
32857
32857
  }
32858
32858
  function useAiBridge(input) {
32859
32859
  const ref = React109.useRef(input);
@@ -32934,7 +32934,7 @@ function useAiPanelController(input) {
32934
32934
  getSelectedElement: () => inputRef.current.selectedElement
32935
32935
  })
32936
32936
  );
32937
- const state = chunkL3I2DEBI_js.useController(controller);
32937
+ const state = chunk433LAU63_js.useController(controller);
32938
32938
  React109.useEffect(() => () => controller.dispose(), [controller]);
32939
32939
  const liveFocusTargets = React109.useMemo(
32940
32940
  () => ai.computeFocusTargets({ activeSlideIndex, selectedElementIds, selectedElementId }),
@@ -33187,7 +33187,7 @@ function useMasterViewCrud(input) {
33187
33187
  if (id === "renameLayout" || id === "renameMaster") {
33188
33188
  const master = slideMasters[target.masterIndex];
33189
33189
  const current = id === "renameLayout" ? master?.layouts?.[target.layoutIndex ?? -1]?.name ?? "" : master?.name ?? "";
33190
- const next = chunkL3I2DEBI_js.safePrompt(t("pptx.masterView.renamePrompt"), current)?.trim();
33190
+ const next = chunk433LAU63_js.safePrompt(t("pptx.masterView.renamePrompt"), current)?.trim();
33191
33191
  if (!next) {
33192
33192
  return;
33193
33193
  }
@@ -33778,7 +33778,7 @@ var PowerPointViewerBody = /* @__PURE__ */ React109.forwardRef(
33778
33778
  },
33779
33779
  [storage]
33780
33780
  );
33781
- const { optionsStore, options: viewerOptions } = chunkL3I2DEBI_js.useViewerOptions();
33781
+ const { optionsStore, options: viewerOptions } = chunk433LAU63_js.useViewerOptions();
33782
33782
  const custom = useViewerCustomization(
33783
33783
  customization,
33784
33784
  legacyHiddenActions,
@@ -33797,8 +33797,8 @@ var PowerPointViewerBody = /* @__PURE__ */ React109.forwardRef(
33797
33797
  const handleEnableEditing = React109.useCallback(() => {
33798
33798
  setProtectedViewOverridden(true);
33799
33799
  }, []);
33800
- const readOnlyRec = chunkL3I2DEBI_js.useReadOnlyRecommendationState(content);
33801
- const compatToastsState = chunkL3I2DEBI_js.useCompatibilityToastsState();
33800
+ const readOnlyRec = chunk433LAU63_js.useReadOnlyRecommendationState(content);
33801
+ const compatToastsState = chunk433LAU63_js.useCompatibilityToastsState();
33802
33802
  const [notesBarHeight, setNotesBarHeight] = React109.useState(0);
33803
33803
  const runProgramNoticesState = useRunProgramNoticesState();
33804
33804
  const [collaborationReadOnly, setCollaborationReadOnly] = React109.useState(Boolean(collaboration));
@@ -33821,8 +33821,8 @@ var PowerPointViewerBody = /* @__PURE__ */ React109.forwardRef(
33821
33821
  filePath
33822
33822
  });
33823
33823
  const [isShareDialogOpen, setIsShareDialogOpen] = React109.useState(false);
33824
- const { reducedMotion, toggleReducedMotion } = chunkL3I2DEBI_js.useReducedMotion();
33825
- const state = chunkL3I2DEBI_js.useViewerState({
33824
+ const { reducedMotion, toggleReducedMotion } = chunk433LAU63_js.useReducedMotion();
33825
+ const state = chunk433LAU63_js.useViewerState({
33826
33826
  content,
33827
33827
  canEdit,
33828
33828
  inspectorInitiallyOpen: props.inspectorInitiallyOpen
@@ -33949,16 +33949,16 @@ var PowerPointViewerBody = /* @__PURE__ */ React109.forwardRef(
33949
33949
  }
33950
33950
  }, [settings, optionsStore]);
33951
33951
  const handleClearOptionsCache = useAutosaveCacheMaintenance(viewerOptions, storage);
33952
- const mobile = chunkL3I2DEBI_js.useIsMobile();
33952
+ const mobile = chunk433LAU63_js.useIsMobile();
33953
33953
  const { isMobile, isTouchDevice, isVirtualKeyboardOpen } = mobile;
33954
- const resizablePanels = chunkL3I2DEBI_js.useResizablePanels();
33954
+ const resizablePanels = chunk433LAU63_js.useResizablePanels();
33955
33955
  const {
33956
33956
  gridSpacingPx,
33957
33957
  visibleSlideIndexes,
33958
33958
  slideSectionGroups,
33959
33959
  masterPseudoSlide,
33960
33960
  authoredRange
33961
- } = chunkL3I2DEBI_js.useDerivedSlideState({
33961
+ } = chunk433LAU63_js.useDerivedSlideState({
33962
33962
  slides,
33963
33963
  sections: state.sections,
33964
33964
  customShows: state.customShows,
@@ -33983,7 +33983,7 @@ var PowerPointViewerBody = /* @__PURE__ */ React109.forwardRef(
33983
33983
  state.cropSessionRef
33984
33984
  ]
33985
33985
  );
33986
- const zoom = chunkL3I2DEBI_js.useZoomViewport({
33986
+ const zoom = chunk433LAU63_js.useZoomViewport({
33987
33987
  canvasSize,
33988
33988
  selectedElements: state.selectedElements,
33989
33989
  fitPadding: props.fitPadding,
@@ -33999,7 +33999,7 @@ var PowerPointViewerBody = /* @__PURE__ */ React109.forwardRef(
33999
33999
  onChangeCallback.current?.();
34000
34000
  }, [setIsDirty]);
34001
34001
  const restoreHistoryThemeRef = React109.useRef(void 0);
34002
- const history = chunkL3I2DEBI_js.useEditorHistory({
34002
+ const history = chunk433LAU63_js.useEditorHistory({
34003
34003
  slides,
34004
34004
  canvasSize,
34005
34005
  activeSlideIndex,
@@ -34028,7 +34028,7 @@ var PowerPointViewerBody = /* @__PURE__ */ React109.forwardRef(
34028
34028
  setEditTemplateMode: state.setEditTemplateMode,
34029
34029
  setHeaderFooter: state.setHeaderFooter
34030
34030
  });
34031
- const { presentation, annotations, actionSoundHandlerRef, setExitModeHandler } = chunkL3I2DEBI_js.usePresentationSetup({
34031
+ const { presentation, annotations, actionSoundHandlerRef, setExitModeHandler } = chunk433LAU63_js.usePresentationSetup({
34032
34032
  mode,
34033
34033
  slides,
34034
34034
  visibleSlideIndexes,
@@ -34103,7 +34103,7 @@ ${url}`)
34103
34103
  loading,
34104
34104
  error
34105
34105
  ]);
34106
- chunkL3I2DEBI_js.useTouchGestures({
34106
+ chunk433LAU63_js.useTouchGestures({
34107
34107
  targetRef: zoom.canvasViewportRef,
34108
34108
  currentScale: zoom.scale,
34109
34109
  callbacks: {
@@ -34125,7 +34125,7 @@ ${url}`)
34125
34125
  },
34126
34126
  enabled: isTouchDevice
34127
34127
  });
34128
- const dialogs = chunkL3I2DEBI_js.useViewerDialogs({
34128
+ const dialogs = chunk433LAU63_js.useViewerDialogs({
34129
34129
  mode,
34130
34130
  slides,
34131
34131
  activeSlide,
@@ -34152,7 +34152,7 @@ ${url}`)
34152
34152
  history,
34153
34153
  embeddedFontFamilies: state.embeddedFonts.map((font) => font.name)
34154
34154
  });
34155
- chunkL3I2DEBI_js.useClearSelectionOnSlideChange(state, activeSlideIndex);
34155
+ chunk433LAU63_js.useClearSelectionOnSlideChange(state, activeSlideIndex);
34156
34156
  const zoomBeforePresentRef = React109.useRef(null);
34157
34157
  React109.useEffect(() => {
34158
34158
  if (mode !== "present") {
@@ -34170,7 +34170,7 @@ ${url}`)
34170
34170
  zoom.handleZoomToFit();
34171
34171
  zoom.canvasViewportRef.current?.scrollTo({ left: 0, top: 0 });
34172
34172
  }, [mode]);
34173
- const editorOps = chunkL3I2DEBI_js.useEditorOperations({
34173
+ const editorOps = chunk433LAU63_js.useEditorOperations({
34174
34174
  state,
34175
34175
  history,
34176
34176
  zoom,
@@ -34213,7 +34213,7 @@ ${url}`)
34213
34213
  handlerRef,
34214
34214
  viewerApi,
34215
34215
  loadVersion
34216
- } = chunkL3I2DEBI_js.useViewerIntegration({
34216
+ } = chunk433LAU63_js.useViewerIntegration({
34217
34217
  transformCommittedText: (text) => pptx.applyAutoCorrect(text, viewerOptions.proofing),
34218
34218
  state,
34219
34219
  zoom,
@@ -34355,7 +34355,7 @@ ${url}`)
34355
34355
  updateElementById: editorOps.ops.updateElementById
34356
34356
  });
34357
34357
  const ribbonScope = useRibbonScopeToken();
34358
- const viewPreferencesSync = chunkL3I2DEBI_js.useViewPreferencesSync({
34358
+ const viewPreferencesSync = chunk433LAU63_js.useViewPreferencesSync({
34359
34359
  loadVersion,
34360
34360
  viewProperties: state.viewProperties,
34361
34361
  setViewProperties: state.setViewProperties,
@@ -34397,7 +34397,7 @@ ${url}`)
34397
34397
  },
34398
34398
  [state]
34399
34399
  );
34400
- const layoutSwitching = chunkL3I2DEBI_js.useLayoutSwitching({
34400
+ const layoutSwitching = chunk433LAU63_js.useLayoutSwitching({
34401
34401
  handler: handlerRef.current,
34402
34402
  slides,
34403
34403
  activeSlideIndex,
@@ -34911,8 +34911,8 @@ ${url}`)
34911
34911
  // Nothing previously provided it, so every one of those consumers was
34912
34912
  // silently reading `DEFAULT_VIEWER_OPTIONS` forever, no matter what
34913
34913
  // the user changed in the Options dialog.
34914
- /* @__PURE__ */ jsxRuntime.jsx(ViewerOptionsProvider, { options: viewerOptions, store: optionsStore, children: /* @__PURE__ */ jsxRuntime.jsx(ViewerCustomizationContext.Provider, { value: customizationResolved, children: /* @__PURE__ */ jsxRuntime.jsx(ViewerStorageContext.Provider, { value: storage, children: /* @__PURE__ */ jsxRuntime.jsx(ViewerRegionBaseContext.Provider, { value: regionBase, children: /* @__PURE__ */ jsxRuntime.jsx(RibbonAddInsContext.Provider, { value: ribbonAddIns ?? NO_RIBBON_ADD_INS, children: /* @__PURE__ */ jsxRuntime.jsx(AccountAuthContext.Provider, { value: accountAuth, children: /* @__PURE__ */ jsxRuntime.jsx(chunkL3I2DEBI_js.Rendering3DFlagsContext.Provider, { value: effective3D, children: /* @__PURE__ */ jsxRuntime.jsx(ViewerThemeProvider, { theme: effectiveTheme, children: /* @__PURE__ */ jsxRuntime.jsxs(
34915
- chunkL3I2DEBI_js.CollaborationProvider,
34914
+ /* @__PURE__ */ jsxRuntime.jsx(ViewerOptionsProvider, { options: viewerOptions, store: optionsStore, children: /* @__PURE__ */ jsxRuntime.jsx(ViewerCustomizationContext.Provider, { value: customizationResolved, children: /* @__PURE__ */ jsxRuntime.jsx(ViewerStorageContext.Provider, { value: storage, children: /* @__PURE__ */ jsxRuntime.jsx(ViewerRegionBaseContext.Provider, { value: regionBase, children: /* @__PURE__ */ jsxRuntime.jsx(RibbonAddInsContext.Provider, { value: ribbonAddIns ?? NO_RIBBON_ADD_INS, children: /* @__PURE__ */ jsxRuntime.jsx(AccountAuthContext.Provider, { value: accountAuth, children: /* @__PURE__ */ jsxRuntime.jsx(chunk433LAU63_js.Rendering3DFlagsContext.Provider, { value: effective3D, children: /* @__PURE__ */ jsxRuntime.jsx(ViewerThemeProvider, { theme: effectiveTheme, children: /* @__PURE__ */ jsxRuntime.jsxs(
34915
+ chunk433LAU63_js.CollaborationProvider,
34916
34916
  {
34917
34917
  config: collaboration,
34918
34918
  canvasWidth: canvasSize.width,
@@ -34968,19 +34968,19 @@ ${url}`)
34968
34968
  slideCount: slides.length
34969
34969
  }
34970
34970
  ),
34971
- /* @__PURE__ */ jsxRuntime.jsx(ShapeFormatContext.Provider, { value: shapeFormat, children: /* @__PURE__ */ jsxRuntime.jsx(RibbonGalleryCommandsContext.Provider, { value: ribbonGalleries, children: /* @__PURE__ */ jsxRuntime.jsx(chunkL3I2DEBI_js.ChartFormatContext.Provider, { value: chartFormat, children: viewerContent }) }) })
34971
+ /* @__PURE__ */ jsxRuntime.jsx(ShapeFormatContext.Provider, { value: shapeFormat, children: /* @__PURE__ */ jsxRuntime.jsx(RibbonGalleryCommandsContext.Provider, { value: ribbonGalleries, children: /* @__PURE__ */ jsxRuntime.jsx(chunk433LAU63_js.ChartFormatContext.Provider, { value: chartFormat, children: viewerContent }) }) })
34972
34972
  ]
34973
34973
  }
34974
34974
  ) }) }) }) }) }) }) }) })
34975
34975
  );
34976
34976
  }
34977
34977
  );
34978
- var PowerPointViewer2 = /* @__PURE__ */ chunkL3I2DEBI_js.withDisplayName(
34978
+ var PowerPointViewer2 = /* @__PURE__ */ chunk433LAU63_js.withDisplayName(
34979
34979
  PowerPointViewerComponent,
34980
34980
  "PowerPointViewer"
34981
34981
  );
34982
34982
  function CollaborationStatusStrip() {
34983
- const collab = chunkL3I2DEBI_js.useCollaboration();
34983
+ const collab = chunk433LAU63_js.useCollaboration();
34984
34984
  if (!collab) {
34985
34985
  return null;
34986
34986
  }
@@ -34997,9 +34997,9 @@ function CollaborationStateReporter({
34997
34997
  onChange,
34998
34998
  onStatus
34999
34999
  }) {
35000
- const collab = chunkL3I2DEBI_js.useCollaboration();
35000
+ const collab = chunk433LAU63_js.useCollaboration();
35001
35001
  useCollaborationStateReport(collab, onChange);
35002
- chunkL3I2DEBI_js.useReportOnChange(collab?.status ?? "disconnected", onStatus, "disconnected");
35002
+ chunk433LAU63_js.useReportOnChange(collab?.status ?? "disconnected", onStatus, "disconnected");
35003
35003
  return null;
35004
35004
  }
35005
35005
  function CollaborationDocumentSync({
@@ -35013,8 +35013,8 @@ function CollaborationDocumentSync({
35013
35013
  deckSaveState,
35014
35014
  onReadOnlyChange
35015
35015
  }) {
35016
- const collab = chunkL3I2DEBI_js.useCollaboration();
35017
- chunkL3I2DEBI_js.useCollaborationDocumentSync({
35016
+ const collab = chunk433LAU63_js.useCollaboration();
35017
+ chunk433LAU63_js.useCollaborationDocumentSync({
35018
35018
  collaboration: collab,
35019
35019
  slides,
35020
35020
  templateElementsBySlideId,
@@ -35033,14 +35033,14 @@ function CollaborationFollowLayer({
35033
35033
  setActiveSlideIndex,
35034
35034
  slideCount
35035
35035
  }) {
35036
- const collab = chunkL3I2DEBI_js.useCollaboration();
35037
- const { followedClientId, followUser } = chunkL3I2DEBI_js.useFollowMode({
35036
+ const collab = chunk433LAU63_js.useCollaboration();
35037
+ const { followedClientId, followUser } = chunk433LAU63_js.useFollowMode({
35038
35038
  collab,
35039
35039
  activeSlideIndex,
35040
35040
  setActiveSlideIndex,
35041
35041
  slideCount
35042
35042
  });
35043
- chunkL3I2DEBI_js.useBroadcastFollower({
35043
+ chunk433LAU63_js.useBroadcastFollower({
35044
35044
  collab,
35045
35045
  activeSlideIndex,
35046
35046
  setActiveSlideIndex,