pptx-react-viewer 4.47.0 → 4.47.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 +11 -0
- package/dist/{chunk-OWZSRPAH.mjs → chunk-2I7ZAM4F.mjs} +2 -2
- package/dist/chunk-2I7ZAM4F.mjs.br +0 -0
- package/dist/chunk-2I7ZAM4F.mjs.gz +0 -0
- package/dist/{chunk-HDOR67HF.mjs → chunk-BL7UYXYD.mjs} +8 -10
- package/dist/chunk-BL7UYXYD.mjs.br +0 -0
- package/dist/chunk-BL7UYXYD.mjs.gz +0 -0
- package/dist/{chunk-SSANGQ35.js → chunk-TANR7L7E.js} +122 -122
- package/dist/chunk-TANR7L7E.js.br +0 -0
- package/dist/chunk-TANR7L7E.js.gz +0 -0
- package/dist/{chunk-MRSGNERC.js → chunk-VUVBSQLT.js} +7 -9
- package/dist/chunk-VUVBSQLT.js.br +0 -0
- package/dist/chunk-VUVBSQLT.js.gz +0 -0
- package/dist/index.js +22 -22
- 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 +17 -17
- 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-HDOR67HF.mjs.br +0 -0
- package/dist/chunk-HDOR67HF.mjs.gz +0 -0
- package/dist/chunk-MRSGNERC.js.br +0 -0
- package/dist/chunk-MRSGNERC.js.gz +0 -0
- package/dist/chunk-OWZSRPAH.mjs.br +0 -0
- package/dist/chunk-OWZSRPAH.mjs.gz +0 -0
- package/dist/chunk-SSANGQ35.js.br +0 -0
- package/dist/chunk-SSANGQ35.js.gz +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkVUVBSQLT_js = require('./chunk-VUVBSQLT.js');
|
|
4
4
|
var chunkMA2BI7LX_js = require('./chunk-MA2BI7LX.js');
|
|
5
5
|
var pptx = require('ooxml-ui/pptx');
|
|
6
6
|
var React106 = 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
|
+
chunkVUVBSQLT_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 } = reactI18next.useTranslation();
|
|
381
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
381
|
+
const { panelStyle, handlers: dragHandlers } = chunkVUVBSQLT_js.useModalDismissDrag(onClose);
|
|
382
382
|
const [selected, setSelected] = React106.useState(null);
|
|
383
383
|
const dialogRef = React106.useRef(null);
|
|
384
384
|
useModalFocus(isOpen, dialogRef, onClose);
|
|
@@ -872,7 +872,7 @@ function MobileSheet({
|
|
|
872
872
|
}) {
|
|
873
873
|
const sheetRef = React106.useRef(null);
|
|
874
874
|
const { t } = reactI18next.useTranslation();
|
|
875
|
-
const { dragY, dragging, handlers } =
|
|
875
|
+
const { dragY, dragging, handlers } = chunkVUVBSQLT_js.useSheetDismissDrag(onClose);
|
|
876
876
|
useModalFocus(open, sheetRef, onClose);
|
|
877
877
|
if (!open) {
|
|
878
878
|
return null;
|
|
@@ -1140,7 +1140,7 @@ function WebHomeControls({
|
|
|
1140
1140
|
function ShapeArrangeExtras(p) {
|
|
1141
1141
|
const commands = useShapeFormatContext();
|
|
1142
1142
|
const crop = commands?.crop;
|
|
1143
|
-
const { isHidden } =
|
|
1143
|
+
const { isHidden } = chunkVUVBSQLT_js.useToolbarVisibility(p.hiddenActions);
|
|
1144
1144
|
const { onGroupElements, onUngroupElement, onUpdateElementStyle } = p;
|
|
1145
1145
|
const controls = React106.useMemo(
|
|
1146
1146
|
() => pptx.arrangeShapeHomeControls({
|
|
@@ -1475,7 +1475,7 @@ function TransitionsSection(p) {
|
|
|
1475
1475
|
case "soundPreview": {
|
|
1476
1476
|
const url = pptx.ribbonTransitionStockSoundUrl(transition);
|
|
1477
1477
|
if (url) {
|
|
1478
|
-
|
|
1478
|
+
chunkVUVBSQLT_js.playAnimationSound(url);
|
|
1479
1479
|
}
|
|
1480
1480
|
break;
|
|
1481
1481
|
}
|
|
@@ -1678,7 +1678,7 @@ function AccountPage() {
|
|
|
1678
1678
|
return void 0;
|
|
1679
1679
|
});
|
|
1680
1680
|
};
|
|
1681
|
-
const version = "4.47.
|
|
1681
|
+
const version = "4.47.1" ;
|
|
1682
1682
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
|
|
1683
1683
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: cardClass, children: [
|
|
1684
1684
|
/* @__PURE__ */ jsxRuntime.jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
|
|
@@ -1942,7 +1942,7 @@ function FileSection(p) {
|
|
|
1942
1942
|
const page = offered(requestedPage) ? requestedPage : offered("home") ? "home" : nav.find((item) => item.id !== "save" && item.id !== "close")?.id ?? "home";
|
|
1943
1943
|
const [query, setQuery] = React106.useState("");
|
|
1944
1944
|
const [recent, setRecent] = React106.useState([]);
|
|
1945
|
-
const { isHidden } =
|
|
1945
|
+
const { isHidden } = chunkVUVBSQLT_js.useToolbarVisibility(p.hiddenActions);
|
|
1946
1946
|
const exportHidden = isHidden("export");
|
|
1947
1947
|
const storage = useViewerStorage();
|
|
1948
1948
|
React106.useEffect(() => {
|
|
@@ -2291,7 +2291,7 @@ function LayoutArtwork({
|
|
|
2291
2291
|
backgroundColor
|
|
2292
2292
|
};
|
|
2293
2293
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: (preview?.elements ?? []).slice(0, MAX_PREVIEW_ELEMENTS).map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2294
|
-
|
|
2294
|
+
chunkVUVBSQLT_js.StaticElementRenderer,
|
|
2295
2295
|
{
|
|
2296
2296
|
element,
|
|
2297
2297
|
activeSlide: slide,
|
|
@@ -2741,7 +2741,7 @@ function SlideShowOptions({
|
|
|
2741
2741
|
}
|
|
2742
2742
|
function SubtitleSettingsControl() {
|
|
2743
2743
|
const { t } = reactI18next.useTranslation();
|
|
2744
|
-
const supplied = React106.useContext(
|
|
2744
|
+
const supplied = React106.useContext(chunkVUVBSQLT_js.ViewerOptionsStoreContext);
|
|
2745
2745
|
const fallback = React106.useRef(null);
|
|
2746
2746
|
if (!supplied) {
|
|
2747
2747
|
fallback.current ??= pptx.createViewerOptionsStore({ persist: false });
|
|
@@ -2775,7 +2775,7 @@ function SubtitleSettingsControl() {
|
|
|
2775
2775
|
}
|
|
2776
2776
|
function SlideShowSection(p) {
|
|
2777
2777
|
const { t } = reactI18next.useTranslation();
|
|
2778
|
-
const { isHidden } =
|
|
2778
|
+
const { isHidden } = chunkVUVBSQLT_js.useToolbarVisibility(p.hiddenActions);
|
|
2779
2779
|
const [showsOpen, setShowsOpen] = React106.useState(false);
|
|
2780
2780
|
const showsRef = React106.useRef(null);
|
|
2781
2781
|
React106.useEffect(() => {
|
|
@@ -3314,7 +3314,7 @@ function MobileMenuSheet(props) {
|
|
|
3314
3314
|
const { t } = reactI18next.useTranslation();
|
|
3315
3315
|
const { open, onClose } = props;
|
|
3316
3316
|
const [active, setActive] = React106.useState("home");
|
|
3317
|
-
const { isTabVisible } =
|
|
3317
|
+
const { isTabVisible } = chunkVUVBSQLT_js.useToolbarVisibility(props.hiddenActions);
|
|
3318
3318
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3319
3319
|
MobileSheet,
|
|
3320
3320
|
{
|
|
@@ -3604,7 +3604,7 @@ function MobileToolbar(props) {
|
|
|
3604
3604
|
const { t } = reactI18next.useTranslation();
|
|
3605
3605
|
const { mode, canUndo, canRedo, onUndo, onRedo, onSetMode, onSaveAsPptx } = props;
|
|
3606
3606
|
const [menuOpen, setMenuOpen] = React106.useState(false);
|
|
3607
|
-
const { isHidden } =
|
|
3607
|
+
const { isHidden } = chunkVUVBSQLT_js.useToolbarVisibility(props.hiddenActions);
|
|
3608
3608
|
const showEdit = mode === "edit" || mode === "master";
|
|
3609
3609
|
const hidden = [];
|
|
3610
3610
|
if (isHidden("undo")) {
|
|
@@ -3651,7 +3651,7 @@ function MobileToolbar(props) {
|
|
|
3651
3651
|
}
|
|
3652
3652
|
function ChartSelectionStrip() {
|
|
3653
3653
|
const { t } = reactI18next.useTranslation();
|
|
3654
|
-
const commands =
|
|
3654
|
+
const commands = chunkVUVBSQLT_js.useChartFormatContext();
|
|
3655
3655
|
const chart = commands?.chart;
|
|
3656
3656
|
const chartData = chart?.type === "chart" ? chart.chartData : void 0;
|
|
3657
3657
|
const controls = React106.useMemo(
|
|
@@ -3682,7 +3682,7 @@ function PictureSizeStrip({
|
|
|
3682
3682
|
hiddenActions
|
|
3683
3683
|
}) {
|
|
3684
3684
|
const crop = useShapeFormatContext()?.crop;
|
|
3685
|
-
const { isHidden } =
|
|
3685
|
+
const { isHidden } = chunkVUVBSQLT_js.useToolbarVisibility(hiddenActions);
|
|
3686
3686
|
const controls = React106.useMemo(
|
|
3687
3687
|
() => pptx.pictureSizeHomeControls({
|
|
3688
3688
|
editable: Boolean(crop),
|
|
@@ -3855,7 +3855,7 @@ var TAB_BASE = "relative px-3.5 py-2 text-[12px] font-medium whitespace-nowrap t
|
|
|
3855
3855
|
var TAB_UNDERLINE = "after:absolute after:-bottom-px after:left-0 after:right-0 after:h-[2.5px] after:bg-primary";
|
|
3856
3856
|
function RibbonTabBar(p) {
|
|
3857
3857
|
const { t } = reactI18next.useTranslation();
|
|
3858
|
-
const viewerOptions =
|
|
3858
|
+
const viewerOptions = chunkVUVBSQLT_js.useViewerOptionsContext();
|
|
3859
3859
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3860
3860
|
"div",
|
|
3861
3861
|
{
|
|
@@ -3932,9 +3932,9 @@ function RibbonTabBar(p) {
|
|
|
3932
3932
|
}
|
|
3933
3933
|
function TabRowActions(p) {
|
|
3934
3934
|
const { t } = reactI18next.useTranslation();
|
|
3935
|
-
const collab =
|
|
3935
|
+
const collab = chunkVUVBSQLT_js.useCollaboration();
|
|
3936
3936
|
const isCollaborating = Boolean(collab && collab.status === "connected");
|
|
3937
|
-
const { isHidden } =
|
|
3937
|
+
const { isHidden } = chunkVUVBSQLT_js.useToolbarVisibility(p.hiddenActions);
|
|
3938
3938
|
const customization = useViewerCustomizationContext();
|
|
3939
3939
|
const ref = React106.useRef(null);
|
|
3940
3940
|
const handlers = React106.useRef(p);
|
|
@@ -3989,7 +3989,7 @@ function TabRowActions(p) {
|
|
|
3989
3989
|
}
|
|
3990
3990
|
function TitleBarElement(p) {
|
|
3991
3991
|
const { t } = reactI18next.useTranslation();
|
|
3992
|
-
const options =
|
|
3992
|
+
const options = chunkVUVBSQLT_js.useViewerOptionsContext();
|
|
3993
3993
|
const customization = useViewerCustomizationContext();
|
|
3994
3994
|
const ref = React106.useRef(null);
|
|
3995
3995
|
const stripVisible = options.quickAccess.visible && pptx.isPanelVisible(customization, "quickAccessToolbar");
|
|
@@ -4325,7 +4325,7 @@ function ToolbarPrimaryRow(p) {
|
|
|
4325
4325
|
onToggleSidebar,
|
|
4326
4326
|
onToggleInspector
|
|
4327
4327
|
} = p;
|
|
4328
|
-
const collab =
|
|
4328
|
+
const collab = chunkVUVBSQLT_js.useCollaboration();
|
|
4329
4329
|
const customization = useViewerCustomizationContext();
|
|
4330
4330
|
const showSlidesToggle = pptx.isPanelVisible(customization, "slidesPane");
|
|
4331
4331
|
const showInspectorToggle = pptx.isPanelVisible(customization, "inspector");
|
|
@@ -4615,8 +4615,8 @@ function ToolbarLateTabs({
|
|
|
4615
4615
|
function Toolbar(p) {
|
|
4616
4616
|
const { mode, isNarrowViewport, isCompactToolbarOpen, toolbarSection, onSetToolbarSection } = p;
|
|
4617
4617
|
const { t } = reactI18next.useTranslation();
|
|
4618
|
-
const { isTabVisible } =
|
|
4619
|
-
const viewerOptions =
|
|
4618
|
+
const { isTabVisible } = chunkVUVBSQLT_js.useToolbarVisibility(p.hiddenActions);
|
|
4619
|
+
const viewerOptions = chunkVUVBSQLT_js.useViewerOptionsContext();
|
|
4620
4620
|
const customization = useViewerCustomizationContext();
|
|
4621
4621
|
const belowInput = React106.useMemo(
|
|
4622
4622
|
() => ({
|
|
@@ -5602,7 +5602,7 @@ function DrawingOverlaySvg({
|
|
|
5602
5602
|
onPointerDown,
|
|
5603
5603
|
onPointerMove,
|
|
5604
5604
|
onPointerUp,
|
|
5605
|
-
children: isStrokeActive && liveStrokeView ?
|
|
5605
|
+
children: isStrokeActive && liveStrokeView ? chunkVUVBSQLT_js.renderStrokeView(liveStrokeView, true, void 0, "ink-live-preview") : isStrokeActive && liveStrokeD && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5606
5606
|
"path",
|
|
5607
5607
|
{
|
|
5608
5608
|
d: liveStrokeD,
|
|
@@ -6181,7 +6181,7 @@ function PictureCropOverlay({
|
|
|
6181
6181
|
};
|
|
6182
6182
|
};
|
|
6183
6183
|
const { ghost, frame, handles } = overlay;
|
|
6184
|
-
const src =
|
|
6184
|
+
const src = chunkVUVBSQLT_js.imgSrc(element);
|
|
6185
6185
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6186
6186
|
"div",
|
|
6187
6187
|
{
|
|
@@ -6357,7 +6357,7 @@ function HorizontalRulerView({ ticks, widthPx, highlight }) {
|
|
|
6357
6357
|
}
|
|
6358
6358
|
);
|
|
6359
6359
|
}
|
|
6360
|
-
var HorizontalRuler = /* @__PURE__ */
|
|
6360
|
+
var HorizontalRuler = /* @__PURE__ */ chunkVUVBSQLT_js.withDisplayName(
|
|
6361
6361
|
/* @__PURE__ */ React106__default.default.memo(HorizontalRulerView),
|
|
6362
6362
|
"HorizontalRuler"
|
|
6363
6363
|
);
|
|
@@ -6431,7 +6431,7 @@ function VerticalRulerView({ ticks, heightPx, highlight }) {
|
|
|
6431
6431
|
}
|
|
6432
6432
|
);
|
|
6433
6433
|
}
|
|
6434
|
-
var VerticalRuler = /* @__PURE__ */
|
|
6434
|
+
var VerticalRuler = /* @__PURE__ */ chunkVUVBSQLT_js.withDisplayName(
|
|
6435
6435
|
/* @__PURE__ */ React106__default.default.memo(VerticalRulerView),
|
|
6436
6436
|
"VerticalRuler"
|
|
6437
6437
|
);
|
|
@@ -6625,7 +6625,7 @@ function SelectionHandleOverlay({
|
|
|
6625
6625
|
onDoubleClick: (e) => onDoubleClick(element.id, e),
|
|
6626
6626
|
onContextMenu: (e) => onContextMenu(element.id, e),
|
|
6627
6627
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6628
|
-
|
|
6628
|
+
chunkVUVBSQLT_js.ResizeHandles,
|
|
6629
6629
|
{
|
|
6630
6630
|
elementId: element.id,
|
|
6631
6631
|
adjustmentHandles,
|
|
@@ -7336,7 +7336,7 @@ function SlideCanvas(props) {
|
|
|
7336
7336
|
props.registerInlineEditReader
|
|
7337
7337
|
]
|
|
7338
7338
|
);
|
|
7339
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7339
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkVUVBSQLT_js.InlineCollaborationContext.Provider, { value, children: /* @__PURE__ */ jsxRuntime.jsx(SlideCanvasContent, { ...props }) });
|
|
7340
7340
|
}
|
|
7341
7341
|
function SlideCanvasContent({
|
|
7342
7342
|
imagePaste,
|
|
@@ -7605,7 +7605,7 @@ function SlideCanvasContent({
|
|
|
7605
7605
|
onPointerMove: handleStagePointerMove,
|
|
7606
7606
|
onPointerUp: handleStagePointerUp,
|
|
7607
7607
|
children: [
|
|
7608
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7608
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkVUVBSQLT_js.SlideBackgroundImageLayer, { slide: activeSlide }),
|
|
7609
7609
|
presentationKeyframesCss && /* @__PURE__ */ jsxRuntime.jsx("style", { children: presentationKeyframesCss }),
|
|
7610
7610
|
/* @__PURE__ */ jsxRuntime.jsx(GridOverlay, { canvasSize, gridSpacingPx, visible: showGrid }),
|
|
7611
7611
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -7617,7 +7617,7 @@ function SlideCanvasContent({
|
|
|
7617
7617
|
}
|
|
7618
7618
|
),
|
|
7619
7619
|
templateElements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7620
|
-
|
|
7620
|
+
chunkVUVBSQLT_js.ElementRenderer,
|
|
7621
7621
|
{
|
|
7622
7622
|
element,
|
|
7623
7623
|
activeSlide,
|
|
@@ -7661,7 +7661,7 @@ function SlideCanvasContent({
|
|
|
7661
7661
|
`tpl-${element.id}`
|
|
7662
7662
|
)),
|
|
7663
7663
|
activeSlide?.elements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7664
|
-
|
|
7664
|
+
chunkVUVBSQLT_js.ElementRenderer,
|
|
7665
7665
|
{
|
|
7666
7666
|
element,
|
|
7667
7667
|
activeSlide,
|
|
@@ -7727,7 +7727,7 @@ function SlideCanvasContent({
|
|
|
7727
7727
|
editingMember && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
7728
7728
|
/* @__PURE__ */ jsxRuntime.jsx("style", { children: `[data-element-id="${cssAttr(editingMember.parentId)}"] [data-element-id="${cssAttr(editingMember.member.id)}"]{visibility:hidden}` }),
|
|
7729
7729
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7730
|
-
|
|
7730
|
+
chunkVUVBSQLT_js.ElementRenderer,
|
|
7731
7731
|
{
|
|
7732
7732
|
element: editingMember.member,
|
|
7733
7733
|
activeSlide,
|
|
@@ -8243,7 +8243,7 @@ function SlideThumbnailImpl({
|
|
|
8243
8243
|
...pptx.deviceStrokeStageStyle(scale)
|
|
8244
8244
|
},
|
|
8245
8245
|
children: [
|
|
8246
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8246
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkVUVBSQLT_js.SlideBackgroundImageLayer, { slide }),
|
|
8247
8247
|
slide.transition && slide.transition.type !== "none" && slide.transition.type !== "cut" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
8248
8248
|
"div",
|
|
8249
8249
|
{
|
|
@@ -8253,7 +8253,7 @@ function SlideThumbnailImpl({
|
|
|
8253
8253
|
}
|
|
8254
8254
|
),
|
|
8255
8255
|
previewElements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
8256
|
-
|
|
8256
|
+
chunkVUVBSQLT_js.StaticElementRenderer,
|
|
8257
8257
|
{
|
|
8258
8258
|
element,
|
|
8259
8259
|
activeSlide: slide,
|
|
@@ -8431,7 +8431,7 @@ function ContextMenu(props) {
|
|
|
8431
8431
|
const { t } = reactI18next.useTranslation();
|
|
8432
8432
|
const customization = useViewerCustomizationContext();
|
|
8433
8433
|
const shapeFormat = useShapeFormatContext();
|
|
8434
|
-
const chartFormat =
|
|
8434
|
+
const chartFormat = chunkVUVBSQLT_js.useChartFormatContext();
|
|
8435
8435
|
const open = Boolean(contextMenuState) && mode === "edit";
|
|
8436
8436
|
const handlers = {
|
|
8437
8437
|
...contextMenuHandlers(props, shapeFormat),
|
|
@@ -9346,7 +9346,7 @@ function SlidesPaneSidebar({
|
|
|
9346
9346
|
tableStyleContext
|
|
9347
9347
|
}) {
|
|
9348
9348
|
const { t } = reactI18next.useTranslation();
|
|
9349
|
-
const collab =
|
|
9349
|
+
const collab = chunkVUVBSQLT_js.useCollaboration();
|
|
9350
9350
|
const slideRefs = React106.useRef(/* @__PURE__ */ new Map());
|
|
9351
9351
|
const renameInputRef = React106.useRef(null);
|
|
9352
9352
|
const slidePresenceMap = React106.useMemo(() => {
|
|
@@ -9441,7 +9441,7 @@ function SlidesPaneSidebar({
|
|
|
9441
9441
|
[sectionGroups, showSectionHeaders, effectiveCollapsed]
|
|
9442
9442
|
);
|
|
9443
9443
|
const shouldVirtualize = slides.length >= VIRTUALIZATION_THRESHOLD;
|
|
9444
|
-
const { startIndex, endIndex, totalHeight, offsetY, scrollContainerRef, scrollToIndex } =
|
|
9444
|
+
const { startIndex, endIndex, totalHeight, offsetY, scrollContainerRef, scrollToIndex } = chunkVUVBSQLT_js.useVirtualizedSlides({
|
|
9445
9445
|
totalItems: shouldVirtualize ? flatItems.length : 0,
|
|
9446
9446
|
itemHeight: estimatedItemHeight
|
|
9447
9447
|
});
|
|
@@ -11325,7 +11325,7 @@ function ReadingViewStage({
|
|
|
11325
11325
|
className: "absolute left-0 top-0 origin-top-left",
|
|
11326
11326
|
style: { width, height, transform: `scale(${scale})`, ...pptx.deviceStrokeStageStyle(scale) },
|
|
11327
11327
|
children: elements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
11328
|
-
|
|
11328
|
+
chunkVUVBSQLT_js.StaticElementRenderer,
|
|
11329
11329
|
{
|
|
11330
11330
|
element,
|
|
11331
11331
|
activeSlide: slide,
|
|
@@ -11980,7 +11980,7 @@ function SlideNotesPanel({
|
|
|
11980
11980
|
});
|
|
11981
11981
|
const hasNotes = draft.trim().length > 0;
|
|
11982
11982
|
const slideLabel = activeSlide ? t("pptx.notes.slideN", { n: activeSlide.slideNumber }) : t("pptx.notes.noSlide");
|
|
11983
|
-
const { dragY, handlers: dragHandlers } =
|
|
11983
|
+
const { dragY, handlers: dragHandlers } = chunkVUVBSQLT_js.useSheetDismissDrag(onToggle);
|
|
11984
11984
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
11985
11985
|
isExpanded && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11986
11986
|
"button",
|
|
@@ -13117,7 +13117,7 @@ function DocumentPropertiesDialog({
|
|
|
13117
13117
|
const handleClose = React106.useCallback(() => {
|
|
13118
13118
|
onClose();
|
|
13119
13119
|
}, [onClose]);
|
|
13120
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
13120
|
+
const { panelStyle, handlers: dragHandlers } = chunkVUVBSQLT_js.useModalDismissDrag(handleClose);
|
|
13121
13121
|
if (!isOpen) {
|
|
13122
13122
|
return null;
|
|
13123
13123
|
}
|
|
@@ -13714,7 +13714,7 @@ function PresentationSubtitleBar({
|
|
|
13714
13714
|
}) {
|
|
13715
13715
|
const { t } = reactI18next.useTranslation();
|
|
13716
13716
|
const language = pptx.subtitleRecognitionLanguage(
|
|
13717
|
-
pptx.subtitleSettingsFromOptions(
|
|
13717
|
+
pptx.subtitleSettingsFromOptions(chunkVUVBSQLT_js.useViewerOptionsContext()),
|
|
13718
13718
|
typeof navigator === "undefined" ? "en-US" : navigator.language
|
|
13719
13719
|
);
|
|
13720
13720
|
const [captionText, setCaptionText] = React106.useState("");
|
|
@@ -13908,7 +13908,7 @@ function ScaledSlidePreviewImpl({
|
|
|
13908
13908
|
...pptx.deviceStrokeStageStyle(scale)
|
|
13909
13909
|
},
|
|
13910
13910
|
children: previewElements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
13911
|
-
|
|
13911
|
+
chunkVUVBSQLT_js.StaticElementRenderer,
|
|
13912
13912
|
{
|
|
13913
13913
|
element,
|
|
13914
13914
|
activeSlide: slide,
|
|
@@ -15226,7 +15226,7 @@ function EffectSoundRow({
|
|
|
15226
15226
|
}
|
|
15227
15227
|
const asset = pptx.getEffectSoundAsset(soundState.catalogueId);
|
|
15228
15228
|
if (asset) {
|
|
15229
|
-
|
|
15229
|
+
chunkVUVBSQLT_js.playAnimationSound(asset.dataUrl);
|
|
15230
15230
|
}
|
|
15231
15231
|
};
|
|
15232
15232
|
return /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex flex-col gap-1", children: [
|
|
@@ -15738,7 +15738,7 @@ function AnimationPanel({
|
|
|
15738
15738
|
onUpdateSlide
|
|
15739
15739
|
}) {
|
|
15740
15740
|
const { t } = reactI18next.useTranslation();
|
|
15741
|
-
const { viewportWidth } =
|
|
15741
|
+
const { viewportWidth } = chunkVUVBSQLT_js.useIsMobile();
|
|
15742
15742
|
const directionBtnPx = Math.max(28, pptx.getDensePanelTouchTargetPx(viewportWidth));
|
|
15743
15743
|
const fieldStyle = { minHeight: pptx.getDensePanelTouchTargetPx(viewportWidth) };
|
|
15744
15744
|
const handlers = useAnimationHandlers({
|
|
@@ -16637,7 +16637,7 @@ function ChartDataGrid({
|
|
|
16637
16637
|
}) {
|
|
16638
16638
|
const { t } = reactI18next.useTranslation();
|
|
16639
16639
|
const highlightRef = React106.useRef(null);
|
|
16640
|
-
const { viewportWidth } =
|
|
16640
|
+
const { viewportWidth } = chunkVUVBSQLT_js.useIsMobile();
|
|
16641
16641
|
const gridPlan = pptx.getDenseGridLayoutPlan(viewportWidth);
|
|
16642
16642
|
const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
|
|
16643
16643
|
const rowHeaderClass = gridPlan.stickyFirstColumn ? "sticky left-0 z-10 bg-card" : "";
|
|
@@ -17994,8 +17994,8 @@ function ChartUserShapeOptions({
|
|
|
17994
17994
|
}
|
|
17995
17995
|
function ChartDataPanel({ selectedElement, canEdit, onUpdateElement }) {
|
|
17996
17996
|
const chartData = selectedElement.chartData;
|
|
17997
|
-
const followDataPoint =
|
|
17998
|
-
const { selection: partSelection } =
|
|
17997
|
+
const followDataPoint = chunkVUVBSQLT_js.useViewerOptionsContext().advanced.chartPropertiesFollowDataPoint;
|
|
17998
|
+
const { selection: partSelection } = chunkVUVBSQLT_js.useChartPartSelection();
|
|
17999
17999
|
const canvasPart = partSelection?.elementId === selectedElement.id ? partSelection.part : null;
|
|
18000
18000
|
const title = chartData?.title;
|
|
18001
18001
|
const chartType = chartData?.chartType;
|
|
@@ -19263,7 +19263,7 @@ function DuotonePanel({
|
|
|
19263
19263
|
] }),
|
|
19264
19264
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
19265
19265
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground text-[10px]", children: t("pptx.image.duotonePresets") }),
|
|
19266
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-1", children:
|
|
19266
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-1", children: chunkVUVBSQLT_js.DUOTONE_PRESETS.map((preset) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19267
19267
|
"button",
|
|
19268
19268
|
{
|
|
19269
19269
|
type: "button",
|
|
@@ -21565,7 +21565,7 @@ function QuickStylesGallery({
|
|
|
21565
21565
|
onUpdateShapeStyle
|
|
21566
21566
|
}) {
|
|
21567
21567
|
const { t } = reactI18next.useTranslation();
|
|
21568
|
-
const { viewportWidth } =
|
|
21568
|
+
const { viewportWidth } = chunkVUVBSQLT_js.useIsMobile();
|
|
21569
21569
|
const swatchMinHeight = pptx.getDensePanelTouchTargetPx(viewportWidth);
|
|
21570
21570
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [
|
|
21571
21571
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: LBL, children: t("pptx.shape.quickStyles") }),
|
|
@@ -23262,7 +23262,7 @@ function SmartArtPropertiesPanel({
|
|
|
23262
23262
|
const reflowed = box ? pptx.rebuildDrawingShapesIfCleared(
|
|
23263
23263
|
newData,
|
|
23264
23264
|
newData.layout,
|
|
23265
|
-
|
|
23265
|
+
chunkVUVBSQLT_js.resolveSmartArtDataPalette(newData),
|
|
23266
23266
|
newData.style ?? "flat",
|
|
23267
23267
|
"inspector",
|
|
23268
23268
|
box
|
|
@@ -23451,7 +23451,7 @@ function TableDataGrid({
|
|
|
23451
23451
|
}) {
|
|
23452
23452
|
const { t } = reactI18next.useTranslation();
|
|
23453
23453
|
const grid = pptx.buildTableDataGrid(tableElement);
|
|
23454
|
-
const { viewportWidth } =
|
|
23454
|
+
const { viewportWidth } = chunkVUVBSQLT_js.useIsMobile();
|
|
23455
23455
|
const gridPlan = pptx.getDenseGridLayoutPlan(viewportWidth);
|
|
23456
23456
|
const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
|
|
23457
23457
|
const stickyGutterClass = gridPlan.stickyFirstColumn ? "sticky left-0 z-10" : "";
|
|
@@ -25293,7 +25293,7 @@ function InspectorPaneHeader({
|
|
|
25293
25293
|
onClose
|
|
25294
25294
|
}) {
|
|
25295
25295
|
const { t } = reactI18next.useTranslation();
|
|
25296
|
-
const { viewportWidth } =
|
|
25296
|
+
const { viewportWidth } = chunkVUVBSQLT_js.useIsMobile();
|
|
25297
25297
|
const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
|
|
25298
25298
|
const touchBtnStyle = { minWidth: touchTargetPx, minHeight: touchTargetPx };
|
|
25299
25299
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -25994,7 +25994,7 @@ function TransitionPreview({
|
|
|
25994
25994
|
const { t } = reactI18next.useTranslation();
|
|
25995
25995
|
const durationMs = transition.durationMs ?? 500;
|
|
25996
25996
|
const animations = React106.useMemo(
|
|
25997
|
-
() =>
|
|
25997
|
+
() => chunkVUVBSQLT_js.getSlideTransitionAnimations(
|
|
25998
25998
|
transition.type,
|
|
25999
25999
|
durationMs,
|
|
26000
26000
|
transition.direction,
|
|
@@ -26063,7 +26063,7 @@ function TransitionPreview({
|
|
|
26063
26063
|
]
|
|
26064
26064
|
}
|
|
26065
26065
|
),
|
|
26066
|
-
/* @__PURE__ */ jsxRuntime.jsx("style", { children:
|
|
26066
|
+
/* @__PURE__ */ jsxRuntime.jsx("style", { children: chunkVUVBSQLT_js.SLIDE_TRANSITION_KEYFRAMES })
|
|
26067
26067
|
] });
|
|
26068
26068
|
}
|
|
26069
26069
|
var DEFAULT_DURATION_MS = 320;
|
|
@@ -26726,7 +26726,7 @@ function InspectorPane(props) {
|
|
|
26726
26726
|
} = props;
|
|
26727
26727
|
const hasSelection = selectedElement !== null;
|
|
26728
26728
|
const { t } = reactI18next.useTranslation();
|
|
26729
|
-
const { dragY, handlers: dragHandlers } =
|
|
26729
|
+
const { dragY, handlers: dragHandlers } = chunkVUVBSQLT_js.useSheetDismissDrag(onClose);
|
|
26730
26730
|
const {
|
|
26731
26731
|
animationPanelHeight,
|
|
26732
26732
|
effectiveThemeOptions,
|
|
@@ -27139,7 +27139,7 @@ function PresentationTouchControls({
|
|
|
27139
27139
|
hideNavigation = false
|
|
27140
27140
|
}) {
|
|
27141
27141
|
const { t } = reactI18next.useTranslation();
|
|
27142
|
-
const { isTouchDevice } =
|
|
27142
|
+
const { isTouchDevice } = chunkVUVBSQLT_js.useIsMobile();
|
|
27143
27143
|
if (!isTouchDevice) {
|
|
27144
27144
|
return null;
|
|
27145
27145
|
}
|
|
@@ -27786,11 +27786,11 @@ function PrintDialog({
|
|
|
27786
27786
|
}) {
|
|
27787
27787
|
const { t } = reactI18next.useTranslation();
|
|
27788
27788
|
const regionRenderer = useRegionRenderer("dialog.print");
|
|
27789
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
27790
|
-
const { viewportWidth } =
|
|
27789
|
+
const { panelStyle, handlers: dragHandlers } = chunkVUVBSQLT_js.useModalDismissDrag(onClose);
|
|
27790
|
+
const { viewportWidth } = chunkVUVBSQLT_js.useIsMobile();
|
|
27791
27791
|
const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
|
|
27792
27792
|
const closeBtnStyle = { minWidth: touchTargetPx, minHeight: touchTargetPx };
|
|
27793
|
-
const printOptionDefaults = pptx.resolveDefaultPrintSettings(
|
|
27793
|
+
const printOptionDefaults = pptx.resolveDefaultPrintSettings(chunkVUVBSQLT_js.useViewerOptionsContext());
|
|
27794
27794
|
const [printWhat, setPrintWhat] = React106.useState(printOptionDefaults?.printWhat ?? "slides");
|
|
27795
27795
|
const [orientation, setOrientation] = React106.useState("landscape");
|
|
27796
27796
|
const [colorMode, setColorMode] = React106.useState(
|
|
@@ -28307,14 +28307,14 @@ function BroadcastDialog({
|
|
|
28307
28307
|
}) {
|
|
28308
28308
|
const { t } = reactI18next.useTranslation();
|
|
28309
28309
|
const regionRenderer = useRegionRenderer("dialog.broadcast");
|
|
28310
|
-
const collab =
|
|
28310
|
+
const collab = chunkVUVBSQLT_js.useCollaboration();
|
|
28311
28311
|
const isBroadcasting = collab !== null && collab.status !== "disconnected" && collab.status !== "error" && collab.config.role === "owner";
|
|
28312
28312
|
const [roomId, setRoomId] = React106.useState("");
|
|
28313
28313
|
const [userName, setUserName] = React106.useState("");
|
|
28314
28314
|
const [serverUrl, setServerUrl] = React106.useState("");
|
|
28315
28315
|
const [copied, setCopied] = React106.useState(false);
|
|
28316
28316
|
const dialogRef = React106.useRef(null);
|
|
28317
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
28317
|
+
const { panelStyle, handlers: dragHandlers } = chunkVUVBSQLT_js.useModalDismissDrag(onClose);
|
|
28318
28318
|
useModalFocus(open, dialogRef, onClose);
|
|
28319
28319
|
React106.useEffect(() => {
|
|
28320
28320
|
if (open && !isBroadcasting) {
|
|
@@ -28630,7 +28630,7 @@ function ActiveSessionView({
|
|
|
28630
28630
|
onCopyRoomId,
|
|
28631
28631
|
onStopCollaboration
|
|
28632
28632
|
}) {
|
|
28633
|
-
const { t } = reactI18next.useTranslation(), viewerOptions =
|
|
28633
|
+
const { t } = reactI18next.useTranslation(), viewerOptions = chunkVUVBSQLT_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({
|
|
28634
28634
|
localUserName: activeCollaboration?.userName ?? collab.config.userName,
|
|
28635
28635
|
localUserInitials: viewerOptions.general.userInitials,
|
|
28636
28636
|
localUserColor: collab.config.userColor,
|
|
@@ -28729,7 +28729,7 @@ function StartSessionForm({
|
|
|
28729
28729
|
onRetry
|
|
28730
28730
|
}) {
|
|
28731
28731
|
const { t } = reactI18next.useTranslation();
|
|
28732
|
-
const { viewportWidth } =
|
|
28732
|
+
const { viewportWidth } = chunkVUVBSQLT_js.useIsMobile();
|
|
28733
28733
|
const tabBtnStyle = { minHeight: pptx.getDensePanelTouchTargetPx(viewportWidth) };
|
|
28734
28734
|
const inputReadOnlyClass = preconfigured ? " opacity-70 cursor-not-allowed" : "";
|
|
28735
28735
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
@@ -28863,7 +28863,7 @@ function ShareDialog({
|
|
|
28863
28863
|
defaultUserName,
|
|
28864
28864
|
defaultServerUrl
|
|
28865
28865
|
}) {
|
|
28866
|
-
const collab =
|
|
28866
|
+
const collab = chunkVUVBSQLT_js.useCollaboration();
|
|
28867
28867
|
const isActive = collab !== null && collab.status !== "disconnected" && collab.status !== "error";
|
|
28868
28868
|
const { t } = reactI18next.useTranslation();
|
|
28869
28869
|
const regionRenderer = useRegionRenderer("dialog.share");
|
|
@@ -28874,9 +28874,9 @@ function ShareDialog({
|
|
|
28874
28874
|
const [invitation, setInvitation] = React106.useState("");
|
|
28875
28875
|
const [copied, setCopied] = React106.useState(false);
|
|
28876
28876
|
const dialogRef = React106.useRef(null);
|
|
28877
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
28877
|
+
const { panelStyle, handlers: dragHandlers } = chunkVUVBSQLT_js.useModalDismissDrag(onClose);
|
|
28878
28878
|
useModalFocus(open, dialogRef, onClose);
|
|
28879
|
-
const { viewportWidth, viewportHeight } =
|
|
28879
|
+
const { viewportWidth, viewportHeight } = chunkVUVBSQLT_js.useIsMobile();
|
|
28880
28880
|
const touchTargetPx = pptx.getDensePanelTouchTargetPx(viewportWidth);
|
|
28881
28881
|
const touchBtnStyle = { minWidth: touchTargetPx, minHeight: touchTargetPx };
|
|
28882
28882
|
const stickyFooterClass = pptx.shouldStickyActionRow(viewportWidth, viewportHeight) ? "sticky bottom-0 bg-popover" : "";
|
|
@@ -29175,12 +29175,12 @@ function HyperlinkEditDialog({
|
|
|
29175
29175
|
onCancel
|
|
29176
29176
|
}) {
|
|
29177
29177
|
const { t } = reactI18next.useTranslation();
|
|
29178
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
29178
|
+
const { panelStyle, handlers: dragHandlers } = chunkVUVBSQLT_js.useModalDismissDrag(onCancel);
|
|
29179
29179
|
const inputRef = React106.useRef(null);
|
|
29180
|
-
const detectedType =
|
|
29181
|
-
const emailParts =
|
|
29182
|
-
const detectedSlide =
|
|
29183
|
-
const detectedVerb = initialAction ?
|
|
29180
|
+
const detectedType = chunkVUVBSQLT_js.detectTargetType(initialUrl, initialAction);
|
|
29181
|
+
const emailParts = chunkVUVBSQLT_js.parseEmailUrl(initialUrl || "");
|
|
29182
|
+
const detectedSlide = chunkVUVBSQLT_js.parseSlideFromUrl(initialUrl, initialAction);
|
|
29183
|
+
const detectedVerb = initialAction ? chunkVUVBSQLT_js.ACTION_VERB_MAP[initialAction.toLowerCase()] || "nextSlide" : "nextSlide";
|
|
29184
29184
|
const [targetType, setTargetType] = React106.useState(detectedType);
|
|
29185
29185
|
const [url, setUrl] = React106.useState(
|
|
29186
29186
|
detectedType === "email" || detectedType === "slide" || detectedType === "action" ? "" : initialUrl || ""
|
|
@@ -29457,7 +29457,7 @@ function ViewerBottomPanels({
|
|
|
29457
29457
|
notesStyle,
|
|
29458
29458
|
onNotesHeightChange
|
|
29459
29459
|
}) {
|
|
29460
|
-
const { isHidden } =
|
|
29460
|
+
const { isHidden } = chunkVUVBSQLT_js.useToolbarVisibility(hiddenActions);
|
|
29461
29461
|
const customization = useViewerCustomizationContext();
|
|
29462
29462
|
const showNotes = pptx.isPanelVisible(customization, "notes");
|
|
29463
29463
|
const notesRenderer = useRegionRenderer("notes");
|
|
@@ -29847,7 +29847,7 @@ function ViewerToolbarSection(props) {
|
|
|
29847
29847
|
[activeSlide, propertyHandlers]
|
|
29848
29848
|
);
|
|
29849
29849
|
const scopedLayoutOptions = React106__default.default.useMemo(
|
|
29850
|
-
() =>
|
|
29850
|
+
() => chunkVUVBSQLT_js.scopeLayoutOptionsToActiveSlide(s.layoutOptions, activeSlide),
|
|
29851
29851
|
[s.layoutOptions, activeSlide]
|
|
29852
29852
|
);
|
|
29853
29853
|
const handleResetSlide = React106.useCallback(() => {
|
|
@@ -30253,7 +30253,7 @@ function ViewerToolbarSection(props) {
|
|
|
30253
30253
|
isMobileInsertOpen: s.isMobileInsertOpen,
|
|
30254
30254
|
onCloseMobileInsert: () => s.setIsMobileInsertOpen(false),
|
|
30255
30255
|
slideCommentCount: activeSlide?.comments?.length ?? 0,
|
|
30256
|
-
reviewComments:
|
|
30256
|
+
reviewComments: chunkVUVBSQLT_js.createReviewCommentsHost({
|
|
30257
30257
|
state: s,
|
|
30258
30258
|
activeSlideIndex,
|
|
30259
30259
|
updateSlides: ops.updateSlides,
|
|
@@ -30347,7 +30347,7 @@ function EquationEditorDialog({
|
|
|
30347
30347
|
existingOmml
|
|
30348
30348
|
}) {
|
|
30349
30349
|
const { t } = reactI18next.useTranslation();
|
|
30350
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
30350
|
+
const { panelStyle, handlers: dragHandlers } = chunkVUVBSQLT_js.useModalDismissDrag(onClose);
|
|
30351
30351
|
const initialLatex = React106.useMemo(() => {
|
|
30352
30352
|
if (!existingOmml) {
|
|
30353
30353
|
return "";
|
|
@@ -30535,7 +30535,7 @@ function getPreviewForLayout(layout) {
|
|
|
30535
30535
|
transform: `scale(${scale})`,
|
|
30536
30536
|
transformOrigin: "top left"
|
|
30537
30537
|
},
|
|
30538
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
30538
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkVUVBSQLT_js.SmartArtRenderer, { element: pptx.buildSmartArtPreviewElement(layout) })
|
|
30539
30539
|
}
|
|
30540
30540
|
)
|
|
30541
30541
|
}
|
|
@@ -30547,7 +30547,7 @@ function InsertSmartArtDialog({
|
|
|
30547
30547
|
onInsert
|
|
30548
30548
|
}) {
|
|
30549
30549
|
const { t } = reactI18next.useTranslation();
|
|
30550
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
30550
|
+
const { panelStyle, handlers: dragHandlers } = chunkVUVBSQLT_js.useModalDismissDrag(onClose);
|
|
30551
30551
|
const [activeCategory, setActiveCategory] = React106.useState("list");
|
|
30552
30552
|
const [selectedLayout, setSelectedLayout] = React106.useState(null);
|
|
30553
30553
|
const dialogRef = React106.useRef(null);
|
|
@@ -31154,11 +31154,11 @@ function PresentationStage({
|
|
|
31154
31154
|
})
|
|
31155
31155
|
},
|
|
31156
31156
|
children: [
|
|
31157
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31157
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkVUVBSQLT_js.SlideBackgroundImageLayer, { slide: activeSlide }),
|
|
31158
31158
|
/* @__PURE__ */ jsxRuntime.jsx("style", { children: pptx.PRESENTATION_HIT_TEST_CSS }),
|
|
31159
31159
|
presentationKeyframesCss && /* @__PURE__ */ jsxRuntime.jsx("style", { children: presentationKeyframesCss }),
|
|
31160
31160
|
templateElements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
31161
|
-
|
|
31161
|
+
chunkVUVBSQLT_js.ElementRenderer,
|
|
31162
31162
|
{
|
|
31163
31163
|
element,
|
|
31164
31164
|
activeSlide,
|
|
@@ -31195,7 +31195,7 @@ function PresentationStage({
|
|
|
31195
31195
|
`tpl-${element.id}`
|
|
31196
31196
|
)),
|
|
31197
31197
|
activeSlide?.elements.map((element, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
31198
|
-
|
|
31198
|
+
chunkVUVBSQLT_js.ElementRenderer,
|
|
31199
31199
|
{
|
|
31200
31200
|
element,
|
|
31201
31201
|
activeSlide,
|
|
@@ -31317,8 +31317,8 @@ function ViewerCanvasArea(props) {
|
|
|
31317
31317
|
aiCanvasActive = false
|
|
31318
31318
|
} = props;
|
|
31319
31319
|
const { t } = reactI18next.useTranslation();
|
|
31320
|
-
const { isHidden } =
|
|
31321
|
-
const viewerOptions =
|
|
31320
|
+
const { isHidden } = chunkVUVBSQLT_js.useToolbarVisibility(hiddenActions);
|
|
31321
|
+
const viewerOptions = chunkVUVBSQLT_js.useViewerOptionsContext();
|
|
31322
31322
|
const outlineAuthoring = useOutlineAuthoring({
|
|
31323
31323
|
state: s,
|
|
31324
31324
|
updateElement: canvasHandlers.handleUpdateSmartArtElement,
|
|
@@ -31456,7 +31456,7 @@ ${url}`)) {
|
|
|
31456
31456
|
s.setActiveSlideIndex((i) => Math.max(0, i - 1));
|
|
31457
31457
|
}
|
|
31458
31458
|
}, [mode, presentation, s]);
|
|
31459
|
-
const swipe =
|
|
31459
|
+
const swipe = chunkVUVBSQLT_js.useSwipeNavigation({
|
|
31460
31460
|
enabled: swipeEnabled,
|
|
31461
31461
|
onNext: handleSwipeNext,
|
|
31462
31462
|
onPrev: handleSwipePrev
|
|
@@ -31536,7 +31536,7 @@ ${url}`)) {
|
|
|
31536
31536
|
),
|
|
31537
31537
|
children: (stageScale) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
31538
31538
|
presentation.transitionOverlay && slides[presentation.transitionOverlay.outgoingSlideIndex] && /* @__PURE__ */ jsxRuntime.jsx(
|
|
31539
|
-
|
|
31539
|
+
chunkVUVBSQLT_js.PresentationTransitionOverlay,
|
|
31540
31540
|
{
|
|
31541
31541
|
outgoingSlide: slides[presentation.transitionOverlay.outgoingSlideIndex],
|
|
31542
31542
|
templateElements,
|
|
@@ -31647,14 +31647,14 @@ ${url}`)) {
|
|
|
31647
31647
|
outlineAuthoring,
|
|
31648
31648
|
collaborationOverlay: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
31649
31649
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31650
|
-
|
|
31650
|
+
chunkVUVBSQLT_js.RemoteSelectionOverlay,
|
|
31651
31651
|
{
|
|
31652
31652
|
elements: effectiveSlide?.elements ?? [],
|
|
31653
31653
|
activeSlideIndex
|
|
31654
31654
|
}
|
|
31655
31655
|
),
|
|
31656
31656
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31657
|
-
|
|
31657
|
+
chunkVUVBSQLT_js.CollaborationCursorOverlay,
|
|
31658
31658
|
{
|
|
31659
31659
|
activeSlideIndex,
|
|
31660
31660
|
canvasWidth: canvasSize.width,
|
|
@@ -31918,7 +31918,7 @@ function AiChangeOverlay({ batch, activeSlideIndex }) {
|
|
|
31918
31918
|
}
|
|
31919
31919
|
function ChartFormatPanel() {
|
|
31920
31920
|
const { t } = reactI18next.useTranslation();
|
|
31921
|
-
const commands =
|
|
31921
|
+
const commands = chunkVUVBSQLT_js.useChartFormatContext();
|
|
31922
31922
|
const ref = React106.useRef(null);
|
|
31923
31923
|
const chart = commands?.chart;
|
|
31924
31924
|
const chartData = chart?.type === "chart" ? chart.chartData : void 0;
|
|
@@ -31991,7 +31991,7 @@ function MobileDismissSheet({
|
|
|
31991
31991
|
children
|
|
31992
31992
|
}) {
|
|
31993
31993
|
const { t } = reactI18next.useTranslation();
|
|
31994
|
-
const { dragY, handlers } =
|
|
31994
|
+
const { dragY, handlers } = chunkVUVBSQLT_js.useSheetDismissDrag(onClose);
|
|
31995
31995
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
31996
31996
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31997
31997
|
"button",
|
|
@@ -32731,7 +32731,7 @@ function ViewerMainContent(props) {
|
|
|
32731
32731
|
);
|
|
32732
32732
|
const layoutGalleryAnchorRef = React106.useRef(null);
|
|
32733
32733
|
const layoutGalleryPreviews = useLayoutPreviews(loadLayoutPreviews, layoutGalleryAnchor !== null);
|
|
32734
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32734
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkVUVBSQLT_js.ChartPartSelectionProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-pptx-chrome": "body", className: "relative z-10 flex flex-1 min-h-0", children: [
|
|
32735
32735
|
showSlidesPane && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
32736
32736
|
slidesPaneRenderer ? (
|
|
32737
32737
|
// The rail's slot (width, collapse, resize handle) stays the viewer's.
|
|
@@ -33236,7 +33236,7 @@ function MobileChromeOverlay(props) {
|
|
|
33236
33236
|
slideSectionGroups,
|
|
33237
33237
|
canEdit,
|
|
33238
33238
|
commentCount
|
|
33239
|
-
} = props, { keyboardInset, isKeyboardOpen } =
|
|
33239
|
+
} = props, { keyboardInset, isKeyboardOpen } = chunkVUVBSQLT_js.useKeyboardInsets(), activeSheet = s.isMobileInsertOpen ? "insert" : s.isSlidesPaneOpen ? "slides" : s.isInspectorPaneOpen ? s.sidebarPanelMode === "comments" ? "comments" : "inspector" : !s.isSlideNotesCollapsed ? "notes" : null, closeAllSheets = () => {
|
|
33240
33240
|
s.setIsSlidesPaneOpen(false);
|
|
33241
33241
|
s.setIsMobileInsertOpen(false);
|
|
33242
33242
|
s.setIsInspectorPaneOpen(false);
|
|
@@ -33722,7 +33722,7 @@ async function exportAiChatLogs(options) {
|
|
|
33722
33722
|
chats,
|
|
33723
33723
|
{ format: options?.format, detailed: options?.detailed, now: options?.now },
|
|
33724
33724
|
(filename, content, mime) => {
|
|
33725
|
-
|
|
33725
|
+
chunkVUVBSQLT_js.downloadBlob(new Blob([content], { type: mime }), filename);
|
|
33726
33726
|
}
|
|
33727
33727
|
);
|
|
33728
33728
|
}
|
|
@@ -34064,7 +34064,7 @@ function ViewerOptionsProvider({
|
|
|
34064
34064
|
store,
|
|
34065
34065
|
children
|
|
34066
34066
|
}) {
|
|
34067
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34067
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkVUVBSQLT_js.ViewerOptionsStoreContext.Provider, { value: store, children: /* @__PURE__ */ jsxRuntime.jsx(chunkVUVBSQLT_js.ViewerOptionsContext.Provider, { value: options, children }) });
|
|
34068
34068
|
}
|
|
34069
34069
|
function useAiBridge(input) {
|
|
34070
34070
|
const ref = React106.useRef(input);
|
|
@@ -34530,7 +34530,7 @@ function useMasterViewCrud(input) {
|
|
|
34530
34530
|
if (id === "renameLayout" || id === "renameMaster") {
|
|
34531
34531
|
const master = slideMasters[target.masterIndex];
|
|
34532
34532
|
const current = id === "renameLayout" ? master?.layouts?.[target.layoutIndex ?? -1]?.name ?? "" : master?.name ?? "";
|
|
34533
|
-
const next =
|
|
34533
|
+
const next = chunkVUVBSQLT_js.safePrompt(t("pptx.masterView.renamePrompt"), current)?.trim();
|
|
34534
34534
|
if (!next) {
|
|
34535
34535
|
return;
|
|
34536
34536
|
}
|
|
@@ -35045,7 +35045,7 @@ var PowerPointViewerComponent = /* @__PURE__ */ React106.forwardRef(
|
|
|
35045
35045
|
},
|
|
35046
35046
|
[storage]
|
|
35047
35047
|
);
|
|
35048
|
-
const { optionsStore, options: viewerOptions } =
|
|
35048
|
+
const { optionsStore, options: viewerOptions } = chunkVUVBSQLT_js.useViewerOptions();
|
|
35049
35049
|
const custom = useViewerCustomization(customization, legacyHiddenActions, optionsStore);
|
|
35050
35050
|
const { resolved: customizationResolved, hiddenActions } = custom;
|
|
35051
35051
|
const aiEnabled = Boolean(ai) && pptx.isFeatureEnabled(customizationResolved, "ai");
|
|
@@ -35059,8 +35059,8 @@ var PowerPointViewerComponent = /* @__PURE__ */ React106.forwardRef(
|
|
|
35059
35059
|
const handleEnableEditing = React106.useCallback(() => {
|
|
35060
35060
|
setProtectedViewOverridden(true);
|
|
35061
35061
|
}, []);
|
|
35062
|
-
const readOnlyRec =
|
|
35063
|
-
const compatToastsState =
|
|
35062
|
+
const readOnlyRec = chunkVUVBSQLT_js.useReadOnlyRecommendationState(content);
|
|
35063
|
+
const compatToastsState = chunkVUVBSQLT_js.useCompatibilityToastsState();
|
|
35064
35064
|
const [notesBarHeight, setNotesBarHeight] = React106.useState(0);
|
|
35065
35065
|
const runProgramNoticesState = useRunProgramNoticesState();
|
|
35066
35066
|
const [collaborationReadOnly, setCollaborationReadOnly] = React106.useState(Boolean(collaboration));
|
|
@@ -35083,8 +35083,8 @@ var PowerPointViewerComponent = /* @__PURE__ */ React106.forwardRef(
|
|
|
35083
35083
|
filePath
|
|
35084
35084
|
});
|
|
35085
35085
|
const [isShareDialogOpen, setIsShareDialogOpen] = React106.useState(false);
|
|
35086
|
-
const { reducedMotion, toggleReducedMotion } =
|
|
35087
|
-
const state =
|
|
35086
|
+
const { reducedMotion, toggleReducedMotion } = chunkVUVBSQLT_js.useReducedMotion();
|
|
35087
|
+
const state = chunkVUVBSQLT_js.useViewerState({
|
|
35088
35088
|
content,
|
|
35089
35089
|
canEdit,
|
|
35090
35090
|
inspectorInitiallyOpen: props.inspectorInitiallyOpen
|
|
@@ -35211,16 +35211,16 @@ var PowerPointViewerComponent = /* @__PURE__ */ React106.forwardRef(
|
|
|
35211
35211
|
}
|
|
35212
35212
|
}, [settings, optionsStore]);
|
|
35213
35213
|
const handleClearOptionsCache = useAutosaveCacheMaintenance(viewerOptions, storage);
|
|
35214
|
-
const mobile =
|
|
35214
|
+
const mobile = chunkVUVBSQLT_js.useIsMobile();
|
|
35215
35215
|
const { isMobile, isTouchDevice, isVirtualKeyboardOpen } = mobile;
|
|
35216
|
-
const resizablePanels =
|
|
35216
|
+
const resizablePanels = chunkVUVBSQLT_js.useResizablePanels();
|
|
35217
35217
|
const {
|
|
35218
35218
|
gridSpacingPx,
|
|
35219
35219
|
visibleSlideIndexes,
|
|
35220
35220
|
slideSectionGroups,
|
|
35221
35221
|
masterPseudoSlide,
|
|
35222
35222
|
authoredRange
|
|
35223
|
-
} =
|
|
35223
|
+
} = chunkVUVBSQLT_js.useDerivedSlideState({
|
|
35224
35224
|
slides,
|
|
35225
35225
|
sections: state.sections,
|
|
35226
35226
|
customShows: state.customShows,
|
|
@@ -35245,7 +35245,7 @@ var PowerPointViewerComponent = /* @__PURE__ */ React106.forwardRef(
|
|
|
35245
35245
|
state.cropSessionRef
|
|
35246
35246
|
]
|
|
35247
35247
|
);
|
|
35248
|
-
const zoom =
|
|
35248
|
+
const zoom = chunkVUVBSQLT_js.useZoomViewport({
|
|
35249
35249
|
canvasSize,
|
|
35250
35250
|
selectedElements: state.selectedElements,
|
|
35251
35251
|
fitPadding: props.fitPadding,
|
|
@@ -35260,7 +35260,7 @@ var PowerPointViewerComponent = /* @__PURE__ */ React106.forwardRef(
|
|
|
35260
35260
|
setIsDirty(true);
|
|
35261
35261
|
onChangeCallback.current?.();
|
|
35262
35262
|
}, [setIsDirty]);
|
|
35263
|
-
const history =
|
|
35263
|
+
const history = chunkVUVBSQLT_js.useEditorHistory({
|
|
35264
35264
|
slides,
|
|
35265
35265
|
canvasSize,
|
|
35266
35266
|
activeSlideIndex,
|
|
@@ -35286,7 +35286,7 @@ var PowerPointViewerComponent = /* @__PURE__ */ React106.forwardRef(
|
|
|
35286
35286
|
setEditTemplateMode: state.setEditTemplateMode,
|
|
35287
35287
|
setHeaderFooter: state.setHeaderFooter
|
|
35288
35288
|
});
|
|
35289
|
-
const { presentation, annotations, actionSoundHandlerRef, setExitModeHandler } =
|
|
35289
|
+
const { presentation, annotations, actionSoundHandlerRef, setExitModeHandler } = chunkVUVBSQLT_js.usePresentationSetup({
|
|
35290
35290
|
mode,
|
|
35291
35291
|
slides,
|
|
35292
35292
|
visibleSlideIndexes,
|
|
@@ -35361,7 +35361,7 @@ ${url}`)
|
|
|
35361
35361
|
loading,
|
|
35362
35362
|
error
|
|
35363
35363
|
]);
|
|
35364
|
-
|
|
35364
|
+
chunkVUVBSQLT_js.useTouchGestures({
|
|
35365
35365
|
targetRef: zoom.canvasViewportRef,
|
|
35366
35366
|
currentScale: zoom.scale,
|
|
35367
35367
|
callbacks: {
|
|
@@ -35383,7 +35383,7 @@ ${url}`)
|
|
|
35383
35383
|
},
|
|
35384
35384
|
enabled: isTouchDevice
|
|
35385
35385
|
});
|
|
35386
|
-
const dialogs =
|
|
35386
|
+
const dialogs = chunkVUVBSQLT_js.useViewerDialogs({
|
|
35387
35387
|
mode,
|
|
35388
35388
|
slides,
|
|
35389
35389
|
activeSlide,
|
|
@@ -35432,7 +35432,7 @@ ${url}`)
|
|
|
35432
35432
|
zoom.handleZoomToFit();
|
|
35433
35433
|
zoom.canvasViewportRef.current?.scrollTo({ left: 0, top: 0 });
|
|
35434
35434
|
}, [mode]);
|
|
35435
|
-
const editorOps =
|
|
35435
|
+
const editorOps = chunkVUVBSQLT_js.useEditorOperations({
|
|
35436
35436
|
state,
|
|
35437
35437
|
history,
|
|
35438
35438
|
zoom,
|
|
@@ -35475,7 +35475,7 @@ ${url}`)
|
|
|
35475
35475
|
handlerRef,
|
|
35476
35476
|
viewerApi,
|
|
35477
35477
|
loadVersion
|
|
35478
|
-
} =
|
|
35478
|
+
} = chunkVUVBSQLT_js.useViewerIntegration({
|
|
35479
35479
|
transformCommittedText: (text) => pptx.applyAutoCorrect(text, viewerOptions.proofing),
|
|
35480
35480
|
state,
|
|
35481
35481
|
zoom,
|
|
@@ -35614,7 +35614,7 @@ ${url}`)
|
|
|
35614
35614
|
updateElementById: editorOps.ops.updateElementById
|
|
35615
35615
|
});
|
|
35616
35616
|
const ribbonScope = useRibbonScopeToken();
|
|
35617
|
-
const viewPreferencesSync =
|
|
35617
|
+
const viewPreferencesSync = chunkVUVBSQLT_js.useViewPreferencesSync({
|
|
35618
35618
|
loadVersion,
|
|
35619
35619
|
viewProperties: state.viewProperties,
|
|
35620
35620
|
setViewProperties: state.setViewProperties,
|
|
@@ -35656,7 +35656,7 @@ ${url}`)
|
|
|
35656
35656
|
},
|
|
35657
35657
|
[state]
|
|
35658
35658
|
);
|
|
35659
|
-
const layoutSwitching =
|
|
35659
|
+
const layoutSwitching = chunkVUVBSQLT_js.useLayoutSwitching({
|
|
35660
35660
|
handler: handlerRef.current,
|
|
35661
35661
|
slides,
|
|
35662
35662
|
activeSlideIndex,
|
|
@@ -36168,8 +36168,8 @@ ${url}`)
|
|
|
36168
36168
|
// Nothing previously provided it, so every one of those consumers was
|
|
36169
36169
|
// silently reading `DEFAULT_VIEWER_OPTIONS` forever, no matter what
|
|
36170
36170
|
// the user changed in the Options dialog.
|
|
36171
|
-
/* @__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(
|
|
36172
|
-
|
|
36171
|
+
/* @__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(chunkVUVBSQLT_js.Rendering3DFlagsContext.Provider, { value: effective3D, children: /* @__PURE__ */ jsxRuntime.jsx(ViewerThemeProvider, { theme: effectiveTheme, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
36172
|
+
chunkVUVBSQLT_js.CollaborationProvider,
|
|
36173
36173
|
{
|
|
36174
36174
|
config: collaboration,
|
|
36175
36175
|
canvasWidth: canvasSize.width,
|
|
@@ -36225,19 +36225,19 @@ ${url}`)
|
|
|
36225
36225
|
slideCount: slides.length
|
|
36226
36226
|
}
|
|
36227
36227
|
),
|
|
36228
|
-
/* @__PURE__ */ jsxRuntime.jsx(ShapeFormatContext.Provider, { value: shapeFormat, children: /* @__PURE__ */ jsxRuntime.jsx(RibbonGalleryCommandsContext.Provider, { value: ribbonGalleries, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
36228
|
+
/* @__PURE__ */ jsxRuntime.jsx(ShapeFormatContext.Provider, { value: shapeFormat, children: /* @__PURE__ */ jsxRuntime.jsx(RibbonGalleryCommandsContext.Provider, { value: ribbonGalleries, children: /* @__PURE__ */ jsxRuntime.jsx(chunkVUVBSQLT_js.ChartFormatContext.Provider, { value: chartFormat, children: viewerContent }) }) })
|
|
36229
36229
|
]
|
|
36230
36230
|
}
|
|
36231
36231
|
) }) }) }) }) }) }) }) })
|
|
36232
36232
|
);
|
|
36233
36233
|
}
|
|
36234
36234
|
);
|
|
36235
|
-
var PowerPointViewer2 = /* @__PURE__ */
|
|
36235
|
+
var PowerPointViewer2 = /* @__PURE__ */ chunkVUVBSQLT_js.withDisplayName(
|
|
36236
36236
|
PowerPointViewerComponent,
|
|
36237
36237
|
"PowerPointViewer"
|
|
36238
36238
|
);
|
|
36239
36239
|
function CollaborationStatusStrip() {
|
|
36240
|
-
const collab =
|
|
36240
|
+
const collab = chunkVUVBSQLT_js.useCollaboration();
|
|
36241
36241
|
if (!collab) {
|
|
36242
36242
|
return null;
|
|
36243
36243
|
}
|
|
@@ -36254,9 +36254,9 @@ function CollaborationStateReporter({
|
|
|
36254
36254
|
onChange,
|
|
36255
36255
|
onStatus
|
|
36256
36256
|
}) {
|
|
36257
|
-
const collab =
|
|
36257
|
+
const collab = chunkVUVBSQLT_js.useCollaboration();
|
|
36258
36258
|
useCollaborationStateReport(collab, onChange);
|
|
36259
|
-
|
|
36259
|
+
chunkVUVBSQLT_js.useReportOnChange(collab?.status ?? "disconnected", onStatus, "disconnected");
|
|
36260
36260
|
return null;
|
|
36261
36261
|
}
|
|
36262
36262
|
function CollaborationDocumentSync({
|
|
@@ -36270,8 +36270,8 @@ function CollaborationDocumentSync({
|
|
|
36270
36270
|
deckSaveState,
|
|
36271
36271
|
onReadOnlyChange
|
|
36272
36272
|
}) {
|
|
36273
|
-
const collab =
|
|
36274
|
-
|
|
36273
|
+
const collab = chunkVUVBSQLT_js.useCollaboration();
|
|
36274
|
+
chunkVUVBSQLT_js.useCollaborationDocumentSync({
|
|
36275
36275
|
collaboration: collab,
|
|
36276
36276
|
slides,
|
|
36277
36277
|
templateElementsBySlideId,
|
|
@@ -36290,14 +36290,14 @@ function CollaborationFollowLayer({
|
|
|
36290
36290
|
setActiveSlideIndex,
|
|
36291
36291
|
slideCount
|
|
36292
36292
|
}) {
|
|
36293
|
-
const collab =
|
|
36294
|
-
const { followedClientId, followUser } =
|
|
36293
|
+
const collab = chunkVUVBSQLT_js.useCollaboration();
|
|
36294
|
+
const { followedClientId, followUser } = chunkVUVBSQLT_js.useFollowMode({
|
|
36295
36295
|
collab,
|
|
36296
36296
|
activeSlideIndex,
|
|
36297
36297
|
setActiveSlideIndex,
|
|
36298
36298
|
slideCount
|
|
36299
36299
|
});
|
|
36300
|
-
|
|
36300
|
+
chunkVUVBSQLT_js.useBroadcastFollower({
|
|
36301
36301
|
collab,
|
|
36302
36302
|
activeSlideIndex,
|
|
36303
36303
|
setActiveSlideIndex,
|