pptx-react-viewer 4.57.1 → 4.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/dist/{chunk-PUXJT6AD.js → chunk-2W6VOPDR.js} +1 -0
  3. package/dist/chunk-2W6VOPDR.js.br +0 -0
  4. package/dist/{chunk-PUXJT6AD.js.gz → chunk-2W6VOPDR.js.gz} +0 -0
  5. package/dist/{chunk-MO4FI3EX.mjs → chunk-6A7RIFYO.mjs} +2 -1
  6. package/dist/chunk-6A7RIFYO.mjs.br +0 -0
  7. package/dist/chunk-6A7RIFYO.mjs.gz +0 -0
  8. package/dist/{chunk-H2HB53VN.mjs → chunk-KPBL5JMS.mjs} +2 -2
  9. package/dist/chunk-KPBL5JMS.mjs.br +0 -0
  10. package/dist/chunk-KPBL5JMS.mjs.gz +0 -0
  11. package/dist/{chunk-PENWIUDF.js → chunk-NT5X2MHW.js} +120 -120
  12. package/dist/chunk-NT5X2MHW.js.br +0 -0
  13. package/dist/chunk-NT5X2MHW.js.gz +0 -0
  14. package/dist/index.js +24 -24
  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-H2HB53VN.mjs.br +0 -0
  34. package/dist/chunk-H2HB53VN.mjs.gz +0 -0
  35. package/dist/chunk-MO4FI3EX.mjs.br +0 -0
  36. package/dist/chunk-MO4FI3EX.mjs.gz +0 -0
  37. package/dist/chunk-PENWIUDF.js.br +0 -0
  38. package/dist/chunk-PENWIUDF.js.gz +0 -0
  39. package/dist/chunk-PUXJT6AD.js.br +0 -0
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkF6WCYCHV_js = require('./chunk-F6WCYCHV.js');
4
- var chunkPUXJT6AD_js = require('./chunk-PUXJT6AD.js');
4
+ var chunk2W6VOPDR_js = require('./chunk-2W6VOPDR.js');
5
5
  var chunk5KFSMXI4_js = require('./chunk-5KFSMXI4.js');
6
6
  var pptx = require('ooxml-ui/pptx');
7
7
  var React109 = require('react');
@@ -577,7 +577,7 @@ function SlideThumbnailImpl({
577
577
  ...pptx.deviceStrokeStageStyle(scale)
578
578
  },
579
579
  children: [
580
- /* @__PURE__ */ jsxRuntime.jsx(chunkPUXJT6AD_js.SlideBackgroundImageLayer, { slide }),
580
+ /* @__PURE__ */ jsxRuntime.jsx(chunk2W6VOPDR_js.SlideBackgroundImageLayer, { slide }),
581
581
  slide.transition && slide.transition.type !== "none" && slide.transition.type !== "cut" && /* @__PURE__ */ jsxRuntime.jsx(
582
582
  "div",
583
583
  {
@@ -587,7 +587,7 @@ function SlideThumbnailImpl({
587
587
  }
588
588
  ),
589
589
  previewElements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
590
- chunkPUXJT6AD_js.StaticElementRenderer,
590
+ chunk2W6VOPDR_js.StaticElementRenderer,
591
591
  {
592
592
  element,
593
593
  activeSlide: slide,
@@ -1042,7 +1042,7 @@ function SlidesPaneSidebar({
1042
1042
  tableStyleContext
1043
1043
  }) {
1044
1044
  const { t } = chunk5KFSMXI4_js.useTranslation();
1045
- const collab = chunkPUXJT6AD_js.useCollaboration();
1045
+ const collab = chunk2W6VOPDR_js.useCollaboration();
1046
1046
  const slideRefs = React109.useRef(/* @__PURE__ */ new Map());
1047
1047
  const renameInputRef = React109.useRef(null);
1048
1048
  const slidePresenceMap = React109.useMemo(() => {
@@ -1137,7 +1137,7 @@ function SlidesPaneSidebar({
1137
1137
  [sectionGroups, showSectionHeaders, effectiveCollapsed]
1138
1138
  );
1139
1139
  const shouldVirtualize = slides.length >= VIRTUALIZATION_THRESHOLD;
1140
- const { startIndex, endIndex, totalHeight, offsetY, scrollContainerRef, scrollToIndex } = chunkPUXJT6AD_js.useVirtualizedSlides({
1140
+ const { startIndex, endIndex, totalHeight, offsetY, scrollContainerRef, scrollToIndex } = chunk2W6VOPDR_js.useVirtualizedSlides({
1141
1141
  totalItems: shouldVirtualize ? flatItems.length : 0,
1142
1142
  itemHeight: estimatedItemHeight
1143
1143
  });
@@ -1421,7 +1421,7 @@ function SlideTemplatePreview({
1421
1421
  transformOrigin: "top left"
1422
1422
  },
1423
1423
  children: previewSlide.elements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
1424
- chunkPUXJT6AD_js.StaticElementRenderer,
1424
+ chunk2W6VOPDR_js.StaticElementRenderer,
1425
1425
  {
1426
1426
  element,
1427
1427
  activeSlide: previewSlide,
@@ -1490,7 +1490,7 @@ function SlideTemplateGalleryDialog({
1490
1490
  scheme
1491
1491
  }) {
1492
1492
  const { t } = chunk5KFSMXI4_js.useTranslation();
1493
- const { panelStyle, handlers: dragHandlers } = chunkPUXJT6AD_js.useModalDismissDrag(onClose);
1493
+ const { panelStyle, handlers: dragHandlers } = chunk2W6VOPDR_js.useModalDismissDrag(onClose);
1494
1494
  const [selected, setSelected] = React109.useState(null);
1495
1495
  const dialogRef = React109.useRef(null);
1496
1496
  useModalFocus(isOpen, dialogRef, onClose);
@@ -1988,7 +1988,7 @@ function MobileSheet({
1988
1988
  }) {
1989
1989
  const sheetRef = React109.useRef(null);
1990
1990
  const { t } = chunk5KFSMXI4_js.useTranslation();
1991
- const { dragY, dragging, handlers } = chunkPUXJT6AD_js.useSheetDismissDrag(onClose);
1991
+ const { dragY, dragging, handlers } = chunk2W6VOPDR_js.useSheetDismissDrag(onClose);
1992
1992
  useModalFocus(open, sheetRef, onClose);
1993
1993
  if (!open) {
1994
1994
  return null;
@@ -2257,7 +2257,7 @@ function WebHomeControls({
2257
2257
  function ShapeArrangeExtras(p) {
2258
2258
  const commands = useShapeFormatContext();
2259
2259
  const crop = commands?.crop;
2260
- const { isHidden } = chunkPUXJT6AD_js.useToolbarVisibility(p.hiddenActions);
2260
+ const { isHidden } = chunk2W6VOPDR_js.useToolbarVisibility(p.hiddenActions);
2261
2261
  const { onGroupElements, onUngroupElement, onUpdateElementStyle } = p;
2262
2262
  const controls = React109.useMemo(
2263
2263
  () => pptx.arrangeShapeHomeControls({
@@ -2592,7 +2592,7 @@ function TransitionsSection(p) {
2592
2592
  case "soundPreview": {
2593
2593
  const url = pptx.ribbonTransitionStockSoundUrl(transition);
2594
2594
  if (url) {
2595
- chunkPUXJT6AD_js.playAnimationSound(url);
2595
+ chunk2W6VOPDR_js.playAnimationSound(url);
2596
2596
  }
2597
2597
  break;
2598
2598
  }
@@ -2795,7 +2795,7 @@ function AccountPage() {
2795
2795
  return void 0;
2796
2796
  });
2797
2797
  };
2798
- const version = "4.57.1" ;
2798
+ const version = "4.59.0" ;
2799
2799
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
2800
2800
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: cardClass, children: [
2801
2801
  /* @__PURE__ */ jsxRuntime.jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -3059,7 +3059,7 @@ function FileSection(p) {
3059
3059
  const page = offered(requestedPage) ? requestedPage : offered("home") ? "home" : nav.find((item) => item.id !== "save" && item.id !== "close")?.id ?? "home";
3060
3060
  const [query, setQuery] = React109.useState("");
3061
3061
  const [recent, setRecent] = React109.useState([]);
3062
- const { isHidden } = chunkPUXJT6AD_js.useToolbarVisibility(p.hiddenActions);
3062
+ const { isHidden } = chunk2W6VOPDR_js.useToolbarVisibility(p.hiddenActions);
3063
3063
  const exportHidden = isHidden("export");
3064
3064
  const storage = useViewerStorage();
3065
3065
  React109.useEffect(() => {
@@ -3408,7 +3408,7 @@ function LayoutArtwork({
3408
3408
  backgroundColor
3409
3409
  };
3410
3410
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: (preview?.elements ?? []).slice(0, MAX_PREVIEW_ELEMENTS).map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
3411
- chunkPUXJT6AD_js.StaticElementRenderer,
3411
+ chunk2W6VOPDR_js.StaticElementRenderer,
3412
3412
  {
3413
3413
  element,
3414
3414
  activeSlide: slide,
@@ -3858,7 +3858,7 @@ function SlideShowOptions({
3858
3858
  }
3859
3859
  function SubtitleSettingsControl() {
3860
3860
  const { t } = chunk5KFSMXI4_js.useTranslation();
3861
- const supplied = React109.useContext(chunkPUXJT6AD_js.ViewerOptionsStoreContext);
3861
+ const supplied = React109.useContext(chunk2W6VOPDR_js.ViewerOptionsStoreContext);
3862
3862
  const fallback = React109.useRef(null);
3863
3863
  if (!supplied) {
3864
3864
  fallback.current ??= pptx.createViewerOptionsStore({ persist: false });
@@ -3892,7 +3892,7 @@ function SubtitleSettingsControl() {
3892
3892
  }
3893
3893
  function SlideShowSection(p) {
3894
3894
  const { t } = chunk5KFSMXI4_js.useTranslation();
3895
- const { isHidden } = chunkPUXJT6AD_js.useToolbarVisibility(p.hiddenActions);
3895
+ const { isHidden } = chunk2W6VOPDR_js.useToolbarVisibility(p.hiddenActions);
3896
3896
  const [showsOpen, setShowsOpen] = React109.useState(false);
3897
3897
  const showsRef = React109.useRef(null);
3898
3898
  React109.useEffect(() => {
@@ -4431,7 +4431,7 @@ function MobileMenuSheet(props) {
4431
4431
  const { t } = chunk5KFSMXI4_js.useTranslation();
4432
4432
  const { open, onClose } = props;
4433
4433
  const [active, setActive] = React109.useState("home");
4434
- const { isTabVisible } = chunkPUXJT6AD_js.useToolbarVisibility(props.hiddenActions);
4434
+ const { isTabVisible } = chunk2W6VOPDR_js.useToolbarVisibility(props.hiddenActions);
4435
4435
  return /* @__PURE__ */ jsxRuntime.jsx(
4436
4436
  MobileSheet,
4437
4437
  {
@@ -4722,7 +4722,7 @@ function MobileToolbar(props) {
4722
4722
  const { t } = chunk5KFSMXI4_js.useTranslation();
4723
4723
  const { mode, canUndo, canRedo, onUndo, onRedo, onSetMode, onSaveAsPptx } = props;
4724
4724
  const [menuOpen, setMenuOpen] = React109.useState(false);
4725
- const { isHidden } = chunkPUXJT6AD_js.useToolbarVisibility(props.hiddenActions);
4725
+ const { isHidden } = chunk2W6VOPDR_js.useToolbarVisibility(props.hiddenActions);
4726
4726
  const showEdit = mode === "edit" || mode === "master";
4727
4727
  const hidden = [];
4728
4728
  if (isHidden("undo")) {
@@ -4769,7 +4769,7 @@ function MobileToolbar(props) {
4769
4769
  }
4770
4770
  function ChartSelectionStrip() {
4771
4771
  const { t } = chunk5KFSMXI4_js.useTranslation();
4772
- const commands = chunkPUXJT6AD_js.useChartFormatContext();
4772
+ const commands = chunk2W6VOPDR_js.useChartFormatContext();
4773
4773
  const chart = commands?.chart;
4774
4774
  const chartData = chart?.type === "chart" ? chart.chartData : void 0;
4775
4775
  const controls = React109.useMemo(
@@ -4800,7 +4800,7 @@ function PictureSizeStrip({
4800
4800
  hiddenActions
4801
4801
  }) {
4802
4802
  const crop = useShapeFormatContext()?.crop;
4803
- const { isHidden } = chunkPUXJT6AD_js.useToolbarVisibility(hiddenActions);
4803
+ const { isHidden } = chunk2W6VOPDR_js.useToolbarVisibility(hiddenActions);
4804
4804
  const controls = React109.useMemo(
4805
4805
  () => pptx.pictureSizeHomeControls({
4806
4806
  editable: Boolean(crop),
@@ -4973,7 +4973,7 @@ var TAB_BASE = "relative px-3.5 py-2 text-[12px] font-medium whitespace-nowrap t
4973
4973
  var TAB_UNDERLINE = "after:absolute after:-bottom-px after:left-0 after:right-0 after:h-[2.5px] after:bg-primary";
4974
4974
  function RibbonTabBar(p) {
4975
4975
  const { t } = chunk5KFSMXI4_js.useTranslation();
4976
- const viewerOptions = chunkPUXJT6AD_js.useViewerOptionsContext();
4976
+ const viewerOptions = chunk2W6VOPDR_js.useViewerOptionsContext();
4977
4977
  return /* @__PURE__ */ jsxRuntime.jsxs(
4978
4978
  "div",
4979
4979
  {
@@ -5050,9 +5050,9 @@ function RibbonTabBar(p) {
5050
5050
  }
5051
5051
  function TabRowActions(p) {
5052
5052
  const { t } = chunk5KFSMXI4_js.useTranslation();
5053
- const collab = chunkPUXJT6AD_js.useCollaboration();
5053
+ const collab = chunk2W6VOPDR_js.useCollaboration();
5054
5054
  const isCollaborating = Boolean(collab && collab.status === "connected");
5055
- const { isHidden } = chunkPUXJT6AD_js.useToolbarVisibility(p.hiddenActions);
5055
+ const { isHidden } = chunk2W6VOPDR_js.useToolbarVisibility(p.hiddenActions);
5056
5056
  const customization = useViewerCustomizationContext();
5057
5057
  const ref = React109.useRef(null);
5058
5058
  const handlers = React109.useRef(p);
@@ -5107,7 +5107,7 @@ function TabRowActions(p) {
5107
5107
  }
5108
5108
  function TitleBarElement(p) {
5109
5109
  const { t } = chunk5KFSMXI4_js.useTranslation();
5110
- const options = chunkPUXJT6AD_js.useViewerOptionsContext();
5110
+ const options = chunk2W6VOPDR_js.useViewerOptionsContext();
5111
5111
  const customization = useViewerCustomizationContext();
5112
5112
  const ref = React109.useRef(null);
5113
5113
  const stripVisible = options.quickAccess.visible && pptx.isPanelVisible(customization, "quickAccessToolbar");
@@ -5443,7 +5443,7 @@ function ToolbarPrimaryRow(p) {
5443
5443
  onToggleSidebar,
5444
5444
  onToggleInspector
5445
5445
  } = p;
5446
- const collab = chunkPUXJT6AD_js.useCollaboration();
5446
+ const collab = chunk2W6VOPDR_js.useCollaboration();
5447
5447
  const customization = useViewerCustomizationContext();
5448
5448
  const showSlidesToggle = pptx.isPanelVisible(customization, "slidesPane");
5449
5449
  const showInspectorToggle = pptx.isPanelVisible(customization, "inspector");
@@ -5733,8 +5733,8 @@ function ToolbarLateTabs({
5733
5733
  function Toolbar(p) {
5734
5734
  const { mode, isNarrowViewport, isCompactToolbarOpen, toolbarSection, onSetToolbarSection } = p;
5735
5735
  const { t } = chunk5KFSMXI4_js.useTranslation();
5736
- const { isTabVisible } = chunkPUXJT6AD_js.useToolbarVisibility(p.hiddenActions);
5737
- const viewerOptions = chunkPUXJT6AD_js.useViewerOptionsContext();
5736
+ const { isTabVisible } = chunk2W6VOPDR_js.useToolbarVisibility(p.hiddenActions);
5737
+ const viewerOptions = chunk2W6VOPDR_js.useViewerOptionsContext();
5738
5738
  const customization = useViewerCustomizationContext();
5739
5739
  const belowInput = React109.useMemo(
5740
5740
  () => ({
@@ -6711,7 +6711,7 @@ function DrawingOverlaySvg({
6711
6711
  onPointerDown,
6712
6712
  onPointerMove,
6713
6713
  onPointerUp,
6714
- children: isStrokeActive && liveStrokeView ? chunkPUXJT6AD_js.renderStrokeView(liveStrokeView, true, void 0, "ink-live-preview") : isStrokeActive && liveStrokeD && /* @__PURE__ */ jsxRuntime.jsx(
6714
+ children: isStrokeActive && liveStrokeView ? chunk2W6VOPDR_js.renderStrokeView(liveStrokeView, true, void 0, "ink-live-preview") : isStrokeActive && liveStrokeD && /* @__PURE__ */ jsxRuntime.jsx(
6715
6715
  "path",
6716
6716
  {
6717
6717
  d: liveStrokeD,
@@ -7261,7 +7261,7 @@ function PictureCropOverlay({
7261
7261
  };
7262
7262
  };
7263
7263
  const { ghost, frame, handles } = overlay;
7264
- const src = chunkPUXJT6AD_js.imgSrc(element);
7264
+ const src = chunk2W6VOPDR_js.imgSrc(element);
7265
7265
  return /* @__PURE__ */ jsxRuntime.jsxs(
7266
7266
  "div",
7267
7267
  {
@@ -7437,7 +7437,7 @@ function HorizontalRulerView({ ticks, widthPx, highlight }) {
7437
7437
  }
7438
7438
  );
7439
7439
  }
7440
- var HorizontalRuler = /* @__PURE__ */ chunkPUXJT6AD_js.withDisplayName(
7440
+ var HorizontalRuler = /* @__PURE__ */ chunk2W6VOPDR_js.withDisplayName(
7441
7441
  /* @__PURE__ */ React109__default.default.memo(HorizontalRulerView),
7442
7442
  "HorizontalRuler"
7443
7443
  );
@@ -7511,7 +7511,7 @@ function VerticalRulerView({ ticks, heightPx, highlight }) {
7511
7511
  }
7512
7512
  );
7513
7513
  }
7514
- var VerticalRuler = /* @__PURE__ */ chunkPUXJT6AD_js.withDisplayName(
7514
+ var VerticalRuler = /* @__PURE__ */ chunk2W6VOPDR_js.withDisplayName(
7515
7515
  /* @__PURE__ */ React109__default.default.memo(VerticalRulerView),
7516
7516
  "VerticalRuler"
7517
7517
  );
@@ -7705,7 +7705,7 @@ function SelectionHandleOverlay({
7705
7705
  onDoubleClick: (e) => onDoubleClick(element.id, e),
7706
7706
  onContextMenu: (e) => onContextMenu(element.id, e),
7707
7707
  children: /* @__PURE__ */ jsxRuntime.jsx(
7708
- chunkPUXJT6AD_js.ResizeHandles,
7708
+ chunk2W6VOPDR_js.ResizeHandles,
7709
7709
  {
7710
7710
  elementId: element.id,
7711
7711
  adjustmentHandles,
@@ -8416,7 +8416,7 @@ function SlideCanvas(props) {
8416
8416
  props.registerInlineEditReader
8417
8417
  ]
8418
8418
  );
8419
- return /* @__PURE__ */ jsxRuntime.jsx(chunkPUXJT6AD_js.InlineCollaborationContext.Provider, { value, children: /* @__PURE__ */ jsxRuntime.jsx(SlideCanvasContent, { ...props }) });
8419
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk2W6VOPDR_js.InlineCollaborationContext.Provider, { value, children: /* @__PURE__ */ jsxRuntime.jsx(SlideCanvasContent, { ...props }) });
8420
8420
  }
8421
8421
  function SlideCanvasContent({
8422
8422
  imagePaste,
@@ -8685,7 +8685,7 @@ function SlideCanvasContent({
8685
8685
  onPointerMove: handleStagePointerMove,
8686
8686
  onPointerUp: handleStagePointerUp,
8687
8687
  children: [
8688
- /* @__PURE__ */ jsxRuntime.jsx(chunkPUXJT6AD_js.SlideBackgroundImageLayer, { slide: activeSlide }),
8688
+ /* @__PURE__ */ jsxRuntime.jsx(chunk2W6VOPDR_js.SlideBackgroundImageLayer, { slide: activeSlide }),
8689
8689
  presentationKeyframesCss && /* @__PURE__ */ jsxRuntime.jsx("style", { children: presentationKeyframesCss }),
8690
8690
  /* @__PURE__ */ jsxRuntime.jsx(GridOverlay, { canvasSize, gridSpacingPx, visible: showGrid }),
8691
8691
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -8697,7 +8697,7 @@ function SlideCanvasContent({
8697
8697
  }
8698
8698
  ),
8699
8699
  templateElements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
8700
- chunkPUXJT6AD_js.ElementRenderer,
8700
+ chunk2W6VOPDR_js.ElementRenderer,
8701
8701
  {
8702
8702
  element,
8703
8703
  activeSlide,
@@ -8741,7 +8741,7 @@ function SlideCanvasContent({
8741
8741
  `tpl-${element.id}`
8742
8742
  )),
8743
8743
  activeSlide?.elements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
8744
- chunkPUXJT6AD_js.ElementRenderer,
8744
+ chunk2W6VOPDR_js.ElementRenderer,
8745
8745
  {
8746
8746
  element,
8747
8747
  activeSlide,
@@ -8807,7 +8807,7 @@ function SlideCanvasContent({
8807
8807
  editingMember && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8808
8808
  /* @__PURE__ */ jsxRuntime.jsx("style", { children: `[data-element-id="${cssAttr(editingMember.parentId)}"] [data-element-id="${cssAttr(editingMember.member.id)}"]{visibility:hidden}` }),
8809
8809
  /* @__PURE__ */ jsxRuntime.jsx(
8810
- chunkPUXJT6AD_js.ElementRenderer,
8810
+ chunk2W6VOPDR_js.ElementRenderer,
8811
8811
  {
8812
8812
  element: editingMember.member,
8813
8813
  activeSlide,
@@ -9319,7 +9319,7 @@ function ContextMenu(props) {
9319
9319
  const { t } = chunk5KFSMXI4_js.useTranslation();
9320
9320
  const customization = useViewerCustomizationContext();
9321
9321
  const shapeFormat = useShapeFormatContext();
9322
- const chartFormat = chunkPUXJT6AD_js.useChartFormatContext();
9322
+ const chartFormat = chunk2W6VOPDR_js.useChartFormatContext();
9323
9323
  const open = Boolean(contextMenuState) && mode === "edit";
9324
9324
  const handlers = {
9325
9325
  ...contextMenuHandlers(props, shapeFormat),
@@ -11288,7 +11288,7 @@ function ReadingViewStage({
11288
11288
  className: "absolute left-0 top-0 origin-top-left",
11289
11289
  style: { width, height, transform: `scale(${scale})`, ...pptx.deviceStrokeStageStyle(scale) },
11290
11290
  children: elements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
11291
- chunkPUXJT6AD_js.StaticElementRenderer,
11291
+ chunk2W6VOPDR_js.StaticElementRenderer,
11292
11292
  {
11293
11293
  element,
11294
11294
  activeSlide: slide,
@@ -11943,7 +11943,7 @@ function SlideNotesPanel({
11943
11943
  });
11944
11944
  const hasNotes = draft.trim().length > 0;
11945
11945
  const slideLabel = activeSlide ? t("pptx.notes.slideN", { n: activeSlide.slideNumber }) : t("pptx.notes.noSlide");
11946
- const { dragY, handlers: dragHandlers } = chunkPUXJT6AD_js.useSheetDismissDrag(onToggle);
11946
+ const { dragY, handlers: dragHandlers } = chunk2W6VOPDR_js.useSheetDismissDrag(onToggle);
11947
11947
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
11948
11948
  isExpanded && /* @__PURE__ */ jsxRuntime.jsx(
11949
11949
  "button",
@@ -13080,7 +13080,7 @@ function DocumentPropertiesDialog({
13080
13080
  const handleClose = React109.useCallback(() => {
13081
13081
  onClose();
13082
13082
  }, [onClose]);
13083
- const { panelStyle, handlers: dragHandlers } = chunkPUXJT6AD_js.useModalDismissDrag(handleClose);
13083
+ const { panelStyle, handlers: dragHandlers } = chunk2W6VOPDR_js.useModalDismissDrag(handleClose);
13084
13084
  if (!isOpen) {
13085
13085
  return null;
13086
13086
  }
@@ -13677,7 +13677,7 @@ function PresentationSubtitleBar({
13677
13677
  }) {
13678
13678
  const { t } = chunk5KFSMXI4_js.useTranslation();
13679
13679
  const language = pptx.subtitleRecognitionLanguage(
13680
- pptx.subtitleSettingsFromOptions(chunkPUXJT6AD_js.useViewerOptionsContext()),
13680
+ pptx.subtitleSettingsFromOptions(chunk2W6VOPDR_js.useViewerOptionsContext()),
13681
13681
  typeof navigator === "undefined" ? "en-US" : navigator.language
13682
13682
  );
13683
13683
  const [captionText, setCaptionText] = React109.useState("");
@@ -13871,7 +13871,7 @@ function ScaledSlidePreviewImpl({
13871
13871
  ...pptx.deviceStrokeStageStyle(scale)
13872
13872
  },
13873
13873
  children: previewElements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
13874
- chunkPUXJT6AD_js.StaticElementRenderer,
13874
+ chunk2W6VOPDR_js.StaticElementRenderer,
13875
13875
  {
13876
13876
  element,
13877
13877
  activeSlide: slide,
@@ -15205,7 +15205,7 @@ function EffectSoundRow({
15205
15205
  }
15206
15206
  const asset = pptx.getEffectSoundAsset(soundState.catalogueId);
15207
15207
  if (asset) {
15208
- chunkPUXJT6AD_js.playAnimationSound(asset.dataUrl);
15208
+ chunk2W6VOPDR_js.playAnimationSound(asset.dataUrl);
15209
15209
  }
15210
15210
  };
15211
15211
  return /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex flex-col gap-1", children: [
@@ -15717,7 +15717,7 @@ function AnimationPanel({
15717
15717
  onUpdateSlide
15718
15718
  }) {
15719
15719
  const { t } = chunk5KFSMXI4_js.useTranslation();
15720
- const { viewportWidth } = chunkPUXJT6AD_js.useIsMobile();
15720
+ const { viewportWidth } = chunk2W6VOPDR_js.useIsMobile();
15721
15721
  const directionBtnPx = Math.max(28, pptx.getDensePanelTouchTargetPx(viewportWidth));
15722
15722
  const fieldStyle = { minHeight: pptx.getDensePanelTouchTargetPx(viewportWidth) };
15723
15723
  const handlers = useAnimationHandlers({
@@ -17842,8 +17842,8 @@ function ChartUserShapeOptions({
17842
17842
  }
17843
17843
  function ChartDataPanel({ selectedElement, canEdit, onUpdateElement }) {
17844
17844
  const chartData = selectedElement.chartData;
17845
- const followDataPoint = chunkPUXJT6AD_js.useViewerOptionsContext().advanced.chartPropertiesFollowDataPoint;
17846
- const { selection: partSelection } = chunkPUXJT6AD_js.useChartPartSelection();
17845
+ const followDataPoint = chunk2W6VOPDR_js.useViewerOptionsContext().advanced.chartPropertiesFollowDataPoint;
17846
+ const { selection: partSelection } = chunk2W6VOPDR_js.useChartPartSelection();
17847
17847
  const canvasPart = partSelection?.elementId === selectedElement.id ? partSelection.part : null;
17848
17848
  const title = chartData?.title;
17849
17849
  const chartType = chartData?.chartType;
@@ -19039,7 +19039,7 @@ function DuotonePanel({
19039
19039
  ] }),
19040
19040
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
19041
19041
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground text-[10px]", children: t("pptx.image.duotonePresets") }),
19042
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-1", children: chunkPUXJT6AD_js.DUOTONE_PRESETS.map((preset) => /* @__PURE__ */ jsxRuntime.jsxs(
19042
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-1", children: chunk2W6VOPDR_js.DUOTONE_PRESETS.map((preset) => /* @__PURE__ */ jsxRuntime.jsxs(
19043
19043
  "button",
19044
19044
  {
19045
19045
  type: "button",
@@ -22297,7 +22297,7 @@ function SmartArtPropertiesPanel({
22297
22297
  const reflowed = box ? pptx.rebuildDrawingShapesIfCleared(
22298
22298
  newData,
22299
22299
  newData.layout,
22300
- chunkPUXJT6AD_js.resolveSmartArtDataPalette(newData),
22300
+ chunk2W6VOPDR_js.resolveSmartArtDataPalette(newData),
22301
22301
  newData.style ?? "flat",
22302
22302
  "inspector",
22303
22303
  box
@@ -22370,7 +22370,7 @@ function TableDataGrid({
22370
22370
  }) {
22371
22371
  const { t } = chunk5KFSMXI4_js.useTranslation();
22372
22372
  const grid = pptx.buildTableDataGrid(tableElement);
22373
- const { viewportWidth } = chunkPUXJT6AD_js.useIsMobile();
22373
+ const { viewportWidth } = chunk2W6VOPDR_js.useIsMobile();
22374
22374
  const gridPlan = pptx.getDenseGridLayoutPlan(viewportWidth);
22375
22375
  const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
22376
22376
  const stickyGutterClass = gridPlan.stickyFirstColumn ? "sticky left-0 z-10" : "";
@@ -24200,7 +24200,7 @@ function InspectorPaneHeader({
24200
24200
  onClose
24201
24201
  }) {
24202
24202
  const { t } = chunk5KFSMXI4_js.useTranslation();
24203
- const { viewportWidth } = chunkPUXJT6AD_js.useIsMobile();
24203
+ const { viewportWidth } = chunk2W6VOPDR_js.useIsMobile();
24204
24204
  const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
24205
24205
  const touchBtnStyle = { minWidth: touchTargetPx, minHeight: touchTargetPx };
24206
24206
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -24901,7 +24901,7 @@ function TransitionPreview({
24901
24901
  const { t } = chunk5KFSMXI4_js.useTranslation();
24902
24902
  const durationMs = transition.durationMs ?? 500;
24903
24903
  const animations = React109.useMemo(
24904
- () => chunkPUXJT6AD_js.getSlideTransitionAnimations(
24904
+ () => chunk2W6VOPDR_js.getSlideTransitionAnimations(
24905
24905
  transition.type,
24906
24906
  durationMs,
24907
24907
  transition.direction,
@@ -24970,7 +24970,7 @@ function TransitionPreview({
24970
24970
  ]
24971
24971
  }
24972
24972
  ),
24973
- /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunkPUXJT6AD_js.SLIDE_TRANSITION_KEYFRAMES })
24973
+ /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunk2W6VOPDR_js.SLIDE_TRANSITION_KEYFRAMES })
24974
24974
  ] });
24975
24975
  }
24976
24976
  var DEFAULT_DURATION_MS = 320;
@@ -25633,7 +25633,7 @@ function InspectorPane(props) {
25633
25633
  } = props;
25634
25634
  const hasSelection = selectedElement !== null;
25635
25635
  const { t } = chunk5KFSMXI4_js.useTranslation();
25636
- const { dragY, handlers: dragHandlers } = chunkPUXJT6AD_js.useSheetDismissDrag(onClose);
25636
+ const { dragY, handlers: dragHandlers } = chunk2W6VOPDR_js.useSheetDismissDrag(onClose);
25637
25637
  const {
25638
25638
  animationPanelHeight,
25639
25639
  effectiveThemeOptions,
@@ -26046,7 +26046,7 @@ function PresentationTouchControls({
26046
26046
  hideNavigation = false
26047
26047
  }) {
26048
26048
  const { t } = chunk5KFSMXI4_js.useTranslation();
26049
- const { isTouchDevice } = chunkPUXJT6AD_js.useIsMobile();
26049
+ const { isTouchDevice } = chunk2W6VOPDR_js.useIsMobile();
26050
26050
  if (!isTouchDevice) {
26051
26051
  return null;
26052
26052
  }
@@ -26693,11 +26693,11 @@ function PrintDialog({
26693
26693
  }) {
26694
26694
  const { t } = chunk5KFSMXI4_js.useTranslation();
26695
26695
  const regionRenderer = useRegionRenderer("dialog.print");
26696
- const { panelStyle, handlers: dragHandlers } = chunkPUXJT6AD_js.useModalDismissDrag(onClose);
26697
- const { viewportWidth } = chunkPUXJT6AD_js.useIsMobile();
26696
+ const { panelStyle, handlers: dragHandlers } = chunk2W6VOPDR_js.useModalDismissDrag(onClose);
26697
+ const { viewportWidth } = chunk2W6VOPDR_js.useIsMobile();
26698
26698
  const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
26699
26699
  const closeBtnStyle = { minWidth: touchTargetPx, minHeight: touchTargetPx };
26700
- const printOptionDefaults = pptx.resolveDefaultPrintSettings(chunkPUXJT6AD_js.useViewerOptionsContext());
26700
+ const printOptionDefaults = pptx.resolveDefaultPrintSettings(chunk2W6VOPDR_js.useViewerOptionsContext());
26701
26701
  const [printWhat, setPrintWhat] = React109.useState(printOptionDefaults?.printWhat ?? "slides");
26702
26702
  const [orientation, setOrientation] = React109.useState("landscape");
26703
26703
  const [colorMode, setColorMode] = React109.useState(
@@ -27187,14 +27187,14 @@ function BroadcastDialog({
27187
27187
  }) {
27188
27188
  const { t } = chunk5KFSMXI4_js.useTranslation();
27189
27189
  const regionRenderer = useRegionRenderer("dialog.broadcast");
27190
- const collab = chunkPUXJT6AD_js.useCollaboration();
27190
+ const collab = chunk2W6VOPDR_js.useCollaboration();
27191
27191
  const isBroadcasting = collab !== null && collab.status !== "disconnected" && collab.status !== "error" && collab.config.role === "owner";
27192
27192
  const [roomId, setRoomId] = React109.useState("");
27193
27193
  const [userName, setUserName] = React109.useState("");
27194
27194
  const [serverUrl, setServerUrl] = React109.useState("");
27195
27195
  const [copied, setCopied] = React109.useState(false);
27196
27196
  const dialogRef = React109.useRef(null);
27197
- const { panelStyle, handlers: dragHandlers } = chunkPUXJT6AD_js.useModalDismissDrag(onClose);
27197
+ const { panelStyle, handlers: dragHandlers } = chunk2W6VOPDR_js.useModalDismissDrag(onClose);
27198
27198
  useModalFocus(open, dialogRef, onClose);
27199
27199
  React109.useEffect(() => {
27200
27200
  if (open && !isBroadcasting) {
@@ -27510,7 +27510,7 @@ function ActiveSessionView({
27510
27510
  onCopyRoomId,
27511
27511
  onStopCollaboration
27512
27512
  }) {
27513
- const { t } = chunk5KFSMXI4_js.useTranslation(), viewerOptions = chunkPUXJT6AD_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
+ const { t } = chunk5KFSMXI4_js.useTranslation(), viewerOptions = chunk2W6VOPDR_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({
27514
27514
  localUserName: activeCollaboration?.userName ?? collab.config.userName,
27515
27515
  localUserInitials: viewerOptions.general.userInitials,
27516
27516
  localUserColor: collab.config.userColor,
@@ -27609,7 +27609,7 @@ function StartSessionForm({
27609
27609
  onRetry
27610
27610
  }) {
27611
27611
  const { t } = chunk5KFSMXI4_js.useTranslation();
27612
- const { viewportWidth } = chunkPUXJT6AD_js.useIsMobile();
27612
+ const { viewportWidth } = chunk2W6VOPDR_js.useIsMobile();
27613
27613
  const tabBtnStyle = { minHeight: pptx.getDensePanelTouchTargetPx(viewportWidth) };
27614
27614
  const inputReadOnlyClass = preconfigured ? " opacity-70 cursor-not-allowed" : "";
27615
27615
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
@@ -27743,7 +27743,7 @@ function ShareDialog({
27743
27743
  defaultUserName,
27744
27744
  defaultServerUrl
27745
27745
  }) {
27746
- const collab = chunkPUXJT6AD_js.useCollaboration();
27746
+ const collab = chunk2W6VOPDR_js.useCollaboration();
27747
27747
  const isActive = collab !== null && collab.status !== "disconnected" && collab.status !== "error";
27748
27748
  const { t } = chunk5KFSMXI4_js.useTranslation();
27749
27749
  const regionRenderer = useRegionRenderer("dialog.share");
@@ -27754,9 +27754,9 @@ function ShareDialog({
27754
27754
  const [invitation, setInvitation] = React109.useState("");
27755
27755
  const [copied, setCopied] = React109.useState(false);
27756
27756
  const dialogRef = React109.useRef(null);
27757
- const { panelStyle, handlers: dragHandlers } = chunkPUXJT6AD_js.useModalDismissDrag(onClose);
27757
+ const { panelStyle, handlers: dragHandlers } = chunk2W6VOPDR_js.useModalDismissDrag(onClose);
27758
27758
  useModalFocus(open, dialogRef, onClose);
27759
- const { viewportWidth, viewportHeight } = chunkPUXJT6AD_js.useIsMobile();
27759
+ const { viewportWidth, viewportHeight } = chunk2W6VOPDR_js.useIsMobile();
27760
27760
  const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
27761
27761
  const touchBtnStyle = { minWidth: touchTargetPx, minHeight: touchTargetPx };
27762
27762
  const stickyFooterClass = pptx.shouldStickyActionRow(viewportWidth, viewportHeight) ? "sticky bottom-0 bg-popover" : "";
@@ -28055,12 +28055,12 @@ function HyperlinkEditDialog({
28055
28055
  onCancel
28056
28056
  }) {
28057
28057
  const { t } = chunk5KFSMXI4_js.useTranslation();
28058
- const { panelStyle, handlers: dragHandlers } = chunkPUXJT6AD_js.useModalDismissDrag(onCancel);
28058
+ const { panelStyle, handlers: dragHandlers } = chunk2W6VOPDR_js.useModalDismissDrag(onCancel);
28059
28059
  const inputRef = React109.useRef(null);
28060
- const detectedType = chunkPUXJT6AD_js.detectTargetType(initialUrl, initialAction);
28061
- const emailParts = chunkPUXJT6AD_js.parseEmailUrl(initialUrl || "");
28062
- const detectedSlide = chunkPUXJT6AD_js.parseSlideFromUrl(initialUrl, initialAction);
28063
- const detectedVerb = initialAction ? chunkPUXJT6AD_js.ACTION_VERB_MAP[initialAction.toLowerCase()] || "nextSlide" : "nextSlide";
28060
+ const detectedType = chunk2W6VOPDR_js.detectTargetType(initialUrl, initialAction);
28061
+ const emailParts = chunk2W6VOPDR_js.parseEmailUrl(initialUrl || "");
28062
+ const detectedSlide = chunk2W6VOPDR_js.parseSlideFromUrl(initialUrl, initialAction);
28063
+ const detectedVerb = initialAction ? chunk2W6VOPDR_js.ACTION_VERB_MAP[initialAction.toLowerCase()] || "nextSlide" : "nextSlide";
28064
28064
  const [targetType, setTargetType] = React109.useState(detectedType);
28065
28065
  const [url, setUrl] = React109.useState(
28066
28066
  detectedType === "email" || detectedType === "slide" || detectedType === "action" ? "" : initialUrl || ""
@@ -28337,7 +28337,7 @@ function ViewerBottomPanels({
28337
28337
  notesStyle,
28338
28338
  onNotesHeightChange
28339
28339
  }) {
28340
- const { isHidden } = chunkPUXJT6AD_js.useToolbarVisibility(hiddenActions);
28340
+ const { isHidden } = chunk2W6VOPDR_js.useToolbarVisibility(hiddenActions);
28341
28341
  const customization = useViewerCustomizationContext();
28342
28342
  const showNotes = pptx.isPanelVisible(customization, "notes");
28343
28343
  const notesRenderer = useRegionRenderer("notes");
@@ -28734,7 +28734,7 @@ function ViewerToolbarSection(props) {
28734
28734
  [activeSlide, propertyHandlers]
28735
28735
  );
28736
28736
  const scopedLayoutOptions = React109__default.default.useMemo(
28737
- () => chunkPUXJT6AD_js.scopeLayoutOptionsToActiveSlide(s.layoutOptions, activeSlide),
28737
+ () => chunk2W6VOPDR_js.scopeLayoutOptionsToActiveSlide(s.layoutOptions, activeSlide),
28738
28738
  [s.layoutOptions, activeSlide]
28739
28739
  );
28740
28740
  const handleResetSlide = React109.useCallback(() => {
@@ -29141,7 +29141,7 @@ function ViewerToolbarSection(props) {
29141
29141
  isMobileInsertOpen: s.isMobileInsertOpen,
29142
29142
  onCloseMobileInsert: () => s.setIsMobileInsertOpen(false),
29143
29143
  slideCommentCount: activeSlide?.comments?.length ?? 0,
29144
- reviewComments: chunkPUXJT6AD_js.createReviewCommentsHost({
29144
+ reviewComments: chunk2W6VOPDR_js.createReviewCommentsHost({
29145
29145
  state: s,
29146
29146
  activeSlideIndex,
29147
29147
  updateSlides: ops.updateSlides,
@@ -29235,7 +29235,7 @@ function EquationEditorDialog({
29235
29235
  existingOmml
29236
29236
  }) {
29237
29237
  const { t } = chunk5KFSMXI4_js.useTranslation();
29238
- const { panelStyle, handlers: dragHandlers } = chunkPUXJT6AD_js.useModalDismissDrag(onClose);
29238
+ const { panelStyle, handlers: dragHandlers } = chunk2W6VOPDR_js.useModalDismissDrag(onClose);
29239
29239
  const initialLatex = React109.useMemo(() => {
29240
29240
  if (!existingOmml) {
29241
29241
  return "";
@@ -29934,11 +29934,11 @@ function PresentationStage({
29934
29934
  })
29935
29935
  },
29936
29936
  children: [
29937
- /* @__PURE__ */ jsxRuntime.jsx(chunkPUXJT6AD_js.SlideBackgroundImageLayer, { slide: activeSlide }),
29937
+ /* @__PURE__ */ jsxRuntime.jsx(chunk2W6VOPDR_js.SlideBackgroundImageLayer, { slide: activeSlide }),
29938
29938
  /* @__PURE__ */ jsxRuntime.jsx("style", { children: pptx.PRESENTATION_HIT_TEST_CSS }),
29939
29939
  presentationKeyframesCss && /* @__PURE__ */ jsxRuntime.jsx("style", { children: presentationKeyframesCss }),
29940
29940
  templateElements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
29941
- chunkPUXJT6AD_js.ElementRenderer,
29941
+ chunk2W6VOPDR_js.ElementRenderer,
29942
29942
  {
29943
29943
  element,
29944
29944
  activeSlide,
@@ -29975,7 +29975,7 @@ function PresentationStage({
29975
29975
  `tpl-${element.id}`
29976
29976
  )),
29977
29977
  activeSlide?.elements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
29978
- chunkPUXJT6AD_js.ElementRenderer,
29978
+ chunk2W6VOPDR_js.ElementRenderer,
29979
29979
  {
29980
29980
  element,
29981
29981
  activeSlide,
@@ -30097,8 +30097,8 @@ function ViewerCanvasArea(props) {
30097
30097
  aiCanvasActive = false
30098
30098
  } = props;
30099
30099
  const { t } = chunk5KFSMXI4_js.useTranslation();
30100
- const { isHidden } = chunkPUXJT6AD_js.useToolbarVisibility(hiddenActions);
30101
- const viewerOptions = chunkPUXJT6AD_js.useViewerOptionsContext();
30100
+ const { isHidden } = chunk2W6VOPDR_js.useToolbarVisibility(hiddenActions);
30101
+ const viewerOptions = chunk2W6VOPDR_js.useViewerOptionsContext();
30102
30102
  const outlineAuthoring = useOutlineAuthoring({
30103
30103
  state: s,
30104
30104
  updateElement: canvasHandlers.handleUpdateSmartArtElement,
@@ -30236,7 +30236,7 @@ ${url}`)) {
30236
30236
  s.setActiveSlideIndex((i) => Math.max(0, i - 1));
30237
30237
  }
30238
30238
  }, [mode, presentation, s]);
30239
- const swipe = chunkPUXJT6AD_js.useSwipeNavigation({
30239
+ const swipe = chunk2W6VOPDR_js.useSwipeNavigation({
30240
30240
  enabled: swipeEnabled,
30241
30241
  onNext: handleSwipeNext,
30242
30242
  onPrev: handleSwipePrev
@@ -30316,7 +30316,7 @@ ${url}`)) {
30316
30316
  ),
30317
30317
  children: (stageScale) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
30318
30318
  presentation.transitionOverlay && slides[presentation.transitionOverlay.outgoingSlideIndex] && /* @__PURE__ */ jsxRuntime.jsx(
30319
- chunkPUXJT6AD_js.PresentationTransitionOverlay,
30319
+ chunk2W6VOPDR_js.PresentationTransitionOverlay,
30320
30320
  {
30321
30321
  outgoingSlide: slides[presentation.transitionOverlay.outgoingSlideIndex],
30322
30322
  templateElements: [
@@ -30433,14 +30433,14 @@ ${url}`)) {
30433
30433
  outlineAuthoring,
30434
30434
  collaborationOverlay: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
30435
30435
  /* @__PURE__ */ jsxRuntime.jsx(
30436
- chunkPUXJT6AD_js.RemoteSelectionOverlay,
30436
+ chunk2W6VOPDR_js.RemoteSelectionOverlay,
30437
30437
  {
30438
30438
  elements: effectiveSlide?.elements ?? [],
30439
30439
  activeSlideIndex
30440
30440
  }
30441
30441
  ),
30442
30442
  /* @__PURE__ */ jsxRuntime.jsx(
30443
- chunkPUXJT6AD_js.CollaborationCursorOverlay,
30443
+ chunk2W6VOPDR_js.CollaborationCursorOverlay,
30444
30444
  {
30445
30445
  activeSlideIndex,
30446
30446
  canvasWidth: canvasSize.width,
@@ -30678,7 +30678,7 @@ function AiChangeOverlay({ batch, activeSlideIndex }) {
30678
30678
  }
30679
30679
  function ChartFormatPanel() {
30680
30680
  const { t } = chunk5KFSMXI4_js.useTranslation();
30681
- const commands = chunkPUXJT6AD_js.useChartFormatContext();
30681
+ const commands = chunk2W6VOPDR_js.useChartFormatContext();
30682
30682
  const ref = React109.useRef(null);
30683
30683
  const chart = commands?.chart;
30684
30684
  const chartData = chart?.type === "chart" ? chart.chartData : void 0;
@@ -30751,7 +30751,7 @@ function MobileDismissSheet({
30751
30751
  children
30752
30752
  }) {
30753
30753
  const { t } = chunk5KFSMXI4_js.useTranslation();
30754
- const { dragY, handlers } = chunkPUXJT6AD_js.useSheetDismissDrag(onClose);
30754
+ const { dragY, handlers } = chunk2W6VOPDR_js.useSheetDismissDrag(onClose);
30755
30755
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
30756
30756
  /* @__PURE__ */ jsxRuntime.jsx(
30757
30757
  "button",
@@ -31495,7 +31495,7 @@ function ViewerMainContent(props) {
31495
31495
  );
31496
31496
  const layoutGalleryAnchorRef = React109.useRef(null);
31497
31497
  const layoutGalleryPreviews = useLayoutPreviews(loadLayoutPreviews, layoutGalleryAnchor !== null);
31498
- return /* @__PURE__ */ jsxRuntime.jsx(chunkPUXJT6AD_js.ChartPartSelectionProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-pptx-chrome": "body", className: "relative z-10 flex flex-1 min-h-0", children: [
31498
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk2W6VOPDR_js.ChartPartSelectionProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-pptx-chrome": "body", className: "relative z-10 flex flex-1 min-h-0", children: [
31499
31499
  showSlidesPane && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
31500
31500
  slidesPaneRenderer ? (
31501
31501
  // The rail's slot (width, collapse, resize handle) stays the viewer's.
@@ -32000,7 +32000,7 @@ function MobileChromeOverlay(props) {
32000
32000
  slideSectionGroups,
32001
32001
  canEdit,
32002
32002
  commentCount
32003
- } = props, { keyboardInset, isKeyboardOpen } = chunkPUXJT6AD_js.useKeyboardInsets(), activeSheet = s.isMobileInsertOpen ? "insert" : s.isSlidesPaneOpen ? "slides" : s.isInspectorPaneOpen ? s.sidebarPanelMode === "comments" ? "comments" : "inspector" : !s.isSlideNotesCollapsed ? "notes" : null, closeAllSheets = () => {
32003
+ } = props, { keyboardInset, isKeyboardOpen } = chunk2W6VOPDR_js.useKeyboardInsets(), activeSheet = s.isMobileInsertOpen ? "insert" : s.isSlidesPaneOpen ? "slides" : s.isInspectorPaneOpen ? s.sidebarPanelMode === "comments" ? "comments" : "inspector" : !s.isSlideNotesCollapsed ? "notes" : null, closeAllSheets = () => {
32004
32004
  s.setIsSlidesPaneOpen(false);
32005
32005
  s.setIsMobileInsertOpen(false);
32006
32006
  s.setIsInspectorPaneOpen(false);
@@ -32477,7 +32477,7 @@ async function exportAiChatLogs(options) {
32477
32477
  chats,
32478
32478
  { format: options?.format, detailed: options?.detailed, now: options?.now },
32479
32479
  (filename, content, mime) => {
32480
- chunkPUXJT6AD_js.downloadBlob(new Blob([content], { type: mime }), filename);
32480
+ chunk2W6VOPDR_js.downloadBlob(new Blob([content], { type: mime }), filename);
32481
32481
  }
32482
32482
  );
32483
32483
  }
@@ -32830,7 +32830,7 @@ function ViewerOptionsProvider({
32830
32830
  store,
32831
32831
  children
32832
32832
  }) {
32833
- return /* @__PURE__ */ jsxRuntime.jsx(chunkPUXJT6AD_js.ViewerOptionsStoreContext.Provider, { value: store, children: /* @__PURE__ */ jsxRuntime.jsx(chunkPUXJT6AD_js.ViewerOptionsContext.Provider, { value: options, children }) });
32833
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk2W6VOPDR_js.ViewerOptionsStoreContext.Provider, { value: store, children: /* @__PURE__ */ jsxRuntime.jsx(chunk2W6VOPDR_js.ViewerOptionsContext.Provider, { value: options, children }) });
32834
32834
  }
32835
32835
  function useAiBridge(input) {
32836
32836
  const ref = React109.useRef(input);
@@ -32911,7 +32911,7 @@ function useAiPanelController(input) {
32911
32911
  getSelectedElement: () => inputRef.current.selectedElement
32912
32912
  })
32913
32913
  );
32914
- const state = chunkPUXJT6AD_js.useController(controller);
32914
+ const state = chunk2W6VOPDR_js.useController(controller);
32915
32915
  React109.useEffect(() => () => controller.dispose(), [controller]);
32916
32916
  const liveFocusTargets = React109.useMemo(
32917
32917
  () => host.computeFocusTargets({ activeSlideIndex, selectedElementIds, selectedElementId }),
@@ -33164,7 +33164,7 @@ function useMasterViewCrud(input) {
33164
33164
  if (id === "renameLayout" || id === "renameMaster") {
33165
33165
  const master = slideMasters[target.masterIndex];
33166
33166
  const current = id === "renameLayout" ? master?.layouts?.[target.layoutIndex ?? -1]?.name ?? "" : master?.name ?? "";
33167
- const next = chunkPUXJT6AD_js.safePrompt(t("pptx.masterView.renamePrompt"), current)?.trim();
33167
+ const next = chunk2W6VOPDR_js.safePrompt(t("pptx.masterView.renamePrompt"), current)?.trim();
33168
33168
  if (!next) {
33169
33169
  return;
33170
33170
  }
@@ -33757,7 +33757,7 @@ var PowerPointViewerBody = /* @__PURE__ */ React109.forwardRef(
33757
33757
  },
33758
33758
  [storage]
33759
33759
  );
33760
- const { optionsStore, options: viewerOptions } = chunkPUXJT6AD_js.useViewerOptions();
33760
+ const { optionsStore, options: viewerOptions } = chunk2W6VOPDR_js.useViewerOptions();
33761
33761
  const custom = useViewerCustomization(
33762
33762
  customization,
33763
33763
  legacyHiddenActions,
@@ -33776,8 +33776,8 @@ var PowerPointViewerBody = /* @__PURE__ */ React109.forwardRef(
33776
33776
  const handleEnableEditing = React109.useCallback(() => {
33777
33777
  setProtectedViewOverridden(true);
33778
33778
  }, []);
33779
- const readOnlyRec = chunkPUXJT6AD_js.useReadOnlyRecommendationState(content);
33780
- const compatToastsState = chunkPUXJT6AD_js.useCompatibilityToastsState();
33779
+ const readOnlyRec = chunk2W6VOPDR_js.useReadOnlyRecommendationState(content);
33780
+ const compatToastsState = chunk2W6VOPDR_js.useCompatibilityToastsState();
33781
33781
  const [notesBarHeight, setNotesBarHeight] = React109.useState(0);
33782
33782
  const runProgramNoticesState = useRunProgramNoticesState();
33783
33783
  const [collaborationReadOnly, setCollaborationReadOnly] = React109.useState(Boolean(collaboration));
@@ -33800,8 +33800,8 @@ var PowerPointViewerBody = /* @__PURE__ */ React109.forwardRef(
33800
33800
  filePath
33801
33801
  });
33802
33802
  const [isShareDialogOpen, setIsShareDialogOpen] = React109.useState(false);
33803
- const { reducedMotion, toggleReducedMotion } = chunkPUXJT6AD_js.useReducedMotion();
33804
- const state = chunkPUXJT6AD_js.useViewerState({
33803
+ const { reducedMotion, toggleReducedMotion } = chunk2W6VOPDR_js.useReducedMotion();
33804
+ const state = chunk2W6VOPDR_js.useViewerState({
33805
33805
  content,
33806
33806
  canEdit,
33807
33807
  inspectorInitiallyOpen: props.inspectorInitiallyOpen
@@ -33928,16 +33928,16 @@ var PowerPointViewerBody = /* @__PURE__ */ React109.forwardRef(
33928
33928
  }
33929
33929
  }, [settings, optionsStore]);
33930
33930
  const handleClearOptionsCache = useAutosaveCacheMaintenance(viewerOptions, storage);
33931
- const mobile = chunkPUXJT6AD_js.useIsMobile();
33931
+ const mobile = chunk2W6VOPDR_js.useIsMobile();
33932
33932
  const { isMobile, isTouchDevice, isVirtualKeyboardOpen } = mobile;
33933
- const resizablePanels = chunkPUXJT6AD_js.useResizablePanels();
33933
+ const resizablePanels = chunk2W6VOPDR_js.useResizablePanels();
33934
33934
  const {
33935
33935
  gridSpacingPx,
33936
33936
  visibleSlideIndexes,
33937
33937
  slideSectionGroups,
33938
33938
  masterPseudoSlide,
33939
33939
  authoredRange
33940
- } = chunkPUXJT6AD_js.useDerivedSlideState({
33940
+ } = chunk2W6VOPDR_js.useDerivedSlideState({
33941
33941
  slides,
33942
33942
  sections: state.sections,
33943
33943
  customShows: state.customShows,
@@ -33962,7 +33962,7 @@ var PowerPointViewerBody = /* @__PURE__ */ React109.forwardRef(
33962
33962
  state.cropSessionRef
33963
33963
  ]
33964
33964
  );
33965
- const zoom = chunkPUXJT6AD_js.useZoomViewport({
33965
+ const zoom = chunk2W6VOPDR_js.useZoomViewport({
33966
33966
  canvasSize,
33967
33967
  selectedElements: state.selectedElements,
33968
33968
  fitPadding: props.fitPadding,
@@ -33978,7 +33978,7 @@ var PowerPointViewerBody = /* @__PURE__ */ React109.forwardRef(
33978
33978
  onChangeCallback.current?.();
33979
33979
  }, [setIsDirty]);
33980
33980
  const restoreHistoryThemeRef = React109.useRef(void 0);
33981
- const history = chunkPUXJT6AD_js.useEditorHistory({
33981
+ const history = chunk2W6VOPDR_js.useEditorHistory({
33982
33982
  slides,
33983
33983
  canvasSize,
33984
33984
  activeSlideIndex,
@@ -34007,7 +34007,7 @@ var PowerPointViewerBody = /* @__PURE__ */ React109.forwardRef(
34007
34007
  setEditTemplateMode: state.setEditTemplateMode,
34008
34008
  setHeaderFooter: state.setHeaderFooter
34009
34009
  });
34010
- const { presentation, annotations, actionSoundHandlerRef, setExitModeHandler } = chunkPUXJT6AD_js.usePresentationSetup({
34010
+ const { presentation, annotations, actionSoundHandlerRef, setExitModeHandler } = chunk2W6VOPDR_js.usePresentationSetup({
34011
34011
  mode,
34012
34012
  slides,
34013
34013
  visibleSlideIndexes,
@@ -34082,7 +34082,7 @@ ${url}`)
34082
34082
  loading,
34083
34083
  error
34084
34084
  ]);
34085
- chunkPUXJT6AD_js.useTouchGestures({
34085
+ chunk2W6VOPDR_js.useTouchGestures({
34086
34086
  targetRef: zoom.canvasViewportRef,
34087
34087
  currentScale: zoom.scale,
34088
34088
  callbacks: {
@@ -34104,7 +34104,7 @@ ${url}`)
34104
34104
  },
34105
34105
  enabled: isTouchDevice
34106
34106
  });
34107
- const dialogs = chunkPUXJT6AD_js.useViewerDialogs({
34107
+ const dialogs = chunk2W6VOPDR_js.useViewerDialogs({
34108
34108
  mode,
34109
34109
  slides,
34110
34110
  activeSlide,
@@ -34131,7 +34131,7 @@ ${url}`)
34131
34131
  history,
34132
34132
  embeddedFontFamilies: state.embeddedFonts.map((font) => font.name)
34133
34133
  });
34134
- chunkPUXJT6AD_js.useClearSelectionOnSlideChange(state, activeSlideIndex);
34134
+ chunk2W6VOPDR_js.useClearSelectionOnSlideChange(state, activeSlideIndex);
34135
34135
  const zoomBeforePresentRef = React109.useRef(null);
34136
34136
  React109.useEffect(() => {
34137
34137
  if (mode !== "present") {
@@ -34149,7 +34149,7 @@ ${url}`)
34149
34149
  zoom.handleZoomToFit();
34150
34150
  zoom.canvasViewportRef.current?.scrollTo({ left: 0, top: 0 });
34151
34151
  }, [mode]);
34152
- const editorOps = chunkPUXJT6AD_js.useEditorOperations({
34152
+ const editorOps = chunk2W6VOPDR_js.useEditorOperations({
34153
34153
  state,
34154
34154
  history,
34155
34155
  zoom,
@@ -34193,7 +34193,7 @@ ${url}`)
34193
34193
  handlerRef,
34194
34194
  viewerApi,
34195
34195
  loadVersion
34196
- } = chunkPUXJT6AD_js.useViewerIntegration({
34196
+ } = chunk2W6VOPDR_js.useViewerIntegration({
34197
34197
  transformCommittedText: (text, previous) => pptx.applyAutoCorrectToEdit(text, previous, viewerOptions.proofing),
34198
34198
  state,
34199
34199
  zoom,
@@ -34336,7 +34336,7 @@ ${url}`)
34336
34336
  updateElementById: editorOps.ops.updateElementById
34337
34337
  });
34338
34338
  const ribbonScope = useRibbonScopeToken();
34339
- const viewPreferencesSync = chunkPUXJT6AD_js.useViewPreferencesSync({
34339
+ const viewPreferencesSync = chunk2W6VOPDR_js.useViewPreferencesSync({
34340
34340
  loadVersion,
34341
34341
  viewProperties: state.viewProperties,
34342
34342
  setViewProperties: state.setViewProperties,
@@ -34378,7 +34378,7 @@ ${url}`)
34378
34378
  },
34379
34379
  [state]
34380
34380
  );
34381
- const layoutSwitching = chunkPUXJT6AD_js.useLayoutSwitching({
34381
+ const layoutSwitching = chunk2W6VOPDR_js.useLayoutSwitching({
34382
34382
  handler: handlerRef.current,
34383
34383
  slides,
34384
34384
  activeSlideIndex,
@@ -34892,8 +34892,8 @@ ${url}`)
34892
34892
  // Nothing previously provided it, so every one of those consumers was
34893
34893
  // silently reading `DEFAULT_VIEWER_OPTIONS` forever, no matter what
34894
34894
  // the user changed in the Options dialog.
34895
- /* @__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(chunkPUXJT6AD_js.Rendering3DFlagsContext.Provider, { value: effective3D, children: /* @__PURE__ */ jsxRuntime.jsx(ViewerThemeProvider, { theme: effectiveTheme, children: /* @__PURE__ */ jsxRuntime.jsxs(
34896
- chunkPUXJT6AD_js.CollaborationProvider,
34895
+ /* @__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(chunk2W6VOPDR_js.Rendering3DFlagsContext.Provider, { value: effective3D, children: /* @__PURE__ */ jsxRuntime.jsx(ViewerThemeProvider, { theme: effectiveTheme, children: /* @__PURE__ */ jsxRuntime.jsxs(
34896
+ chunk2W6VOPDR_js.CollaborationProvider,
34897
34897
  {
34898
34898
  config: collaboration,
34899
34899
  canvasWidth: canvasSize.width,
@@ -34950,19 +34950,19 @@ ${url}`)
34950
34950
  slideCount: slides.length
34951
34951
  }
34952
34952
  ),
34953
- /* @__PURE__ */ jsxRuntime.jsx(ShapeFormatContext.Provider, { value: shapeFormat, children: /* @__PURE__ */ jsxRuntime.jsx(RibbonGalleryCommandsContext.Provider, { value: ribbonGalleries, children: /* @__PURE__ */ jsxRuntime.jsx(chunkPUXJT6AD_js.ChartFormatContext.Provider, { value: chartFormat, children: viewerContent }) }) })
34953
+ /* @__PURE__ */ jsxRuntime.jsx(ShapeFormatContext.Provider, { value: shapeFormat, children: /* @__PURE__ */ jsxRuntime.jsx(RibbonGalleryCommandsContext.Provider, { value: ribbonGalleries, children: /* @__PURE__ */ jsxRuntime.jsx(chunk2W6VOPDR_js.ChartFormatContext.Provider, { value: chartFormat, children: viewerContent }) }) })
34954
34954
  ]
34955
34955
  }
34956
34956
  ) }) }) }) }) }) }) }) })
34957
34957
  );
34958
34958
  }
34959
34959
  );
34960
- var PowerPointViewer2 = /* @__PURE__ */ chunkPUXJT6AD_js.withDisplayName(
34960
+ var PowerPointViewer2 = /* @__PURE__ */ chunk2W6VOPDR_js.withDisplayName(
34961
34961
  PowerPointViewerComponent,
34962
34962
  "PowerPointViewer"
34963
34963
  );
34964
34964
  function CollaborationStatusStrip() {
34965
- const collab = chunkPUXJT6AD_js.useCollaboration();
34965
+ const collab = chunk2W6VOPDR_js.useCollaboration();
34966
34966
  if (!collab) {
34967
34967
  return null;
34968
34968
  }
@@ -34979,9 +34979,9 @@ function CollaborationStateReporter({
34979
34979
  onChange,
34980
34980
  onStatus
34981
34981
  }) {
34982
- const collab = chunkPUXJT6AD_js.useCollaboration();
34982
+ const collab = chunk2W6VOPDR_js.useCollaboration();
34983
34983
  useCollaborationStateReport(collab, onChange);
34984
- chunkPUXJT6AD_js.useReportOnChange(collab?.status ?? "disconnected", onStatus, "disconnected");
34984
+ chunk2W6VOPDR_js.useReportOnChange(collab?.status ?? "disconnected", onStatus, "disconnected");
34985
34985
  return null;
34986
34986
  }
34987
34987
  function CollaborationDocumentSync({
@@ -34996,8 +34996,8 @@ function CollaborationDocumentSync({
34996
34996
  onReadOnlyChange,
34997
34997
  history
34998
34998
  }) {
34999
- const collab = chunkPUXJT6AD_js.useCollaboration();
35000
- chunkPUXJT6AD_js.useCollaborationDocumentSync({
34999
+ const collab = chunk2W6VOPDR_js.useCollaboration();
35000
+ chunk2W6VOPDR_js.useCollaborationDocumentSync({
35001
35001
  collaboration: collab,
35002
35002
  history,
35003
35003
  slides,
@@ -35017,14 +35017,14 @@ function CollaborationFollowLayer({
35017
35017
  setActiveSlideIndex,
35018
35018
  slideCount
35019
35019
  }) {
35020
- const collab = chunkPUXJT6AD_js.useCollaboration();
35021
- const { followedClientId, followUser } = chunkPUXJT6AD_js.useFollowMode({
35020
+ const collab = chunk2W6VOPDR_js.useCollaboration();
35021
+ const { followedClientId, followUser } = chunk2W6VOPDR_js.useFollowMode({
35022
35022
  collab,
35023
35023
  activeSlideIndex,
35024
35024
  setActiveSlideIndex,
35025
35025
  slideCount
35026
35026
  });
35027
- chunkPUXJT6AD_js.useBroadcastFollower({
35027
+ chunk2W6VOPDR_js.useBroadcastFollower({
35028
35028
  collab,
35029
35029
  activeSlideIndex,
35030
35030
  setActiveSlideIndex,