pptx-react-viewer 4.51.0 → 4.51.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.
- package/CHANGELOG.md +6 -0
- package/dist/{chunk-ETJ752B5.mjs → chunk-KCUXY7DE.mjs} +2 -2
- package/dist/chunk-KCUXY7DE.mjs.br +0 -0
- package/dist/chunk-KCUXY7DE.mjs.gz +0 -0
- package/dist/{chunk-ACFR4LFQ.mjs → chunk-V4DY4IWP.mjs} +1 -1
- package/dist/chunk-V4DY4IWP.mjs.br +0 -0
- package/dist/{chunk-ACFR4LFQ.mjs.gz → chunk-V4DY4IWP.mjs.gz} +0 -0
- package/dist/{chunk-VI5DQRQZ.js → chunk-VRX5NJY2.js} +119 -119
- package/dist/chunk-VRX5NJY2.js.br +0 -0
- package/dist/chunk-VRX5NJY2.js.gz +0 -0
- package/dist/{chunk-V3XADJ2O.js → chunk-YJ4DAS4V.js} +1 -1
- package/dist/chunk-YJ4DAS4V.js.br +0 -0
- package/dist/{chunk-V3XADJ2O.js.gz → chunk-YJ4DAS4V.js.gz} +0 -0
- package/dist/index.js +23 -23
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.js +80 -80
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +1 -1
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/viewer/index.js +18 -18
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +2 -2
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +3 -3
- package/dist/chunk-ACFR4LFQ.mjs.br +0 -0
- package/dist/chunk-ETJ752B5.mjs.br +0 -0
- package/dist/chunk-ETJ752B5.mjs.gz +0 -0
- package/dist/chunk-V3XADJ2O.js.br +0 -0
- package/dist/chunk-VI5DQRQZ.js.br +0 -0
- package/dist/chunk-VI5DQRQZ.js.gz +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkYJ4DAS4V_js = require('./chunk-YJ4DAS4V.js');
|
|
4
4
|
var chunkZ22RD3E2_js = require('./chunk-Z22RD3E2.js');
|
|
5
5
|
var pptx = require('ooxml-ui/pptx');
|
|
6
6
|
var React108 = 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
|
-
|
|
312
|
+
chunkYJ4DAS4V_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 } = chunkZ22RD3E2_js.useTranslation();
|
|
381
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
381
|
+
const { panelStyle, handlers: dragHandlers } = chunkYJ4DAS4V_js.useModalDismissDrag(onClose);
|
|
382
382
|
const [selected, setSelected] = React108.useState(null);
|
|
383
383
|
const dialogRef = React108.useRef(null);
|
|
384
384
|
useModalFocus(isOpen, dialogRef, onClose);
|
|
@@ -876,7 +876,7 @@ function MobileSheet({
|
|
|
876
876
|
}) {
|
|
877
877
|
const sheetRef = React108.useRef(null);
|
|
878
878
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
879
|
-
const { dragY, dragging, handlers } =
|
|
879
|
+
const { dragY, dragging, handlers } = chunkYJ4DAS4V_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 } =
|
|
1148
|
+
const { isHidden } = chunkYJ4DAS4V_js.useToolbarVisibility(p.hiddenActions);
|
|
1149
1149
|
const { onGroupElements, onUngroupElement, onUpdateElementStyle } = p;
|
|
1150
1150
|
const controls = React108.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
|
-
|
|
1483
|
+
chunkYJ4DAS4V_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.51.
|
|
1686
|
+
const version = "4.51.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] = React108.useState("");
|
|
1949
1949
|
const [recent, setRecent] = React108.useState([]);
|
|
1950
|
-
const { isHidden } =
|
|
1950
|
+
const { isHidden } = chunkYJ4DAS4V_js.useToolbarVisibility(p.hiddenActions);
|
|
1951
1951
|
const exportHidden = isHidden("export");
|
|
1952
1952
|
const storage = useViewerStorage();
|
|
1953
1953
|
React108.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
|
-
|
|
2299
|
+
chunkYJ4DAS4V_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 } = chunkZ22RD3E2_js.useTranslation();
|
|
2749
|
-
const supplied = React108.useContext(
|
|
2749
|
+
const supplied = React108.useContext(chunkYJ4DAS4V_js.ViewerOptionsStoreContext);
|
|
2750
2750
|
const fallback = React108.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 } = chunkZ22RD3E2_js.useTranslation();
|
|
2783
|
-
const { isHidden } =
|
|
2783
|
+
const { isHidden } = chunkYJ4DAS4V_js.useToolbarVisibility(p.hiddenActions);
|
|
2784
2784
|
const [showsOpen, setShowsOpen] = React108.useState(false);
|
|
2785
2785
|
const showsRef = React108.useRef(null);
|
|
2786
2786
|
React108.useEffect(() => {
|
|
@@ -3319,7 +3319,7 @@ function MobileMenuSheet(props) {
|
|
|
3319
3319
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
3320
3320
|
const { open, onClose } = props;
|
|
3321
3321
|
const [active, setActive] = React108.useState("home");
|
|
3322
|
-
const { isTabVisible } =
|
|
3322
|
+
const { isTabVisible } = chunkYJ4DAS4V_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 } = chunkZ22RD3E2_js.useTranslation();
|
|
3611
3611
|
const { mode, canUndo, canRedo, onUndo, onRedo, onSetMode, onSaveAsPptx } = props;
|
|
3612
3612
|
const [menuOpen, setMenuOpen] = React108.useState(false);
|
|
3613
|
-
const { isHidden } =
|
|
3613
|
+
const { isHidden } = chunkYJ4DAS4V_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 } = chunkZ22RD3E2_js.useTranslation();
|
|
3660
|
-
const commands =
|
|
3660
|
+
const commands = chunkYJ4DAS4V_js.useChartFormatContext();
|
|
3661
3661
|
const chart = commands?.chart;
|
|
3662
3662
|
const chartData = chart?.type === "chart" ? chart.chartData : void 0;
|
|
3663
3663
|
const controls = React108.useMemo(
|
|
@@ -3688,7 +3688,7 @@ function PictureSizeStrip({
|
|
|
3688
3688
|
hiddenActions
|
|
3689
3689
|
}) {
|
|
3690
3690
|
const crop = useShapeFormatContext()?.crop;
|
|
3691
|
-
const { isHidden } =
|
|
3691
|
+
const { isHidden } = chunkYJ4DAS4V_js.useToolbarVisibility(hiddenActions);
|
|
3692
3692
|
const controls = React108.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 } = chunkZ22RD3E2_js.useTranslation();
|
|
3864
|
-
const viewerOptions =
|
|
3864
|
+
const viewerOptions = chunkYJ4DAS4V_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 } = chunkZ22RD3E2_js.useTranslation();
|
|
3941
|
-
const collab =
|
|
3941
|
+
const collab = chunkYJ4DAS4V_js.useCollaboration();
|
|
3942
3942
|
const isCollaborating = Boolean(collab && collab.status === "connected");
|
|
3943
|
-
const { isHidden } =
|
|
3943
|
+
const { isHidden } = chunkYJ4DAS4V_js.useToolbarVisibility(p.hiddenActions);
|
|
3944
3944
|
const customization = useViewerCustomizationContext();
|
|
3945
3945
|
const ref = React108.useRef(null);
|
|
3946
3946
|
const handlers = React108.useRef(p);
|
|
@@ -3995,7 +3995,7 @@ function TabRowActions(p) {
|
|
|
3995
3995
|
}
|
|
3996
3996
|
function TitleBarElement(p) {
|
|
3997
3997
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
3998
|
-
const options =
|
|
3998
|
+
const options = chunkYJ4DAS4V_js.useViewerOptionsContext();
|
|
3999
3999
|
const customization = useViewerCustomizationContext();
|
|
4000
4000
|
const ref = React108.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 =
|
|
4334
|
+
const collab = chunkYJ4DAS4V_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 } = chunkZ22RD3E2_js.useTranslation();
|
|
4624
|
-
const { isTabVisible } =
|
|
4625
|
-
const viewerOptions =
|
|
4624
|
+
const { isTabVisible } = chunkYJ4DAS4V_js.useToolbarVisibility(p.hiddenActions);
|
|
4625
|
+
const viewerOptions = chunkYJ4DAS4V_js.useViewerOptionsContext();
|
|
4626
4626
|
const customization = useViewerCustomizationContext();
|
|
4627
4627
|
const belowInput = React108.useMemo(
|
|
4628
4628
|
() => ({
|
|
@@ -5608,7 +5608,7 @@ function DrawingOverlaySvg({
|
|
|
5608
5608
|
onPointerDown,
|
|
5609
5609
|
onPointerMove,
|
|
5610
5610
|
onPointerUp,
|
|
5611
|
-
children: isStrokeActive && liveStrokeView ?
|
|
5611
|
+
children: isStrokeActive && liveStrokeView ? chunkYJ4DAS4V_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 =
|
|
6190
|
+
const src = chunkYJ4DAS4V_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__ */
|
|
6366
|
+
var HorizontalRuler = /* @__PURE__ */ chunkYJ4DAS4V_js.withDisplayName(
|
|
6367
6367
|
/* @__PURE__ */ React108__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__ */
|
|
6440
|
+
var VerticalRuler = /* @__PURE__ */ chunkYJ4DAS4V_js.withDisplayName(
|
|
6441
6441
|
/* @__PURE__ */ React108__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
|
-
|
|
6634
|
+
chunkYJ4DAS4V_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(
|
|
7345
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkYJ4DAS4V_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(
|
|
7614
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYJ4DAS4V_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
|
-
|
|
7626
|
+
chunkYJ4DAS4V_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
|
-
|
|
7670
|
+
chunkYJ4DAS4V_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
|
-
|
|
7736
|
+
chunkYJ4DAS4V_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(
|
|
8208
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYJ4DAS4V_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
|
-
|
|
8218
|
+
chunkYJ4DAS4V_js.StaticElementRenderer,
|
|
8219
8219
|
{
|
|
8220
8220
|
element,
|
|
8221
8221
|
activeSlide: slide,
|
|
@@ -8393,7 +8393,7 @@ function ContextMenu(props) {
|
|
|
8393
8393
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
8394
8394
|
const customization = useViewerCustomizationContext();
|
|
8395
8395
|
const shapeFormat = useShapeFormatContext();
|
|
8396
|
-
const chartFormat =
|
|
8396
|
+
const chartFormat = chunkYJ4DAS4V_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 } = chunkZ22RD3E2_js.useTranslation();
|
|
9311
|
-
const collab =
|
|
9311
|
+
const collab = chunkYJ4DAS4V_js.useCollaboration();
|
|
9312
9312
|
const slideRefs = React108.useRef(/* @__PURE__ */ new Map());
|
|
9313
9313
|
const renameInputRef = React108.useRef(null);
|
|
9314
9314
|
const slidePresenceMap = React108.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 } =
|
|
9406
|
+
const { startIndex, endIndex, totalHeight, offsetY, scrollContainerRef, scrollToIndex } = chunkYJ4DAS4V_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
|
-
|
|
11290
|
+
chunkYJ4DAS4V_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 } =
|
|
11945
|
+
const { dragY, handlers: dragHandlers } = chunkYJ4DAS4V_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 = React108.useCallback(() => {
|
|
13080
13080
|
onClose();
|
|
13081
13081
|
}, [onClose]);
|
|
13082
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
13082
|
+
const { panelStyle, handlers: dragHandlers } = chunkYJ4DAS4V_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 } = chunkZ22RD3E2_js.useTranslation();
|
|
13678
13678
|
const language = pptx.subtitleRecognitionLanguage(
|
|
13679
|
-
pptx.subtitleSettingsFromOptions(
|
|
13679
|
+
pptx.subtitleSettingsFromOptions(chunkYJ4DAS4V_js.useViewerOptionsContext()),
|
|
13680
13680
|
typeof navigator === "undefined" ? "en-US" : navigator.language
|
|
13681
13681
|
);
|
|
13682
13682
|
const [captionText, setCaptionText] = React108.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
|
-
|
|
13873
|
+
chunkYJ4DAS4V_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
|
-
|
|
15207
|
+
chunkYJ4DAS4V_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 } = chunkZ22RD3E2_js.useTranslation();
|
|
15719
|
-
const { viewportWidth } =
|
|
15719
|
+
const { viewportWidth } = chunkYJ4DAS4V_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 =
|
|
17845
|
-
const { selection: partSelection } =
|
|
17844
|
+
const followDataPoint = chunkYJ4DAS4V_js.useViewerOptionsContext().advanced.chartPropertiesFollowDataPoint;
|
|
17845
|
+
const { selection: partSelection } = chunkYJ4DAS4V_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;
|
|
@@ -19043,7 +19043,7 @@ function DuotonePanel({
|
|
|
19043
19043
|
] }),
|
|
19044
19044
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
19045
19045
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground text-[10px]", children: t("pptx.image.duotonePresets") }),
|
|
19046
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-1", children:
|
|
19046
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-1", children: chunkYJ4DAS4V_js.DUOTONE_PRESETS.map((preset) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19047
19047
|
"button",
|
|
19048
19048
|
{
|
|
19049
19049
|
type: "button",
|
|
@@ -22200,7 +22200,7 @@ function SmartArtPropertiesPanel({
|
|
|
22200
22200
|
const reflowed = box ? pptx.rebuildDrawingShapesIfCleared(
|
|
22201
22201
|
newData,
|
|
22202
22202
|
newData.layout,
|
|
22203
|
-
|
|
22203
|
+
chunkYJ4DAS4V_js.resolveSmartArtDataPalette(newData),
|
|
22204
22204
|
newData.style ?? "flat",
|
|
22205
22205
|
"inspector",
|
|
22206
22206
|
box
|
|
@@ -22273,7 +22273,7 @@ function TableDataGrid({
|
|
|
22273
22273
|
}) {
|
|
22274
22274
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
22275
22275
|
const grid = pptx.buildTableDataGrid(tableElement);
|
|
22276
|
-
const { viewportWidth } =
|
|
22276
|
+
const { viewportWidth } = chunkYJ4DAS4V_js.useIsMobile();
|
|
22277
22277
|
const gridPlan = pptx.getDenseGridLayoutPlan(viewportWidth);
|
|
22278
22278
|
const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
|
|
22279
22279
|
const stickyGutterClass = gridPlan.stickyFirstColumn ? "sticky left-0 z-10" : "";
|
|
@@ -24103,7 +24103,7 @@ function InspectorPaneHeader({
|
|
|
24103
24103
|
onClose
|
|
24104
24104
|
}) {
|
|
24105
24105
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
24106
|
-
const { viewportWidth } =
|
|
24106
|
+
const { viewportWidth } = chunkYJ4DAS4V_js.useIsMobile();
|
|
24107
24107
|
const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
|
|
24108
24108
|
const touchBtnStyle = { minWidth: touchTargetPx, minHeight: touchTargetPx };
|
|
24109
24109
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -24804,7 +24804,7 @@ function TransitionPreview({
|
|
|
24804
24804
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
24805
24805
|
const durationMs = transition.durationMs ?? 500;
|
|
24806
24806
|
const animations = React108.useMemo(
|
|
24807
|
-
() =>
|
|
24807
|
+
() => chunkYJ4DAS4V_js.getSlideTransitionAnimations(
|
|
24808
24808
|
transition.type,
|
|
24809
24809
|
durationMs,
|
|
24810
24810
|
transition.direction,
|
|
@@ -24873,7 +24873,7 @@ function TransitionPreview({
|
|
|
24873
24873
|
]
|
|
24874
24874
|
}
|
|
24875
24875
|
),
|
|
24876
|
-
/* @__PURE__ */ jsxRuntime.jsx("style", { children:
|
|
24876
|
+
/* @__PURE__ */ jsxRuntime.jsx("style", { children: chunkYJ4DAS4V_js.SLIDE_TRANSITION_KEYFRAMES })
|
|
24877
24877
|
] });
|
|
24878
24878
|
}
|
|
24879
24879
|
var DEFAULT_DURATION_MS = 320;
|
|
@@ -25536,7 +25536,7 @@ function InspectorPane(props) {
|
|
|
25536
25536
|
} = props;
|
|
25537
25537
|
const hasSelection = selectedElement !== null;
|
|
25538
25538
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
25539
|
-
const { dragY, handlers: dragHandlers } =
|
|
25539
|
+
const { dragY, handlers: dragHandlers } = chunkYJ4DAS4V_js.useSheetDismissDrag(onClose);
|
|
25540
25540
|
const {
|
|
25541
25541
|
animationPanelHeight,
|
|
25542
25542
|
effectiveThemeOptions,
|
|
@@ -25949,7 +25949,7 @@ function PresentationTouchControls({
|
|
|
25949
25949
|
hideNavigation = false
|
|
25950
25950
|
}) {
|
|
25951
25951
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
25952
|
-
const { isTouchDevice } =
|
|
25952
|
+
const { isTouchDevice } = chunkYJ4DAS4V_js.useIsMobile();
|
|
25953
25953
|
if (!isTouchDevice) {
|
|
25954
25954
|
return null;
|
|
25955
25955
|
}
|
|
@@ -26596,11 +26596,11 @@ function PrintDialog({
|
|
|
26596
26596
|
}) {
|
|
26597
26597
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
26598
26598
|
const regionRenderer = useRegionRenderer("dialog.print");
|
|
26599
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
26600
|
-
const { viewportWidth } =
|
|
26599
|
+
const { panelStyle, handlers: dragHandlers } = chunkYJ4DAS4V_js.useModalDismissDrag(onClose);
|
|
26600
|
+
const { viewportWidth } = chunkYJ4DAS4V_js.useIsMobile();
|
|
26601
26601
|
const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
|
|
26602
26602
|
const closeBtnStyle = { minWidth: touchTargetPx, minHeight: touchTargetPx };
|
|
26603
|
-
const printOptionDefaults = pptx.resolveDefaultPrintSettings(
|
|
26603
|
+
const printOptionDefaults = pptx.resolveDefaultPrintSettings(chunkYJ4DAS4V_js.useViewerOptionsContext());
|
|
26604
26604
|
const [printWhat, setPrintWhat] = React108.useState(printOptionDefaults?.printWhat ?? "slides");
|
|
26605
26605
|
const [orientation, setOrientation] = React108.useState("landscape");
|
|
26606
26606
|
const [colorMode, setColorMode] = React108.useState(
|
|
@@ -27117,14 +27117,14 @@ function BroadcastDialog({
|
|
|
27117
27117
|
}) {
|
|
27118
27118
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
27119
27119
|
const regionRenderer = useRegionRenderer("dialog.broadcast");
|
|
27120
|
-
const collab =
|
|
27120
|
+
const collab = chunkYJ4DAS4V_js.useCollaboration();
|
|
27121
27121
|
const isBroadcasting = collab !== null && collab.status !== "disconnected" && collab.status !== "error" && collab.config.role === "owner";
|
|
27122
27122
|
const [roomId, setRoomId] = React108.useState("");
|
|
27123
27123
|
const [userName, setUserName] = React108.useState("");
|
|
27124
27124
|
const [serverUrl, setServerUrl] = React108.useState("");
|
|
27125
27125
|
const [copied, setCopied] = React108.useState(false);
|
|
27126
27126
|
const dialogRef = React108.useRef(null);
|
|
27127
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
27127
|
+
const { panelStyle, handlers: dragHandlers } = chunkYJ4DAS4V_js.useModalDismissDrag(onClose);
|
|
27128
27128
|
useModalFocus(open, dialogRef, onClose);
|
|
27129
27129
|
React108.useEffect(() => {
|
|
27130
27130
|
if (open && !isBroadcasting) {
|
|
@@ -27440,7 +27440,7 @@ function ActiveSessionView({
|
|
|
27440
27440
|
onCopyRoomId,
|
|
27441
27441
|
onStopCollaboration
|
|
27442
27442
|
}) {
|
|
27443
|
-
const { t } = chunkZ22RD3E2_js.useTranslation(), viewerOptions =
|
|
27443
|
+
const { t } = chunkZ22RD3E2_js.useTranslation(), viewerOptions = chunkYJ4DAS4V_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({
|
|
27444
27444
|
localUserName: activeCollaboration?.userName ?? collab.config.userName,
|
|
27445
27445
|
localUserInitials: viewerOptions.general.userInitials,
|
|
27446
27446
|
localUserColor: collab.config.userColor,
|
|
@@ -27539,7 +27539,7 @@ function StartSessionForm({
|
|
|
27539
27539
|
onRetry
|
|
27540
27540
|
}) {
|
|
27541
27541
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
27542
|
-
const { viewportWidth } =
|
|
27542
|
+
const { viewportWidth } = chunkYJ4DAS4V_js.useIsMobile();
|
|
27543
27543
|
const tabBtnStyle = { minHeight: pptx.getDensePanelTouchTargetPx(viewportWidth) };
|
|
27544
27544
|
const inputReadOnlyClass = preconfigured ? " opacity-70 cursor-not-allowed" : "";
|
|
27545
27545
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
@@ -27673,7 +27673,7 @@ function ShareDialog({
|
|
|
27673
27673
|
defaultUserName,
|
|
27674
27674
|
defaultServerUrl
|
|
27675
27675
|
}) {
|
|
27676
|
-
const collab =
|
|
27676
|
+
const collab = chunkYJ4DAS4V_js.useCollaboration();
|
|
27677
27677
|
const isActive = collab !== null && collab.status !== "disconnected" && collab.status !== "error";
|
|
27678
27678
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
27679
27679
|
const regionRenderer = useRegionRenderer("dialog.share");
|
|
@@ -27684,9 +27684,9 @@ function ShareDialog({
|
|
|
27684
27684
|
const [invitation, setInvitation] = React108.useState("");
|
|
27685
27685
|
const [copied, setCopied] = React108.useState(false);
|
|
27686
27686
|
const dialogRef = React108.useRef(null);
|
|
27687
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
27687
|
+
const { panelStyle, handlers: dragHandlers } = chunkYJ4DAS4V_js.useModalDismissDrag(onClose);
|
|
27688
27688
|
useModalFocus(open, dialogRef, onClose);
|
|
27689
|
-
const { viewportWidth, viewportHeight } =
|
|
27689
|
+
const { viewportWidth, viewportHeight } = chunkYJ4DAS4V_js.useIsMobile();
|
|
27690
27690
|
const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
|
|
27691
27691
|
const touchBtnStyle = { minWidth: touchTargetPx, minHeight: touchTargetPx };
|
|
27692
27692
|
const stickyFooterClass = pptx.shouldStickyActionRow(viewportWidth, viewportHeight) ? "sticky bottom-0 bg-popover" : "";
|
|
@@ -27985,12 +27985,12 @@ function HyperlinkEditDialog({
|
|
|
27985
27985
|
onCancel
|
|
27986
27986
|
}) {
|
|
27987
27987
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
27988
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
27988
|
+
const { panelStyle, handlers: dragHandlers } = chunkYJ4DAS4V_js.useModalDismissDrag(onCancel);
|
|
27989
27989
|
const inputRef = React108.useRef(null);
|
|
27990
|
-
const detectedType =
|
|
27991
|
-
const emailParts =
|
|
27992
|
-
const detectedSlide =
|
|
27993
|
-
const detectedVerb = initialAction ?
|
|
27990
|
+
const detectedType = chunkYJ4DAS4V_js.detectTargetType(initialUrl, initialAction);
|
|
27991
|
+
const emailParts = chunkYJ4DAS4V_js.parseEmailUrl(initialUrl || "");
|
|
27992
|
+
const detectedSlide = chunkYJ4DAS4V_js.parseSlideFromUrl(initialUrl, initialAction);
|
|
27993
|
+
const detectedVerb = initialAction ? chunkYJ4DAS4V_js.ACTION_VERB_MAP[initialAction.toLowerCase()] || "nextSlide" : "nextSlide";
|
|
27994
27994
|
const [targetType, setTargetType] = React108.useState(detectedType);
|
|
27995
27995
|
const [url, setUrl] = React108.useState(
|
|
27996
27996
|
detectedType === "email" || detectedType === "slide" || detectedType === "action" ? "" : initialUrl || ""
|
|
@@ -28267,7 +28267,7 @@ function ViewerBottomPanels({
|
|
|
28267
28267
|
notesStyle,
|
|
28268
28268
|
onNotesHeightChange
|
|
28269
28269
|
}) {
|
|
28270
|
-
const { isHidden } =
|
|
28270
|
+
const { isHidden } = chunkYJ4DAS4V_js.useToolbarVisibility(hiddenActions);
|
|
28271
28271
|
const customization = useViewerCustomizationContext();
|
|
28272
28272
|
const showNotes = pptx.isPanelVisible(customization, "notes");
|
|
28273
28273
|
const notesRenderer = useRegionRenderer("notes");
|
|
@@ -28657,7 +28657,7 @@ function ViewerToolbarSection(props) {
|
|
|
28657
28657
|
[activeSlide, propertyHandlers]
|
|
28658
28658
|
);
|
|
28659
28659
|
const scopedLayoutOptions = React108__default.default.useMemo(
|
|
28660
|
-
() =>
|
|
28660
|
+
() => chunkYJ4DAS4V_js.scopeLayoutOptionsToActiveSlide(s.layoutOptions, activeSlide),
|
|
28661
28661
|
[s.layoutOptions, activeSlide]
|
|
28662
28662
|
);
|
|
28663
28663
|
const handleResetSlide = React108.useCallback(() => {
|
|
@@ -29064,7 +29064,7 @@ function ViewerToolbarSection(props) {
|
|
|
29064
29064
|
isMobileInsertOpen: s.isMobileInsertOpen,
|
|
29065
29065
|
onCloseMobileInsert: () => s.setIsMobileInsertOpen(false),
|
|
29066
29066
|
slideCommentCount: activeSlide?.comments?.length ?? 0,
|
|
29067
|
-
reviewComments:
|
|
29067
|
+
reviewComments: chunkYJ4DAS4V_js.createReviewCommentsHost({
|
|
29068
29068
|
state: s,
|
|
29069
29069
|
activeSlideIndex,
|
|
29070
29070
|
updateSlides: ops.updateSlides,
|
|
@@ -29158,7 +29158,7 @@ function EquationEditorDialog({
|
|
|
29158
29158
|
existingOmml
|
|
29159
29159
|
}) {
|
|
29160
29160
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
29161
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
29161
|
+
const { panelStyle, handlers: dragHandlers } = chunkYJ4DAS4V_js.useModalDismissDrag(onClose);
|
|
29162
29162
|
const initialLatex = React108.useMemo(() => {
|
|
29163
29163
|
if (!existingOmml) {
|
|
29164
29164
|
return "";
|
|
@@ -29857,11 +29857,11 @@ function PresentationStage({
|
|
|
29857
29857
|
})
|
|
29858
29858
|
},
|
|
29859
29859
|
children: [
|
|
29860
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
29860
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYJ4DAS4V_js.SlideBackgroundImageLayer, { slide: activeSlide }),
|
|
29861
29861
|
/* @__PURE__ */ jsxRuntime.jsx("style", { children: pptx.PRESENTATION_HIT_TEST_CSS }),
|
|
29862
29862
|
presentationKeyframesCss && /* @__PURE__ */ jsxRuntime.jsx("style", { children: presentationKeyframesCss }),
|
|
29863
29863
|
templateElements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
29864
|
-
|
|
29864
|
+
chunkYJ4DAS4V_js.ElementRenderer,
|
|
29865
29865
|
{
|
|
29866
29866
|
element,
|
|
29867
29867
|
activeSlide,
|
|
@@ -29898,7 +29898,7 @@ function PresentationStage({
|
|
|
29898
29898
|
`tpl-${element.id}`
|
|
29899
29899
|
)),
|
|
29900
29900
|
activeSlide?.elements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
29901
|
-
|
|
29901
|
+
chunkYJ4DAS4V_js.ElementRenderer,
|
|
29902
29902
|
{
|
|
29903
29903
|
element,
|
|
29904
29904
|
activeSlide,
|
|
@@ -30020,8 +30020,8 @@ function ViewerCanvasArea(props) {
|
|
|
30020
30020
|
aiCanvasActive = false
|
|
30021
30021
|
} = props;
|
|
30022
30022
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
30023
|
-
const { isHidden } =
|
|
30024
|
-
const viewerOptions =
|
|
30023
|
+
const { isHidden } = chunkYJ4DAS4V_js.useToolbarVisibility(hiddenActions);
|
|
30024
|
+
const viewerOptions = chunkYJ4DAS4V_js.useViewerOptionsContext();
|
|
30025
30025
|
const outlineAuthoring = useOutlineAuthoring({
|
|
30026
30026
|
state: s,
|
|
30027
30027
|
updateElement: canvasHandlers.handleUpdateSmartArtElement,
|
|
@@ -30159,7 +30159,7 @@ ${url}`)) {
|
|
|
30159
30159
|
s.setActiveSlideIndex((i) => Math.max(0, i - 1));
|
|
30160
30160
|
}
|
|
30161
30161
|
}, [mode, presentation, s]);
|
|
30162
|
-
const swipe =
|
|
30162
|
+
const swipe = chunkYJ4DAS4V_js.useSwipeNavigation({
|
|
30163
30163
|
enabled: swipeEnabled,
|
|
30164
30164
|
onNext: handleSwipeNext,
|
|
30165
30165
|
onPrev: handleSwipePrev
|
|
@@ -30239,7 +30239,7 @@ ${url}`)) {
|
|
|
30239
30239
|
),
|
|
30240
30240
|
children: (stageScale) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
30241
30241
|
presentation.transitionOverlay && slides[presentation.transitionOverlay.outgoingSlideIndex] && /* @__PURE__ */ jsxRuntime.jsx(
|
|
30242
|
-
|
|
30242
|
+
chunkYJ4DAS4V_js.PresentationTransitionOverlay,
|
|
30243
30243
|
{
|
|
30244
30244
|
outgoingSlide: slides[presentation.transitionOverlay.outgoingSlideIndex],
|
|
30245
30245
|
templateElements: [
|
|
@@ -30356,14 +30356,14 @@ ${url}`)) {
|
|
|
30356
30356
|
outlineAuthoring,
|
|
30357
30357
|
collaborationOverlay: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
30358
30358
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30359
|
-
|
|
30359
|
+
chunkYJ4DAS4V_js.RemoteSelectionOverlay,
|
|
30360
30360
|
{
|
|
30361
30361
|
elements: effectiveSlide?.elements ?? [],
|
|
30362
30362
|
activeSlideIndex
|
|
30363
30363
|
}
|
|
30364
30364
|
),
|
|
30365
30365
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30366
|
-
|
|
30366
|
+
chunkYJ4DAS4V_js.CollaborationCursorOverlay,
|
|
30367
30367
|
{
|
|
30368
30368
|
activeSlideIndex,
|
|
30369
30369
|
canvasWidth: canvasSize.width,
|
|
@@ -30627,7 +30627,7 @@ function AiChangeOverlay({ batch, activeSlideIndex }) {
|
|
|
30627
30627
|
}
|
|
30628
30628
|
function ChartFormatPanel() {
|
|
30629
30629
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
30630
|
-
const commands =
|
|
30630
|
+
const commands = chunkYJ4DAS4V_js.useChartFormatContext();
|
|
30631
30631
|
const ref = React108.useRef(null);
|
|
30632
30632
|
const chart = commands?.chart;
|
|
30633
30633
|
const chartData = chart?.type === "chart" ? chart.chartData : void 0;
|
|
@@ -30700,7 +30700,7 @@ function MobileDismissSheet({
|
|
|
30700
30700
|
children
|
|
30701
30701
|
}) {
|
|
30702
30702
|
const { t } = chunkZ22RD3E2_js.useTranslation();
|
|
30703
|
-
const { dragY, handlers } =
|
|
30703
|
+
const { dragY, handlers } = chunkYJ4DAS4V_js.useSheetDismissDrag(onClose);
|
|
30704
30704
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
30705
30705
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30706
30706
|
"button",
|
|
@@ -31440,7 +31440,7 @@ function ViewerMainContent(props) {
|
|
|
31440
31440
|
);
|
|
31441
31441
|
const layoutGalleryAnchorRef = React108.useRef(null);
|
|
31442
31442
|
const layoutGalleryPreviews = useLayoutPreviews(loadLayoutPreviews, layoutGalleryAnchor !== null);
|
|
31443
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31443
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkYJ4DAS4V_js.ChartPartSelectionProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-pptx-chrome": "body", className: "relative z-10 flex flex-1 min-h-0", children: [
|
|
31444
31444
|
showSlidesPane && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
31445
31445
|
slidesPaneRenderer ? (
|
|
31446
31446
|
// The rail's slot (width, collapse, resize handle) stays the viewer's.
|
|
@@ -31945,7 +31945,7 @@ function MobileChromeOverlay(props) {
|
|
|
31945
31945
|
slideSectionGroups,
|
|
31946
31946
|
canEdit,
|
|
31947
31947
|
commentCount
|
|
31948
|
-
} = props, { keyboardInset, isKeyboardOpen } =
|
|
31948
|
+
} = props, { keyboardInset, isKeyboardOpen } = chunkYJ4DAS4V_js.useKeyboardInsets(), activeSheet = s.isMobileInsertOpen ? "insert" : s.isSlidesPaneOpen ? "slides" : s.isInspectorPaneOpen ? s.sidebarPanelMode === "comments" ? "comments" : "inspector" : !s.isSlideNotesCollapsed ? "notes" : null, closeAllSheets = () => {
|
|
31949
31949
|
s.setIsSlidesPaneOpen(false);
|
|
31950
31950
|
s.setIsMobileInsertOpen(false);
|
|
31951
31951
|
s.setIsInspectorPaneOpen(false);
|
|
@@ -32422,7 +32422,7 @@ async function exportAiChatLogs(options) {
|
|
|
32422
32422
|
chats,
|
|
32423
32423
|
{ format: options?.format, detailed: options?.detailed, now: options?.now },
|
|
32424
32424
|
(filename, content, mime) => {
|
|
32425
|
-
|
|
32425
|
+
chunkYJ4DAS4V_js.downloadBlob(new Blob([content], { type: mime }), filename);
|
|
32426
32426
|
}
|
|
32427
32427
|
);
|
|
32428
32428
|
}
|
|
@@ -32775,7 +32775,7 @@ function ViewerOptionsProvider({
|
|
|
32775
32775
|
store,
|
|
32776
32776
|
children
|
|
32777
32777
|
}) {
|
|
32778
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32778
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkYJ4DAS4V_js.ViewerOptionsStoreContext.Provider, { value: store, children: /* @__PURE__ */ jsxRuntime.jsx(chunkYJ4DAS4V_js.ViewerOptionsContext.Provider, { value: options, children }) });
|
|
32779
32779
|
}
|
|
32780
32780
|
function useAiBridge(input) {
|
|
32781
32781
|
const ref = React108.useRef(input);
|
|
@@ -32856,7 +32856,7 @@ function useAiPanelController(input) {
|
|
|
32856
32856
|
getSelectedElement: () => inputRef.current.selectedElement
|
|
32857
32857
|
})
|
|
32858
32858
|
);
|
|
32859
|
-
const state =
|
|
32859
|
+
const state = chunkYJ4DAS4V_js.useController(controller);
|
|
32860
32860
|
React108.useEffect(() => () => controller.dispose(), [controller]);
|
|
32861
32861
|
const liveFocusTargets = React108.useMemo(
|
|
32862
32862
|
() => ai.computeFocusTargets({ activeSlideIndex, selectedElementIds, selectedElementId }),
|
|
@@ -33108,7 +33108,7 @@ function useMasterViewCrud(input) {
|
|
|
33108
33108
|
if (id === "renameLayout" || id === "renameMaster") {
|
|
33109
33109
|
const master = slideMasters[target.masterIndex];
|
|
33110
33110
|
const current = id === "renameLayout" ? master?.layouts?.[target.layoutIndex ?? -1]?.name ?? "" : master?.name ?? "";
|
|
33111
|
-
const next =
|
|
33111
|
+
const next = chunkYJ4DAS4V_js.safePrompt(t("pptx.masterView.renamePrompt"), current)?.trim();
|
|
33112
33112
|
if (!next) {
|
|
33113
33113
|
return;
|
|
33114
33114
|
}
|
|
@@ -33689,7 +33689,7 @@ var PowerPointViewerBody = /* @__PURE__ */ React108.forwardRef(
|
|
|
33689
33689
|
},
|
|
33690
33690
|
[storage]
|
|
33691
33691
|
);
|
|
33692
|
-
const { optionsStore, options: viewerOptions } =
|
|
33692
|
+
const { optionsStore, options: viewerOptions } = chunkYJ4DAS4V_js.useViewerOptions();
|
|
33693
33693
|
const custom = useViewerCustomization(customization, legacyHiddenActions, optionsStore);
|
|
33694
33694
|
const { resolved: customizationResolved, hiddenActions } = custom;
|
|
33695
33695
|
const aiEnabled = Boolean(ai) && pptx.isFeatureEnabled(customizationResolved, "ai");
|
|
@@ -33703,8 +33703,8 @@ var PowerPointViewerBody = /* @__PURE__ */ React108.forwardRef(
|
|
|
33703
33703
|
const handleEnableEditing = React108.useCallback(() => {
|
|
33704
33704
|
setProtectedViewOverridden(true);
|
|
33705
33705
|
}, []);
|
|
33706
|
-
const readOnlyRec =
|
|
33707
|
-
const compatToastsState =
|
|
33706
|
+
const readOnlyRec = chunkYJ4DAS4V_js.useReadOnlyRecommendationState(content);
|
|
33707
|
+
const compatToastsState = chunkYJ4DAS4V_js.useCompatibilityToastsState();
|
|
33708
33708
|
const [notesBarHeight, setNotesBarHeight] = React108.useState(0);
|
|
33709
33709
|
const runProgramNoticesState = useRunProgramNoticesState();
|
|
33710
33710
|
const [collaborationReadOnly, setCollaborationReadOnly] = React108.useState(Boolean(collaboration));
|
|
@@ -33727,8 +33727,8 @@ var PowerPointViewerBody = /* @__PURE__ */ React108.forwardRef(
|
|
|
33727
33727
|
filePath
|
|
33728
33728
|
});
|
|
33729
33729
|
const [isShareDialogOpen, setIsShareDialogOpen] = React108.useState(false);
|
|
33730
|
-
const { reducedMotion, toggleReducedMotion } =
|
|
33731
|
-
const state =
|
|
33730
|
+
const { reducedMotion, toggleReducedMotion } = chunkYJ4DAS4V_js.useReducedMotion();
|
|
33731
|
+
const state = chunkYJ4DAS4V_js.useViewerState({
|
|
33732
33732
|
content,
|
|
33733
33733
|
canEdit,
|
|
33734
33734
|
inspectorInitiallyOpen: props.inspectorInitiallyOpen
|
|
@@ -33855,16 +33855,16 @@ var PowerPointViewerBody = /* @__PURE__ */ React108.forwardRef(
|
|
|
33855
33855
|
}
|
|
33856
33856
|
}, [settings, optionsStore]);
|
|
33857
33857
|
const handleClearOptionsCache = useAutosaveCacheMaintenance(viewerOptions, storage);
|
|
33858
|
-
const mobile =
|
|
33858
|
+
const mobile = chunkYJ4DAS4V_js.useIsMobile();
|
|
33859
33859
|
const { isMobile, isTouchDevice, isVirtualKeyboardOpen } = mobile;
|
|
33860
|
-
const resizablePanels =
|
|
33860
|
+
const resizablePanels = chunkYJ4DAS4V_js.useResizablePanels();
|
|
33861
33861
|
const {
|
|
33862
33862
|
gridSpacingPx,
|
|
33863
33863
|
visibleSlideIndexes,
|
|
33864
33864
|
slideSectionGroups,
|
|
33865
33865
|
masterPseudoSlide,
|
|
33866
33866
|
authoredRange
|
|
33867
|
-
} =
|
|
33867
|
+
} = chunkYJ4DAS4V_js.useDerivedSlideState({
|
|
33868
33868
|
slides,
|
|
33869
33869
|
sections: state.sections,
|
|
33870
33870
|
customShows: state.customShows,
|
|
@@ -33889,7 +33889,7 @@ var PowerPointViewerBody = /* @__PURE__ */ React108.forwardRef(
|
|
|
33889
33889
|
state.cropSessionRef
|
|
33890
33890
|
]
|
|
33891
33891
|
);
|
|
33892
|
-
const zoom =
|
|
33892
|
+
const zoom = chunkYJ4DAS4V_js.useZoomViewport({
|
|
33893
33893
|
canvasSize,
|
|
33894
33894
|
selectedElements: state.selectedElements,
|
|
33895
33895
|
fitPadding: props.fitPadding,
|
|
@@ -33904,7 +33904,7 @@ var PowerPointViewerBody = /* @__PURE__ */ React108.forwardRef(
|
|
|
33904
33904
|
setIsDirty(true);
|
|
33905
33905
|
onChangeCallback.current?.();
|
|
33906
33906
|
}, [setIsDirty]);
|
|
33907
|
-
const history =
|
|
33907
|
+
const history = chunkYJ4DAS4V_js.useEditorHistory({
|
|
33908
33908
|
slides,
|
|
33909
33909
|
canvasSize,
|
|
33910
33910
|
activeSlideIndex,
|
|
@@ -33930,7 +33930,7 @@ var PowerPointViewerBody = /* @__PURE__ */ React108.forwardRef(
|
|
|
33930
33930
|
setEditTemplateMode: state.setEditTemplateMode,
|
|
33931
33931
|
setHeaderFooter: state.setHeaderFooter
|
|
33932
33932
|
});
|
|
33933
|
-
const { presentation, annotations, actionSoundHandlerRef, setExitModeHandler } =
|
|
33933
|
+
const { presentation, annotations, actionSoundHandlerRef, setExitModeHandler } = chunkYJ4DAS4V_js.usePresentationSetup({
|
|
33934
33934
|
mode,
|
|
33935
33935
|
slides,
|
|
33936
33936
|
visibleSlideIndexes,
|
|
@@ -34005,7 +34005,7 @@ ${url}`)
|
|
|
34005
34005
|
loading,
|
|
34006
34006
|
error
|
|
34007
34007
|
]);
|
|
34008
|
-
|
|
34008
|
+
chunkYJ4DAS4V_js.useTouchGestures({
|
|
34009
34009
|
targetRef: zoom.canvasViewportRef,
|
|
34010
34010
|
currentScale: zoom.scale,
|
|
34011
34011
|
callbacks: {
|
|
@@ -34027,7 +34027,7 @@ ${url}`)
|
|
|
34027
34027
|
},
|
|
34028
34028
|
enabled: isTouchDevice
|
|
34029
34029
|
});
|
|
34030
|
-
const dialogs =
|
|
34030
|
+
const dialogs = chunkYJ4DAS4V_js.useViewerDialogs({
|
|
34031
34031
|
mode,
|
|
34032
34032
|
slides,
|
|
34033
34033
|
activeSlide,
|
|
@@ -34076,7 +34076,7 @@ ${url}`)
|
|
|
34076
34076
|
zoom.handleZoomToFit();
|
|
34077
34077
|
zoom.canvasViewportRef.current?.scrollTo({ left: 0, top: 0 });
|
|
34078
34078
|
}, [mode]);
|
|
34079
|
-
const editorOps =
|
|
34079
|
+
const editorOps = chunkYJ4DAS4V_js.useEditorOperations({
|
|
34080
34080
|
state,
|
|
34081
34081
|
history,
|
|
34082
34082
|
zoom,
|
|
@@ -34119,7 +34119,7 @@ ${url}`)
|
|
|
34119
34119
|
handlerRef,
|
|
34120
34120
|
viewerApi,
|
|
34121
34121
|
loadVersion
|
|
34122
|
-
} =
|
|
34122
|
+
} = chunkYJ4DAS4V_js.useViewerIntegration({
|
|
34123
34123
|
transformCommittedText: (text) => pptx.applyAutoCorrect(text, viewerOptions.proofing),
|
|
34124
34124
|
state,
|
|
34125
34125
|
zoom,
|
|
@@ -34258,7 +34258,7 @@ ${url}`)
|
|
|
34258
34258
|
updateElementById: editorOps.ops.updateElementById
|
|
34259
34259
|
});
|
|
34260
34260
|
const ribbonScope = useRibbonScopeToken();
|
|
34261
|
-
const viewPreferencesSync =
|
|
34261
|
+
const viewPreferencesSync = chunkYJ4DAS4V_js.useViewPreferencesSync({
|
|
34262
34262
|
loadVersion,
|
|
34263
34263
|
viewProperties: state.viewProperties,
|
|
34264
34264
|
setViewProperties: state.setViewProperties,
|
|
@@ -34300,7 +34300,7 @@ ${url}`)
|
|
|
34300
34300
|
},
|
|
34301
34301
|
[state]
|
|
34302
34302
|
);
|
|
34303
|
-
const layoutSwitching =
|
|
34303
|
+
const layoutSwitching = chunkYJ4DAS4V_js.useLayoutSwitching({
|
|
34304
34304
|
handler: handlerRef.current,
|
|
34305
34305
|
slides,
|
|
34306
34306
|
activeSlideIndex,
|
|
@@ -34813,8 +34813,8 @@ ${url}`)
|
|
|
34813
34813
|
// Nothing previously provided it, so every one of those consumers was
|
|
34814
34814
|
// silently reading `DEFAULT_VIEWER_OPTIONS` forever, no matter what
|
|
34815
34815
|
// the user changed in the Options dialog.
|
|
34816
|
-
/* @__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(
|
|
34817
|
-
|
|
34816
|
+
/* @__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(chunkYJ4DAS4V_js.Rendering3DFlagsContext.Provider, { value: effective3D, children: /* @__PURE__ */ jsxRuntime.jsx(ViewerThemeProvider, { theme: effectiveTheme, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
34817
|
+
chunkYJ4DAS4V_js.CollaborationProvider,
|
|
34818
34818
|
{
|
|
34819
34819
|
config: collaboration,
|
|
34820
34820
|
canvasWidth: canvasSize.width,
|
|
@@ -34870,19 +34870,19 @@ ${url}`)
|
|
|
34870
34870
|
slideCount: slides.length
|
|
34871
34871
|
}
|
|
34872
34872
|
),
|
|
34873
|
-
/* @__PURE__ */ jsxRuntime.jsx(ShapeFormatContext.Provider, { value: shapeFormat, children: /* @__PURE__ */ jsxRuntime.jsx(RibbonGalleryCommandsContext.Provider, { value: ribbonGalleries, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
34873
|
+
/* @__PURE__ */ jsxRuntime.jsx(ShapeFormatContext.Provider, { value: shapeFormat, children: /* @__PURE__ */ jsxRuntime.jsx(RibbonGalleryCommandsContext.Provider, { value: ribbonGalleries, children: /* @__PURE__ */ jsxRuntime.jsx(chunkYJ4DAS4V_js.ChartFormatContext.Provider, { value: chartFormat, children: viewerContent }) }) })
|
|
34874
34874
|
]
|
|
34875
34875
|
}
|
|
34876
34876
|
) }) }) }) }) }) }) }) })
|
|
34877
34877
|
);
|
|
34878
34878
|
}
|
|
34879
34879
|
);
|
|
34880
|
-
var PowerPointViewer2 = /* @__PURE__ */
|
|
34880
|
+
var PowerPointViewer2 = /* @__PURE__ */ chunkYJ4DAS4V_js.withDisplayName(
|
|
34881
34881
|
PowerPointViewerComponent,
|
|
34882
34882
|
"PowerPointViewer"
|
|
34883
34883
|
);
|
|
34884
34884
|
function CollaborationStatusStrip() {
|
|
34885
|
-
const collab =
|
|
34885
|
+
const collab = chunkYJ4DAS4V_js.useCollaboration();
|
|
34886
34886
|
if (!collab) {
|
|
34887
34887
|
return null;
|
|
34888
34888
|
}
|
|
@@ -34899,9 +34899,9 @@ function CollaborationStateReporter({
|
|
|
34899
34899
|
onChange,
|
|
34900
34900
|
onStatus
|
|
34901
34901
|
}) {
|
|
34902
|
-
const collab =
|
|
34902
|
+
const collab = chunkYJ4DAS4V_js.useCollaboration();
|
|
34903
34903
|
useCollaborationStateReport(collab, onChange);
|
|
34904
|
-
|
|
34904
|
+
chunkYJ4DAS4V_js.useReportOnChange(collab?.status ?? "disconnected", onStatus, "disconnected");
|
|
34905
34905
|
return null;
|
|
34906
34906
|
}
|
|
34907
34907
|
function CollaborationDocumentSync({
|
|
@@ -34915,8 +34915,8 @@ function CollaborationDocumentSync({
|
|
|
34915
34915
|
deckSaveState,
|
|
34916
34916
|
onReadOnlyChange
|
|
34917
34917
|
}) {
|
|
34918
|
-
const collab =
|
|
34919
|
-
|
|
34918
|
+
const collab = chunkYJ4DAS4V_js.useCollaboration();
|
|
34919
|
+
chunkYJ4DAS4V_js.useCollaborationDocumentSync({
|
|
34920
34920
|
collaboration: collab,
|
|
34921
34921
|
slides,
|
|
34922
34922
|
templateElementsBySlideId,
|
|
@@ -34935,14 +34935,14 @@ function CollaborationFollowLayer({
|
|
|
34935
34935
|
setActiveSlideIndex,
|
|
34936
34936
|
slideCount
|
|
34937
34937
|
}) {
|
|
34938
|
-
const collab =
|
|
34939
|
-
const { followedClientId, followUser } =
|
|
34938
|
+
const collab = chunkYJ4DAS4V_js.useCollaboration();
|
|
34939
|
+
const { followedClientId, followUser } = chunkYJ4DAS4V_js.useFollowMode({
|
|
34940
34940
|
collab,
|
|
34941
34941
|
activeSlideIndex,
|
|
34942
34942
|
setActiveSlideIndex,
|
|
34943
34943
|
slideCount
|
|
34944
34944
|
});
|
|
34945
|
-
|
|
34945
|
+
chunkYJ4DAS4V_js.useBroadcastFollower({
|
|
34946
34946
|
collab,
|
|
34947
34947
|
activeSlideIndex,
|
|
34948
34948
|
setActiveSlideIndex,
|