pptx-react-viewer 2.20.2 → 2.20.3
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-GKOJO67G.js → chunk-463BMH5Q.js} +10 -0
- package/dist/chunk-463BMH5Q.js.br +0 -0
- package/dist/chunk-463BMH5Q.js.gz +0 -0
- package/dist/{chunk-GUKUV7D4.js → chunk-4JENQPJ3.js} +145 -131
- package/dist/chunk-4JENQPJ3.js.br +0 -0
- package/dist/chunk-4JENQPJ3.js.gz +0 -0
- package/dist/{chunk-EDJ4TZML.mjs → chunk-AD4LAXDJ.mjs} +93 -79
- package/dist/chunk-AD4LAXDJ.mjs.br +0 -0
- package/dist/chunk-AD4LAXDJ.mjs.gz +0 -0
- package/dist/{chunk-SZJLZWEX.mjs → chunk-YAKDNRU7.mjs} +10 -0
- package/dist/chunk-YAKDNRU7.mjs.br +0 -0
- package/dist/chunk-YAKDNRU7.mjs.gz +0 -0
- package/dist/index.js +11 -11
- 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 +73 -73
- 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 +14 -14
- 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 +2 -2
- package/dist/chunk-EDJ4TZML.mjs.br +0 -0
- package/dist/chunk-EDJ4TZML.mjs.gz +0 -0
- package/dist/chunk-GKOJO67G.js.br +0 -0
- package/dist/chunk-GKOJO67G.js.gz +0 -0
- package/dist/chunk-GUKUV7D4.js.br +0 -0
- package/dist/chunk-GUKUV7D4.js.gz +0 -0
- package/dist/chunk-SZJLZWEX.mjs.br +0 -0
- package/dist/chunk-SZJLZWEX.mjs.gz +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkQJJX2E6I_js = require('./chunk-QJJX2E6I.js');
|
|
4
|
-
var
|
|
4
|
+
var chunk463BMH5Q_js = require('./chunk-463BMH5Q.js');
|
|
5
5
|
var chunkLLZ25OVR_js = require('./chunk-LLZ25OVR.js');
|
|
6
6
|
var chunk6CPUGAK7_js = require('./chunk-6CPUGAK7.js');
|
|
7
7
|
var chunk4Z4HEIP5_js = require('./chunk-4Z4HEIP5.js');
|
|
@@ -43,7 +43,7 @@ function CollaborationProvider({
|
|
|
43
43
|
canvasHeight,
|
|
44
44
|
children
|
|
45
45
|
}) {
|
|
46
|
-
const value =
|
|
46
|
+
const value = chunk463BMH5Q_js.useCollaborativeState({
|
|
47
47
|
config,
|
|
48
48
|
canvasWidth,
|
|
49
49
|
canvasHeight
|
|
@@ -1541,38 +1541,41 @@ function shapeParams(element) {
|
|
|
1541
1541
|
const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunk4Z4HEIP5_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
|
|
1542
1542
|
return { hf: hasFill, fc: fillColor, sw: strokeWidth, sc: strokeColor };
|
|
1543
1543
|
}
|
|
1544
|
-
var Extrusion3DOverlay = React14__default.default.memo(
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1544
|
+
var Extrusion3DOverlay = React14__default.default.memo(
|
|
1545
|
+
// oxlint-disable-next-line prefer-arrow-callback -- named fn gives the memo component its displayName
|
|
1546
|
+
function Extrusion3DOverlayInner({ data }) {
|
|
1547
|
+
if (!data.hasExtrusion || data.panels.length === 0) {
|
|
1548
|
+
return null;
|
|
1549
|
+
}
|
|
1550
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "extrusion-3d-wrapper", style: data.wrapperStyle, "aria-hidden": "true", children: [
|
|
1551
|
+
data.panels.map((panel) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1552
|
+
"div",
|
|
1553
|
+
{
|
|
1554
|
+
className: `extrusion-3d-panel extrusion-3d-panel--${panel.side}`,
|
|
1555
|
+
style: panel.style
|
|
1556
|
+
},
|
|
1557
|
+
panel.side
|
|
1558
|
+
)),
|
|
1559
|
+
data.materialOverlay && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1560
|
+
"div",
|
|
1561
|
+
{
|
|
1562
|
+
className: "extrusion-3d-material-overlay",
|
|
1563
|
+
style: {
|
|
1564
|
+
position: "absolute",
|
|
1565
|
+
inset: 0,
|
|
1566
|
+
backgroundImage: data.materialOverlay,
|
|
1567
|
+
pointerEvents: "none",
|
|
1568
|
+
borderRadius: "inherit",
|
|
1569
|
+
transform: data.frontFaceStyle.transform,
|
|
1570
|
+
transformStyle: "preserve-3d",
|
|
1571
|
+
backfaceVisibility: "hidden",
|
|
1572
|
+
mixBlendMode: "normal"
|
|
1573
|
+
}
|
|
1571
1574
|
}
|
|
1572
|
-
|
|
1573
|
-
)
|
|
1574
|
-
|
|
1575
|
-
|
|
1575
|
+
)
|
|
1576
|
+
] });
|
|
1577
|
+
}
|
|
1578
|
+
);
|
|
1576
1579
|
Extrusion3DOverlay.displayName = "Extrusion3DOverlay";
|
|
1577
1580
|
|
|
1578
1581
|
// src/viewer/components/elements/scoped-element-handlers.ts
|
|
@@ -4597,7 +4600,7 @@ function SlideTemplateGalleryDialog({
|
|
|
4597
4600
|
scheme
|
|
4598
4601
|
}) {
|
|
4599
4602
|
const { t } = reactI18next.useTranslation();
|
|
4600
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
4603
|
+
const { panelStyle, handlers: dragHandlers } = chunk463BMH5Q_js.useModalDismissDrag(onClose);
|
|
4601
4604
|
const [selected, setSelected] = React14.useState(null);
|
|
4602
4605
|
const dialogRef = React14.useRef(null);
|
|
4603
4606
|
useModalFocus(isOpen, dialogRef, onClose);
|
|
@@ -5748,7 +5751,7 @@ function AccountPage() {
|
|
|
5748
5751
|
return void 0;
|
|
5749
5752
|
});
|
|
5750
5753
|
};
|
|
5751
|
-
const version = "2.20.
|
|
5754
|
+
const version = "2.20.2" ;
|
|
5752
5755
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
|
|
5753
5756
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: cardClass, children: [
|
|
5754
5757
|
/* @__PURE__ */ jsxRuntime.jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
|
|
@@ -6008,7 +6011,7 @@ function FileSection(p) {
|
|
|
6008
6011
|
const [page, setPage] = React14.useState("home");
|
|
6009
6012
|
const [query, setQuery] = React14.useState("");
|
|
6010
6013
|
const [recent, setRecent] = React14.useState([]);
|
|
6011
|
-
const { isHidden } =
|
|
6014
|
+
const { isHidden } = chunk463BMH5Q_js.useToolbarVisibility(p.hiddenActions);
|
|
6012
6015
|
const exportHidden = isHidden("export");
|
|
6013
6016
|
React14.useEffect(() => {
|
|
6014
6017
|
void chunk4Z4HEIP5_js.listBackstageRecentFiles(t).then(setRecent);
|
|
@@ -7431,7 +7434,7 @@ function CustomShowsControls({
|
|
|
7431
7434
|
}
|
|
7432
7435
|
function SlideShowSection(p) {
|
|
7433
7436
|
const { t } = reactI18next.useTranslation();
|
|
7434
|
-
const { isHidden } =
|
|
7437
|
+
const { isHidden } = chunk463BMH5Q_js.useToolbarVisibility(p.hiddenActions);
|
|
7435
7438
|
const [showsOpen, setShowsOpen] = React14.useState(false);
|
|
7436
7439
|
const showsRef = React14.useRef(null);
|
|
7437
7440
|
React14.useEffect(() => {
|
|
@@ -8571,7 +8574,7 @@ function MobileSheet({
|
|
|
8571
8574
|
headerRight
|
|
8572
8575
|
}) {
|
|
8573
8576
|
const sheetRef = React14.useRef(null);
|
|
8574
|
-
const { dragY, dragging, handlers } =
|
|
8577
|
+
const { dragY, dragging, handlers } = chunk463BMH5Q_js.useSheetDismissDrag(onClose);
|
|
8575
8578
|
useModalFocus(open, sheetRef, onClose);
|
|
8576
8579
|
if (!open) {
|
|
8577
8580
|
return null;
|
|
@@ -8658,7 +8661,7 @@ function MobileMenuSheet(props) {
|
|
|
8658
8661
|
const { t } = reactI18next.useTranslation();
|
|
8659
8662
|
const { open, onClose } = props;
|
|
8660
8663
|
const [active, setActive] = React14.useState("home");
|
|
8661
|
-
const { isTabVisible } =
|
|
8664
|
+
const { isTabVisible } = chunk463BMH5Q_js.useToolbarVisibility(props.hiddenActions);
|
|
8662
8665
|
return /* @__PURE__ */ jsxRuntime.jsx(MobileSheet, { open, onClose, autoHeight: true, title: t("pptx.mobileToolbar.menu"), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
|
|
8663
8666
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky top-0 z-10 bg-background border-b border-border", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1.5 px-3 py-2", children: MENU_ITEMS.filter(({ key }) => isTabVisible(key)).map(({ key, label, icon: Icon }) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8664
8667
|
"button",
|
|
@@ -8920,7 +8923,7 @@ function MobileToolbar(props) {
|
|
|
8920
8923
|
const { t } = reactI18next.useTranslation();
|
|
8921
8924
|
const { mode, canUndo, canRedo, onUndo, onRedo, onSetMode, onSaveAsPptx } = props;
|
|
8922
8925
|
const [menuOpen, setMenuOpen] = React14.useState(false);
|
|
8923
|
-
const { isHidden } =
|
|
8926
|
+
const { isHidden } = chunk463BMH5Q_js.useToolbarVisibility(props.hiddenActions);
|
|
8924
8927
|
const showEdit = mode === "edit" || mode === "master";
|
|
8925
8928
|
const btn = "inline-flex items-center justify-center min-w-[44px] min-h-[44px] rounded-md text-foreground/80 hover:bg-accent/60 disabled:opacity-40 disabled:cursor-not-allowed active:scale-95 transition-transform";
|
|
8926
8929
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -9384,7 +9387,7 @@ function TabRowActions(p) {
|
|
|
9384
9387
|
const { t } = reactI18next.useTranslation();
|
|
9385
9388
|
const collab = useCollaboration();
|
|
9386
9389
|
const isCollaborating = collab && collab.status === "connected";
|
|
9387
|
-
const { isHidden } =
|
|
9390
|
+
const { isHidden } = chunk463BMH5Q_js.useToolbarVisibility(p.hiddenActions);
|
|
9388
9391
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1 pr-1", children: [
|
|
9389
9392
|
p.onEnterRehearsalMode && !isHidden("record") && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9390
9393
|
"button",
|
|
@@ -9808,7 +9811,7 @@ function ToolbarPrimaryRow(p) {
|
|
|
9808
9811
|
function Toolbar(p) {
|
|
9809
9812
|
const { mode, isNarrowViewport, isCompactToolbarOpen, toolbarSection, onSetToolbarSection } = p;
|
|
9810
9813
|
const { t } = reactI18next.useTranslation();
|
|
9811
|
-
const { isTabVisible } =
|
|
9814
|
+
const { isTabVisible } = chunk463BMH5Q_js.useToolbarVisibility(p.hiddenActions);
|
|
9812
9815
|
if (isNarrowViewport && mode !== "present") {
|
|
9813
9816
|
return /* @__PURE__ */ jsxRuntime.jsx(MobileToolbar, { ...p });
|
|
9814
9817
|
}
|
|
@@ -10323,13 +10326,13 @@ function ConnectorEndpointOverlay({
|
|
|
10323
10326
|
return;
|
|
10324
10327
|
}
|
|
10325
10328
|
const onMove = (event) => {
|
|
10326
|
-
const
|
|
10327
|
-
setDrag((prev) => prev ? { ...prev, ...
|
|
10329
|
+
const point2 = toSlidePoint(event.clientX, event.clientY);
|
|
10330
|
+
setDrag((prev) => prev ? { ...prev, ...point2 } : prev);
|
|
10328
10331
|
};
|
|
10329
10332
|
const onUp = (event) => {
|
|
10330
|
-
const
|
|
10331
|
-
const target = chunk4Z4HEIP5_js.findConnectorSiteNear(candidates,
|
|
10332
|
-
const update = chunk4Z4HEIP5_js.resolveConnectorEndpointUpdate(connector, elements, drag.kind,
|
|
10333
|
+
const point2 = toSlidePoint(event.clientX, event.clientY);
|
|
10334
|
+
const target = chunk4Z4HEIP5_js.findConnectorSiteNear(candidates, point2.x, point2.y, chunk4Z4HEIP5_js.CONNECTOR_SITE_SNAP_PX);
|
|
10335
|
+
const update = chunk4Z4HEIP5_js.resolveConnectorEndpointUpdate(connector, elements, drag.kind, point2, target);
|
|
10333
10336
|
const next = chunk4Z4HEIP5_js.withConnectorEndpointUpdate(connector, update);
|
|
10334
10337
|
onUpdateElement(connector.id, {
|
|
10335
10338
|
x: next.x,
|
|
@@ -10396,8 +10399,8 @@ function ConnectorEndpointOverlay({
|
|
|
10396
10399
|
onPointerDown: (event) => {
|
|
10397
10400
|
event.stopPropagation();
|
|
10398
10401
|
event.preventDefault();
|
|
10399
|
-
const
|
|
10400
|
-
setDrag({ kind: handle.kind, ...
|
|
10402
|
+
const point2 = toSlidePoint(event.clientX, event.clientY);
|
|
10403
|
+
setDrag({ kind: handle.kind, ...point2 });
|
|
10401
10404
|
}
|
|
10402
10405
|
},
|
|
10403
10406
|
handle.kind
|
|
@@ -13409,7 +13412,7 @@ function SlidesPaneSidebar({
|
|
|
13409
13412
|
[sectionGroups, showSectionHeaders, effectiveCollapsed]
|
|
13410
13413
|
);
|
|
13411
13414
|
const shouldVirtualize = slides.length >= VIRTUALIZATION_THRESHOLD;
|
|
13412
|
-
const { startIndex, endIndex, totalHeight, offsetY, scrollContainerRef, scrollToIndex } =
|
|
13415
|
+
const { startIndex, endIndex, totalHeight, offsetY, scrollContainerRef, scrollToIndex } = chunk463BMH5Q_js.useVirtualizedSlides({
|
|
13413
13416
|
totalItems: shouldVirtualize ? flatItems.length : 0,
|
|
13414
13417
|
itemHeight: estimatedItemHeight
|
|
13415
13418
|
});
|
|
@@ -16154,7 +16157,7 @@ function SlideNotesPanel({
|
|
|
16154
16157
|
});
|
|
16155
16158
|
const hasNotes = draft.trim().length > 0;
|
|
16156
16159
|
const slideLabel = activeSlide ? t("pptx.notes.slideN", { n: activeSlide.slideNumber }) : t("pptx.notes.noSlide");
|
|
16157
|
-
const { dragY, handlers: dragHandlers } =
|
|
16160
|
+
const { dragY, handlers: dragHandlers } = chunk463BMH5Q_js.useSheetDismissDrag(onToggle);
|
|
16158
16161
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
16159
16162
|
isExpanded && /* @__PURE__ */ jsxRuntime.jsx(
|
|
16160
16163
|
"button",
|
|
@@ -16384,6 +16387,10 @@ function VersionHistoryPanel({
|
|
|
16384
16387
|
setRestoringKey(null);
|
|
16385
16388
|
}
|
|
16386
16389
|
},
|
|
16390
|
+
// `onRestore`/`onClose` ARE read above (inside the `try`), but the analyzer
|
|
16391
|
+
// doesn't see through a try/finally block and flags them as unused;
|
|
16392
|
+
// verified as a false positive with a minimal repro (see useLayoutSwitching.ts).
|
|
16393
|
+
// oxlint-disable-next-line react/memo-dependencies -- see comment above
|
|
16387
16394
|
[onRestore, onClose]
|
|
16388
16395
|
);
|
|
16389
16396
|
const handleDelete = React14.useCallback(
|
|
@@ -16396,6 +16403,11 @@ function VersionHistoryPanel({
|
|
|
16396
16403
|
setDeletingKey(null);
|
|
16397
16404
|
}
|
|
16398
16405
|
},
|
|
16406
|
+
// `fetchVersions` IS read above (inside the `try`), but the analyzer
|
|
16407
|
+
// doesn't see through an `await` call wrapped in try/finally and flags it
|
|
16408
|
+
// as unused; verified as a false positive with a minimal repro (see
|
|
16409
|
+
// useLayoutSwitching.ts).
|
|
16410
|
+
// oxlint-disable-next-line react/memo-dependencies -- see comment above
|
|
16399
16411
|
[fetchVersions]
|
|
16400
16412
|
);
|
|
16401
16413
|
if (!isOpen) {
|
|
@@ -17283,7 +17295,7 @@ function DocumentPropertiesDialog({
|
|
|
17283
17295
|
const handleClose = React14.useCallback(() => {
|
|
17284
17296
|
onClose();
|
|
17285
17297
|
}, [onClose]);
|
|
17286
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
17298
|
+
const { panelStyle, handlers: dragHandlers } = chunk463BMH5Q_js.useModalDismissDrag(handleClose);
|
|
17287
17299
|
if (!isOpen) {
|
|
17288
17300
|
return null;
|
|
17289
17301
|
}
|
|
@@ -18396,15 +18408,15 @@ function PresenterSlideNavigator(props) {
|
|
|
18396
18408
|
)) })
|
|
18397
18409
|
] });
|
|
18398
18410
|
}
|
|
18411
|
+
function point(event) {
|
|
18412
|
+
const rect = event.currentTarget.getBoundingClientRect();
|
|
18413
|
+
return {
|
|
18414
|
+
x: (event.clientX - rect.left) / rect.width,
|
|
18415
|
+
y: (event.clientY - rect.top) / rect.height
|
|
18416
|
+
};
|
|
18417
|
+
}
|
|
18399
18418
|
function usePresenterInk(snapshot, onUpdate) {
|
|
18400
18419
|
const drawingId = React14.useRef(null);
|
|
18401
|
-
const point = (event) => {
|
|
18402
|
-
const rect = event.currentTarget.getBoundingClientRect();
|
|
18403
|
-
return {
|
|
18404
|
-
x: (event.clientX - rect.left) / rect.width,
|
|
18405
|
-
y: (event.clientY - rect.top) / rect.height
|
|
18406
|
-
};
|
|
18407
|
-
};
|
|
18408
18420
|
const onPointerDown = React14.useCallback(
|
|
18409
18421
|
(event) => {
|
|
18410
18422
|
const pointer = snapshot.pointer;
|
|
@@ -20796,8 +20808,8 @@ function ChartDataPointMarkerOptions({
|
|
|
20796
20808
|
)
|
|
20797
20809
|
] }),
|
|
20798
20810
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: categories.map((cat, idx) => {
|
|
20799
|
-
const
|
|
20800
|
-
const hasOverride =
|
|
20811
|
+
const point2 = pointFor(idx);
|
|
20812
|
+
const hasOverride = point2?.marker !== void 0;
|
|
20801
20813
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
20802
20814
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
20803
20815
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 truncate", title: cat, children: cat }),
|
|
@@ -20820,13 +20832,13 @@ function ChartDataPointMarkerOptions({
|
|
|
20820
20832
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: t("pptx.chart.markerOverride") })
|
|
20821
20833
|
] })
|
|
20822
20834
|
] }),
|
|
20823
|
-
hasOverride &&
|
|
20835
|
+
hasOverride && point2?.marker && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 ml-2 flex-wrap", children: [
|
|
20824
20836
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
20825
20837
|
"select",
|
|
20826
20838
|
{
|
|
20827
20839
|
disabled: !canEdit,
|
|
20828
20840
|
className: "bg-muted border border-border rounded px-1.5 py-0.5 text-[11px]",
|
|
20829
|
-
value:
|
|
20841
|
+
value: point2.marker.symbol,
|
|
20830
20842
|
onChange: (e) => onSetPointMarker(seriesIndex, idx, {
|
|
20831
20843
|
symbol: e.target.value
|
|
20832
20844
|
}),
|
|
@@ -20842,7 +20854,7 @@ function ChartDataPointMarkerOptions({
|
|
|
20842
20854
|
disabled: !canEdit,
|
|
20843
20855
|
title: t("pptx.chart.markerSize"),
|
|
20844
20856
|
className: "w-14 bg-muted border border-border rounded px-1.5 py-0.5 text-[11px]",
|
|
20845
|
-
value:
|
|
20857
|
+
value: point2.marker.size ?? "",
|
|
20846
20858
|
placeholder: t("pptx.chart.auto"),
|
|
20847
20859
|
onChange: (e) => {
|
|
20848
20860
|
const num = Number.parseInt(e.target.value, 10);
|
|
@@ -20859,7 +20871,7 @@ function ChartDataPointMarkerOptions({
|
|
|
20859
20871
|
disabled: !canEdit,
|
|
20860
20872
|
title: t("pptx.chart.markerFill"),
|
|
20861
20873
|
className: "h-6 w-8 cursor-pointer rounded border border-border bg-transparent",
|
|
20862
|
-
value:
|
|
20874
|
+
value: point2.marker.spPr?.fillColor ?? "#4472c4",
|
|
20863
20875
|
onChange: (e) => onSetPointMarker(seriesIndex, idx, { fillColor: e.target.value })
|
|
20864
20876
|
}
|
|
20865
20877
|
)
|
|
@@ -20902,7 +20914,7 @@ function ChartDataPointOptions({
|
|
|
20902
20914
|
)
|
|
20903
20915
|
] }),
|
|
20904
20916
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1.5", children: categories.map((cat, idx) => {
|
|
20905
|
-
const
|
|
20917
|
+
const point2 = pointFor(idx);
|
|
20906
20918
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
20907
20919
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 truncate", title: cat, children: cat }),
|
|
20908
20920
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -20927,11 +20939,11 @@ function ChartDataPointOptions({
|
|
|
20927
20939
|
disabled: !canEdit,
|
|
20928
20940
|
title: t("pptx.chart.pointFill"),
|
|
20929
20941
|
className: "h-6 w-8 cursor-pointer rounded border border-border bg-transparent",
|
|
20930
|
-
value:
|
|
20942
|
+
value: point2?.spPr?.fillColor ?? activeSeries.color ?? "#4472c4",
|
|
20931
20943
|
onChange: (e) => onSetPointFill(seriesIndex, idx, e.target.value)
|
|
20932
20944
|
}
|
|
20933
20945
|
),
|
|
20934
|
-
|
|
20946
|
+
point2?.spPr?.fillColor && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20935
20947
|
"button",
|
|
20936
20948
|
{
|
|
20937
20949
|
type: "button",
|
|
@@ -20951,7 +20963,7 @@ function ChartDataPointOptions({
|
|
|
20951
20963
|
disabled: !canEdit,
|
|
20952
20964
|
title: t("pptx.chart.pointExplosion"),
|
|
20953
20965
|
className: "w-14 bg-muted border border-border rounded px-1.5 py-0.5",
|
|
20954
|
-
value:
|
|
20966
|
+
value: point2?.explosion ?? "",
|
|
20955
20967
|
placeholder: "0",
|
|
20956
20968
|
onChange: (e) => {
|
|
20957
20969
|
const raw = e.target.value;
|
|
@@ -29001,7 +29013,7 @@ function InspectorPane(props) {
|
|
|
29001
29013
|
} = props;
|
|
29002
29014
|
const hasSelection = selectedElement !== null;
|
|
29003
29015
|
const { t } = reactI18next.useTranslation();
|
|
29004
|
-
const { dragY, handlers: dragHandlers } =
|
|
29016
|
+
const { dragY, handlers: dragHandlers } = chunk463BMH5Q_js.useSheetDismissDrag(onClose);
|
|
29005
29017
|
const {
|
|
29006
29018
|
animationPanelHeight,
|
|
29007
29019
|
effectiveThemeOptions,
|
|
@@ -29689,7 +29701,7 @@ function PresentationTouchControls({
|
|
|
29689
29701
|
hideNavigation = false
|
|
29690
29702
|
}) {
|
|
29691
29703
|
const { t } = reactI18next.useTranslation();
|
|
29692
|
-
const { isTouchDevice } =
|
|
29704
|
+
const { isTouchDevice } = chunk463BMH5Q_js.useIsMobile();
|
|
29693
29705
|
if (!isTouchDevice) {
|
|
29694
29706
|
return null;
|
|
29695
29707
|
}
|
|
@@ -30527,7 +30539,7 @@ function PrintDialog({
|
|
|
30527
30539
|
defaultFrameSlides
|
|
30528
30540
|
}) {
|
|
30529
30541
|
const { t } = reactI18next.useTranslation();
|
|
30530
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
30542
|
+
const { panelStyle, handlers: dragHandlers } = chunk463BMH5Q_js.useModalDismissDrag(onClose);
|
|
30531
30543
|
const [printWhat, setPrintWhat] = React14.useState("slides");
|
|
30532
30544
|
const [orientation, setOrientation] = React14.useState("landscape");
|
|
30533
30545
|
const [colorMode, setColorMode] = React14.useState("color");
|
|
@@ -31056,7 +31068,7 @@ function BroadcastDialog({
|
|
|
31056
31068
|
const [serverUrl, setServerUrl] = React14.useState("");
|
|
31057
31069
|
const [copied, setCopied] = React14.useState(false);
|
|
31058
31070
|
const dialogRef = React14.useRef(null);
|
|
31059
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
31071
|
+
const { panelStyle, handlers: dragHandlers } = chunk463BMH5Q_js.useModalDismissDrag(onClose);
|
|
31060
31072
|
useModalFocus(open, dialogRef, onClose);
|
|
31061
31073
|
React14.useEffect(() => {
|
|
31062
31074
|
if (open && !isBroadcasting) {
|
|
@@ -31600,7 +31612,7 @@ function ShareDialog({
|
|
|
31600
31612
|
const [invitation, setInvitation] = React14.useState("");
|
|
31601
31613
|
const [copied, setCopied] = React14.useState(false);
|
|
31602
31614
|
const dialogRef = React14.useRef(null);
|
|
31603
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
31615
|
+
const { panelStyle, handlers: dragHandlers } = chunk463BMH5Q_js.useModalDismissDrag(onClose);
|
|
31604
31616
|
useModalFocus(open, dialogRef, onClose);
|
|
31605
31617
|
React14.useEffect(() => {
|
|
31606
31618
|
if (activeCollaboration) {
|
|
@@ -31875,12 +31887,12 @@ function HyperlinkEditDialog({
|
|
|
31875
31887
|
onCancel
|
|
31876
31888
|
}) {
|
|
31877
31889
|
const { t } = reactI18next.useTranslation();
|
|
31878
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
31890
|
+
const { panelStyle, handlers: dragHandlers } = chunk463BMH5Q_js.useModalDismissDrag(onCancel);
|
|
31879
31891
|
const inputRef = React14.useRef(null);
|
|
31880
|
-
const detectedType =
|
|
31881
|
-
const emailParts =
|
|
31882
|
-
const detectedSlide =
|
|
31883
|
-
const detectedVerb = initialAction ?
|
|
31892
|
+
const detectedType = chunk463BMH5Q_js.detectTargetType(initialUrl, initialAction);
|
|
31893
|
+
const emailParts = chunk463BMH5Q_js.parseEmailUrl(initialUrl || "");
|
|
31894
|
+
const detectedSlide = chunk463BMH5Q_js.parseSlideFromUrl(initialUrl, initialAction);
|
|
31895
|
+
const detectedVerb = initialAction ? chunk463BMH5Q_js.ACTION_VERB_MAP[initialAction.toLowerCase()] || "nextSlide" : "nextSlide";
|
|
31884
31896
|
const [targetType, setTargetType] = React14.useState(detectedType);
|
|
31885
31897
|
const [url, setUrl] = React14.useState(
|
|
31886
31898
|
detectedType === "email" || detectedType === "slide" || detectedType === "action" ? "" : initialUrl || ""
|
|
@@ -32156,7 +32168,7 @@ function ViewerBottomPanels({
|
|
|
32156
32168
|
hideStatusBar = false,
|
|
32157
32169
|
hiddenActions
|
|
32158
32170
|
}) {
|
|
32159
|
-
const { isHidden } =
|
|
32171
|
+
const { isHidden } = chunk463BMH5Q_js.useToolbarVisibility(hiddenActions);
|
|
32160
32172
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
32161
32173
|
onResizeBottom && !isSlideNotesCollapsed && /* @__PURE__ */ jsxRuntime.jsx(ResizeHandle, { direction: "vertical", onResize: onResizeBottom }),
|
|
32162
32174
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -32378,7 +32390,7 @@ function TitleBarQuickExtras(p) {
|
|
|
32378
32390
|
function TitleBar(p) {
|
|
32379
32391
|
const { t } = reactI18next.useTranslation();
|
|
32380
32392
|
const editing = (p.mode === "edit" || p.mode === "master") && p.canEdit;
|
|
32381
|
-
const { isHidden } =
|
|
32393
|
+
const { isHidden } = chunk463BMH5Q_js.useToolbarVisibility(p.hiddenActions);
|
|
32382
32394
|
const quickAccess = useViewerOptionsContext().quickAccess;
|
|
32383
32395
|
const [searchQuery, setSearchQuery] = React14.useState("");
|
|
32384
32396
|
const [searchFocused, setSearchFocused] = React14.useState(false);
|
|
@@ -32672,7 +32684,7 @@ function ViewerToolbarSection(props) {
|
|
|
32672
32684
|
[activeSlide, propertyHandlers]
|
|
32673
32685
|
);
|
|
32674
32686
|
const scopedLayoutOptions = React14__default.default.useMemo(
|
|
32675
|
-
() =>
|
|
32687
|
+
() => chunk463BMH5Q_js.scopeLayoutOptionsToActiveSlide(s.layoutOptions, activeSlide),
|
|
32676
32688
|
[s.layoutOptions, activeSlide]
|
|
32677
32689
|
);
|
|
32678
32690
|
const handleResetSlide = React14.useCallback(() => {
|
|
@@ -33146,7 +33158,7 @@ function EquationEditorDialog({
|
|
|
33146
33158
|
existingOmml
|
|
33147
33159
|
}) {
|
|
33148
33160
|
const { t } = reactI18next.useTranslation();
|
|
33149
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
33161
|
+
const { panelStyle, handlers: dragHandlers } = chunk463BMH5Q_js.useModalDismissDrag(onClose);
|
|
33150
33162
|
const initialLatex = React14.useMemo(() => {
|
|
33151
33163
|
if (!existingOmml) {
|
|
33152
33164
|
return "";
|
|
@@ -33367,7 +33379,7 @@ function InsertSmartArtDialog({
|
|
|
33367
33379
|
onInsert
|
|
33368
33380
|
}) {
|
|
33369
33381
|
const { t } = reactI18next.useTranslation();
|
|
33370
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
33382
|
+
const { panelStyle, handlers: dragHandlers } = chunk463BMH5Q_js.useModalDismissDrag(onClose);
|
|
33371
33383
|
const [activeCategory, setActiveCategory] = React14.useState("list");
|
|
33372
33384
|
const [selectedLayout, setSelectedLayout] = React14.useState(null);
|
|
33373
33385
|
const dialogRef = React14.useRef(null);
|
|
@@ -34070,7 +34082,7 @@ function ViewerCanvasArea(props) {
|
|
|
34070
34082
|
aiCanvasActive = false
|
|
34071
34083
|
} = props;
|
|
34072
34084
|
const { t } = reactI18next.useTranslation();
|
|
34073
|
-
const { isHidden } =
|
|
34085
|
+
const { isHidden } = chunk463BMH5Q_js.useToolbarVisibility(hiddenActions);
|
|
34074
34086
|
const viewerOptions = useViewerOptionsContext();
|
|
34075
34087
|
const effectiveSlide = mode === "master" ? masterPseudoSlide : activeSlide;
|
|
34076
34088
|
const effectiveTemplateElements = mode === "master" ? [] : templateElements;
|
|
@@ -34198,7 +34210,7 @@ ${url}`)) {
|
|
|
34198
34210
|
s.setActiveSlideIndex((i) => Math.max(0, i - 1));
|
|
34199
34211
|
}
|
|
34200
34212
|
}, [mode, presentation, s]);
|
|
34201
|
-
const swipe =
|
|
34213
|
+
const swipe = chunk463BMH5Q_js.useSwipeNavigation({
|
|
34202
34214
|
enabled: swipeEnabled,
|
|
34203
34215
|
onNext: handleSwipeNext,
|
|
34204
34216
|
onPrev: handleSwipePrev
|
|
@@ -34976,7 +34988,7 @@ function MobileDismissSheet({
|
|
|
34976
34988
|
className,
|
|
34977
34989
|
children
|
|
34978
34990
|
}) {
|
|
34979
|
-
const { dragY, handlers } =
|
|
34991
|
+
const { dragY, handlers } = chunk463BMH5Q_js.useSheetDismissDrag(onClose);
|
|
34980
34992
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34981
34993
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34982
34994
|
"button",
|
|
@@ -35856,26 +35868,28 @@ function AutosaveRecoveryDialog({
|
|
|
35856
35868
|
}
|
|
35857
35869
|
);
|
|
35858
35870
|
}
|
|
35859
|
-
|
|
35860
|
-
/* @__PURE__ */ jsxRuntime.jsxs("
|
|
35861
|
-
/* @__PURE__ */ jsxRuntime.
|
|
35862
|
-
|
|
35863
|
-
|
|
35864
|
-
|
|
35865
|
-
|
|
35866
|
-
|
|
35867
|
-
|
|
35868
|
-
|
|
35869
|
-
|
|
35870
|
-
|
|
35871
|
-
|
|
35872
|
-
|
|
35873
|
-
|
|
35874
|
-
|
|
35875
|
-
|
|
35876
|
-
|
|
35877
|
-
] })
|
|
35878
|
-
|
|
35871
|
+
function ToggleRow({ checked, onChange, icon, label }) {
|
|
35872
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-2.5 cursor-pointer group select-none", children: [
|
|
35873
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "relative flex items-center justify-center w-4 h-4", children: [
|
|
35874
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
35875
|
+
"input",
|
|
35876
|
+
{
|
|
35877
|
+
type: "checkbox",
|
|
35878
|
+
checked,
|
|
35879
|
+
onChange: (e) => onChange(e.target.checked),
|
|
35880
|
+
className: "peer sr-only"
|
|
35881
|
+
}
|
|
35882
|
+
),
|
|
35883
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute inset-0 rounded border border-border bg-muted transition-colors peer-checked:border-primary peer-checked:bg-primary peer-focus-visible:ring-2 peer-focus-visible:ring-primary/50" }),
|
|
35884
|
+
checked && /* @__PURE__ */ jsxRuntime.jsx(lu.LuCheck, { className: "relative z-10 w-3 h-3 text-white" })
|
|
35885
|
+
] }),
|
|
35886
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1.5 text-xs text-foreground group-hover:text-foreground transition-colors", children: [
|
|
35887
|
+
icon,
|
|
35888
|
+
label
|
|
35889
|
+
] })
|
|
35890
|
+
] });
|
|
35891
|
+
}
|
|
35892
|
+
function HeaderFooterPanel({
|
|
35879
35893
|
showDateTime,
|
|
35880
35894
|
showSlideNumber,
|
|
35881
35895
|
showFooter,
|
|
@@ -35887,7 +35901,7 @@ var HeaderFooterPanel = ({
|
|
|
35887
35901
|
onApplyToAll,
|
|
35888
35902
|
onApplyToCurrent,
|
|
35889
35903
|
onClose
|
|
35890
|
-
})
|
|
35904
|
+
}) {
|
|
35891
35905
|
const handleFooterTextChange = React14.useCallback(
|
|
35892
35906
|
(e) => {
|
|
35893
35907
|
onSetFooterText(e.target.value);
|
|
@@ -35969,7 +35983,7 @@ var HeaderFooterPanel = ({
|
|
|
35969
35983
|
)
|
|
35970
35984
|
] })
|
|
35971
35985
|
] }) });
|
|
35972
|
-
}
|
|
35986
|
+
}
|
|
35973
35987
|
function isActionKey(key) {
|
|
35974
35988
|
return key === "slides" || key === "insert" || key === "inspector" || key === "comments" || key === "notes";
|
|
35975
35989
|
}
|
|
@@ -36078,7 +36092,7 @@ function MobileChromeOverlay(props) {
|
|
|
36078
36092
|
slideSectionGroups,
|
|
36079
36093
|
canEdit,
|
|
36080
36094
|
commentCount
|
|
36081
|
-
} = props, { keyboardInset, isKeyboardOpen } =
|
|
36095
|
+
} = props, { keyboardInset, isKeyboardOpen } = chunk463BMH5Q_js.useKeyboardInsets(), activeSheet = s.isSlidesPaneOpen ? "slides" : s.isInspectorPaneOpen ? s.sidebarPanelMode === "comments" ? "comments" : "inspector" : !s.isSlideNotesCollapsed ? "notes" : null, closeAllSheets = () => {
|
|
36082
36096
|
s.setIsSlidesPaneOpen(false);
|
|
36083
36097
|
s.setIsInspectorPaneOpen(false);
|
|
36084
36098
|
s.setIsSlideNotesCollapsed(true);
|
|
@@ -36714,10 +36728,10 @@ async function exportAiChatLogs(options) {
|
|
|
36714
36728
|
const slug = timestampSlug(now);
|
|
36715
36729
|
if (format === "markdown") {
|
|
36716
36730
|
const blob = new Blob([buildChatLogMarkdown(doc)], { type: "text/markdown" });
|
|
36717
|
-
|
|
36731
|
+
chunk463BMH5Q_js.downloadBlob(blob, `pptx-ai-chats-${slug}.md`);
|
|
36718
36732
|
} else {
|
|
36719
36733
|
const blob = new Blob([JSON.stringify(doc, null, 2)], { type: "application/json" });
|
|
36720
|
-
|
|
36734
|
+
chunk463BMH5Q_js.downloadBlob(blob, `pptx-ai-chats-${slug}.json`);
|
|
36721
36735
|
}
|
|
36722
36736
|
return chats.length;
|
|
36723
36737
|
}
|
|
@@ -36962,7 +36976,7 @@ function SettingsDialog({
|
|
|
36962
36976
|
}) {
|
|
36963
36977
|
const [activeTabId, setActiveTabId] = React14.useState("general");
|
|
36964
36978
|
const { t } = reactI18next.useTranslation();
|
|
36965
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
36979
|
+
const { panelStyle, handlers: dragHandlers } = chunk463BMH5Q_js.useModalDismissDrag(onClose);
|
|
36966
36980
|
const snapshotRef = React14.useRef(null);
|
|
36967
36981
|
const wasOpenRef = React14.useRef(false);
|
|
36968
36982
|
React14.useEffect(() => {
|
|
@@ -37682,8 +37696,8 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
37682
37696
|
filePath
|
|
37683
37697
|
});
|
|
37684
37698
|
const [isShareDialogOpen, setIsShareDialogOpen] = React14.useState(false);
|
|
37685
|
-
const { reducedMotion, toggleReducedMotion } =
|
|
37686
|
-
const state =
|
|
37699
|
+
const { reducedMotion, toggleReducedMotion } = chunk463BMH5Q_js.useReducedMotion();
|
|
37700
|
+
const state = chunk463BMH5Q_js.useViewerState({ content, canEdit });
|
|
37687
37701
|
const {
|
|
37688
37702
|
containerRef,
|
|
37689
37703
|
mode,
|
|
@@ -37743,7 +37757,7 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
37743
37757
|
},
|
|
37744
37758
|
[state, reducedMotion, toggleReducedMotion]
|
|
37745
37759
|
);
|
|
37746
|
-
const { optionsStore, options: viewerOptions } =
|
|
37760
|
+
const { optionsStore, options: viewerOptions } = chunk463BMH5Q_js.useViewerOptions();
|
|
37747
37761
|
const settingsRef = React14.useRef(settings);
|
|
37748
37762
|
settingsRef.current = settings;
|
|
37749
37763
|
const handleSettingsChangeRef = React14.useRef(handleSettingsChange);
|
|
@@ -37788,10 +37802,10 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
37788
37802
|
await Promise.all(snapshots.map((entry) => chunk4Z4HEIP5_js.deleteAutosaveSnapshot(entry.key)));
|
|
37789
37803
|
})();
|
|
37790
37804
|
}, []);
|
|
37791
|
-
const mobile =
|
|
37805
|
+
const mobile = chunk463BMH5Q_js.useIsMobile({ containerRef });
|
|
37792
37806
|
const { isMobile, isTouchDevice, isVirtualKeyboardOpen } = mobile;
|
|
37793
|
-
const resizablePanels =
|
|
37794
|
-
const { gridSpacingPx, visibleSlideIndexes, slideSectionGroups, masterPseudoSlide } =
|
|
37807
|
+
const resizablePanels = chunk463BMH5Q_js.useResizablePanels();
|
|
37808
|
+
const { gridSpacingPx, visibleSlideIndexes, slideSectionGroups, masterPseudoSlide } = chunk463BMH5Q_js.useDerivedSlideState({
|
|
37795
37809
|
slides,
|
|
37796
37810
|
sections: state.sections,
|
|
37797
37811
|
customShows: state.customShows,
|
|
@@ -37814,7 +37828,7 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
37814
37828
|
state.isDrawingRef
|
|
37815
37829
|
]
|
|
37816
37830
|
);
|
|
37817
|
-
const zoom =
|
|
37831
|
+
const zoom = chunk463BMH5Q_js.useZoomViewport({
|
|
37818
37832
|
canvasSize,
|
|
37819
37833
|
selectedElements: state.selectedElements
|
|
37820
37834
|
});
|
|
@@ -37822,7 +37836,7 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
37822
37836
|
const markDocumentDirty = React14.useCallback(() => {
|
|
37823
37837
|
setIsDirty(true);
|
|
37824
37838
|
}, [setIsDirty]);
|
|
37825
|
-
const history =
|
|
37839
|
+
const history = chunk463BMH5Q_js.useEditorHistory({
|
|
37826
37840
|
slides,
|
|
37827
37841
|
canvasSize,
|
|
37828
37842
|
activeSlideIndex,
|
|
@@ -37845,7 +37859,7 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
37845
37859
|
setEditTemplateMode: state.setEditTemplateMode,
|
|
37846
37860
|
setHeaderFooter: state.setHeaderFooter
|
|
37847
37861
|
});
|
|
37848
|
-
const { presentation, annotations, actionSoundHandlerRef } =
|
|
37862
|
+
const { presentation, annotations, actionSoundHandlerRef } = chunk463BMH5Q_js.usePresentationSetup({
|
|
37849
37863
|
mode,
|
|
37850
37864
|
slides,
|
|
37851
37865
|
visibleSlideIndexes,
|
|
@@ -37868,7 +37882,7 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
37868
37882
|
showSubtitles: !prev.showSubtitles
|
|
37869
37883
|
}))
|
|
37870
37884
|
});
|
|
37871
|
-
|
|
37885
|
+
chunk463BMH5Q_js.useTouchGestures({
|
|
37872
37886
|
targetRef: zoom.canvasViewportRef,
|
|
37873
37887
|
currentScale: zoom.scale,
|
|
37874
37888
|
callbacks: {
|
|
@@ -37890,7 +37904,7 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
37890
37904
|
},
|
|
37891
37905
|
enabled: isTouchDevice
|
|
37892
37906
|
});
|
|
37893
|
-
const dialogs =
|
|
37907
|
+
const dialogs = chunk463BMH5Q_js.useViewerDialogs({
|
|
37894
37908
|
mode,
|
|
37895
37909
|
slides,
|
|
37896
37910
|
activeSlide,
|
|
@@ -37932,7 +37946,7 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
37932
37946
|
zoom.handleZoomToFit();
|
|
37933
37947
|
zoom.canvasViewportRef.current?.scrollTo({ left: 0, top: 0 });
|
|
37934
37948
|
}, [mode]);
|
|
37935
|
-
const editorOps =
|
|
37949
|
+
const editorOps = chunk463BMH5Q_js.useEditorOperations({
|
|
37936
37950
|
state,
|
|
37937
37951
|
history,
|
|
37938
37952
|
zoom,
|
|
@@ -37967,7 +37981,7 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
37967
37981
|
setIsEncryptedDialogOpen,
|
|
37968
37982
|
handlerRef,
|
|
37969
37983
|
loadVersion
|
|
37970
|
-
} =
|
|
37984
|
+
} = chunk463BMH5Q_js.useViewerIntegration({
|
|
37971
37985
|
state,
|
|
37972
37986
|
zoom,
|
|
37973
37987
|
history,
|
|
@@ -38011,7 +38025,7 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
38011
38025
|
},
|
|
38012
38026
|
[state]
|
|
38013
38027
|
);
|
|
38014
|
-
const layoutSwitching =
|
|
38028
|
+
const layoutSwitching = chunk463BMH5Q_js.useLayoutSwitching({
|
|
38015
38029
|
handler: handlerRef.current,
|
|
38016
38030
|
slides,
|
|
38017
38031
|
activeSlideIndex,
|
|
@@ -38449,7 +38463,7 @@ function CollaborationDocumentSync({
|
|
|
38449
38463
|
}
|
|
38450
38464
|
return bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes);
|
|
38451
38465
|
}, []);
|
|
38452
|
-
|
|
38466
|
+
chunk463BMH5Q_js.useYjsDocumentSync({
|
|
38453
38467
|
doc: collab?.doc ?? null,
|
|
38454
38468
|
slides,
|
|
38455
38469
|
templateElementsBySlideId,
|
|
@@ -38461,7 +38475,7 @@ function CollaborationDocumentSync({
|
|
|
38461
38475
|
loadVersion,
|
|
38462
38476
|
loadOrigin
|
|
38463
38477
|
});
|
|
38464
|
-
|
|
38478
|
+
chunk463BMH5Q_js.useCollaborationLivePatch({
|
|
38465
38479
|
patcher: livePatcher,
|
|
38466
38480
|
doc: collab?.doc ?? null,
|
|
38467
38481
|
isConnected: collab?.status === "connected",
|
|
@@ -38475,13 +38489,13 @@ function CollaborationFollowLayer({
|
|
|
38475
38489
|
slideCount
|
|
38476
38490
|
}) {
|
|
38477
38491
|
const collab = useCollaboration();
|
|
38478
|
-
const { followedClientId, followUser } =
|
|
38492
|
+
const { followedClientId, followUser } = chunk463BMH5Q_js.useFollowMode({
|
|
38479
38493
|
collab,
|
|
38480
38494
|
activeSlideIndex,
|
|
38481
38495
|
setActiveSlideIndex,
|
|
38482
38496
|
slideCount
|
|
38483
38497
|
});
|
|
38484
|
-
|
|
38498
|
+
chunk463BMH5Q_js.useBroadcastFollower({
|
|
38485
38499
|
collab,
|
|
38486
38500
|
activeSlideIndex,
|
|
38487
38501
|
setActiveSlideIndex,
|