pptx-react-viewer 1.22.0 → 1.22.2
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 +12 -0
- package/dist/{chunk-DZUI64SO.mjs → chunk-3MZ7IARF.mjs} +9 -0
- package/dist/chunk-3MZ7IARF.mjs.br +0 -0
- package/dist/{chunk-DZUI64SO.mjs.gz → chunk-3MZ7IARF.mjs.gz} +0 -0
- package/dist/{chunk-A6IFTYB5.js → chunk-JUFGTL2A.js} +405 -395
- package/dist/chunk-JUFGTL2A.js.br +0 -0
- package/dist/chunk-JUFGTL2A.js.gz +0 -0
- package/dist/{chunk-QVQTDWB7.js → chunk-KA7ST7IH.js} +9 -0
- package/dist/chunk-KA7ST7IH.js.br +0 -0
- package/dist/{chunk-QVQTDWB7.js.gz → chunk-KA7ST7IH.js.gz} +0 -0
- package/dist/{chunk-7P7QQGTI.mjs → chunk-OIAKQGMC.mjs} +14 -4
- package/dist/chunk-OIAKQGMC.mjs.br +0 -0
- package/dist/chunk-OIAKQGMC.mjs.gz +0 -0
- package/dist/hooks-unstable.d.ts +3 -0
- package/dist/hooks-unstable.d.ts.map +1 -1
- package/dist/hooks-unstable.js +71 -71
- package/dist/hooks-unstable.js.br +0 -0
- package/dist/hooks-unstable.js.gz +0 -0
- package/dist/hooks-unstable.mjs +1 -1
- package/dist/hooks-unstable.mjs.br +0 -0
- package/dist/hooks-unstable.mjs.gz +0 -0
- package/dist/index.js +7 -7
- 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/pptx-viewer.css +1 -1
- package/dist/pptx-viewer.css.br +0 -0
- package/dist/pptx-viewer.css.gz +0 -0
- package/dist/viewer/index.js +18 -18
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +2 -2
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/chunk-7P7QQGTI.mjs.br +0 -0
- package/dist/chunk-7P7QQGTI.mjs.gz +0 -0
- package/dist/chunk-A6IFTYB5.js.br +0 -0
- package/dist/chunk-A6IFTYB5.js.gz +0 -0
- package/dist/chunk-DZUI64SO.mjs.br +0 -0
- package/dist/chunk-QVQTDWB7.js.br +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkKA7ST7IH_js = require('./chunk-KA7ST7IH.js');
|
|
4
4
|
var chunkVSNXVKJI_js = require('./chunk-VSNXVKJI.js');
|
|
5
5
|
var chunkZISXRMDJ_js = require('./chunk-ZISXRMDJ.js');
|
|
6
6
|
var chunkAD3EAEY6_js = require('./chunk-AD3EAEY6.js');
|
|
@@ -42,7 +42,7 @@ function CollaborationProvider({
|
|
|
42
42
|
canvasHeight,
|
|
43
43
|
children
|
|
44
44
|
}) {
|
|
45
|
-
const value =
|
|
45
|
+
const value = chunkKA7ST7IH_js.useCollaborativeState({
|
|
46
46
|
config,
|
|
47
47
|
canvasWidth,
|
|
48
48
|
canvasHeight
|
|
@@ -474,7 +474,7 @@ function LoadingState({ className }) {
|
|
|
474
474
|
role: "status",
|
|
475
475
|
"aria-live": "polite",
|
|
476
476
|
"aria-atomic": "true",
|
|
477
|
-
className:
|
|
477
|
+
className: chunkKA7ST7IH_js.cn(
|
|
478
478
|
"h-full w-full flex items-center justify-center text-muted-foreground",
|
|
479
479
|
className
|
|
480
480
|
),
|
|
@@ -497,7 +497,7 @@ function ErrorState({ className, error }) {
|
|
|
497
497
|
{
|
|
498
498
|
role: "alert",
|
|
499
499
|
"aria-live": "assertive",
|
|
500
|
-
className:
|
|
500
|
+
className: chunkKA7ST7IH_js.cn(
|
|
501
501
|
"h-full w-full flex items-center justify-center p-6 text-center text-red-400",
|
|
502
502
|
className
|
|
503
503
|
),
|
|
@@ -528,7 +528,7 @@ function ShortcutPanel({ isOpen, onClose }) {
|
|
|
528
528
|
}
|
|
529
529
|
)
|
|
530
530
|
] }),
|
|
531
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-64 overflow-y-auto p-2 space-y-1", children:
|
|
531
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-64 overflow-y-auto p-2 space-y-1", children: chunkKA7ST7IH_js.SHORTCUT_REFERENCE_ITEMS.map((shortcut) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
532
532
|
"div",
|
|
533
533
|
{
|
|
534
534
|
className: "flex items-center justify-between gap-3 rounded bg-muted/80 px-2 py-1.5",
|
|
@@ -588,14 +588,14 @@ function AccessibilityPanel({
|
|
|
588
588
|
"aria-label": t("pptx.accessibility.reduceMotion"),
|
|
589
589
|
"aria-checked": reducedMotion ?? false,
|
|
590
590
|
onClick: onToggleReducedMotion,
|
|
591
|
-
className:
|
|
591
|
+
className: chunkKA7ST7IH_js.cn(
|
|
592
592
|
"relative inline-flex h-5 w-9 items-center rounded-full transition-colors",
|
|
593
593
|
reducedMotion ? "bg-primary" : "bg-muted-foreground/30"
|
|
594
594
|
),
|
|
595
595
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
596
596
|
"span",
|
|
597
597
|
{
|
|
598
|
-
className:
|
|
598
|
+
className: chunkKA7ST7IH_js.cn(
|
|
599
599
|
"inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform",
|
|
600
600
|
reducedMotion ? "translate-x-4" : "translate-x-0.5"
|
|
601
601
|
)
|
|
@@ -614,7 +614,7 @@ function AccessibilityPanel({
|
|
|
614
614
|
"div",
|
|
615
615
|
{
|
|
616
616
|
role: "listitem",
|
|
617
|
-
className:
|
|
617
|
+
className: chunkKA7ST7IH_js.cn(
|
|
618
618
|
"flex items-start gap-2 rounded px-2 py-1.5 text-xs",
|
|
619
619
|
/* Severity-based background and text colouring */
|
|
620
620
|
issue.severity === "error" ? "bg-red-900/30 text-red-300" : issue.severity === "warning" ? "bg-amber-900/30 text-amber-300" : "bg-muted/50 text-muted-foreground"
|
|
@@ -738,7 +738,7 @@ function StatusBar({
|
|
|
738
738
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
739
739
|
"span",
|
|
740
740
|
{
|
|
741
|
-
className:
|
|
741
|
+
className: chunkKA7ST7IH_js.cn(
|
|
742
742
|
"shrink-0 max-md:hidden",
|
|
743
743
|
autosaveStatus?.state === "error" ? "text-red-400" : autosaveStatus?.state === "saving" ? "text-yellow-400" : ""
|
|
744
744
|
),
|
|
@@ -751,7 +751,7 @@ function StatusBar({
|
|
|
751
751
|
{
|
|
752
752
|
type: "button",
|
|
753
753
|
onClick: onToggleNotes,
|
|
754
|
-
className:
|
|
754
|
+
className: chunkKA7ST7IH_js.cn(
|
|
755
755
|
vb,
|
|
756
756
|
"flex items-center gap-1 text-[10px]",
|
|
757
757
|
isNotesExpanded && "text-primary"
|
|
@@ -771,7 +771,7 @@ function StatusBar({
|
|
|
771
771
|
{
|
|
772
772
|
type: "button",
|
|
773
773
|
onClick: () => onSetMode("edit"),
|
|
774
|
-
className:
|
|
774
|
+
className: chunkKA7ST7IH_js.cn(vb, mode === "edit" && "text-primary"),
|
|
775
775
|
title: t("pptx.statusBar.normalView"),
|
|
776
776
|
"aria-label": t("pptx.statusBar.normalView"),
|
|
777
777
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuMonitor, { className: "w-3.5 h-3.5" })
|
|
@@ -793,7 +793,7 @@ function StatusBar({
|
|
|
793
793
|
{
|
|
794
794
|
type: "button",
|
|
795
795
|
onClick: () => onSetMode("present"),
|
|
796
|
-
className:
|
|
796
|
+
className: chunkKA7ST7IH_js.cn(vb, mode === "present" && "text-primary"),
|
|
797
797
|
title: t("pptx.statusBar.slideShow"),
|
|
798
798
|
"aria-label": t("pptx.statusBar.slideShow"),
|
|
799
799
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuPresentation, { className: "w-3.5 h-3.5" })
|
|
@@ -883,7 +883,7 @@ function ResizeHandle({
|
|
|
883
883
|
{
|
|
884
884
|
role: "separator",
|
|
885
885
|
"aria-orientation": direction,
|
|
886
|
-
className:
|
|
886
|
+
className: chunkKA7ST7IH_js.cn(
|
|
887
887
|
// Outer container: generous hit area for easy clicking.
|
|
888
888
|
// The visible indicator is rendered via the inner pseudo-element (::after).
|
|
889
889
|
"relative flex-shrink-0 z-20 group",
|
|
@@ -894,7 +894,7 @@ function ResizeHandle({
|
|
|
894
894
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
895
895
|
"div",
|
|
896
896
|
{
|
|
897
|
-
className:
|
|
897
|
+
className: chunkKA7ST7IH_js.cn(
|
|
898
898
|
"absolute transition-colors",
|
|
899
899
|
direction === "horizontal" ? "top-0 bottom-0 left-1/2 -translate-x-1/2 w-0.5 group-hover:w-1 group-hover:bg-primary/40 group-active:w-1 group-active:bg-primary/60" : "left-0 right-0 top-1/2 -translate-y-1/2 h-0.5 group-hover:h-1 group-hover:bg-primary/40 group-active:h-1 group-active:bg-primary/60"
|
|
900
900
|
)
|
|
@@ -961,7 +961,7 @@ function ChartElementView({
|
|
|
961
961
|
const selectedPart = selection?.elementId === element.id ? selection.part : null;
|
|
962
962
|
const canEdit = editable && Boolean(onUpdateElement);
|
|
963
963
|
const viewModel = React14.useMemo(
|
|
964
|
-
() => canEdit ?
|
|
964
|
+
() => canEdit ? chunkKA7ST7IH_js.buildReactChartViewModel(element) : null,
|
|
965
965
|
[canEdit, element]
|
|
966
966
|
);
|
|
967
967
|
React14.useEffect(ensureInteractionStyles, []);
|
|
@@ -1107,7 +1107,7 @@ function ChartElementView({
|
|
|
1107
1107
|
onPointerUp: handlePointerUp,
|
|
1108
1108
|
onDoubleClick: handleDoubleClick,
|
|
1109
1109
|
children: [
|
|
1110
|
-
|
|
1110
|
+
chunkKA7ST7IH_js.renderChartElement(renderedElement),
|
|
1111
1111
|
dragValue !== null && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-1 right-1 z-10 rounded bg-primary/90 px-1.5 py-0.5 text-[10px] font-medium text-white pointer-events-none", children: chunkVSNXVKJI_js.formatAxisValue(dragValue) }),
|
|
1112
1112
|
titleDraft !== null && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1113
1113
|
"input",
|
|
@@ -1300,7 +1300,7 @@ function renderImg(el, style, filter, alt, opacity) {
|
|
|
1300
1300
|
...filter ? { filter } : {},
|
|
1301
1301
|
...opacity !== void 0 ? { opacity } : {}
|
|
1302
1302
|
};
|
|
1303
|
-
if (
|
|
1303
|
+
if (chunkKA7ST7IH_js.isImageTiled(el)) {
|
|
1304
1304
|
const tileSrc = imgSrc(el);
|
|
1305
1305
|
if (!tileSrc) {
|
|
1306
1306
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-gray-500 bg-gray-100", children: "Image" });
|
|
@@ -1311,7 +1311,7 @@ function renderImg(el, style, filter, alt, opacity) {
|
|
|
1311
1311
|
"div",
|
|
1312
1312
|
{
|
|
1313
1313
|
className: "pointer-events-none select-none w-full h-full",
|
|
1314
|
-
style: { ...
|
|
1314
|
+
style: { ...chunkKA7ST7IH_js.getImageTilingStyle(el), ...effectStyles }
|
|
1315
1315
|
}
|
|
1316
1316
|
)
|
|
1317
1317
|
] });
|
|
@@ -1320,7 +1320,7 @@ function renderImg(el, style, filter, alt, opacity) {
|
|
|
1320
1320
|
chunkAD3EAEY6_js.isImageLikeElement(el) ? el.imageEffects?.colorWash : void 0
|
|
1321
1321
|
);
|
|
1322
1322
|
const clrChange = "imageEffects" in el ? el.imageEffects?.clrChange : void 0;
|
|
1323
|
-
const duotoneColors =
|
|
1323
|
+
const duotoneColors = chunkKA7ST7IH_js.getDuotoneColors(el);
|
|
1324
1324
|
const useDuotoneCanvas = Boolean(duotoneColors && !clrChange);
|
|
1325
1325
|
const filterForImg = useDuotoneCanvas ? chunkVSNXVKJI_js.getImageEffectsFilter(el, { excludeDuotone: true }) : filter;
|
|
1326
1326
|
const canvasEffectStyles = {
|
|
@@ -1533,7 +1533,7 @@ function ResizeHandles({
|
|
|
1533
1533
|
"button",
|
|
1534
1534
|
{
|
|
1535
1535
|
type: "button",
|
|
1536
|
-
className:
|
|
1536
|
+
className: chunkKA7ST7IH_js.cn("absolute z-10 group", posClass, cursor),
|
|
1537
1537
|
style: peStyle,
|
|
1538
1538
|
onPointerDown: (e) => handleResizePointer(e, handle),
|
|
1539
1539
|
onMouseDown: (e) => {
|
|
@@ -1551,7 +1551,7 @@ function ResizeHandles({
|
|
|
1551
1551
|
"button",
|
|
1552
1552
|
{
|
|
1553
1553
|
type: "button",
|
|
1554
|
-
className:
|
|
1554
|
+
className: chunkKA7ST7IH_js.cn("absolute z-10", posClass, cursor),
|
|
1555
1555
|
style: peStyle,
|
|
1556
1556
|
onPointerDown: (e) => handleResizePointer(e, handle),
|
|
1557
1557
|
onMouseDown: (e) => {
|
|
@@ -1559,7 +1559,7 @@ function ResizeHandles({
|
|
|
1559
1559
|
onResizePointerDown(elementId, e, handle);
|
|
1560
1560
|
},
|
|
1561
1561
|
children: [
|
|
1562
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1562
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkKA7ST7IH_js.cn(sizeClass, "border border-white bg-primary shadow") }),
|
|
1563
1563
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -inset-2 max-md:-inset-1" })
|
|
1564
1564
|
]
|
|
1565
1565
|
},
|
|
@@ -1570,6 +1570,7 @@ function ResizeHandles({
|
|
|
1570
1570
|
{
|
|
1571
1571
|
type: "button",
|
|
1572
1572
|
"aria-label": t("pptx.resizeHandles.rotateAria"),
|
|
1573
|
+
"data-pptx-compact": true,
|
|
1573
1574
|
className: "absolute left-1/2 top-0 -translate-x-1/2 -translate-y-1/2 z-20 flex items-center justify-center w-5 h-5 max-md:w-7 max-md:h-7 rounded-full border border-white bg-primary text-white shadow cursor-grab active:cursor-grabbing",
|
|
1574
1575
|
style: peStyle,
|
|
1575
1576
|
onPointerDown: (e) => {
|
|
@@ -1594,6 +1595,7 @@ function ResizeHandles({
|
|
|
1594
1595
|
{
|
|
1595
1596
|
type: "button",
|
|
1596
1597
|
"aria-label": t("pptx.canvas.adjustShape"),
|
|
1598
|
+
"data-pptx-compact": true,
|
|
1597
1599
|
className: "absolute h-2.5 w-2.5 max-md:h-4 max-md:w-4 rotate-45 border border-amber-700 bg-amber-300 shadow z-10",
|
|
1598
1600
|
style: {
|
|
1599
1601
|
left: adjH.left - 5,
|
|
@@ -1638,7 +1640,7 @@ var ConnectorElementRenderer = React14__default.default.memo(
|
|
|
1638
1640
|
const viewHeight = Math.max(el.height, 1);
|
|
1639
1641
|
const ss = shapeEl?.shapeStyle;
|
|
1640
1642
|
const strokeWidth = Math.max(0, ss?.strokeWidth ?? 2);
|
|
1641
|
-
const strokeColor = chunkVSNXVKJI_js.normalizeHexColor(ss?.strokeColor,
|
|
1643
|
+
const strokeColor = chunkVSNXVKJI_js.normalizeHexColor(ss?.strokeColor, chunkKA7ST7IH_js.DEFAULT_STROKE_COLOR);
|
|
1642
1644
|
const strokePaint = chunkVSNXVKJI_js.colorWithOpacity(strokeColor, ss?.strokeOpacity);
|
|
1643
1645
|
const dashType = chunkVSNXVKJI_js.normalizeStrokeDashType(ss?.strokeDash);
|
|
1644
1646
|
const dashArray = chunkVSNXVKJI_js.getSvgStrokeDasharray(
|
|
@@ -1659,7 +1661,7 @@ var ConnectorElementRenderer = React14__default.default.memo(
|
|
|
1659
1661
|
const connectorText = textEl?.text?.trim() ?? "";
|
|
1660
1662
|
const connectorTextSegments = textEl?.textSegments;
|
|
1661
1663
|
const connectorTextStyle = textEl?.textStyle;
|
|
1662
|
-
const pathGeometry = shapeEl ?
|
|
1664
|
+
const pathGeometry = shapeEl ? chunkKA7ST7IH_js.getConnectorPathGeometry(shapeEl) : {
|
|
1663
1665
|
pathData: `M 0 0 L ${viewWidth} ${viewHeight}`,
|
|
1664
1666
|
startX: 0,
|
|
1665
1667
|
startY: 0,
|
|
@@ -1668,8 +1670,8 @@ var ConnectorElementRenderer = React14__default.default.memo(
|
|
|
1668
1670
|
};
|
|
1669
1671
|
const hitTargetWidth = Math.max(strokeWidth * 3, 14);
|
|
1670
1672
|
const selColor = selClr === "blue-400" ? "#60a5fa" : "#3b82f6";
|
|
1671
|
-
const lineShadow =
|
|
1672
|
-
const lineGlow =
|
|
1673
|
+
const lineShadow = chunkKA7ST7IH_js.buildLineShadowCss(el);
|
|
1674
|
+
const lineGlow = chunkKA7ST7IH_js.buildLineGlowFilter(el);
|
|
1673
1675
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1674
1676
|
"div",
|
|
1675
1677
|
{
|
|
@@ -1679,8 +1681,8 @@ var ConnectorElementRenderer = React14__default.default.memo(
|
|
|
1679
1681
|
style: {
|
|
1680
1682
|
left: el.x,
|
|
1681
1683
|
top: el.y,
|
|
1682
|
-
width: Math.max(el.width,
|
|
1683
|
-
height: Math.max(el.height,
|
|
1684
|
+
width: Math.max(el.width, chunkKA7ST7IH_js.MIN_ELEMENT_SIZE),
|
|
1685
|
+
height: Math.max(el.height, chunkKA7ST7IH_js.MIN_ELEMENT_SIZE),
|
|
1684
1686
|
transform: chunkVSNXVKJI_js.getElementTransform(el),
|
|
1685
1687
|
transformOrigin: "center",
|
|
1686
1688
|
background: "transparent",
|
|
@@ -1702,14 +1704,14 @@ var ConnectorElementRenderer = React14__default.default.memo(
|
|
|
1702
1704
|
style: { overflow: "visible", pointerEvents: "none" },
|
|
1703
1705
|
children: [
|
|
1704
1706
|
/* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
|
|
1705
|
-
|
|
1707
|
+
chunkKA7ST7IH_js.renderConnectorMarker(
|
|
1706
1708
|
startMarkerId,
|
|
1707
1709
|
startArrow,
|
|
1708
1710
|
strokePaint,
|
|
1709
1711
|
ss?.connectorStartArrowWidth,
|
|
1710
1712
|
ss?.connectorStartArrowLength
|
|
1711
1713
|
),
|
|
1712
|
-
|
|
1714
|
+
chunkKA7ST7IH_js.renderConnectorMarker(
|
|
1713
1715
|
endMarkerId,
|
|
1714
1716
|
endArrow,
|
|
1715
1717
|
strokePaint,
|
|
@@ -1921,14 +1923,14 @@ function elementHasTextHyperlink(el) {
|
|
|
1921
1923
|
return Boolean(el.textSegments?.some((segment) => Boolean(segment.style?.hyperlink)));
|
|
1922
1924
|
}
|
|
1923
1925
|
function renderDagDuotoneFilterForElement(el) {
|
|
1924
|
-
if (!
|
|
1926
|
+
if (!chunkKA7ST7IH_js.hasDagDuotoneEffect(el)) {
|
|
1925
1927
|
return null;
|
|
1926
1928
|
}
|
|
1927
1929
|
const duotone = el.shapeStyle?.dagDuotone;
|
|
1928
1930
|
if (!duotone) {
|
|
1929
1931
|
return null;
|
|
1930
1932
|
}
|
|
1931
|
-
return
|
|
1933
|
+
return chunkKA7ST7IH_js.renderDagDuotoneSvgFilter(el.id, duotone.color1, duotone.color2);
|
|
1932
1934
|
}
|
|
1933
1935
|
function getContainerStyle({
|
|
1934
1936
|
el,
|
|
@@ -1945,12 +1947,12 @@ function getContainerStyle({
|
|
|
1945
1947
|
return {
|
|
1946
1948
|
left: isFullscreenMedia ? 0 : el.x,
|
|
1947
1949
|
top: isFullscreenMedia ? 0 : el.y,
|
|
1948
|
-
width: isFullscreenMedia ? "100%" : Math.max(el.width,
|
|
1949
|
-
height: isFullscreenMedia ? "100%" : Math.max(el.height,
|
|
1950
|
+
width: isFullscreenMedia ? "100%" : Math.max(el.width, chunkKA7ST7IH_js.MIN_ELEMENT_SIZE),
|
|
1951
|
+
height: isFullscreenMedia ? "100%" : Math.max(el.height, chunkKA7ST7IH_js.MIN_ELEMENT_SIZE),
|
|
1950
1952
|
transform: isFullscreenMedia ? "none" : chunkVSNXVKJI_js.getElementTransform(el),
|
|
1951
1953
|
transformOrigin: "center",
|
|
1952
1954
|
overflow: overflowValue,
|
|
1953
|
-
clipPath: isImg && !has3DExtrusion ?
|
|
1955
|
+
clipPath: isImg && !has3DExtrusion ? chunkKA7ST7IH_js.getCropShapeClipPath(el) : void 0,
|
|
1954
1956
|
zIndex: isFullscreenMedia ? 20 : zIndex,
|
|
1955
1957
|
opacity,
|
|
1956
1958
|
visibility: animationState?.visible === false ? "hidden" : "visible",
|
|
@@ -1984,8 +1986,8 @@ function ActionIndicator({
|
|
|
1984
1986
|
function shapeParams(element) {
|
|
1985
1987
|
const style = chunkAD3EAEY6_js.hasShapeProperties(element) ? element.shapeStyle : void 0;
|
|
1986
1988
|
const strokeWidth = Math.max(0, style?.strokeWidth || 0);
|
|
1987
|
-
const strokeColor = chunkVSNXVKJI_js.normalizeHexColor(style?.strokeColor,
|
|
1988
|
-
const fillColor = chunkVSNXVKJI_js.normalizeHexColor(style?.fillColor,
|
|
1989
|
+
const strokeColor = chunkVSNXVKJI_js.normalizeHexColor(style?.strokeColor, chunkKA7ST7IH_js.DEFAULT_STROKE_COLOR);
|
|
1990
|
+
const fillColor = chunkVSNXVKJI_js.normalizeHexColor(style?.fillColor, chunkKA7ST7IH_js.DEFAULT_FILL_COLOR);
|
|
1989
1991
|
const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunkVSNXVKJI_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
|
|
1990
1992
|
return { hf: hasFill, fc: fillColor, sw: strokeWidth, sc: strokeColor };
|
|
1991
1993
|
}
|
|
@@ -2107,15 +2109,15 @@ var ElementRenderer = React14__default.default.memo(
|
|
|
2107
2109
|
const elementLocks = el.locks;
|
|
2108
2110
|
const isTxt = chunkVSNXVKJI_js.isEditableTextElement(el) && !elementLocks?.noTextEdit;
|
|
2109
2111
|
const txtSE = chunkAD3EAEY6_js.hasTextProperties(el) ? el.textStyle : void 0;
|
|
2110
|
-
const ss =
|
|
2111
|
-
const ts =
|
|
2112
|
-
const vs =
|
|
2112
|
+
const ss = chunkKA7ST7IH_js.getShapeVisualStyle(el, hf, fc, sw, sc);
|
|
2113
|
+
const ts = chunkKA7ST7IH_js.getTextStyleForElement(el, chunkKA7ST7IH_js.DEFAULT_TEXT_COLOR);
|
|
2114
|
+
const vs = chunkKA7ST7IH_js.renderVectorShape(el, hf, fc, sw, sc);
|
|
2113
2115
|
const isImg = el.type === "picture" || el.type === "image";
|
|
2114
2116
|
const isModel3D = el.type === "model3d";
|
|
2115
|
-
const isConn =
|
|
2117
|
+
const isConn = chunkKA7ST7IH_js.isConnectorOrLineElement(el);
|
|
2116
2118
|
const shapeStyle3d = chunkAD3EAEY6_js.hasShapeProperties(el) ? el.shapeStyle : void 0;
|
|
2117
2119
|
const extrusionData = React14.useMemo(
|
|
2118
|
-
() =>
|
|
2120
|
+
() => chunkKA7ST7IH_js.build3DExtrusionData(shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height),
|
|
2119
2121
|
[shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height]
|
|
2120
2122
|
);
|
|
2121
2123
|
const [isMediaPlaying, setIsMediaPlaying] = React14.useState(false);
|
|
@@ -2179,7 +2181,7 @@ var ElementRenderer = React14__default.default.memo(
|
|
|
2179
2181
|
"aria-roledescription": ariaRoleDescription,
|
|
2180
2182
|
"aria-selected": isSelected ? true : void 0,
|
|
2181
2183
|
tabIndex: isFocusable ? 0 : -1,
|
|
2182
|
-
className:
|
|
2184
|
+
className: chunkKA7ST7IH_js.cn(
|
|
2183
2185
|
"absolute border",
|
|
2184
2186
|
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
|
|
2185
2187
|
cur,
|
|
@@ -2212,7 +2214,7 @@ var ElementRenderer = React14__default.default.memo(
|
|
|
2212
2214
|
txtSE,
|
|
2213
2215
|
txtS: ts,
|
|
2214
2216
|
vecShape: vs,
|
|
2215
|
-
imgStyle:
|
|
2217
|
+
imgStyle: chunkKA7ST7IH_js.getImageRenderStyle(el),
|
|
2216
2218
|
imgFilter: chunkVSNXVKJI_js.getImageEffectsFilter(el),
|
|
2217
2219
|
imgOpacity: chunkVSNXVKJI_js.getImageEffectsOpacity(el),
|
|
2218
2220
|
imgAlt: imageAltText,
|
|
@@ -2356,9 +2358,9 @@ function renderInk(el, options) {
|
|
|
2356
2358
|
function renderGroup(children) {
|
|
2357
2359
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full h-full pointer-events-none", children: children.map((c, childIndex) => {
|
|
2358
2360
|
const { hf, fc, sw, sc } = shapeParams(c);
|
|
2359
|
-
const ss =
|
|
2360
|
-
const vs =
|
|
2361
|
-
const ts =
|
|
2361
|
+
const ss = chunkKA7ST7IH_js.getShapeVisualStyle(c, hf, fc, sw, sc);
|
|
2362
|
+
const vs = chunkKA7ST7IH_js.renderVectorShape(c, hf, fc, sw, sc);
|
|
2363
|
+
const ts = chunkKA7ST7IH_js.getTextStyleForElement(c, chunkKA7ST7IH_js.DEFAULT_TEXT_COLOR);
|
|
2362
2364
|
const isTxt = chunkVSNXVKJI_js.isEditableTextElement(c);
|
|
2363
2365
|
const isI = c.type === "picture" || c.type === "image";
|
|
2364
2366
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2368,12 +2370,12 @@ function renderGroup(children) {
|
|
|
2368
2370
|
style: {
|
|
2369
2371
|
left: c.x,
|
|
2370
2372
|
top: c.y,
|
|
2371
|
-
width: Math.max(c.width,
|
|
2372
|
-
height: Math.max(c.height,
|
|
2373
|
+
width: Math.max(c.width, chunkKA7ST7IH_js.MIN_ELEMENT_SIZE),
|
|
2374
|
+
height: Math.max(c.height, chunkKA7ST7IH_js.MIN_ELEMENT_SIZE),
|
|
2373
2375
|
transform: chunkVSNXVKJI_js.getElementTransform(c),
|
|
2374
2376
|
transformOrigin: "center",
|
|
2375
2377
|
overflow: isI ? "hidden" : void 0,
|
|
2376
|
-
clipPath: isI ?
|
|
2378
|
+
clipPath: isI ? chunkKA7ST7IH_js.getCropShapeClipPath(c) : void 0,
|
|
2377
2379
|
...ss,
|
|
2378
2380
|
// Explicit z-index preserves document order stacking within the
|
|
2379
2381
|
// group: later children in the array (= later in p:grpSp XML)
|
|
@@ -2381,11 +2383,11 @@ function renderGroup(children) {
|
|
|
2381
2383
|
// Placed after ...ss to ensure it is never overwritten.
|
|
2382
2384
|
zIndex: childIndex
|
|
2383
2385
|
},
|
|
2384
|
-
children: isI && ("svgData" in c && c.svgData || "imageData" in c && c.imageData) ?
|
|
2386
|
+
children: isI && ("svgData" in c && c.svgData || "imageData" in c && c.imageData) ? chunkKA7ST7IH_js.isImageTiled(c) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2385
2387
|
"div",
|
|
2386
2388
|
{
|
|
2387
2389
|
className: "pointer-events-none select-none w-full h-full",
|
|
2388
|
-
style:
|
|
2390
|
+
style: chunkKA7ST7IH_js.getImageTilingStyle(c)
|
|
2389
2391
|
}
|
|
2390
2392
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2391
2393
|
"img",
|
|
@@ -2393,7 +2395,7 @@ function renderGroup(children) {
|
|
|
2393
2395
|
src: "svgData" in c && c.svgData ? c.svgData : c.imageData,
|
|
2394
2396
|
alt: chunkZISXRMDJ_js.translationsEn["pptx.ink.groupChildAlt"],
|
|
2395
2397
|
className: "pointer-events-none select-none",
|
|
2396
|
-
style:
|
|
2398
|
+
style: chunkKA7ST7IH_js.getImageRenderStyle(c),
|
|
2397
2399
|
draggable: false
|
|
2398
2400
|
}
|
|
2399
2401
|
) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -2403,7 +2405,7 @@ function renderGroup(children) {
|
|
|
2403
2405
|
{
|
|
2404
2406
|
className: "relative z-10 w-full h-full pointer-events-none whitespace-pre-wrap break-words leading-[1.3]",
|
|
2405
2407
|
style: ts,
|
|
2406
|
-
children:
|
|
2408
|
+
children: chunkKA7ST7IH_js.renderTextSegments(c, chunkKA7ST7IH_js.DEFAULT_TEXT_COLOR)
|
|
2407
2409
|
}
|
|
2408
2410
|
) : null
|
|
2409
2411
|
] })
|
|
@@ -2752,7 +2754,7 @@ function InlineTextEditor({
|
|
|
2752
2754
|
pending.endOffset
|
|
2753
2755
|
);
|
|
2754
2756
|
});
|
|
2755
|
-
const warpStyle =
|
|
2757
|
+
const warpStyle = chunkKA7ST7IH_js.getTextWarpStyle(textStyleRaw);
|
|
2756
2758
|
const compensationTransform = chunkVSNXVKJI_js.getTextCompensationTransform(element);
|
|
2757
2759
|
const warpTransform = warpStyle?.transform;
|
|
2758
2760
|
const mergedTransform = [compensationTransform, warpTransform].filter(Boolean).join(" ") || void 0;
|
|
@@ -2828,7 +2830,7 @@ function InlineTextEditor({
|
|
|
2828
2830
|
const text = e.clipboardData.getData("text/plain");
|
|
2829
2831
|
document.execCommand("insertText", false, text);
|
|
2830
2832
|
},
|
|
2831
|
-
children: seed.hasRichSegments ?
|
|
2833
|
+
children: seed.hasRichSegments ? chunkKA7ST7IH_js.renderTextSegments(element, chunkKA7ST7IH_js.DEFAULT_TEXT_COLOR) : seed.initialText
|
|
2832
2834
|
}
|
|
2833
2835
|
);
|
|
2834
2836
|
}
|
|
@@ -3185,6 +3187,7 @@ function SmartArtNodeStyleBar({
|
|
|
3185
3187
|
{
|
|
3186
3188
|
type: "button",
|
|
3187
3189
|
"aria-label": `Set fill to ${color}`,
|
|
3190
|
+
"data-pptx-compact": true,
|
|
3188
3191
|
className: "w-5 h-5 rounded-full border border-black/10 hover:scale-125 transition-transform",
|
|
3189
3192
|
style: { background: color },
|
|
3190
3193
|
onClick: () => onPickFill(color)
|
|
@@ -3398,8 +3401,8 @@ function DrawingShapeRenderer({
|
|
|
3398
3401
|
}
|
|
3399
3402
|
const drawingW = maxX - minX || 1;
|
|
3400
3403
|
const drawingH = maxY - minY || 1;
|
|
3401
|
-
const shadow =
|
|
3402
|
-
const sw =
|
|
3404
|
+
const shadow = chunkKA7ST7IH_js.styleShadow(style);
|
|
3405
|
+
const sw = chunkKA7ST7IH_js.styleStroke(style);
|
|
3403
3406
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3404
3407
|
"svg",
|
|
3405
3408
|
{
|
|
@@ -3408,7 +3411,7 @@ function DrawingShapeRenderer({
|
|
|
3408
3411
|
preserveAspectRatio: "xMidYMid meet",
|
|
3409
3412
|
"data-testid": "smartart-drawing-shapes",
|
|
3410
3413
|
children: shapes.map((shape, i) => {
|
|
3411
|
-
const fill = shape.fillColor ??
|
|
3414
|
+
const fill = shape.fillColor ?? chunkKA7ST7IH_js.colour(i, palette);
|
|
3412
3415
|
const relX = shape.x - minX;
|
|
3413
3416
|
const relY = shape.y - minY;
|
|
3414
3417
|
const rx = shape.shapeType === "roundRect" ? Math.min(shape.width, shape.height) * 0.1 : 0;
|
|
@@ -3417,10 +3420,10 @@ function DrawingShapeRenderer({
|
|
|
3417
3420
|
const rotation = shape.rotation ? `rotate(${shape.rotation} ${relX + shape.width / 2} ${relY + shape.height / 2})` : void 0;
|
|
3418
3421
|
const strokeCol = shape.strokeColor ?? (sw > 0 ? "rgba(255,255,255,0.3)" : "none");
|
|
3419
3422
|
const strokeW = shape.strokeWidth ?? sw;
|
|
3420
|
-
const fontSize = shape.fontSize ??
|
|
3423
|
+
const fontSize = shape.fontSize ?? chunkKA7ST7IH_js.fitFontSize(shape.text ?? "", shape.width * 0.85, shape.height, 14);
|
|
3421
3424
|
const nodeId = nodes ? chunkVSNXVKJI_js.resolveDrawingShapeNodeId(shape, i, shapes, nodes) : void 0;
|
|
3422
3425
|
const nodeLabel = nodeId ? nodeLabels?.get(nodeId) : void 0;
|
|
3423
|
-
const groupProps = nodeId ?
|
|
3426
|
+
const groupProps = nodeId ? chunkKA7ST7IH_js.smartArtNodeGroupProps(nodeId, shadow, nodeLabel) : { style: { filter: shadow } };
|
|
3424
3427
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { ...groupProps, children: [
|
|
3425
3428
|
nodeLabel ? /* @__PURE__ */ jsxRuntime.jsx("title", { children: nodeLabel }) : null,
|
|
3426
3429
|
isEllipse ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3438,7 +3441,7 @@ function DrawingShapeRenderer({
|
|
|
3438
3441
|
) : isChevron ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3439
3442
|
"polygon",
|
|
3440
3443
|
{
|
|
3441
|
-
points:
|
|
3444
|
+
points: chunkKA7ST7IH_js.chevronPoints(relX, relY, shape.width, shape.height),
|
|
3442
3445
|
fill,
|
|
3443
3446
|
stroke: strokeCol,
|
|
3444
3447
|
strokeWidth: strokeW,
|
|
@@ -3459,11 +3462,11 @@ function DrawingShapeRenderer({
|
|
|
3459
3462
|
}
|
|
3460
3463
|
),
|
|
3461
3464
|
shape.text ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3462
|
-
|
|
3465
|
+
chunkKA7ST7IH_js.SmartArtNodeText,
|
|
3463
3466
|
{
|
|
3464
3467
|
x: relX + shape.width / 2,
|
|
3465
3468
|
y: relY + shape.height / 2,
|
|
3466
|
-
text:
|
|
3469
|
+
text: chunkKA7ST7IH_js.truncate(shape.text, 40),
|
|
3467
3470
|
fill: shape.fontColor ?? "white",
|
|
3468
3471
|
fontSize,
|
|
3469
3472
|
className: "pointer-events-none"
|
|
@@ -3479,7 +3482,7 @@ function DrawingShapeRenderer({
|
|
|
3479
3482
|
function resolveNodeStyle(node, index, palette) {
|
|
3480
3483
|
const style = node.style;
|
|
3481
3484
|
return {
|
|
3482
|
-
fill: style?.fillColor ??
|
|
3485
|
+
fill: style?.fillColor ?? chunkKA7ST7IH_js.colour(index, palette),
|
|
3483
3486
|
fontColor: style?.fontColor ?? "white",
|
|
3484
3487
|
fontWeight: style?.bold ? 700 : void 0,
|
|
3485
3488
|
fontStyle: style?.italic ? "italic" : void 0,
|
|
@@ -3501,8 +3504,8 @@ function ListRenderer({
|
|
|
3501
3504
|
const itemH = (usableH - gap * (nodes.length - 1)) / nodes.length;
|
|
3502
3505
|
const itemW = w - pad * 2;
|
|
3503
3506
|
const rx = Math.min(6, itemH * 0.15);
|
|
3504
|
-
const shadow =
|
|
3505
|
-
const sw =
|
|
3507
|
+
const shadow = chunkKA7ST7IH_js.styleShadow(style);
|
|
3508
|
+
const sw = chunkKA7ST7IH_js.styleStroke(style);
|
|
3506
3509
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3507
3510
|
"svg",
|
|
3508
3511
|
{
|
|
@@ -3512,13 +3515,13 @@ function ListRenderer({
|
|
|
3512
3515
|
"data-testid": "smartart-list",
|
|
3513
3516
|
children: nodes.map((node, i) => {
|
|
3514
3517
|
const y = pad + i * (itemH + gap);
|
|
3515
|
-
const fontSize =
|
|
3518
|
+
const fontSize = chunkKA7ST7IH_js.fitFontSize(node.text, itemW * 0.9, itemH, 12);
|
|
3516
3519
|
const ns = resolveNodeStyle(node, i, palette);
|
|
3517
3520
|
const label = nodeLabels?.get(node.id);
|
|
3518
3521
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3519
3522
|
"g",
|
|
3520
3523
|
{
|
|
3521
|
-
...
|
|
3524
|
+
...chunkKA7ST7IH_js.smartArtNodeGroupProps(node.id, shadow, label),
|
|
3522
3525
|
children: [
|
|
3523
3526
|
label ? /* @__PURE__ */ jsxRuntime.jsx("title", { children: label }) : null,
|
|
3524
3527
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3530,17 +3533,17 @@ function ListRenderer({
|
|
|
3530
3533
|
height: itemH,
|
|
3531
3534
|
rx,
|
|
3532
3535
|
fill: ns.fill,
|
|
3533
|
-
opacity:
|
|
3536
|
+
opacity: chunkKA7ST7IH_js.nodeOpacity(i, nodes.length, style),
|
|
3534
3537
|
stroke: ns.strokeColor ?? (sw > 0 ? "rgba(255,255,255,0.3)" : "none"),
|
|
3535
3538
|
strokeWidth: sw
|
|
3536
3539
|
}
|
|
3537
3540
|
),
|
|
3538
3541
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3539
|
-
|
|
3542
|
+
chunkKA7ST7IH_js.SmartArtNodeText,
|
|
3540
3543
|
{
|
|
3541
3544
|
x: pad + itemW / 2,
|
|
3542
3545
|
y: y + itemH / 2,
|
|
3543
|
-
text:
|
|
3546
|
+
text: chunkKA7ST7IH_js.truncate(node.text, 40),
|
|
3544
3547
|
fill: ns.fontColor,
|
|
3545
3548
|
fontWeight: ns.fontWeight,
|
|
3546
3549
|
fontStyle: ns.fontStyle,
|
|
@@ -3572,8 +3575,8 @@ function ProcessRenderer({
|
|
|
3572
3575
|
const itemW = (usableW - gap * (nodes.length - 1)) / nodes.length;
|
|
3573
3576
|
const itemH = Math.min(h - pad * 2, h * 0.6);
|
|
3574
3577
|
const yMid = h / 2;
|
|
3575
|
-
const shadow =
|
|
3576
|
-
const sw =
|
|
3578
|
+
const shadow = chunkKA7ST7IH_js.styleShadow(style);
|
|
3579
|
+
const sw = chunkKA7ST7IH_js.styleStroke(style);
|
|
3577
3580
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3578
3581
|
"svg",
|
|
3579
3582
|
{
|
|
@@ -3587,13 +3590,13 @@ function ProcessRenderer({
|
|
|
3587
3590
|
const isFirst = i === 0;
|
|
3588
3591
|
const isLast = i === nodes.length - 1;
|
|
3589
3592
|
const points = isFirst ? `${x},${yMid - halfH} ${x + itemW - chevronDepth},${yMid - halfH} ${x + itemW},${yMid} ${x + itemW - chevronDepth},${yMid + halfH} ${x},${yMid + halfH}` : isLast ? `${x},${yMid - halfH} ${x + itemW},${yMid - halfH} ${x + itemW},${yMid + halfH} ${x},${yMid + halfH} ${x + chevronDepth},${yMid}` : `${x},${yMid - halfH} ${x + itemW - chevronDepth},${yMid - halfH} ${x + itemW},${yMid} ${x + itemW - chevronDepth},${yMid + halfH} ${x},${yMid + halfH} ${x + chevronDepth},${yMid}`;
|
|
3590
|
-
const fontSize =
|
|
3593
|
+
const fontSize = chunkKA7ST7IH_js.fitFontSize(node.text, itemW * 0.7, itemH, 12);
|
|
3591
3594
|
const ns = resolveNodeStyle(node, i, palette);
|
|
3592
3595
|
const label = nodeLabels?.get(node.id);
|
|
3593
3596
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3594
3597
|
"g",
|
|
3595
3598
|
{
|
|
3596
|
-
...
|
|
3599
|
+
...chunkKA7ST7IH_js.smartArtNodeGroupProps(node.id, shadow, label),
|
|
3597
3600
|
children: [
|
|
3598
3601
|
label ? /* @__PURE__ */ jsxRuntime.jsx("title", { children: label }) : null,
|
|
3599
3602
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3601,17 +3604,17 @@ function ProcessRenderer({
|
|
|
3601
3604
|
{
|
|
3602
3605
|
points,
|
|
3603
3606
|
fill: ns.fill,
|
|
3604
|
-
opacity:
|
|
3607
|
+
opacity: chunkKA7ST7IH_js.nodeOpacity(i, nodes.length, style),
|
|
3605
3608
|
stroke: ns.strokeColor ?? (sw > 0 ? "rgba(255,255,255,0.3)" : "none"),
|
|
3606
3609
|
strokeWidth: sw
|
|
3607
3610
|
}
|
|
3608
3611
|
),
|
|
3609
3612
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3610
|
-
|
|
3613
|
+
chunkKA7ST7IH_js.SmartArtNodeText,
|
|
3611
3614
|
{
|
|
3612
3615
|
x: x + itemW / 2,
|
|
3613
3616
|
y: yMid,
|
|
3614
|
-
text:
|
|
3617
|
+
text: chunkKA7ST7IH_js.truncate(node.text, 25),
|
|
3615
3618
|
fill: ns.fontColor,
|
|
3616
3619
|
fontWeight: ns.fontWeight,
|
|
3617
3620
|
fontStyle: ns.fontStyle,
|
|
@@ -3641,8 +3644,8 @@ function CycleRenderer({
|
|
|
3641
3644
|
const cy = h / 2;
|
|
3642
3645
|
const radius = size * 0.35;
|
|
3643
3646
|
const nodeR = Math.max(size * 0.06, Math.min(size * 0.12, 200 / nodes.length));
|
|
3644
|
-
const shadow =
|
|
3645
|
-
const sw =
|
|
3647
|
+
const shadow = chunkKA7ST7IH_js.styleShadow(style);
|
|
3648
|
+
const sw = chunkKA7ST7IH_js.styleStroke(style);
|
|
3646
3649
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3647
3650
|
"svg",
|
|
3648
3651
|
{
|
|
@@ -3681,13 +3684,13 @@ function CycleRenderer({
|
|
|
3681
3684
|
const angle = i / nodes.length * Math.PI * 2 - Math.PI / 2;
|
|
3682
3685
|
const nx = cx + radius * Math.cos(angle);
|
|
3683
3686
|
const ny = cy + radius * Math.sin(angle);
|
|
3684
|
-
const fontSize =
|
|
3687
|
+
const fontSize = chunkKA7ST7IH_js.fitFontSize(node.text, nodeR * 1.4, nodeR * 2, 11);
|
|
3685
3688
|
const ns = resolveNodeStyle(node, i, palette);
|
|
3686
3689
|
const label = nodeLabels?.get(node.id);
|
|
3687
3690
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3688
3691
|
"g",
|
|
3689
3692
|
{
|
|
3690
|
-
...
|
|
3693
|
+
...chunkKA7ST7IH_js.smartArtNodeGroupProps(node.id, shadow, label),
|
|
3691
3694
|
children: [
|
|
3692
3695
|
label ? /* @__PURE__ */ jsxRuntime.jsx("title", { children: label }) : null,
|
|
3693
3696
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3697,17 +3700,17 @@ function CycleRenderer({
|
|
|
3697
3700
|
cy: ny,
|
|
3698
3701
|
r: nodeR,
|
|
3699
3702
|
fill: ns.fill,
|
|
3700
|
-
opacity:
|
|
3703
|
+
opacity: chunkKA7ST7IH_js.nodeOpacity(i, nodes.length, style),
|
|
3701
3704
|
stroke: ns.strokeColor ?? (sw > 0 ? "rgba(255,255,255,0.3)" : "none"),
|
|
3702
3705
|
strokeWidth: sw
|
|
3703
3706
|
}
|
|
3704
3707
|
),
|
|
3705
3708
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3706
|
-
|
|
3709
|
+
chunkKA7ST7IH_js.SmartArtNodeText,
|
|
3707
3710
|
{
|
|
3708
3711
|
x: nx,
|
|
3709
3712
|
y: ny,
|
|
3710
|
-
text:
|
|
3713
|
+
text: chunkKA7ST7IH_js.truncate(node.text, 20),
|
|
3711
3714
|
fill: ns.fontColor,
|
|
3712
3715
|
fontWeight: ns.fontWeight,
|
|
3713
3716
|
fontStyle: ns.fontStyle,
|
|
@@ -3742,8 +3745,8 @@ function MatrixRenderer({
|
|
|
3742
3745
|
const cellW = (usableW - gap * (cols - 1)) / cols;
|
|
3743
3746
|
const cellH = (usableH - gap * (rows - 1)) / rows;
|
|
3744
3747
|
const rx = Math.min(6, Math.min(cellW, cellH) * 0.1);
|
|
3745
|
-
const shadow =
|
|
3746
|
-
const sw =
|
|
3748
|
+
const shadow = chunkKA7ST7IH_js.styleShadow(style);
|
|
3749
|
+
const sw = chunkKA7ST7IH_js.styleStroke(style);
|
|
3747
3750
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3748
3751
|
"svg",
|
|
3749
3752
|
{
|
|
@@ -3756,13 +3759,13 @@ function MatrixRenderer({
|
|
|
3756
3759
|
const row = Math.floor(i / cols);
|
|
3757
3760
|
const x = pad + col * (cellW + gap);
|
|
3758
3761
|
const y = pad + row * (cellH + gap);
|
|
3759
|
-
const fontSize =
|
|
3762
|
+
const fontSize = chunkKA7ST7IH_js.fitFontSize(node.text, cellW * 0.85, cellH, 12);
|
|
3760
3763
|
const ns = resolveNodeStyle(node, i, palette);
|
|
3761
3764
|
const label = nodeLabels?.get(node.id);
|
|
3762
3765
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3763
3766
|
"g",
|
|
3764
3767
|
{
|
|
3765
|
-
...
|
|
3768
|
+
...chunkKA7ST7IH_js.smartArtNodeGroupProps(node.id, shadow, label),
|
|
3766
3769
|
children: [
|
|
3767
3770
|
label ? /* @__PURE__ */ jsxRuntime.jsx("title", { children: label }) : null,
|
|
3768
3771
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3774,17 +3777,17 @@ function MatrixRenderer({
|
|
|
3774
3777
|
height: cellH,
|
|
3775
3778
|
rx,
|
|
3776
3779
|
fill: ns.fill,
|
|
3777
|
-
opacity:
|
|
3780
|
+
opacity: chunkKA7ST7IH_js.nodeOpacity(i, nodes.length, style),
|
|
3778
3781
|
stroke: ns.strokeColor ?? (sw > 0 ? "rgba(255,255,255,0.3)" : "none"),
|
|
3779
3782
|
strokeWidth: sw
|
|
3780
3783
|
}
|
|
3781
3784
|
),
|
|
3782
3785
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3783
|
-
|
|
3786
|
+
chunkKA7ST7IH_js.SmartArtNodeText,
|
|
3784
3787
|
{
|
|
3785
3788
|
x: x + cellW / 2,
|
|
3786
3789
|
y: y + cellH / 2,
|
|
3787
|
-
text:
|
|
3790
|
+
text: chunkKA7ST7IH_js.truncate(node.text, 30),
|
|
3788
3791
|
fill: ns.fontColor,
|
|
3789
3792
|
fontWeight: ns.fontWeight ?? 500,
|
|
3790
3793
|
fontStyle: ns.fontStyle,
|
|
@@ -3813,8 +3816,8 @@ function PyramidRenderer({
|
|
|
3813
3816
|
const usableH = h - pad * 2;
|
|
3814
3817
|
const bandH = (usableH - gap * (nodes.length - 1)) / nodes.length;
|
|
3815
3818
|
const maxW = w - pad * 2;
|
|
3816
|
-
const shadow =
|
|
3817
|
-
const sw =
|
|
3819
|
+
const shadow = chunkKA7ST7IH_js.styleShadow(style);
|
|
3820
|
+
const sw = chunkKA7ST7IH_js.styleStroke(style);
|
|
3818
3821
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3819
3822
|
"svg",
|
|
3820
3823
|
{
|
|
@@ -3838,28 +3841,28 @@ function PyramidRenderer({
|
|
|
3838
3841
|
`${bottomRight},${y + bandH}`,
|
|
3839
3842
|
`${bottomLeft},${y + bandH}`
|
|
3840
3843
|
].join(" ");
|
|
3841
|
-
const fontSize =
|
|
3844
|
+
const fontSize = chunkKA7ST7IH_js.fitFontSize(node.text, topW * 0.85, bandH, 12);
|
|
3842
3845
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3843
3846
|
"g",
|
|
3844
3847
|
{
|
|
3845
|
-
...
|
|
3848
|
+
...chunkKA7ST7IH_js.smartArtNodeGroupProps(node.id, shadow),
|
|
3846
3849
|
children: [
|
|
3847
3850
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3848
3851
|
"polygon",
|
|
3849
3852
|
{
|
|
3850
3853
|
points,
|
|
3851
|
-
fill:
|
|
3852
|
-
opacity:
|
|
3854
|
+
fill: chunkKA7ST7IH_js.colour(i, palette),
|
|
3855
|
+
opacity: chunkKA7ST7IH_js.nodeOpacity(i, nodes.length, style),
|
|
3853
3856
|
stroke: sw > 0 ? "rgba(255,255,255,0.3)" : "none",
|
|
3854
3857
|
strokeWidth: sw
|
|
3855
3858
|
}
|
|
3856
3859
|
),
|
|
3857
3860
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3858
|
-
|
|
3861
|
+
chunkKA7ST7IH_js.SmartArtNodeText,
|
|
3859
3862
|
{
|
|
3860
3863
|
x: w / 2,
|
|
3861
3864
|
y: y + bandH / 2,
|
|
3862
|
-
text:
|
|
3865
|
+
text: chunkKA7ST7IH_js.truncate(node.text, 30),
|
|
3863
3866
|
fill: "white",
|
|
3864
3867
|
fontSize,
|
|
3865
3868
|
className: "pointer-events-none"
|
|
@@ -3881,7 +3884,7 @@ function VennRenderer({
|
|
|
3881
3884
|
}) {
|
|
3882
3885
|
const w = element.width;
|
|
3883
3886
|
const h = element.height;
|
|
3884
|
-
const shadow =
|
|
3887
|
+
const shadow = chunkKA7ST7IH_js.styleShadow(style);
|
|
3885
3888
|
if (nodes.length <= 4) {
|
|
3886
3889
|
const cx = w / 2;
|
|
3887
3890
|
const cy2 = h / 2;
|
|
@@ -3898,19 +3901,19 @@ function VennRenderer({
|
|
|
3898
3901
|
const angle = i / nodes.length * Math.PI * 2 - Math.PI / 2;
|
|
3899
3902
|
const nx = cx + spread * Math.cos(angle);
|
|
3900
3903
|
const ny = cy2 + spread * Math.sin(angle);
|
|
3901
|
-
const fontSize =
|
|
3904
|
+
const fontSize = chunkKA7ST7IH_js.fitFontSize(node.text, r2 * 1.2, r2 * 2, 11);
|
|
3902
3905
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3903
3906
|
"g",
|
|
3904
3907
|
{
|
|
3905
|
-
...
|
|
3908
|
+
...chunkKA7ST7IH_js.smartArtNodeGroupProps(node.id, shadow),
|
|
3906
3909
|
children: [
|
|
3907
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: nx, cy: ny, r: r2, fill:
|
|
3910
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: nx, cy: ny, r: r2, fill: chunkKA7ST7IH_js.colour(i, palette), opacity: 0.35 }),
|
|
3908
3911
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3909
|
-
|
|
3912
|
+
chunkKA7ST7IH_js.SmartArtNodeText,
|
|
3910
3913
|
{
|
|
3911
3914
|
x: nx,
|
|
3912
3915
|
y: ny,
|
|
3913
|
-
text:
|
|
3916
|
+
text: chunkKA7ST7IH_js.truncate(node.text, 20),
|
|
3914
3917
|
fill: "white",
|
|
3915
3918
|
fontSize,
|
|
3916
3919
|
fontWeight: "bold",
|
|
@@ -3939,19 +3942,19 @@ function VennRenderer({
|
|
|
3939
3942
|
"data-testid": "smartart-venn",
|
|
3940
3943
|
children: nodes.map((node, i) => {
|
|
3941
3944
|
const nx = offsetX + i * (r * 2 - overlap);
|
|
3942
|
-
const fontSize =
|
|
3945
|
+
const fontSize = chunkKA7ST7IH_js.fitFontSize(node.text, r * 1.2, r * 2, 10);
|
|
3943
3946
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3944
3947
|
"g",
|
|
3945
3948
|
{
|
|
3946
|
-
...
|
|
3949
|
+
...chunkKA7ST7IH_js.smartArtNodeGroupProps(node.id, shadow),
|
|
3947
3950
|
children: [
|
|
3948
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: nx, cy, r, fill:
|
|
3951
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: nx, cy, r, fill: chunkKA7ST7IH_js.colour(i, palette), opacity: 0.35 }),
|
|
3949
3952
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3950
|
-
|
|
3953
|
+
chunkKA7ST7IH_js.SmartArtNodeText,
|
|
3951
3954
|
{
|
|
3952
3955
|
x: nx,
|
|
3953
3956
|
y: cy,
|
|
3954
|
-
text:
|
|
3957
|
+
text: chunkKA7ST7IH_js.truncate(node.text, 20),
|
|
3955
3958
|
fill: "white",
|
|
3956
3959
|
fontSize,
|
|
3957
3960
|
fontWeight: "bold",
|
|
@@ -3977,7 +3980,7 @@ function FunnelRenderer({
|
|
|
3977
3980
|
const pad = 8;
|
|
3978
3981
|
const usableW = w - pad * 2;
|
|
3979
3982
|
const stageH = (h - pad * 2) / nodes.length;
|
|
3980
|
-
const shadow =
|
|
3983
|
+
const shadow = chunkKA7ST7IH_js.styleShadow(style);
|
|
3981
3984
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3982
3985
|
"svg",
|
|
3983
3986
|
{
|
|
@@ -3999,26 +4002,26 @@ function FunnelRenderer({
|
|
|
3999
4002
|
`${bottomRight},${y + stageH}`,
|
|
4000
4003
|
`${bottomLeft},${y + stageH}`
|
|
4001
4004
|
].join(" ");
|
|
4002
|
-
const fontSize =
|
|
4005
|
+
const fontSize = chunkKA7ST7IH_js.fitFontSize(node.text, topWidth * 0.85, stageH, 11);
|
|
4003
4006
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4004
4007
|
"g",
|
|
4005
4008
|
{
|
|
4006
|
-
...
|
|
4009
|
+
...chunkKA7ST7IH_js.smartArtNodeGroupProps(node.id, shadow),
|
|
4007
4010
|
children: [
|
|
4008
4011
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4009
4012
|
"polygon",
|
|
4010
4013
|
{
|
|
4011
4014
|
points,
|
|
4012
|
-
fill:
|
|
4013
|
-
opacity:
|
|
4015
|
+
fill: chunkKA7ST7IH_js.colour(i, palette),
|
|
4016
|
+
opacity: chunkKA7ST7IH_js.nodeOpacity(i, nodes.length, style)
|
|
4014
4017
|
}
|
|
4015
4018
|
),
|
|
4016
4019
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4017
|
-
|
|
4020
|
+
chunkKA7ST7IH_js.SmartArtNodeText,
|
|
4018
4021
|
{
|
|
4019
4022
|
x: w / 2,
|
|
4020
4023
|
y: y + stageH / 2,
|
|
4021
|
-
text:
|
|
4024
|
+
text: chunkKA7ST7IH_js.truncate(node.text, 30),
|
|
4022
4025
|
fill: "white",
|
|
4023
4026
|
fontSize,
|
|
4024
4027
|
className: "pointer-events-none"
|
|
@@ -4045,7 +4048,7 @@ function TargetRenderer({
|
|
|
4045
4048
|
const maxR = Math.min(cx - 8, cy - 8);
|
|
4046
4049
|
const fontSize = Math.max(7, Math.min(10, maxR / (nodes.length + 1)));
|
|
4047
4050
|
const labelX = cx + maxR + 8;
|
|
4048
|
-
const shadow =
|
|
4051
|
+
const shadow = chunkKA7ST7IH_js.styleShadow(style);
|
|
4049
4052
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4050
4053
|
"svg",
|
|
4051
4054
|
{
|
|
@@ -4058,7 +4061,7 @@ function TargetRenderer({
|
|
|
4058
4061
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4059
4062
|
"g",
|
|
4060
4063
|
{
|
|
4061
|
-
...
|
|
4064
|
+
...chunkKA7ST7IH_js.smartArtNodeGroupProps(node.id, shadow),
|
|
4062
4065
|
children: [
|
|
4063
4066
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4064
4067
|
"circle",
|
|
@@ -4066,8 +4069,8 @@ function TargetRenderer({
|
|
|
4066
4069
|
cx,
|
|
4067
4070
|
cy,
|
|
4068
4071
|
r: Math.max(r, 4),
|
|
4069
|
-
fill:
|
|
4070
|
-
opacity:
|
|
4072
|
+
fill: chunkKA7ST7IH_js.colour(i, palette),
|
|
4073
|
+
opacity: chunkKA7ST7IH_js.nodeOpacity(i, nodes.length, style)
|
|
4071
4074
|
}
|
|
4072
4075
|
),
|
|
4073
4076
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4077,7 +4080,7 @@ function TargetRenderer({
|
|
|
4077
4080
|
y1: cy,
|
|
4078
4081
|
x2: labelX - 2,
|
|
4079
4082
|
y2: 8 + i * (fontSize + 6),
|
|
4080
|
-
stroke:
|
|
4083
|
+
stroke: chunkKA7ST7IH_js.colour(i, palette),
|
|
4081
4084
|
strokeWidth: 1,
|
|
4082
4085
|
opacity: 0.6
|
|
4083
4086
|
}
|
|
@@ -4089,10 +4092,10 @@ function TargetRenderer({
|
|
|
4089
4092
|
y: 8 + i * (fontSize + 6) + fontSize / 2,
|
|
4090
4093
|
textAnchor: "start",
|
|
4091
4094
|
dominantBaseline: "central",
|
|
4092
|
-
fill:
|
|
4095
|
+
fill: chunkKA7ST7IH_js.colour(i, palette),
|
|
4093
4096
|
fontSize,
|
|
4094
4097
|
className: "pointer-events-none",
|
|
4095
|
-
children:
|
|
4098
|
+
children: chunkKA7ST7IH_js.truncate(node.text, 30)
|
|
4096
4099
|
}
|
|
4097
4100
|
)
|
|
4098
4101
|
]
|
|
@@ -4109,12 +4112,12 @@ function HierarchyRenderer({
|
|
|
4109
4112
|
palette,
|
|
4110
4113
|
style
|
|
4111
4114
|
}) {
|
|
4112
|
-
const roots =
|
|
4115
|
+
const roots = chunkKA7ST7IH_js.buildTree(nodes);
|
|
4113
4116
|
if (roots.length === 0) {
|
|
4114
4117
|
return /* @__PURE__ */ jsxRuntime.jsx(ListRenderer, { element, nodes, palette, style });
|
|
4115
4118
|
}
|
|
4116
|
-
const totalLeaves = roots.reduce((s, r) => s +
|
|
4117
|
-
const depth = Math.max(...roots.map(
|
|
4119
|
+
const totalLeaves = roots.reduce((s, r) => s + chunkKA7ST7IH_js.treeWidth(r), 0);
|
|
4120
|
+
const depth = Math.max(...roots.map(chunkKA7ST7IH_js.treeDepth));
|
|
4118
4121
|
const svgW = element.width;
|
|
4119
4122
|
const svgH = element.height;
|
|
4120
4123
|
const cellW = svgW / totalLeaves;
|
|
@@ -4122,24 +4125,24 @@ function HierarchyRenderer({
|
|
|
4122
4125
|
const boxW = Math.min(cellW * 0.8, 140);
|
|
4123
4126
|
const boxH = Math.min(cellH * 0.4, 36);
|
|
4124
4127
|
const rx = Math.min(6, boxH * 0.15);
|
|
4125
|
-
const shadow =
|
|
4126
|
-
const sw =
|
|
4128
|
+
const shadow = chunkKA7ST7IH_js.styleShadow(style);
|
|
4129
|
+
const sw = chunkKA7ST7IH_js.styleStroke(style);
|
|
4127
4130
|
const elements = [];
|
|
4128
4131
|
let colourIdx = 0;
|
|
4129
4132
|
function renderTreeNode(t, xOffset, level) {
|
|
4130
|
-
const w =
|
|
4133
|
+
const w = chunkKA7ST7IH_js.treeWidth(t);
|
|
4131
4134
|
const nodeCx = (xOffset + w / 2) * cellW;
|
|
4132
4135
|
const nodeCy = level * cellH + cellH / 2;
|
|
4133
4136
|
const ci = colourIdx++;
|
|
4134
|
-
const fontSize =
|
|
4137
|
+
const fontSize = chunkKA7ST7IH_js.fitFontSize(t.node.text, boxW * 0.9, boxH, 11);
|
|
4135
4138
|
for (const child of t.children) {
|
|
4136
|
-
const childW =
|
|
4139
|
+
const childW = chunkKA7ST7IH_js.treeWidth(child);
|
|
4137
4140
|
let childOffset2 = xOffset;
|
|
4138
4141
|
for (const c of t.children) {
|
|
4139
4142
|
if (c === child) {
|
|
4140
4143
|
break;
|
|
4141
4144
|
}
|
|
4142
|
-
childOffset2 +=
|
|
4145
|
+
childOffset2 += chunkKA7ST7IH_js.treeWidth(c);
|
|
4143
4146
|
}
|
|
4144
4147
|
const childCx = (childOffset2 + childW / 2) * cellW;
|
|
4145
4148
|
const childCy = (level + 1) * cellH + cellH / 2;
|
|
@@ -4162,7 +4165,7 @@ function HierarchyRenderer({
|
|
|
4162
4165
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4163
4166
|
"g",
|
|
4164
4167
|
{
|
|
4165
|
-
...
|
|
4168
|
+
...chunkKA7ST7IH_js.smartArtNodeGroupProps(t.node.id, shadow),
|
|
4166
4169
|
children: [
|
|
4167
4170
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4168
4171
|
"rect",
|
|
@@ -4172,18 +4175,18 @@ function HierarchyRenderer({
|
|
|
4172
4175
|
width: boxW,
|
|
4173
4176
|
height: boxH,
|
|
4174
4177
|
rx,
|
|
4175
|
-
fill:
|
|
4176
|
-
opacity:
|
|
4178
|
+
fill: chunkKA7ST7IH_js.colour(ci, palette),
|
|
4179
|
+
opacity: chunkKA7ST7IH_js.nodeOpacity(ci, nodes.length, style),
|
|
4177
4180
|
stroke: sw > 0 ? "rgba(255,255,255,0.3)" : "none",
|
|
4178
4181
|
strokeWidth: sw
|
|
4179
4182
|
}
|
|
4180
4183
|
),
|
|
4181
4184
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4182
|
-
|
|
4185
|
+
chunkKA7ST7IH_js.SmartArtNodeText,
|
|
4183
4186
|
{
|
|
4184
4187
|
x: nodeCx,
|
|
4185
4188
|
y: nodeCy,
|
|
4186
|
-
text:
|
|
4189
|
+
text: chunkKA7ST7IH_js.truncate(t.node.text, 40),
|
|
4187
4190
|
fill: "white",
|
|
4188
4191
|
fontSize,
|
|
4189
4192
|
className: "pointer-events-none"
|
|
@@ -4197,7 +4200,7 @@ function HierarchyRenderer({
|
|
|
4197
4200
|
let childOffset = xOffset;
|
|
4198
4201
|
for (const child of t.children) {
|
|
4199
4202
|
renderTreeNode(child, childOffset, level + 1);
|
|
4200
|
-
childOffset +=
|
|
4203
|
+
childOffset += chunkKA7ST7IH_js.treeWidth(child);
|
|
4201
4204
|
}
|
|
4202
4205
|
return w;
|
|
4203
4206
|
}
|
|
@@ -4232,7 +4235,7 @@ function GearRenderer({
|
|
|
4232
4235
|
const gearR = Math.min(spacing * 0.4, h * 0.35);
|
|
4233
4236
|
const innerR = gearR * 0.7;
|
|
4234
4237
|
const teethCount = 8;
|
|
4235
|
-
const shadow =
|
|
4238
|
+
const shadow = chunkKA7ST7IH_js.styleShadow(style);
|
|
4236
4239
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4237
4240
|
"svg",
|
|
4238
4241
|
{
|
|
@@ -4244,27 +4247,27 @@ function GearRenderer({
|
|
|
4244
4247
|
gearNodes.map((node, i) => {
|
|
4245
4248
|
const gx = spacing * (i + 1);
|
|
4246
4249
|
const gy = h / 2 + (i % 2 === 0 ? 0 : gearR * 0.35);
|
|
4247
|
-
const fontSize =
|
|
4250
|
+
const fontSize = chunkKA7ST7IH_js.fitFontSize(node.text, innerR * 1.2, innerR * 2, 11);
|
|
4248
4251
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4249
4252
|
"g",
|
|
4250
4253
|
{
|
|
4251
|
-
...
|
|
4254
|
+
...chunkKA7ST7IH_js.smartArtNodeGroupProps(node.id, shadow),
|
|
4252
4255
|
children: [
|
|
4253
4256
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4254
4257
|
"path",
|
|
4255
4258
|
{
|
|
4256
|
-
d:
|
|
4257
|
-
fill:
|
|
4258
|
-
opacity:
|
|
4259
|
+
d: chunkKA7ST7IH_js.gearPath(gx, gy, gearR, innerR, teethCount),
|
|
4260
|
+
fill: chunkKA7ST7IH_js.colour(i, palette),
|
|
4261
|
+
opacity: chunkKA7ST7IH_js.nodeOpacity(i, nodes.length, style)
|
|
4259
4262
|
}
|
|
4260
4263
|
),
|
|
4261
4264
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: gx, cy: gy, r: innerR * 0.5, fill: "white", opacity: 0.25 }),
|
|
4262
4265
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4263
|
-
|
|
4266
|
+
chunkKA7ST7IH_js.SmartArtNodeText,
|
|
4264
4267
|
{
|
|
4265
4268
|
x: gx,
|
|
4266
4269
|
y: gy,
|
|
4267
|
-
text:
|
|
4270
|
+
text: chunkKA7ST7IH_js.truncate(node.text, 20),
|
|
4268
4271
|
fill: "white",
|
|
4269
4272
|
fontSize,
|
|
4270
4273
|
fontWeight: "bold",
|
|
@@ -4286,8 +4289,8 @@ function GearRenderer({
|
|
|
4286
4289
|
cx: lx,
|
|
4287
4290
|
cy: ly,
|
|
4288
4291
|
r: 3,
|
|
4289
|
-
fill:
|
|
4290
|
-
opacity:
|
|
4292
|
+
fill: chunkKA7ST7IH_js.colour(gearCount + i, palette),
|
|
4293
|
+
opacity: chunkKA7ST7IH_js.nodeOpacity(gearCount + i, nodes.length, style)
|
|
4291
4294
|
}
|
|
4292
4295
|
),
|
|
4293
4296
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4297,10 +4300,10 @@ function GearRenderer({
|
|
|
4297
4300
|
y: ly,
|
|
4298
4301
|
textAnchor: "start",
|
|
4299
4302
|
dominantBaseline: "central",
|
|
4300
|
-
fill:
|
|
4303
|
+
fill: chunkKA7ST7IH_js.colour(gearCount + i, palette),
|
|
4301
4304
|
fontSize: 10,
|
|
4302
4305
|
className: "pointer-events-none",
|
|
4303
|
-
children:
|
|
4306
|
+
children: chunkKA7ST7IH_js.truncate(node.text, 30)
|
|
4304
4307
|
}
|
|
4305
4308
|
)
|
|
4306
4309
|
] }, `${element.id}-gear-extra-${node.id}-${i}`);
|
|
@@ -4324,7 +4327,7 @@ function TimelineRenderer({
|
|
|
4324
4327
|
const lineLen = lineEndX - lineStartX;
|
|
4325
4328
|
const dotR = Math.max(4, Math.min(8, lineLen / (nodes.length * 4)));
|
|
4326
4329
|
const labelOffset = Math.min(h * 0.28, 40);
|
|
4327
|
-
const shadow =
|
|
4330
|
+
const shadow = chunkKA7ST7IH_js.styleShadow(style);
|
|
4328
4331
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4329
4332
|
"svg",
|
|
4330
4333
|
{
|
|
@@ -4346,11 +4349,11 @@ function TimelineRenderer({
|
|
|
4346
4349
|
const above = i % 2 === 0;
|
|
4347
4350
|
const textY = above ? lineY - labelOffset : lineY + labelOffset;
|
|
4348
4351
|
const stemEndY = above ? lineY - dotR - 2 : lineY + dotR + 2;
|
|
4349
|
-
const fontSize =
|
|
4352
|
+
const fontSize = chunkKA7ST7IH_js.fitFontSize(node.text, lineLen / nodes.length * 0.9, labelOffset, 10);
|
|
4350
4353
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4351
4354
|
"g",
|
|
4352
4355
|
{
|
|
4353
|
-
...
|
|
4356
|
+
...chunkKA7ST7IH_js.smartArtNodeGroupProps(node.id, shadow),
|
|
4354
4357
|
children: [
|
|
4355
4358
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4356
4359
|
"line",
|
|
@@ -4359,7 +4362,7 @@ function TimelineRenderer({
|
|
|
4359
4362
|
y1: stemEndY,
|
|
4360
4363
|
x2: x,
|
|
4361
4364
|
y2: textY + (above ? fontSize : -fontSize),
|
|
4362
|
-
stroke:
|
|
4365
|
+
stroke: chunkKA7ST7IH_js.colour(i, palette),
|
|
4363
4366
|
strokeWidth: 1,
|
|
4364
4367
|
opacity: 0.5
|
|
4365
4368
|
}
|
|
@@ -4370,17 +4373,17 @@ function TimelineRenderer({
|
|
|
4370
4373
|
cx: x,
|
|
4371
4374
|
cy: lineY,
|
|
4372
4375
|
r: dotR,
|
|
4373
|
-
fill:
|
|
4374
|
-
opacity:
|
|
4376
|
+
fill: chunkKA7ST7IH_js.colour(i, palette),
|
|
4377
|
+
opacity: chunkKA7ST7IH_js.nodeOpacity(i, nodes.length, style)
|
|
4375
4378
|
}
|
|
4376
4379
|
),
|
|
4377
4380
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4378
|
-
|
|
4381
|
+
chunkKA7ST7IH_js.SmartArtNodeText,
|
|
4379
4382
|
{
|
|
4380
|
-
text:
|
|
4383
|
+
text: chunkKA7ST7IH_js.truncate(node.text, 20) ?? "",
|
|
4381
4384
|
x,
|
|
4382
4385
|
y: textY,
|
|
4383
|
-
fill:
|
|
4386
|
+
fill: chunkKA7ST7IH_js.colour(i, palette),
|
|
4384
4387
|
fontSize,
|
|
4385
4388
|
anchor: above ? "bottom" : "top",
|
|
4386
4389
|
className: "pointer-events-none"
|
|
@@ -4413,8 +4416,8 @@ function BendingProcessRenderer({
|
|
|
4413
4416
|
const boxH = Math.min(cellH * 0.6, 32);
|
|
4414
4417
|
const rx = Math.min(5, boxH * 0.15);
|
|
4415
4418
|
const arrowSize = 6;
|
|
4416
|
-
const shadow =
|
|
4417
|
-
const sw =
|
|
4419
|
+
const shadow = chunkKA7ST7IH_js.styleShadow(style);
|
|
4420
|
+
const sw = chunkKA7ST7IH_js.styleStroke(style);
|
|
4418
4421
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4419
4422
|
"svg",
|
|
4420
4423
|
{
|
|
@@ -4428,7 +4431,7 @@ function BendingProcessRenderer({
|
|
|
4428
4431
|
const col = row % 2 === 0 ? colInRow : COLS - 1 - colInRow;
|
|
4429
4432
|
const nodeCx = padX + col * cellW + cellW / 2;
|
|
4430
4433
|
const nodeCy = padY + row * cellH + cellH / 2;
|
|
4431
|
-
const fontSize =
|
|
4434
|
+
const fontSize = chunkKA7ST7IH_js.fitFontSize(node.text, boxW * 0.85, boxH, 10);
|
|
4432
4435
|
let arrow = null;
|
|
4433
4436
|
if (i < nodes.length - 1) {
|
|
4434
4437
|
const nextRow = Math.floor((i + 1) / COLS);
|
|
@@ -4488,7 +4491,7 @@ function BendingProcessRenderer({
|
|
|
4488
4491
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4489
4492
|
"g",
|
|
4490
4493
|
{
|
|
4491
|
-
...
|
|
4494
|
+
...chunkKA7ST7IH_js.smartArtNodeGroupProps(node.id, shadow),
|
|
4492
4495
|
children: [
|
|
4493
4496
|
arrow,
|
|
4494
4497
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4499,18 +4502,18 @@ function BendingProcessRenderer({
|
|
|
4499
4502
|
width: boxW,
|
|
4500
4503
|
height: boxH,
|
|
4501
4504
|
rx,
|
|
4502
|
-
fill:
|
|
4503
|
-
opacity:
|
|
4505
|
+
fill: chunkKA7ST7IH_js.colour(i, palette),
|
|
4506
|
+
opacity: chunkKA7ST7IH_js.nodeOpacity(i, nodes.length, style),
|
|
4504
4507
|
stroke: sw > 0 ? "rgba(255,255,255,0.3)" : "none",
|
|
4505
4508
|
strokeWidth: sw
|
|
4506
4509
|
}
|
|
4507
4510
|
),
|
|
4508
4511
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4509
|
-
|
|
4512
|
+
chunkKA7ST7IH_js.SmartArtNodeText,
|
|
4510
4513
|
{
|
|
4511
4514
|
x: nodeCx,
|
|
4512
4515
|
y: nodeCy,
|
|
4513
|
-
text:
|
|
4516
|
+
text: chunkKA7ST7IH_js.truncate(node.text, 20),
|
|
4514
4517
|
fill: "white",
|
|
4515
4518
|
fontSize,
|
|
4516
4519
|
className: "pointer-events-none"
|
|
@@ -4551,8 +4554,8 @@ function SmartArtRendererImpl({
|
|
|
4551
4554
|
}
|
|
4552
4555
|
);
|
|
4553
4556
|
}
|
|
4554
|
-
const palette =
|
|
4555
|
-
const style =
|
|
4557
|
+
const palette = chunkKA7ST7IH_js.resolvePalette(element);
|
|
4558
|
+
const style = chunkKA7ST7IH_js.resolveStyle(element);
|
|
4556
4559
|
const a11y = chunkVSNXVKJI_js.buildSmartArtA11y(smartArtData);
|
|
4557
4560
|
const nodeLabels = new Map(a11y.nodes.map((n) => [n.id, n.label]));
|
|
4558
4561
|
const editable = canEdit && Boolean(onUpdateElement);
|
|
@@ -4565,7 +4568,7 @@ function SmartArtRendererImpl({
|
|
|
4565
4568
|
const reflowed = chunkVSNXVKJI_js.rebuildDrawingShapesIfCleared(
|
|
4566
4569
|
updated,
|
|
4567
4570
|
smartArtData.layout,
|
|
4568
|
-
|
|
4571
|
+
chunkKA7ST7IH_js.resolveSmartArtDataPalette(updated),
|
|
4569
4572
|
style,
|
|
4570
4573
|
element.id,
|
|
4571
4574
|
box
|
|
@@ -4582,7 +4585,7 @@ function SmartArtRendererImpl({
|
|
|
4582
4585
|
const reflowed = chunkVSNXVKJI_js.rebuildDrawingShapesIfCleared(
|
|
4583
4586
|
next,
|
|
4584
4587
|
smartArtData.layout,
|
|
4585
|
-
|
|
4588
|
+
chunkKA7ST7IH_js.resolveSmartArtDataPalette(next),
|
|
4586
4589
|
style,
|
|
4587
4590
|
element.id,
|
|
4588
4591
|
box
|
|
@@ -4605,7 +4608,7 @@ function SmartArtRendererImpl({
|
|
|
4605
4608
|
);
|
|
4606
4609
|
} else {
|
|
4607
4610
|
const namedLayout = smartArtData.layout;
|
|
4608
|
-
const layoutType = namedLayout ?
|
|
4611
|
+
const layoutType = namedLayout ? chunkKA7ST7IH_js.layoutToCategory(namedLayout) : (smartArtData.resolvedLayoutType ?? smartArtData.layoutType ?? "list").toLowerCase();
|
|
4609
4612
|
content = renderLayout(layoutType, element, nodes, palette, style, nodeLabels);
|
|
4610
4613
|
}
|
|
4611
4614
|
const body = editable ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4619,7 +4622,7 @@ function SmartArtRendererImpl({
|
|
|
4619
4622
|
children: content
|
|
4620
4623
|
}
|
|
4621
4624
|
) : content;
|
|
4622
|
-
return
|
|
4625
|
+
return chunkKA7ST7IH_js.wrapChrome(chrome, body, className, { role: a11y.role, label: a11y.label });
|
|
4623
4626
|
}
|
|
4624
4627
|
function renderLayout(layoutType, element, nodes, palette, style, nodeLabels) {
|
|
4625
4628
|
if (layoutType.includes("hierarchy") || layoutType.includes("org")) {
|
|
@@ -4683,34 +4686,34 @@ function renderLayout(layoutType, element, nodes, palette, style, nodeLabels) {
|
|
|
4683
4686
|
return /* @__PURE__ */ jsxRuntime.jsx(BendingProcessRenderer, { element, nodes, palette, style });
|
|
4684
4687
|
}
|
|
4685
4688
|
if (layoutType.includes("stepdown")) {
|
|
4686
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children:
|
|
4689
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: chunkKA7ST7IH_js.renderStepDownProcess(element, nodes, palette, style) });
|
|
4687
4690
|
}
|
|
4688
4691
|
if (layoutType.includes("alternatingflow") || layoutType.includes("alternating")) {
|
|
4689
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children:
|
|
4692
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: chunkKA7ST7IH_js.renderAlternatingFlow(element, nodes, palette, style) });
|
|
4690
4693
|
}
|
|
4691
4694
|
if (layoutType.includes("descending")) {
|
|
4692
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children:
|
|
4695
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: chunkKA7ST7IH_js.renderDescendingProcess(element, nodes, palette, style) });
|
|
4693
4696
|
}
|
|
4694
4697
|
if (layoutType.includes("pictureaccent")) {
|
|
4695
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children:
|
|
4698
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: chunkKA7ST7IH_js.renderPictureAccentList(element, nodes, palette, style) });
|
|
4696
4699
|
}
|
|
4697
4700
|
if (layoutType.includes("verticalblock")) {
|
|
4698
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children:
|
|
4701
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: chunkKA7ST7IH_js.renderVerticalBlockList(element, nodes, palette, style) });
|
|
4699
4702
|
}
|
|
4700
4703
|
if (layoutType.includes("grouped")) {
|
|
4701
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children:
|
|
4704
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: chunkKA7ST7IH_js.renderGroupedList(element, nodes, palette, style) });
|
|
4702
4705
|
}
|
|
4703
4706
|
if (layoutType.includes("pyramidlist")) {
|
|
4704
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children:
|
|
4707
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: chunkKA7ST7IH_js.renderPyramidList(element, nodes, palette, style) });
|
|
4705
4708
|
}
|
|
4706
4709
|
if (layoutType.includes("horizontalpicture")) {
|
|
4707
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children:
|
|
4710
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: chunkKA7ST7IH_js.renderHorizontalPictureList(element, nodes, palette, style) });
|
|
4708
4711
|
}
|
|
4709
4712
|
if (layoutType.includes("accentprocess")) {
|
|
4710
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children:
|
|
4713
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: chunkKA7ST7IH_js.renderAccentProcess(element, nodes, palette, style) });
|
|
4711
4714
|
}
|
|
4712
4715
|
if (layoutType.includes("verticalchevron")) {
|
|
4713
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children:
|
|
4716
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: chunkKA7ST7IH_js.renderVerticalChevronList(element, nodes, palette, style) });
|
|
4714
4717
|
}
|
|
4715
4718
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4716
4719
|
ListRenderer,
|
|
@@ -4809,8 +4812,8 @@ function SmartArt3DRenderer({
|
|
|
4809
4812
|
if (nodes.length === 0) {
|
|
4810
4813
|
return null;
|
|
4811
4814
|
}
|
|
4812
|
-
const palette =
|
|
4813
|
-
const style =
|
|
4815
|
+
const palette = chunkKA7ST7IH_js.resolvePalette(element);
|
|
4816
|
+
const style = chunkKA7ST7IH_js.resolveStyle(element);
|
|
4814
4817
|
const layoutResult = chunkVSNXVKJI_js.computeSmartArtLayout(
|
|
4815
4818
|
nodes,
|
|
4816
4819
|
{ width: element.width, height: element.height },
|
|
@@ -4930,13 +4933,13 @@ function getSegmentTspanProps(segment, element, fallbackColor) {
|
|
|
4930
4933
|
if (s.strikethrough) {
|
|
4931
4934
|
decos.push("line-through");
|
|
4932
4935
|
}
|
|
4933
|
-
const fill = s.hyperlink ? chunkVSNXVKJI_js.normalizeHexColor(s.color || element.textStyle?.color,
|
|
4936
|
+
const fill = s.hyperlink ? chunkVSNXVKJI_js.normalizeHexColor(s.color || element.textStyle?.color, chunkKA7ST7IH_js.HYPERLINK_COLOR) : chunkVSNXVKJI_js.normalizeHexColor(s.color || element.textStyle?.color, fallbackColor);
|
|
4934
4937
|
return {
|
|
4935
4938
|
fill,
|
|
4936
|
-
fontSize: s.fontSize ?? element.textStyle?.fontSize ??
|
|
4939
|
+
fontSize: s.fontSize ?? element.textStyle?.fontSize ?? chunkKA7ST7IH_js.DEFAULT_TEXT_FONT_SIZE,
|
|
4937
4940
|
fontWeight: s.bold ? 700 : 400,
|
|
4938
4941
|
fontStyle: s.italic ? "italic" : void 0,
|
|
4939
|
-
fontFamily: s.fontFamily || element.textStyle?.fontFamily ? chunkAD3EAEY6_js.getSubstituteFontFamily(s.fontFamily || element.textStyle?.fontFamily || "") :
|
|
4942
|
+
fontFamily: s.fontFamily || element.textStyle?.fontFamily ? chunkAD3EAEY6_js.getSubstituteFontFamily(s.fontFamily || element.textStyle?.fontFamily || "") : chunkKA7ST7IH_js.DEFAULT_FONT_FAMILY,
|
|
4940
4943
|
textDecoration: decos.length > 0 ? decos.join(" ") : void 0
|
|
4941
4944
|
};
|
|
4942
4945
|
}
|
|
@@ -4965,8 +4968,8 @@ function WarpedText({
|
|
|
4965
4968
|
const warpAdj2 = textEl.textStyle?.textWarpAdj2;
|
|
4966
4969
|
const align = textEl.textStyle?.align ?? "center";
|
|
4967
4970
|
const { startOffset, textAnchor } = getAlignmentProps(align);
|
|
4968
|
-
const baseFontSize = textEl.textStyle?.fontSize ??
|
|
4969
|
-
const baseFontFamily = textEl.textStyle?.fontFamily ? chunkAD3EAEY6_js.getSubstituteFontFamily(textEl.textStyle.fontFamily) :
|
|
4971
|
+
const baseFontSize = textEl.textStyle?.fontSize ?? chunkKA7ST7IH_js.DEFAULT_TEXT_FONT_SIZE;
|
|
4972
|
+
const baseFontFamily = textEl.textStyle?.fontFamily ? chunkAD3EAEY6_js.getSubstituteFontFamily(textEl.textStyle.fontFamily) : chunkKA7ST7IH_js.DEFAULT_FONT_FAMILY;
|
|
4970
4973
|
const baseFill = chunkVSNXVKJI_js.normalizeHexColor(textEl.textStyle?.color, fallbackColor);
|
|
4971
4974
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4972
4975
|
"svg",
|
|
@@ -5095,7 +5098,7 @@ function renderTextElementBody(options) {
|
|
|
5095
5098
|
const useSvgWarp = chunkVSNXVKJI_js.shouldUseSvgWarp(
|
|
5096
5099
|
chunkAD3EAEY6_js.hasTextProperties(el) ? el.textStyle?.textWarpPreset : void 0
|
|
5097
5100
|
);
|
|
5098
|
-
const scene3dStyle = chunkAD3EAEY6_js.hasTextProperties(el) ?
|
|
5101
|
+
const scene3dStyle = chunkAD3EAEY6_js.hasTextProperties(el) ? chunkKA7ST7IH_js.buildTextBody3DSceneStyle(el.textStyle) : void 0;
|
|
5099
5102
|
const composedTransform = [chunkVSNXVKJI_js.getTextCompensationTransform(el), scene3dStyle?.transform].filter(Boolean).join(" ") || void 0;
|
|
5100
5103
|
const transformStyle = {
|
|
5101
5104
|
transform: composedTransform,
|
|
@@ -5112,18 +5115,18 @@ function renderTextElementBody(options) {
|
|
|
5112
5115
|
shouldRenderText && (useSvgWarp ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5113
5116
|
"div",
|
|
5114
5117
|
{
|
|
5115
|
-
className:
|
|
5118
|
+
className: chunkKA7ST7IH_js.cn(
|
|
5116
5119
|
"relative z-10 w-full h-full",
|
|
5117
5120
|
onHyperlinkClick ? "" : "pointer-events-none"
|
|
5118
5121
|
),
|
|
5119
|
-
style: { ...
|
|
5122
|
+
style: { ...chunkKA7ST7IH_js.getTextLayoutStyle(el), ...transformStyle },
|
|
5120
5123
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5121
5124
|
WarpedText,
|
|
5122
5125
|
{
|
|
5123
5126
|
element: el,
|
|
5124
5127
|
width: el.width,
|
|
5125
5128
|
height: el.height,
|
|
5126
|
-
fallbackColor:
|
|
5129
|
+
fallbackColor: chunkKA7ST7IH_js.DEFAULT_TEXT_COLOR,
|
|
5127
5130
|
findHighlights: findHl,
|
|
5128
5131
|
fieldContext
|
|
5129
5132
|
}
|
|
@@ -5132,19 +5135,19 @@ function renderTextElementBody(options) {
|
|
|
5132
5135
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
5133
5136
|
"div",
|
|
5134
5137
|
{
|
|
5135
|
-
className:
|
|
5138
|
+
className: chunkKA7ST7IH_js.cn(
|
|
5136
5139
|
"relative z-10 w-full h-full whitespace-pre-wrap break-words leading-[1.3]",
|
|
5137
5140
|
onHyperlinkClick ? "" : "pointer-events-none"
|
|
5138
5141
|
),
|
|
5139
5142
|
style: {
|
|
5140
|
-
...
|
|
5143
|
+
...chunkKA7ST7IH_js.getTextLayoutStyle(el),
|
|
5141
5144
|
...txtS,
|
|
5142
|
-
...
|
|
5145
|
+
...chunkKA7ST7IH_js.getTextWarpStyle(txtSE),
|
|
5143
5146
|
...transformStyle
|
|
5144
5147
|
},
|
|
5145
|
-
children:
|
|
5148
|
+
children: chunkKA7ST7IH_js.renderTextSegments(
|
|
5146
5149
|
el,
|
|
5147
|
-
|
|
5150
|
+
chunkKA7ST7IH_js.DEFAULT_TEXT_COLOR,
|
|
5148
5151
|
void 0,
|
|
5149
5152
|
findHl,
|
|
5150
5153
|
onHyperlinkClick,
|
|
@@ -5444,7 +5447,7 @@ function renderBody(options) {
|
|
|
5444
5447
|
textDirection: txtSE?.textDirection,
|
|
5445
5448
|
textStyle: txtS,
|
|
5446
5449
|
textStyleRaw: txtSE,
|
|
5447
|
-
layoutStyle:
|
|
5450
|
+
layoutStyle: chunkKA7ST7IH_js.getTextLayoutStyle(el),
|
|
5448
5451
|
element: el,
|
|
5449
5452
|
onCommit,
|
|
5450
5453
|
onCancel,
|
|
@@ -5455,7 +5458,7 @@ function renderBody(options) {
|
|
|
5455
5458
|
] });
|
|
5456
5459
|
}
|
|
5457
5460
|
if (el.type === "table") {
|
|
5458
|
-
return
|
|
5461
|
+
return chunkKA7ST7IH_js.renderTableElement(el, txtS, {
|
|
5459
5462
|
editable: isSel,
|
|
5460
5463
|
selectedCell: isSel ? tableSt : null,
|
|
5461
5464
|
onSelectCell: onCellSel,
|
|
@@ -5486,7 +5489,7 @@ function renderBody(options) {
|
|
|
5486
5489
|
);
|
|
5487
5490
|
}
|
|
5488
5491
|
if (el.type === "media") {
|
|
5489
|
-
return
|
|
5492
|
+
return chunkKA7ST7IH_js.renderMediaElement(el, media, {
|
|
5490
5493
|
autoPlay: isPresentationPassive,
|
|
5491
5494
|
fullScreen: isPresentationPassive && Boolean(el.fullScreen),
|
|
5492
5495
|
isPresentationMode: isPresentationPassive,
|
|
@@ -5511,7 +5514,7 @@ function renderBody(options) {
|
|
|
5511
5514
|
}
|
|
5512
5515
|
return renderGroup(el.children);
|
|
5513
5516
|
}
|
|
5514
|
-
if (
|
|
5517
|
+
if (chunkKA7ST7IH_js.shouldRenderFallbackLabel(el, isTxtEl)) {
|
|
5515
5518
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunkVSNXVKJI_js.getElementLabel(el) });
|
|
5516
5519
|
}
|
|
5517
5520
|
return renderTextElementBody(options);
|
|
@@ -5530,13 +5533,13 @@ function StaticElementRenderer({
|
|
|
5530
5533
|
}) {
|
|
5531
5534
|
const style = chunkAD3EAEY6_js.hasShapeProperties(element) ? element.shapeStyle : void 0;
|
|
5532
5535
|
const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunkVSNXVKJI_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
|
|
5533
|
-
const fill = chunkVSNXVKJI_js.normalizeHexColor(style?.fillColor,
|
|
5536
|
+
const fill = chunkVSNXVKJI_js.normalizeHexColor(style?.fillColor, chunkKA7ST7IH_js.DEFAULT_FILL_COLOR);
|
|
5534
5537
|
const strokeWidth = Math.max(0, style?.strokeWidth || 0);
|
|
5535
|
-
const stroke = chunkVSNXVKJI_js.normalizeHexColor(style?.strokeColor,
|
|
5536
|
-
const visualStyle =
|
|
5537
|
-
const textStyle =
|
|
5538
|
+
const stroke = chunkVSNXVKJI_js.normalizeHexColor(style?.strokeColor, chunkKA7ST7IH_js.DEFAULT_STROKE_COLOR);
|
|
5539
|
+
const visualStyle = chunkKA7ST7IH_js.getShapeVisualStyle(element, hasFill, fill, strokeWidth, stroke);
|
|
5540
|
+
const textStyle = chunkKA7ST7IH_js.getTextStyleForElement(
|
|
5538
5541
|
element,
|
|
5539
|
-
element.type === "shape" && hasFill ? "#ffffff" :
|
|
5542
|
+
element.type === "shape" && hasFill ? "#ffffff" : chunkKA7ST7IH_js.DEFAULT_TEXT_COLOR
|
|
5540
5543
|
);
|
|
5541
5544
|
const isImage = element.type === "picture" || element.type === "image";
|
|
5542
5545
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -5573,8 +5576,8 @@ function StaticElementRenderer({
|
|
|
5573
5576
|
spellCheck: false,
|
|
5574
5577
|
txtSE: chunkAD3EAEY6_js.hasTextProperties(element) ? element.textStyle : void 0,
|
|
5575
5578
|
txtS: textStyle,
|
|
5576
|
-
vecShape:
|
|
5577
|
-
imgStyle:
|
|
5579
|
+
vecShape: chunkKA7ST7IH_js.renderVectorShape(element, hasFill, fill, strokeWidth, stroke),
|
|
5580
|
+
imgStyle: chunkKA7ST7IH_js.getImageRenderStyle(element),
|
|
5578
5581
|
imgFilter: chunkVSNXVKJI_js.getImageEffectsFilter(element),
|
|
5579
5582
|
imgOpacity: chunkVSNXVKJI_js.getImageEffectsOpacity(element),
|
|
5580
5583
|
imgAlt: "",
|
|
@@ -5604,12 +5607,12 @@ function SlideThumbnailImpl({
|
|
|
5604
5607
|
}) {
|
|
5605
5608
|
const safeCanvasWidth = Math.max(canvasSize.width, 1);
|
|
5606
5609
|
const safeCanvasHeight = Math.max(canvasSize.height, 1);
|
|
5607
|
-
const scale =
|
|
5610
|
+
const scale = chunkKA7ST7IH_js.SLIDE_NAV_THUMBNAIL_WIDTH / safeCanvasWidth;
|
|
5608
5611
|
const previewHeight = Math.max(56, Math.round(safeCanvasHeight * scale));
|
|
5609
5612
|
const previewElements = [...templateElements, ...slide.elements].slice(0, 60);
|
|
5610
5613
|
const { t } = reactI18next.useTranslation();
|
|
5611
5614
|
const transitionLabel = slide.transition ? (() => {
|
|
5612
|
-
const opt =
|
|
5615
|
+
const opt = chunkKA7ST7IH_js.SLIDE_TRANSITION_OPTIONS.find((o) => o.value === slide.transition?.type);
|
|
5613
5616
|
return opt ? t(opt.i18nKey) : slide.transition.type;
|
|
5614
5617
|
})() : void 0;
|
|
5615
5618
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6302,7 +6305,7 @@ function SectionHeader({
|
|
|
6302
6305
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6303
6306
|
lu.LuChevronDown,
|
|
6304
6307
|
{
|
|
6305
|
-
className:
|
|
6308
|
+
className: chunkKA7ST7IH_js.cn(
|
|
6306
6309
|
"h-3 w-3 flex-shrink-0 transition-transform",
|
|
6307
6310
|
isCollapsed ? "-rotate-90" : "rotate-0"
|
|
6308
6311
|
)
|
|
@@ -6404,7 +6407,7 @@ function LazyThumbnailInner({
|
|
|
6404
6407
|
className: "relative w-full overflow-hidden rounded border border-border bg-muted/30 animate-pulse",
|
|
6405
6408
|
style: {
|
|
6406
6409
|
height: previewHeight,
|
|
6407
|
-
minWidth:
|
|
6410
|
+
minWidth: chunkKA7ST7IH_js.SLIDE_NAV_THUMBNAIL_WIDTH
|
|
6408
6411
|
}
|
|
6409
6412
|
}
|
|
6410
6413
|
) });
|
|
@@ -6441,7 +6444,7 @@ function buildFlatPaneItems(sectionGroups, showSectionHeaders, collapsedSections
|
|
|
6441
6444
|
function estimateSlideItemHeight(canvasWidth, canvasHeight) {
|
|
6442
6445
|
const safeW = Math.max(canvasWidth, 1);
|
|
6443
6446
|
const safeH = Math.max(canvasHeight, 1);
|
|
6444
|
-
const scale =
|
|
6447
|
+
const scale = chunkKA7ST7IH_js.SLIDE_NAV_THUMBNAIL_WIDTH / safeW;
|
|
6445
6448
|
const previewHeight = Math.max(56, Math.round(safeH * scale));
|
|
6446
6449
|
return previewHeight + 30;
|
|
6447
6450
|
}
|
|
@@ -6478,7 +6481,7 @@ function SlideItemInner({
|
|
|
6478
6481
|
);
|
|
6479
6482
|
const safeCanvasWidth = Math.max(canvasSize.width, 1);
|
|
6480
6483
|
const safeCanvasHeight = Math.max(canvasSize.height, 1);
|
|
6481
|
-
const scale =
|
|
6484
|
+
const scale = chunkKA7ST7IH_js.SLIDE_NAV_THUMBNAIL_WIDTH / safeCanvasWidth;
|
|
6482
6485
|
const previewHeight = Math.max(56, Math.round(safeCanvasHeight * scale));
|
|
6483
6486
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6484
6487
|
"button",
|
|
@@ -6487,7 +6490,7 @@ function SlideItemInner({
|
|
|
6487
6490
|
ref: slideRef,
|
|
6488
6491
|
"aria-label": `Go to slide ${slideIndex + 1}`,
|
|
6489
6492
|
"aria-current": isActive ? "true" : void 0,
|
|
6490
|
-
className:
|
|
6493
|
+
className: chunkKA7ST7IH_js.cn(
|
|
6491
6494
|
"group relative flex w-full items-center gap-1 cursor-pointer border-0 bg-transparent py-0.5 px-1 text-left transition-all",
|
|
6492
6495
|
isActive && "bg-accent/40 before:absolute before:left-0 before:top-1 before:bottom-1 before:w-[3px] before:bg-primary before:rounded-r",
|
|
6493
6496
|
isHidden && "opacity-50"
|
|
@@ -6503,7 +6506,7 @@ function SlideItemInner({
|
|
|
6503
6506
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6504
6507
|
"span",
|
|
6505
6508
|
{
|
|
6506
|
-
className:
|
|
6509
|
+
className: chunkKA7ST7IH_js.cn(
|
|
6507
6510
|
"text-[10px] tabular-nums text-right select-none w-full",
|
|
6508
6511
|
isActive ? "text-primary font-medium" : "text-muted-foreground"
|
|
6509
6512
|
),
|
|
@@ -6523,7 +6526,7 @@ function SlideItemInner({
|
|
|
6523
6526
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
6524
6527
|
"div",
|
|
6525
6528
|
{
|
|
6526
|
-
className:
|
|
6529
|
+
className: chunkKA7ST7IH_js.cn(
|
|
6527
6530
|
"relative flex-1 overflow-hidden border transition-colors bg-white",
|
|
6528
6531
|
isActive ? "border-primary/60" : "border-transparent group-hover:border-border/40"
|
|
6529
6532
|
),
|
|
@@ -6728,7 +6731,7 @@ function SlidesPaneSidebar({
|
|
|
6728
6731
|
[sectionGroups, showSectionHeaders, collapsedSections]
|
|
6729
6732
|
);
|
|
6730
6733
|
const shouldVirtualize = slides.length >= VIRTUALIZATION_THRESHOLD;
|
|
6731
|
-
const { startIndex, endIndex, totalHeight, offsetY, scrollContainerRef, scrollToIndex } =
|
|
6734
|
+
const { startIndex, endIndex, totalHeight, offsetY, scrollContainerRef, scrollToIndex } = chunkKA7ST7IH_js.useVirtualizedSlides({
|
|
6732
6735
|
totalItems: shouldVirtualize ? flatItems.length : 0,
|
|
6733
6736
|
itemHeight: estimatedItemHeight
|
|
6734
6737
|
});
|
|
@@ -6958,7 +6961,7 @@ function HandoutMasterPanel({
|
|
|
6958
6961
|
{
|
|
6959
6962
|
type: "button",
|
|
6960
6963
|
"aria-pressed": slidesPerPage === count,
|
|
6961
|
-
className:
|
|
6964
|
+
className: chunkKA7ST7IH_js.cn(
|
|
6962
6965
|
"px-2 py-1.5 rounded text-[11px] font-medium transition-colors",
|
|
6963
6966
|
slidesPerPage === count ? "bg-primary text-white" : "bg-accent/50 text-muted-foreground hover:bg-accent/70 hover:text-foreground"
|
|
6964
6967
|
),
|
|
@@ -7086,7 +7089,7 @@ function SlideMastersList({
|
|
|
7086
7089
|
"div",
|
|
7087
7090
|
{
|
|
7088
7091
|
ref: isMasterActive ? activeRef : void 0,
|
|
7089
|
-
className:
|
|
7092
|
+
className: chunkKA7ST7IH_js.cn(
|
|
7090
7093
|
"group relative cursor-pointer rounded-lg border-2 p-1 transition-all",
|
|
7091
7094
|
isMasterActive ? "border-amber-500 bg-amber-500/10" : "border-border bg-background/40 hover:border-border"
|
|
7092
7095
|
),
|
|
@@ -7103,7 +7106,7 @@ function SlideMastersList({
|
|
|
7103
7106
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 px-1", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7104
7107
|
"span",
|
|
7105
7108
|
{
|
|
7106
|
-
className:
|
|
7109
|
+
className: chunkKA7ST7IH_js.cn(
|
|
7107
7110
|
"text-[10px] font-medium",
|
|
7108
7111
|
isMasterActive ? "text-amber-400" : "text-muted-foreground"
|
|
7109
7112
|
),
|
|
@@ -7119,7 +7122,7 @@ function SlideMastersList({
|
|
|
7119
7122
|
"div",
|
|
7120
7123
|
{
|
|
7121
7124
|
ref: isLayoutActive ? activeRef : void 0,
|
|
7122
|
-
className:
|
|
7125
|
+
className: chunkKA7ST7IH_js.cn(
|
|
7123
7126
|
"group relative cursor-pointer rounded-md border-2 p-0.5 transition-all",
|
|
7124
7127
|
isLayoutActive ? "border-primary bg-primary/10" : "border-border bg-background/40 hover:border-border"
|
|
7125
7128
|
),
|
|
@@ -7136,7 +7139,7 @@ function SlideMastersList({
|
|
|
7136
7139
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-0.5 px-0.5", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7137
7140
|
"span",
|
|
7138
7141
|
{
|
|
7139
|
-
className:
|
|
7142
|
+
className: chunkKA7ST7IH_js.cn(
|
|
7140
7143
|
"text-[9px]",
|
|
7141
7144
|
isLayoutActive ? "text-primary" : "text-muted-foreground"
|
|
7142
7145
|
),
|
|
@@ -7220,7 +7223,7 @@ function MasterViewSidebar({
|
|
|
7220
7223
|
type: "button",
|
|
7221
7224
|
role: "tab",
|
|
7222
7225
|
"aria-selected": masterViewTab === tab.key,
|
|
7223
|
-
className:
|
|
7226
|
+
className: chunkKA7ST7IH_js.cn(
|
|
7224
7227
|
"flex-1 px-1 py-1.5 text-[10px] font-medium transition-colors border-b-2",
|
|
7225
7228
|
masterViewTab === tab.key ? "border-amber-500 text-amber-400" : "border-transparent text-muted-foreground hover:text-foreground"
|
|
7226
7229
|
),
|
|
@@ -7692,7 +7695,7 @@ function SectionBlock({
|
|
|
7692
7695
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7693
7696
|
lu.LuChevronDown,
|
|
7694
7697
|
{
|
|
7695
|
-
className:
|
|
7698
|
+
className: chunkKA7ST7IH_js.cn("h-3 w-3 transition-transform", collapsed ? "-rotate-90" : "rotate-0")
|
|
7696
7699
|
}
|
|
7697
7700
|
),
|
|
7698
7701
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-left", children: section.label }),
|
|
@@ -7739,7 +7742,7 @@ function SlideCardImpl({
|
|
|
7739
7742
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7740
7743
|
"div",
|
|
7741
7744
|
{
|
|
7742
|
-
className:
|
|
7745
|
+
className: chunkKA7ST7IH_js.cn(
|
|
7743
7746
|
"group relative cursor-pointer rounded-lg border-2 p-1 transition-all",
|
|
7744
7747
|
isDragTarget ? "border-primary bg-primary/20" : isSelected ? "border-primary bg-primary/10 ring-1 ring-primary/50" : isActive ? "border-primary/50 bg-primary/5" : "border-border bg-background/50 hover:border-border",
|
|
7745
7748
|
slide.hidden && "opacity-40"
|
|
@@ -7758,7 +7761,7 @@ function SlideCardImpl({
|
|
|
7758
7761
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7759
7762
|
"span",
|
|
7760
7763
|
{
|
|
7761
|
-
className:
|
|
7764
|
+
className: chunkKA7ST7IH_js.cn(
|
|
7762
7765
|
"text-[11px] font-medium",
|
|
7763
7766
|
isSelected ? "text-primary" : isActive ? "text-primary/70" : "text-muted-foreground"
|
|
7764
7767
|
),
|
|
@@ -9493,7 +9496,7 @@ var SlideNotesPanel = ({
|
|
|
9493
9496
|
});
|
|
9494
9497
|
const hasNotes = draft.trim().length > 0;
|
|
9495
9498
|
const slideLabel = activeSlide ? t("pptx.notes.slideN", { n: activeSlide.slideNumber }) : t("pptx.notes.noSlide");
|
|
9496
|
-
const { dragY, handlers: dragHandlers } =
|
|
9499
|
+
const { dragY, handlers: dragHandlers } = chunkKA7ST7IH_js.useSheetDismissDrag(onToggle);
|
|
9497
9500
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9498
9501
|
isExpanded && /* @__PURE__ */ jsxRuntime.jsx(
|
|
9499
9502
|
"button",
|
|
@@ -9507,7 +9510,7 @@ var SlideNotesPanel = ({
|
|
|
9507
9510
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
9508
9511
|
"div",
|
|
9509
9512
|
{
|
|
9510
|
-
className:
|
|
9513
|
+
className: chunkKA7ST7IH_js.cn(
|
|
9511
9514
|
"flex flex-col border-t border-border/60 bg-background select-none",
|
|
9512
9515
|
// On mobile, hide the entire notes strip when collapsed: the
|
|
9513
9516
|
// MobileBottomBar's Notes button is the entry point instead.
|
|
@@ -9858,7 +9861,7 @@ function SlideDiffRow({
|
|
|
9858
9861
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9859
9862
|
"div",
|
|
9860
9863
|
{
|
|
9861
|
-
className:
|
|
9864
|
+
className: chunkKA7ST7IH_js.cn(
|
|
9862
9865
|
"rounded-lg border transition-colors",
|
|
9863
9866
|
isResolved ? "border-border/60 bg-card/40 opacity-60" : "border-border bg-background/70"
|
|
9864
9867
|
),
|
|
@@ -9872,7 +9875,7 @@ function SlideDiffRow({
|
|
|
9872
9875
|
children: [
|
|
9873
9876
|
expanded ? /* @__PURE__ */ jsxRuntime.jsx(lu.LuChevronDown, { className: "w-3.5 h-3.5 text-muted-foreground flex-shrink-0" }) : /* @__PURE__ */ jsxRuntime.jsx(lu.LuChevronRight, { className: "w-3.5 h-3.5 text-muted-foreground flex-shrink-0" }),
|
|
9874
9877
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-foreground", children: t("pptx.compare.slideNumber", { number: slideNumber }) }),
|
|
9875
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
9878
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkKA7ST7IH_js.cn("rounded-full px-2 py-0.5 text-[10px] font-medium", statusColor), children: statusLabel }),
|
|
9876
9879
|
diff.changes.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-muted-foreground", children: [
|
|
9877
9880
|
diff.changes.length,
|
|
9878
9881
|
" ",
|
|
@@ -9882,7 +9885,7 @@ function SlideDiffRow({
|
|
|
9882
9885
|
isResolved && /* @__PURE__ */ jsxRuntime.jsx(
|
|
9883
9886
|
"span",
|
|
9884
9887
|
{
|
|
9885
|
-
className:
|
|
9888
|
+
className: chunkKA7ST7IH_js.cn(
|
|
9886
9889
|
"text-[10px] font-medium",
|
|
9887
9890
|
accepted ? "text-green-400" : "text-muted-foreground"
|
|
9888
9891
|
),
|
|
@@ -9910,7 +9913,7 @@ function SlideDiffRow({
|
|
|
9910
9913
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9911
9914
|
"div",
|
|
9912
9915
|
{
|
|
9913
|
-
className:
|
|
9916
|
+
className: chunkKA7ST7IH_js.cn(
|
|
9914
9917
|
"rounded border overflow-hidden",
|
|
9915
9918
|
diff.status === "added" ? "border-green-700/60" : diff.status === "changed" ? "border-amber-700/60" : "border-border"
|
|
9916
9919
|
),
|
|
@@ -10631,7 +10634,7 @@ function DocumentPropertiesDialog({
|
|
|
10631
10634
|
const handleClose = React14.useCallback(() => {
|
|
10632
10635
|
onClose();
|
|
10633
10636
|
}, [onClose]);
|
|
10634
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
10637
|
+
const { panelStyle, handlers: dragHandlers } = chunkKA7ST7IH_js.useModalDismissDrag(handleClose);
|
|
10635
10638
|
if (!isOpen) {
|
|
10636
10639
|
return null;
|
|
10637
10640
|
}
|
|
@@ -12250,7 +12253,7 @@ function SelectionPane({
|
|
|
12250
12253
|
setDragIndex(null);
|
|
12251
12254
|
setDragOverIndex(null);
|
|
12252
12255
|
},
|
|
12253
|
-
className:
|
|
12256
|
+
className: chunkKA7ST7IH_js.cn(
|
|
12254
12257
|
"flex items-center gap-1.5 px-2 py-1 text-xs cursor-pointer transition-colors",
|
|
12255
12258
|
isSelected ? "bg-primary/30 text-primary" : "hover:bg-muted text-foreground",
|
|
12256
12259
|
dragOverIndex === realIndex ? "border-t-2 border-primary" : ""
|
|
@@ -12307,7 +12310,7 @@ function RibbonGroup({
|
|
|
12307
12310
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12308
12311
|
"section",
|
|
12309
12312
|
{
|
|
12310
|
-
className:
|
|
12313
|
+
className: chunkKA7ST7IH_js.cn(
|
|
12311
12314
|
"relative flex min-h-[78px] shrink-0 items-start gap-1 border-r border-border/60 px-2 pb-4 pt-1 last:border-r-0",
|
|
12312
12315
|
className
|
|
12313
12316
|
),
|
|
@@ -12335,7 +12338,7 @@ function RibbonCommand({
|
|
|
12335
12338
|
onClick,
|
|
12336
12339
|
disabled,
|
|
12337
12340
|
title: title ?? label,
|
|
12338
|
-
className:
|
|
12341
|
+
className: chunkKA7ST7IH_js.cn(
|
|
12339
12342
|
"inline-flex rounded-sm text-foreground transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-35",
|
|
12340
12343
|
active && "bg-primary/15 text-primary ring-1 ring-primary/35",
|
|
12341
12344
|
compact ? "h-[26px] min-w-[88px] items-center gap-1.5 px-1.5 text-left text-[10px] leading-3" : "h-[58px] min-w-[54px] max-w-[72px] flex-col items-center justify-start gap-0.5 px-1 py-1 text-center text-[9px] leading-[11px]"
|
|
@@ -12344,7 +12347,7 @@ function RibbonCommand({
|
|
|
12344
12347
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12345
12348
|
"span",
|
|
12346
12349
|
{
|
|
12347
|
-
className:
|
|
12350
|
+
className: chunkKA7ST7IH_js.cn(
|
|
12348
12351
|
"grid shrink-0 place-items-center text-primary",
|
|
12349
12352
|
compact ? "h-4 w-4 [&>svg]:h-4 [&>svg]:w-4" : "h-7 w-7 [&>svg]:h-6 [&>svg]:w-6"
|
|
12350
12353
|
),
|
|
@@ -12373,7 +12376,7 @@ function RibbonToggle({
|
|
|
12373
12376
|
"label",
|
|
12374
12377
|
{
|
|
12375
12378
|
title,
|
|
12376
|
-
className:
|
|
12379
|
+
className: chunkKA7ST7IH_js.cn(
|
|
12377
12380
|
"flex h-[19px] items-center gap-1 whitespace-nowrap rounded-sm px-1 text-[10px] text-foreground",
|
|
12378
12381
|
checked && "bg-primary/15 text-primary"
|
|
12379
12382
|
),
|
|
@@ -12775,7 +12778,7 @@ function ArrangeSection(p) {
|
|
|
12775
12778
|
disabled: !p.canEdit || p.canActivateFormatPainter === false && !p.formatPainterActive,
|
|
12776
12779
|
"data-testid": "format-painter-toggle",
|
|
12777
12780
|
"data-active": p.formatPainterActive ? "true" : "false",
|
|
12778
|
-
className:
|
|
12781
|
+
className: chunkKA7ST7IH_js.cn(
|
|
12779
12782
|
pill,
|
|
12780
12783
|
p.formatPainterActive ? "bg-amber-600 hover:bg-amber-500 text-amber-50" : ""
|
|
12781
12784
|
),
|
|
@@ -12888,7 +12891,7 @@ function DesignSection(p) {
|
|
|
12888
12891
|
{
|
|
12889
12892
|
onClick: p.onToggleThemeGallery,
|
|
12890
12893
|
disabled: !p.canEdit,
|
|
12891
|
-
className:
|
|
12894
|
+
className: chunkKA7ST7IH_js.cn(
|
|
12892
12895
|
pill,
|
|
12893
12896
|
p.isThemeGalleryOpen ? "bg-primary hover:bg-primary/80 text-white" : ""
|
|
12894
12897
|
),
|
|
@@ -12904,7 +12907,7 @@ function DesignSection(p) {
|
|
|
12904
12907
|
{
|
|
12905
12908
|
onClick: p.onToggleThemeEditor,
|
|
12906
12909
|
disabled: !p.canEdit,
|
|
12907
|
-
className:
|
|
12910
|
+
className: chunkKA7ST7IH_js.cn(pill, p.isThemeEditorOpen ? "bg-primary hover:bg-primary/80 text-white" : ""),
|
|
12908
12911
|
title: t("pptx.ribbon.editThemeTitle"),
|
|
12909
12912
|
children: [
|
|
12910
12913
|
/* @__PURE__ */ jsxRuntime.jsx(lu.LuPencil, { className: ics }),
|
|
@@ -12929,7 +12932,7 @@ function DesignSection(p) {
|
|
|
12929
12932
|
"button",
|
|
12930
12933
|
{
|
|
12931
12934
|
onClick: p.onToggleInspector,
|
|
12932
|
-
className:
|
|
12935
|
+
className: chunkKA7ST7IH_js.cn(
|
|
12933
12936
|
pill,
|
|
12934
12937
|
p.isInspectorPaneOpen ? "bg-primary hover:bg-primary/80 text-white" : ""
|
|
12935
12938
|
),
|
|
@@ -12971,7 +12974,7 @@ function TransitionsSection(p) {
|
|
|
12971
12974
|
{
|
|
12972
12975
|
type: "button",
|
|
12973
12976
|
onClick: () => setSelected(preset.value),
|
|
12974
|
-
className:
|
|
12977
|
+
className: chunkKA7ST7IH_js.cn(
|
|
12975
12978
|
"flex-shrink-0 px-2 py-1 max-md:min-h-[44px] rounded border text-[11px] leading-tight transition-colors",
|
|
12976
12979
|
selected === preset.value ? "border-primary bg-primary/10 text-primary font-medium" : "border-border bg-muted hover:bg-accent text-foreground"
|
|
12977
12980
|
),
|
|
@@ -13056,7 +13059,7 @@ function TransitionsSection(p) {
|
|
|
13056
13059
|
{
|
|
13057
13060
|
type: "button",
|
|
13058
13061
|
onClick: p.onToggleInspector,
|
|
13059
|
-
className:
|
|
13062
|
+
className: chunkKA7ST7IH_js.cn(
|
|
13060
13063
|
pill,
|
|
13061
13064
|
p.isInspectorPaneOpen ? "bg-primary hover:bg-primary/80 text-white" : ""
|
|
13062
13065
|
),
|
|
@@ -13077,7 +13080,7 @@ function DrawSection(p) {
|
|
|
13077
13080
|
{
|
|
13078
13081
|
type: "button",
|
|
13079
13082
|
onClick: () => p.onSetActiveTool(tool.id),
|
|
13080
|
-
className:
|
|
13083
|
+
className: chunkKA7ST7IH_js.cn(
|
|
13081
13084
|
i < a.length - 1 ? gB : gL,
|
|
13082
13085
|
p.activeTool === tool.id ? tool.ac ?? "bg-accent text-foreground" : ""
|
|
13083
13086
|
),
|
|
@@ -13161,7 +13164,7 @@ function AccountPage() {
|
|
|
13161
13164
|
return void 0;
|
|
13162
13165
|
});
|
|
13163
13166
|
};
|
|
13164
|
-
const version = "1.
|
|
13167
|
+
const version = "1.22.1" ;
|
|
13165
13168
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
|
|
13166
13169
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: cardClass, children: [
|
|
13167
13170
|
/* @__PURE__ */ jsxRuntime.jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
|
|
@@ -13201,7 +13204,7 @@ function AccountPage() {
|
|
|
13201
13204
|
"aria-label": color,
|
|
13202
13205
|
"aria-pressed": profile.avatarColor === color,
|
|
13203
13206
|
onClick: () => updateProfile({ avatarColor: color }),
|
|
13204
|
-
className:
|
|
13207
|
+
className: chunkKA7ST7IH_js.cn(
|
|
13205
13208
|
"size-7 rounded-full border-2 transition-transform",
|
|
13206
13209
|
profile.avatarColor === color ? "border-foreground scale-110" : "border-transparent hover:scale-105"
|
|
13207
13210
|
),
|
|
@@ -13351,7 +13354,7 @@ function FileSection(p) {
|
|
|
13351
13354
|
const [page, setPage] = React14.useState("home");
|
|
13352
13355
|
const [query, setQuery] = React14.useState("");
|
|
13353
13356
|
const [recent, setRecent] = React14.useState([]);
|
|
13354
|
-
const { isHidden } =
|
|
13357
|
+
const { isHidden } = chunkKA7ST7IH_js.useToolbarVisibility(p.hiddenActions);
|
|
13355
13358
|
const exportHidden = isHidden("export");
|
|
13356
13359
|
React14.useEffect(() => {
|
|
13357
13360
|
void chunkVSNXVKJI_js.listBackstageRecentFiles().then(setRecent);
|
|
@@ -13682,7 +13685,7 @@ function SlidesGroup(p) {
|
|
|
13682
13685
|
type: "button",
|
|
13683
13686
|
onClick: handleNewSlide,
|
|
13684
13687
|
disabled: !p.canEdit || p.layoutOptions.length === 0,
|
|
13685
|
-
className:
|
|
13688
|
+
className: chunkKA7ST7IH_js.cn(
|
|
13686
13689
|
pill,
|
|
13687
13690
|
"whitespace-nowrap",
|
|
13688
13691
|
p.layoutOptions.length > 0 ? "rounded-r-none" : ""
|
|
@@ -13872,7 +13875,7 @@ function HomeSection(p) {
|
|
|
13872
13875
|
setTimeout(() => setCutFeedback(false), 600);
|
|
13873
13876
|
},
|
|
13874
13877
|
disabled: !p.canEdit,
|
|
13875
|
-
className:
|
|
13878
|
+
className: chunkKA7ST7IH_js.cn(gB, cutFeedback && "bg-green-600/20 text-green-400"),
|
|
13876
13879
|
title: t("pptx.arrange.cut"),
|
|
13877
13880
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuScissors, { className: ic2 })
|
|
13878
13881
|
}
|
|
@@ -13886,7 +13889,7 @@ function HomeSection(p) {
|
|
|
13886
13889
|
setCopiedFeedback(true);
|
|
13887
13890
|
setTimeout(() => setCopiedFeedback(false), 600);
|
|
13888
13891
|
},
|
|
13889
|
-
className:
|
|
13892
|
+
className: chunkKA7ST7IH_js.cn(gB, copiedFeedback && "bg-green-600/20 text-green-400"),
|
|
13890
13893
|
title: t("pptx.arrange.copy"),
|
|
13891
13894
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuCopy, { className: ic2 })
|
|
13892
13895
|
}
|
|
@@ -13899,7 +13902,7 @@ function HomeSection(p) {
|
|
|
13899
13902
|
disabled: !p.canEdit || p.canActivateFormatPainter === false && !p.formatPainterActive,
|
|
13900
13903
|
"data-testid": "format-painter-toggle",
|
|
13901
13904
|
"data-active": p.formatPainterActive ? "true" : "false",
|
|
13902
|
-
className:
|
|
13905
|
+
className: chunkKA7ST7IH_js.cn(
|
|
13903
13906
|
gL,
|
|
13904
13907
|
p.formatPainterActive ? "bg-amber-600 hover:bg-amber-500 text-amber-50" : ""
|
|
13905
13908
|
),
|
|
@@ -14074,7 +14077,7 @@ function InsertSection(p) {
|
|
|
14074
14077
|
onChange: (e) => p.onSetNewShapeType(e.target.value),
|
|
14075
14078
|
className: "bg-transparent py-1.5 pl-2 pr-1 outline-none text-xs",
|
|
14076
14079
|
title: t("pptx.insert.shapeType"),
|
|
14077
|
-
children:
|
|
14080
|
+
children: chunkKA7ST7IH_js.SHAPE_PRESETS.map((sp) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: sp.type, className: "bg-background", children: t(sp.i18nKey) }, sp.type))
|
|
14078
14081
|
}
|
|
14079
14082
|
),
|
|
14080
14083
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -14085,7 +14088,7 @@ function InsertSection(p) {
|
|
|
14085
14088
|
className: "inline-flex items-center gap-1.5 px-2.5 py-1.5 border-l border-border hover:bg-accent transition-colors text-xs",
|
|
14086
14089
|
title: t("pptx.insert.addShape"),
|
|
14087
14090
|
children: [
|
|
14088
|
-
|
|
14091
|
+
chunkKA7ST7IH_js.SHAPE_PRESETS.find((sp) => sp.type === p.newShapeType)?.icon || /* @__PURE__ */ jsxRuntime.jsx(lu.LuSquare, { className: ic2 }),
|
|
14089
14092
|
t("pptx.insert.shape")
|
|
14090
14093
|
]
|
|
14091
14094
|
}
|
|
@@ -14568,7 +14571,7 @@ function ReviewSection(p) {
|
|
|
14568
14571
|
}
|
|
14569
14572
|
function SlideShowSection(p) {
|
|
14570
14573
|
const { t } = reactI18next.useTranslation();
|
|
14571
|
-
const { isHidden } =
|
|
14574
|
+
const { isHidden } = chunkKA7ST7IH_js.useToolbarVisibility(p.hiddenActions);
|
|
14572
14575
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
14573
14576
|
/* @__PURE__ */ jsxRuntime.jsxs(RibbonGroup, { label: t("pptx.slideShow.start", { defaultValue: "Start Slide Show" }), children: [
|
|
14574
14577
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -15268,6 +15271,7 @@ function TextSection(p) {
|
|
|
15268
15271
|
{
|
|
15269
15272
|
type: "button",
|
|
15270
15273
|
"aria-label": c,
|
|
15274
|
+
"data-pptx-compact": true,
|
|
15271
15275
|
className: `w-5 h-5 rounded-full border transition-transform hover:scale-125 ${currentColor?.toLowerCase() === c ? "border-primary ring-1 ring-primary" : "border-border"}`,
|
|
15272
15276
|
style: { backgroundColor: c },
|
|
15273
15277
|
onMouseDown: (e) => e.preventDefault(),
|
|
@@ -15325,6 +15329,7 @@ function TextSection(p) {
|
|
|
15325
15329
|
{
|
|
15326
15330
|
type: "button",
|
|
15327
15331
|
"aria-label": c,
|
|
15332
|
+
"data-pptx-compact": true,
|
|
15328
15333
|
className: `w-5 h-5 rounded-full border transition-transform hover:scale-125 ${currentHighlight?.toLowerCase() === c ? "border-primary ring-1 ring-primary" : "border-border"}`,
|
|
15329
15334
|
style: { backgroundColor: c },
|
|
15330
15335
|
onMouseDown: (e) => e.preventDefault(),
|
|
@@ -15635,11 +15640,14 @@ function ViewSection(p) {
|
|
|
15635
15640
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15636
15641
|
RibbonCommand,
|
|
15637
15642
|
{
|
|
15638
|
-
label: t("pptx.
|
|
15643
|
+
label: t(p.editTemplateMode ? "pptx.ribbon.templatesOn" : "pptx.ribbon.templatesOff"),
|
|
15639
15644
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lu.LuRuler, {}),
|
|
15640
15645
|
onClick: () => p.onSetEditTemplateMode(!p.editTemplateMode),
|
|
15641
15646
|
active: p.editTemplateMode,
|
|
15642
|
-
disabled: !p.canEdit
|
|
15647
|
+
disabled: !p.canEdit,
|
|
15648
|
+
title: t("pptx.view.templateEditingTooltip", {
|
|
15649
|
+
defaultValue: "Toggle template/master element editing"
|
|
15650
|
+
})
|
|
15643
15651
|
}
|
|
15644
15652
|
),
|
|
15645
15653
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -15665,7 +15673,7 @@ function MobileSheet({
|
|
|
15665
15673
|
headerRight
|
|
15666
15674
|
}) {
|
|
15667
15675
|
const sheetRef = React14.useRef(null);
|
|
15668
|
-
const { dragY, dragging, handlers } =
|
|
15676
|
+
const { dragY, dragging, handlers } = chunkKA7ST7IH_js.useSheetDismissDrag(onClose);
|
|
15669
15677
|
useModalFocus(open, sheetRef, onClose);
|
|
15670
15678
|
if (!open) {
|
|
15671
15679
|
return null;
|
|
@@ -15689,7 +15697,7 @@ function MobileSheet({
|
|
|
15689
15697
|
"aria-modal": "true",
|
|
15690
15698
|
"aria-label": typeof title === "string" ? title : "Mobile panel",
|
|
15691
15699
|
tabIndex: -1,
|
|
15692
|
-
className:
|
|
15700
|
+
className: chunkKA7ST7IH_js.cn(
|
|
15693
15701
|
"relative bg-background border-t border-border rounded-t-2xl shadow-2xl flex flex-col overflow-hidden",
|
|
15694
15702
|
"animate-in slide-in-from-bottom duration-200",
|
|
15695
15703
|
className
|
|
@@ -15752,14 +15760,14 @@ function MobileMenuSheet(props) {
|
|
|
15752
15760
|
const { t } = reactI18next.useTranslation();
|
|
15753
15761
|
const { open, onClose } = props;
|
|
15754
15762
|
const [active, setActive] = React14.useState("home");
|
|
15755
|
-
const { isTabVisible } =
|
|
15763
|
+
const { isTabVisible } = chunkKA7ST7IH_js.useToolbarVisibility(props.hiddenActions);
|
|
15756
15764
|
return /* @__PURE__ */ jsxRuntime.jsx(MobileSheet, { open, onClose, autoHeight: true, title: t("pptx.mobileToolbar.menu"), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
|
|
15757
15765
|
/* @__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(
|
|
15758
15766
|
"button",
|
|
15759
15767
|
{
|
|
15760
15768
|
type: "button",
|
|
15761
15769
|
onClick: () => setActive(active === key ? null : key),
|
|
15762
|
-
className:
|
|
15770
|
+
className: chunkKA7ST7IH_js.cn(
|
|
15763
15771
|
"inline-flex items-center gap-1.5 shrink-0 px-3 py-2 rounded-full text-[12px] font-medium border transition-colors min-h-[36px]",
|
|
15764
15772
|
active === key ? "bg-primary text-white border-primary" : "border-border text-muted-foreground hover:text-foreground hover:bg-accent/40"
|
|
15765
15773
|
),
|
|
@@ -15995,7 +16003,7 @@ function MobileToolbar(props) {
|
|
|
15995
16003
|
const { t } = reactI18next.useTranslation();
|
|
15996
16004
|
const { mode, canUndo, canRedo, onUndo, onRedo, onSetMode, onSaveAsPptx } = props;
|
|
15997
16005
|
const [menuOpen, setMenuOpen] = React14.useState(false);
|
|
15998
|
-
const { isHidden } =
|
|
16006
|
+
const { isHidden } = chunkKA7ST7IH_js.useToolbarVisibility(props.hiddenActions);
|
|
15999
16007
|
const showEdit = mode === "edit" || mode === "master";
|
|
16000
16008
|
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";
|
|
16001
16009
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -16057,7 +16065,7 @@ function MobileToolbar(props) {
|
|
|
16057
16065
|
{
|
|
16058
16066
|
type: "button",
|
|
16059
16067
|
onClick: () => onSetMode("present"),
|
|
16060
|
-
className:
|
|
16068
|
+
className: chunkKA7ST7IH_js.cn(btn, "text-primary"),
|
|
16061
16069
|
title: t("pptx.toolbar.present"),
|
|
16062
16070
|
"aria-label": t("pptx.toolbar.present"),
|
|
16063
16071
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuPresentation, { className: "w-5 h-5" })
|
|
@@ -16068,7 +16076,7 @@ function MobileToolbar(props) {
|
|
|
16068
16076
|
{
|
|
16069
16077
|
type: "button",
|
|
16070
16078
|
onClick: props.onOpenShareDialog ?? props.onPackageForSharing,
|
|
16071
|
-
className:
|
|
16079
|
+
className: chunkKA7ST7IH_js.cn(btn, "bg-primary text-white hover:bg-primary/90 px-3"),
|
|
16072
16080
|
title: t("pptx.toolbar.share"),
|
|
16073
16081
|
"aria-label": t("pptx.toolbar.share"),
|
|
16074
16082
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuShare2, { className: "w-4 h-4" })
|
|
@@ -16093,7 +16101,7 @@ var FILL_COLORS = [
|
|
|
16093
16101
|
"#008888",
|
|
16094
16102
|
"#888888"
|
|
16095
16103
|
];
|
|
16096
|
-
var TOP_SHAPES =
|
|
16104
|
+
var TOP_SHAPES = chunkKA7ST7IH_js.SHAPE_PRESETS.slice(0, 12);
|
|
16097
16105
|
function DrawingGroup(p) {
|
|
16098
16106
|
const { t } = reactI18next.useTranslation();
|
|
16099
16107
|
const [shapesOpen, setShapesOpen] = React14.useState(false);
|
|
@@ -16174,7 +16182,7 @@ function DrawingGroup(p) {
|
|
|
16174
16182
|
"button",
|
|
16175
16183
|
{
|
|
16176
16184
|
type: "button",
|
|
16177
|
-
className:
|
|
16185
|
+
className: chunkKA7ST7IH_js.cn(
|
|
16178
16186
|
"flex items-center gap-2 w-full px-3 py-1.5 text-xs text-foreground hover:bg-muted transition-colors",
|
|
16179
16187
|
p.newShapeType === s.type && "bg-accent"
|
|
16180
16188
|
),
|
|
@@ -16274,6 +16282,7 @@ function DrawingGroup(p) {
|
|
|
16274
16282
|
{
|
|
16275
16283
|
type: "button",
|
|
16276
16284
|
"aria-label": `Fill colour ${c}`,
|
|
16285
|
+
"data-pptx-compact": true,
|
|
16277
16286
|
className: "w-5 h-5 rounded border border-border/60 hover:scale-110 transition-transform",
|
|
16278
16287
|
style: { backgroundColor: c },
|
|
16279
16288
|
title: c,
|
|
@@ -16302,6 +16311,7 @@ function DrawingGroup(p) {
|
|
|
16302
16311
|
{
|
|
16303
16312
|
type: "button",
|
|
16304
16313
|
"aria-label": `Outline colour ${c}`,
|
|
16314
|
+
"data-pptx-compact": true,
|
|
16305
16315
|
className: "w-5 h-5 rounded border border-border/60 hover:scale-110 transition-transform",
|
|
16306
16316
|
style: { backgroundColor: c },
|
|
16307
16317
|
title: c,
|
|
@@ -16318,7 +16328,7 @@ function DrawingGroup(p) {
|
|
|
16318
16328
|
{
|
|
16319
16329
|
type: "button",
|
|
16320
16330
|
disabled: true,
|
|
16321
|
-
className:
|
|
16331
|
+
className: chunkKA7ST7IH_js.cn(pill, "opacity-50 cursor-not-allowed"),
|
|
16322
16332
|
title: t("pptx.drawing.shapeEffectsUnavailable"),
|
|
16323
16333
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuSparkles, { className: ic2 })
|
|
16324
16334
|
}
|
|
@@ -16425,7 +16435,7 @@ function TabRowActions(p) {
|
|
|
16425
16435
|
const { t } = reactI18next.useTranslation();
|
|
16426
16436
|
const collab = useCollaboration();
|
|
16427
16437
|
const isCollaborating = collab && collab.status === "connected";
|
|
16428
|
-
const { isHidden } =
|
|
16438
|
+
const { isHidden } = chunkKA7ST7IH_js.useToolbarVisibility(p.hiddenActions);
|
|
16429
16439
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1 pr-1", children: [
|
|
16430
16440
|
p.onEnterRehearsalMode && !isHidden("record") && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16431
16441
|
"button",
|
|
@@ -16446,7 +16456,7 @@ function TabRowActions(p) {
|
|
|
16446
16456
|
{
|
|
16447
16457
|
type: "button",
|
|
16448
16458
|
onClick: p.onOpenShareDialog ?? p.onPackageForSharing,
|
|
16449
|
-
className:
|
|
16459
|
+
className: chunkKA7ST7IH_js.cn(
|
|
16450
16460
|
"relative inline-flex items-center gap-1 px-2.5 py-1 rounded-sm text-[11px] font-medium transition-colors whitespace-nowrap",
|
|
16451
16461
|
isCollaborating ? "bg-green-600 hover:bg-green-500 text-white" : "bg-primary hover:bg-primary/90 text-white"
|
|
16452
16462
|
),
|
|
@@ -16526,7 +16536,7 @@ function CustomShowsControls({
|
|
|
16526
16536
|
{
|
|
16527
16537
|
type: "button",
|
|
16528
16538
|
onClick: onToggleCurrentSlideInActiveShow,
|
|
16529
|
-
className:
|
|
16539
|
+
className: chunkKA7ST7IH_js.cn(
|
|
16530
16540
|
"px-2 py-1 rounded text-[11px] transition-colors",
|
|
16531
16541
|
isCurrentSlideInActiveShow ? "bg-primary text-white" : "bg-muted hover:bg-accent"
|
|
16532
16542
|
),
|
|
@@ -16574,7 +16584,7 @@ function PresentDropdown({
|
|
|
16574
16584
|
{
|
|
16575
16585
|
type: "button",
|
|
16576
16586
|
onClick: onPresent,
|
|
16577
|
-
className:
|
|
16587
|
+
className: chunkKA7ST7IH_js.cn(
|
|
16578
16588
|
"px-2 py-1 transition-colors",
|
|
16579
16589
|
isActive ? "bg-primary text-white" : "hover:bg-accent text-foreground"
|
|
16580
16590
|
),
|
|
@@ -16587,7 +16597,7 @@ function PresentDropdown({
|
|
|
16587
16597
|
{
|
|
16588
16598
|
type: "button",
|
|
16589
16599
|
onClick: () => setOpen((prev) => !prev),
|
|
16590
|
-
className:
|
|
16600
|
+
className: chunkKA7ST7IH_js.cn(
|
|
16591
16601
|
"px-1 py-1 transition-colors border-l border-border",
|
|
16592
16602
|
open ? "bg-primary text-white" : "hover:bg-accent text-foreground"
|
|
16593
16603
|
),
|
|
@@ -16775,7 +16785,7 @@ function OverflowMenu(p) {
|
|
|
16775
16785
|
{
|
|
16776
16786
|
type: "button",
|
|
16777
16787
|
onClick: () => p.onSetOverflowMenuOpen(!p.isOverflowMenuOpen),
|
|
16778
|
-
className:
|
|
16788
|
+
className: chunkKA7ST7IH_js.cn(
|
|
16779
16789
|
"p-1.5 rounded transition-colors",
|
|
16780
16790
|
p.isOverflowMenuOpen ? "bg-primary/80 text-white" : "bg-muted hover:bg-accent"
|
|
16781
16791
|
),
|
|
@@ -16830,7 +16840,7 @@ function ToolbarPrimaryRow(p) {
|
|
|
16830
16840
|
{
|
|
16831
16841
|
type: "button",
|
|
16832
16842
|
onClick: onToggleSidebar,
|
|
16833
|
-
className:
|
|
16843
|
+
className: chunkKA7ST7IH_js.cn(qab, !isSidebarCollapsed ? "text-foreground" : "text-muted-foreground"),
|
|
16834
16844
|
title: t("pptx.toolbar.toggleSlidesPanel"),
|
|
16835
16845
|
"aria-label": t("pptx.toolbar.toggleSlidesPanel"),
|
|
16836
16846
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuPanelLeft, { className: ic2 })
|
|
@@ -16842,7 +16852,7 @@ function ToolbarPrimaryRow(p) {
|
|
|
16842
16852
|
{
|
|
16843
16853
|
type: "button",
|
|
16844
16854
|
onClick: p.onToggleComments,
|
|
16845
|
-
className:
|
|
16855
|
+
className: chunkKA7ST7IH_js.cn(
|
|
16846
16856
|
qab,
|
|
16847
16857
|
"relative max-md:hidden",
|
|
16848
16858
|
p.isCommentsPanelOpen ? "text-foreground" : "text-muted-foreground"
|
|
@@ -16909,7 +16919,7 @@ function ToolbarPrimaryRow(p) {
|
|
|
16909
16919
|
{
|
|
16910
16920
|
type: "button",
|
|
16911
16921
|
onClick: onToggleInspector,
|
|
16912
|
-
className:
|
|
16922
|
+
className: chunkKA7ST7IH_js.cn(qab, isInspectorPaneOpen ? "text-foreground" : "text-muted-foreground"),
|
|
16913
16923
|
title: t("pptx.toolbar.toggleInspector"),
|
|
16914
16924
|
"aria-label": t("pptx.toolbar.toggleInspector"),
|
|
16915
16925
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuPanelRight, { className: ic2 })
|
|
@@ -16920,7 +16930,7 @@ function ToolbarPrimaryRow(p) {
|
|
|
16920
16930
|
{
|
|
16921
16931
|
type: "button",
|
|
16922
16932
|
onClick: p.onOpenSettings ?? p.onToggleShortcuts,
|
|
16923
|
-
className:
|
|
16933
|
+
className: chunkKA7ST7IH_js.cn(qab, "text-muted-foreground"),
|
|
16924
16934
|
title: t("pptx.toolbar.settingsShortcuts"),
|
|
16925
16935
|
"aria-label": t("pptx.toolbar.settings"),
|
|
16926
16936
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuSettings, { className: ics })
|
|
@@ -16933,7 +16943,7 @@ function ToolbarPrimaryRow(p) {
|
|
|
16933
16943
|
function Toolbar(p) {
|
|
16934
16944
|
const { mode, isNarrowViewport, isCompactToolbarOpen, toolbarSection, onSetToolbarSection } = p;
|
|
16935
16945
|
const { t } = reactI18next.useTranslation();
|
|
16936
|
-
const { isTabVisible } =
|
|
16946
|
+
const { isTabVisible } = chunkKA7ST7IH_js.useToolbarVisibility(p.hiddenActions);
|
|
16937
16947
|
if (isNarrowViewport && mode !== "present") {
|
|
16938
16948
|
return /* @__PURE__ */ jsxRuntime.jsx(MobileToolbar, { ...p });
|
|
16939
16949
|
}
|
|
@@ -16966,14 +16976,14 @@ function Toolbar(p) {
|
|
|
16966
16976
|
role: "tablist",
|
|
16967
16977
|
className: "flex items-center border-b border-border/60 px-1 max-md:overflow-x-auto max-md:scrollbar-none",
|
|
16968
16978
|
children: [
|
|
16969
|
-
|
|
16979
|
+
chunkKA7ST7IH_js.TOOLBAR_SECTIONS.filter((s) => isTabVisible(s.id)).map((s) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
16970
16980
|
"button",
|
|
16971
16981
|
{
|
|
16972
16982
|
type: "button",
|
|
16973
16983
|
role: "tab",
|
|
16974
16984
|
"aria-selected": toolbarSection === s.id,
|
|
16975
16985
|
onClick: () => onSetToolbarSection(s.id),
|
|
16976
|
-
className:
|
|
16986
|
+
className: chunkKA7ST7IH_js.cn(
|
|
16977
16987
|
"relative px-3.5 py-2 text-[12px] font-medium whitespace-nowrap transition-colors max-md:min-h-[36px] max-md:px-3",
|
|
16978
16988
|
toolbarSection === s.id ? s.id === "file" ? "text-white bg-primary/80 rounded-sm" : "text-foreground after:absolute after:-bottom-px after:left-0 after:right-0 after:h-[2.5px] after:bg-primary" : s.id === "file" ? "text-primary hover:bg-primary/15 rounded-sm" : "text-muted-foreground hover:text-foreground hover:bg-accent/30"
|
|
16979
16989
|
),
|
|
@@ -16996,7 +17006,7 @@ function Toolbar(p) {
|
|
|
16996
17006
|
{
|
|
16997
17007
|
type: "button",
|
|
16998
17008
|
onClick: p.onToggleCompactToolbar,
|
|
16999
|
-
className:
|
|
17009
|
+
className: chunkKA7ST7IH_js.cn(
|
|
17000
17010
|
"px-2 py-1 rounded text-[11px] transition-colors mr-1",
|
|
17001
17011
|
isCompactToolbarOpen ? "bg-primary/80 text-white" : "text-muted-foreground hover:text-foreground"
|
|
17002
17012
|
),
|
|
@@ -17012,7 +17022,7 @@ function Toolbar(p) {
|
|
|
17012
17022
|
showRibbon && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17013
17023
|
"div",
|
|
17014
17024
|
{
|
|
17015
|
-
className:
|
|
17025
|
+
className: chunkKA7ST7IH_js.cn(
|
|
17016
17026
|
"flex min-h-[82px] items-stretch gap-0 overflow-visible px-1 py-0.5 max-md:min-h-0 max-md:px-1 max-md:py-0.5 flex-nowrap",
|
|
17017
17027
|
isNarrowViewport && !isCompactToolbarOpen && "hidden"
|
|
17018
17028
|
),
|
|
@@ -17267,13 +17277,13 @@ function Toolbar(p) {
|
|
|
17267
17277
|
}
|
|
17268
17278
|
var INPUT_CLS = "bg-muted border border-border rounded px-2 py-1 w-full text-[11px]";
|
|
17269
17279
|
var SELECT_CLS = "bg-muted border border-border rounded px-2 py-1 w-full text-[11px]";
|
|
17270
|
-
var ENTRANCE_PRESETS =
|
|
17280
|
+
var ENTRANCE_PRESETS = chunkKA7ST7IH_js.ANIMATION_PRESET_OPTIONS.filter(
|
|
17271
17281
|
(o) => o.value === "fadeIn" || o.value === "flyIn" || o.value === "zoomIn"
|
|
17272
17282
|
);
|
|
17273
|
-
var EXIT_PRESETS =
|
|
17283
|
+
var EXIT_PRESETS = chunkKA7ST7IH_js.ANIMATION_PRESET_OPTIONS.filter(
|
|
17274
17284
|
(o) => o.value === "fadeOut" || o.value === "flyOut" || o.value === "zoomOut"
|
|
17275
17285
|
);
|
|
17276
|
-
var EMPHASIS_PRESETS =
|
|
17286
|
+
var EMPHASIS_PRESETS = chunkKA7ST7IH_js.ANIMATION_PRESET_OPTIONS.filter(
|
|
17277
17287
|
(o) => o.value === "spin" || o.value === "pulse" || o.value === "colorWave" || o.value === "bounce" || o.value === "flash" || o.value === "growShrink" || o.value === "teeter"
|
|
17278
17288
|
);
|
|
17279
17289
|
var TRIGGER_OPTIONS = [
|
|
@@ -17375,7 +17385,7 @@ function AnimationTimelineSection({
|
|
|
17375
17385
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative h-6 rounded bg-muted/50 border border-border overflow-hidden", children: timelineBarData.map((bar) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
17376
17386
|
"div",
|
|
17377
17387
|
{
|
|
17378
|
-
className:
|
|
17388
|
+
className: chunkKA7ST7IH_js.cn(
|
|
17379
17389
|
"absolute top-0.5 bottom-0.5 rounded-sm transition-colors",
|
|
17380
17390
|
animationTypeColor(bar.anim),
|
|
17381
17391
|
bar.anim.elementId === selectedElementId && "ring-1 ring-primary"
|
|
@@ -17409,7 +17419,7 @@ function AnimationTimelineSection({
|
|
|
17409
17419
|
onDragEnd: handleDragEnd,
|
|
17410
17420
|
onMouseEnter: () => handleAnimationHover(anim),
|
|
17411
17421
|
onMouseLeave: handleAnimationHoverEnd,
|
|
17412
|
-
className:
|
|
17422
|
+
className: chunkKA7ST7IH_js.cn(
|
|
17413
17423
|
"flex items-center gap-1 px-1 py-0.5 rounded text-[10px] cursor-grab transition-colors",
|
|
17414
17424
|
isSelected ? "bg-primary/30 text-primary" : "bg-muted/50 text-muted-foreground",
|
|
17415
17425
|
isDragging && "opacity-40",
|
|
@@ -17573,13 +17583,13 @@ function useAnimationPreview({
|
|
|
17573
17583
|
if (!preset || preset === "none") {
|
|
17574
17584
|
return;
|
|
17575
17585
|
}
|
|
17576
|
-
|
|
17586
|
+
chunkKA7ST7IH_js.startPreviewAnimation(anim.elementId, preset, {
|
|
17577
17587
|
direction: anim.direction,
|
|
17578
17588
|
durationMs: anim.durationMs ?? 500,
|
|
17579
17589
|
timingCurve: anim.timingCurve
|
|
17580
17590
|
});
|
|
17581
17591
|
}, []);
|
|
17582
|
-
const handleAnimationHoverEnd = React14.useCallback(() =>
|
|
17592
|
+
const handleAnimationHoverEnd = React14.useCallback(() => chunkKA7ST7IH_js.stopPreviewAnimation(), []);
|
|
17583
17593
|
const handlePreviewClick = React14.useCallback(() => {
|
|
17584
17594
|
if (!selectedElementAnimation) {
|
|
17585
17595
|
return;
|
|
@@ -17588,7 +17598,7 @@ function useAnimationPreview({
|
|
|
17588
17598
|
if (!preset || preset === "none") {
|
|
17589
17599
|
return;
|
|
17590
17600
|
}
|
|
17591
|
-
|
|
17601
|
+
chunkKA7ST7IH_js.startPreviewAnimation(selectedElementId, preset, {
|
|
17592
17602
|
direction: selectedElementAnimation.direction,
|
|
17593
17603
|
durationMs: selectedElementAnimation.durationMs ?? 500,
|
|
17594
17604
|
timingCurve: selectedElementAnimation.timingCurve
|
|
@@ -17920,7 +17930,7 @@ function AnimationPanel({
|
|
|
17920
17930
|
{
|
|
17921
17931
|
type: "button",
|
|
17922
17932
|
disabled: !canEdit,
|
|
17923
|
-
className:
|
|
17933
|
+
className: chunkKA7ST7IH_js.cn(
|
|
17924
17934
|
"flex items-center justify-center w-7 h-7 rounded border transition-colors",
|
|
17925
17935
|
isActive ? "border-primary bg-primary/20 text-primary" : "border-border bg-muted text-muted-foreground hover:bg-accent"
|
|
17926
17936
|
),
|
|
@@ -18162,7 +18172,7 @@ function ActionTriggerSection({
|
|
|
18162
18172
|
"select",
|
|
18163
18173
|
{
|
|
18164
18174
|
disabled: !canEdit,
|
|
18165
|
-
className:
|
|
18175
|
+
className: chunkKA7ST7IH_js.cn(INPUT, "w-full"),
|
|
18166
18176
|
value: activeType,
|
|
18167
18177
|
onChange: (e) => onChangeType(e.target.value),
|
|
18168
18178
|
children: ACTION_TYPE_OPTIONS.map((o) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: o.value, children: t(o.label) }, o.value))
|
|
@@ -18173,7 +18183,7 @@ function ActionTriggerSection({
|
|
|
18173
18183
|
{
|
|
18174
18184
|
type: "text",
|
|
18175
18185
|
disabled: !canEdit,
|
|
18176
|
-
className:
|
|
18186
|
+
className: chunkKA7ST7IH_js.cn(INPUT, "w-full"),
|
|
18177
18187
|
placeholder: "https://...",
|
|
18178
18188
|
value: action?.url ?? fallbackUrl ?? "",
|
|
18179
18189
|
onChange: (e) => onChangeUrl(e.target.value)
|
|
@@ -18184,7 +18194,7 @@ function ActionTriggerSection({
|
|
|
18184
18194
|
{
|
|
18185
18195
|
type: "number",
|
|
18186
18196
|
disabled: !canEdit,
|
|
18187
|
-
className:
|
|
18197
|
+
className: chunkKA7ST7IH_js.cn(INPUT, "w-full"),
|
|
18188
18198
|
placeholder: t("pptx.action.slideNumberPlaceholder"),
|
|
18189
18199
|
min: 1,
|
|
18190
18200
|
max: slideCount,
|
|
@@ -19839,7 +19849,7 @@ function ConnectorPanel({
|
|
|
19839
19849
|
"select",
|
|
19840
19850
|
{
|
|
19841
19851
|
disabled: !canEdit,
|
|
19842
|
-
className:
|
|
19852
|
+
className: chunkKA7ST7IH_js.cn(INPUT, "w-full"),
|
|
19843
19853
|
value: selectedElement.shapeStyle?.[key] ?? "none",
|
|
19844
19854
|
onChange: (e) => onUpdateElementStyle({ [key]: e.target.value }),
|
|
19845
19855
|
children: [
|
|
@@ -19891,7 +19901,7 @@ function OlePropertiesPanel({
|
|
|
19891
19901
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19892
19902
|
"span",
|
|
19893
19903
|
{
|
|
19894
|
-
className:
|
|
19904
|
+
className: chunkKA7ST7IH_js.cn(
|
|
19895
19905
|
"inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium",
|
|
19896
19906
|
ole.isLinked ? "bg-blue-500/20 text-blue-400" : "bg-green-500/20 text-green-400"
|
|
19897
19907
|
),
|
|
@@ -19950,7 +19960,7 @@ function LayerOrderButtons({
|
|
|
19950
19960
|
"button",
|
|
19951
19961
|
{
|
|
19952
19962
|
type: "button",
|
|
19953
|
-
className:
|
|
19963
|
+
className: chunkKA7ST7IH_js.cn("flex-1", BTN),
|
|
19954
19964
|
disabled: !canEdit,
|
|
19955
19965
|
onClick: () => onMoveLayer("forward"),
|
|
19956
19966
|
children: "\u2191 Forward"
|
|
@@ -19960,7 +19970,7 @@ function LayerOrderButtons({
|
|
|
19960
19970
|
"button",
|
|
19961
19971
|
{
|
|
19962
19972
|
type: "button",
|
|
19963
|
-
className:
|
|
19973
|
+
className: chunkKA7ST7IH_js.cn("flex-1", BTN),
|
|
19964
19974
|
disabled: !canEdit,
|
|
19965
19975
|
onClick: () => onMoveLayer("backward"),
|
|
19966
19976
|
children: "\u2193 Backward"
|
|
@@ -19984,7 +19994,7 @@ function ArtisticEffectsGallery({
|
|
|
19984
19994
|
{
|
|
19985
19995
|
type: "button",
|
|
19986
19996
|
disabled: !canEdit,
|
|
19987
|
-
className:
|
|
19997
|
+
className: chunkKA7ST7IH_js.cn(
|
|
19988
19998
|
"flex flex-col items-center gap-0.5 rounded border p-0.5 hover:bg-accent/50",
|
|
19989
19999
|
isActive ? "border-primary bg-primary/10" : "border-border"
|
|
19990
20000
|
),
|
|
@@ -20433,7 +20443,7 @@ function ImagePropertiesPanel({
|
|
|
20433
20443
|
{
|
|
20434
20444
|
rows: 2,
|
|
20435
20445
|
disabled: !canEdit,
|
|
20436
|
-
className:
|
|
20446
|
+
className: chunkKA7ST7IH_js.cn(INPUT, "resize-none text-[11px]"),
|
|
20437
20447
|
value: selectedElement.altText ?? "",
|
|
20438
20448
|
onChange: (e) => onUpdateElement({
|
|
20439
20449
|
altText: e.target.value
|
|
@@ -21392,11 +21402,11 @@ function ShapeTextPanels({
|
|
|
21392
21402
|
{
|
|
21393
21403
|
value: selectedElement.shapeType || "rect",
|
|
21394
21404
|
disabled: !canEdit,
|
|
21395
|
-
className:
|
|
21405
|
+
className: chunkKA7ST7IH_js.cn(INPUT, "w-full"),
|
|
21396
21406
|
onChange: (e) => onUpdateElement({
|
|
21397
21407
|
shapeType: e.target.value
|
|
21398
21408
|
}),
|
|
21399
|
-
children:
|
|
21409
|
+
children: chunkKA7ST7IH_js.SHAPE_PRESETS.filter((p) => p.type !== "connector").map((p) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: p.type, children: t(p.i18nKey) }, p.type))
|
|
21400
21410
|
}
|
|
21401
21411
|
)
|
|
21402
21412
|
] }),
|
|
@@ -21526,7 +21536,7 @@ function TextFormatToggle({
|
|
|
21526
21536
|
{
|
|
21527
21537
|
type: "button",
|
|
21528
21538
|
disabled,
|
|
21529
|
-
className:
|
|
21539
|
+
className: chunkKA7ST7IH_js.cn(
|
|
21530
21540
|
"px-2 py-1 rounded text-[11px] transition-colors",
|
|
21531
21541
|
italic && "italic",
|
|
21532
21542
|
underline && "underline",
|
|
@@ -21818,7 +21828,7 @@ function SmartArtLayoutSwitcher({
|
|
|
21818
21828
|
type: "button",
|
|
21819
21829
|
"data-testid": `smartart-layout-${type}`,
|
|
21820
21830
|
disabled: !canEdit,
|
|
21821
|
-
className:
|
|
21831
|
+
className: chunkKA7ST7IH_js.cn(
|
|
21822
21832
|
"flex flex-col items-center gap-0.5 rounded border p-1.5 transition-colors",
|
|
21823
21833
|
"text-[9px] leading-tight",
|
|
21824
21834
|
isActive ? "border-primary bg-primary/15 text-primary" : "border-border text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
@@ -21890,7 +21900,7 @@ function SmartArtNodeStyleControls({
|
|
|
21890
21900
|
disabled: !canEdit,
|
|
21891
21901
|
"aria-label": `Bold ${label}`,
|
|
21892
21902
|
"aria-pressed": bold,
|
|
21893
|
-
className:
|
|
21903
|
+
className: chunkKA7ST7IH_js.cn(
|
|
21894
21904
|
EMPHASIS_BTN,
|
|
21895
21905
|
"font-bold",
|
|
21896
21906
|
bold ? "border-primary bg-primary/20 text-primary" : "border-border text-muted-foreground"
|
|
@@ -21906,7 +21916,7 @@ function SmartArtNodeStyleControls({
|
|
|
21906
21916
|
disabled: !canEdit,
|
|
21907
21917
|
"aria-label": `Italic ${label}`,
|
|
21908
21918
|
"aria-pressed": italic,
|
|
21909
|
-
className:
|
|
21919
|
+
className: chunkKA7ST7IH_js.cn(
|
|
21910
21920
|
EMPHASIS_BTN,
|
|
21911
21921
|
"italic",
|
|
21912
21922
|
italic ? "border-primary bg-primary/20 text-primary" : "border-border text-muted-foreground"
|
|
@@ -21945,7 +21955,7 @@ function SmartArtNodeRow({
|
|
|
21945
21955
|
"div",
|
|
21946
21956
|
{
|
|
21947
21957
|
role: "listitem",
|
|
21948
|
-
className:
|
|
21958
|
+
className: chunkKA7ST7IH_js.cn(
|
|
21949
21959
|
"rounded border bg-background/60 p-1.5",
|
|
21950
21960
|
isChild ? "border-border/60 ml-4" : "border-border"
|
|
21951
21961
|
),
|
|
@@ -21960,7 +21970,7 @@ function SmartArtNodeRow({
|
|
|
21960
21970
|
"data-testid": "smartart-node-text",
|
|
21961
21971
|
disabled: !canEdit,
|
|
21962
21972
|
"aria-label": label,
|
|
21963
|
-
className:
|
|
21973
|
+
className: chunkKA7ST7IH_js.cn(INPUT, "flex-1 text-[11px] py-0.5"),
|
|
21964
21974
|
value: text,
|
|
21965
21975
|
onChange: (e) => onChangeText(nodeId, e.target.value),
|
|
21966
21976
|
onKeyDown: (e) => onKeyDown(e, nodeId),
|
|
@@ -22009,7 +22019,7 @@ function SmartArtNodeRow({
|
|
|
22009
22019
|
{
|
|
22010
22020
|
type: "button",
|
|
22011
22021
|
disabled: !canEdit || removeDisabled,
|
|
22012
|
-
className:
|
|
22022
|
+
className: chunkKA7ST7IH_js.cn(MINI_BTN, "hover:text-red-400"),
|
|
22013
22023
|
onClick: () => onRemove(nodeId),
|
|
22014
22024
|
"aria-label": `Remove ${label}`,
|
|
22015
22025
|
title: removeDisabled ? t("pptx.smartArt.layoutMinimum") : t("pptx.smartArt.remove"),
|
|
@@ -22067,7 +22077,7 @@ function SmartArtPropertiesPanel({
|
|
|
22067
22077
|
const reflowed = box ? chunkVSNXVKJI_js.rebuildDrawingShapesIfCleared(
|
|
22068
22078
|
newData,
|
|
22069
22079
|
newData.layout,
|
|
22070
|
-
|
|
22080
|
+
chunkKA7ST7IH_js.resolveSmartArtDataPalette(newData),
|
|
22071
22081
|
newData.style ?? "flat",
|
|
22072
22082
|
"inspector",
|
|
22073
22083
|
box
|
|
@@ -22176,7 +22186,7 @@ function SmartArtPropertiesPanel({
|
|
|
22176
22186
|
disabled: !canEdit,
|
|
22177
22187
|
"data-testid": "smartart-color-scheme",
|
|
22178
22188
|
"aria-label": t("pptx.smartart.colorScheme"),
|
|
22179
|
-
className:
|
|
22189
|
+
className: chunkKA7ST7IH_js.cn(INPUT, "w-full"),
|
|
22180
22190
|
value: smartArtData.colorScheme ?? "colorful1",
|
|
22181
22191
|
onChange: (e) => updateSmartArt({ colorScheme: e.target.value }),
|
|
22182
22192
|
children: COLOR_SCHEMES.map((cs) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: cs, children: cs }, cs))
|
|
@@ -22191,7 +22201,7 @@ function SmartArtPropertiesPanel({
|
|
|
22191
22201
|
type: "button",
|
|
22192
22202
|
disabled: !canEdit,
|
|
22193
22203
|
"aria-pressed": (smartArtData.style ?? "flat") === s,
|
|
22194
|
-
className:
|
|
22204
|
+
className: chunkKA7ST7IH_js.cn(
|
|
22195
22205
|
"flex-1 px-2 py-1 text-[10px] rounded border transition-colors",
|
|
22196
22206
|
(smartArtData.style ?? "flat") === s ? "border-primary bg-primary/20 text-primary" : "border-border text-muted-foreground hover:bg-muted"
|
|
22197
22207
|
),
|
|
@@ -22595,7 +22605,7 @@ function TableCellFormattingPanel({
|
|
|
22595
22605
|
{
|
|
22596
22606
|
type: "button",
|
|
22597
22607
|
disabled: !canEdit,
|
|
22598
|
-
className:
|
|
22608
|
+
className: chunkKA7ST7IH_js.cn(
|
|
22599
22609
|
"px-2 py-1 rounded text-[11px] transition-colors",
|
|
22600
22610
|
cls,
|
|
22601
22611
|
cs[key] ? "bg-primary text-white" : "bg-muted hover:bg-accent"
|
|
@@ -22614,7 +22624,7 @@ function TableCellFormattingPanel({
|
|
|
22614
22624
|
{
|
|
22615
22625
|
type: "button",
|
|
22616
22626
|
disabled: !canEdit,
|
|
22617
|
-
className:
|
|
22627
|
+
className: chunkKA7ST7IH_js.cn(
|
|
22618
22628
|
"px-2 py-1 rounded text-[11px] transition-colors",
|
|
22619
22629
|
cs.align === val ? "bg-primary text-white" : "bg-muted hover:bg-accent"
|
|
22620
22630
|
),
|
|
@@ -22632,7 +22642,7 @@ function TableCellFormattingPanel({
|
|
|
22632
22642
|
{
|
|
22633
22643
|
type: "button",
|
|
22634
22644
|
disabled: !canEdit,
|
|
22635
|
-
className:
|
|
22645
|
+
className: chunkKA7ST7IH_js.cn(
|
|
22636
22646
|
"px-2 py-1 rounded text-[11px] transition-colors",
|
|
22637
22647
|
cs.vAlign === val ? "bg-primary text-white" : "bg-muted hover:bg-accent"
|
|
22638
22648
|
),
|
|
@@ -22665,7 +22675,7 @@ function TableCellFormattingPanel({
|
|
|
22665
22675
|
{
|
|
22666
22676
|
type: "number",
|
|
22667
22677
|
disabled: !canEdit,
|
|
22668
|
-
className:
|
|
22678
|
+
className: chunkKA7ST7IH_js.cn(INPUT, "w-14"),
|
|
22669
22679
|
min: 0,
|
|
22670
22680
|
max: 10,
|
|
22671
22681
|
value: cs[widthKey] ?? 1,
|
|
@@ -22681,7 +22691,7 @@ function TableCellFormattingPanel({
|
|
|
22681
22691
|
{
|
|
22682
22692
|
type: "button",
|
|
22683
22693
|
disabled: !canEdit,
|
|
22684
|
-
className:
|
|
22694
|
+
className: chunkKA7ST7IH_js.cn(BTN, "text-center"),
|
|
22685
22695
|
onClick: () => {
|
|
22686
22696
|
const newRows = chunkVSNXVKJI_js.computeMergeCellRight(td, rowIndex, columnIndex);
|
|
22687
22697
|
if (newRows) {
|
|
@@ -22696,7 +22706,7 @@ function TableCellFormattingPanel({
|
|
|
22696
22706
|
{
|
|
22697
22707
|
type: "button",
|
|
22698
22708
|
disabled: !canEdit,
|
|
22699
|
-
className:
|
|
22709
|
+
className: chunkKA7ST7IH_js.cn(BTN, "text-center"),
|
|
22700
22710
|
onClick: () => {
|
|
22701
22711
|
const newRows = chunkVSNXVKJI_js.computeMergeCellDown(td, rowIndex, columnIndex);
|
|
22702
22712
|
if (newRows) {
|
|
@@ -22711,7 +22721,7 @@ function TableCellFormattingPanel({
|
|
|
22711
22721
|
{
|
|
22712
22722
|
type: "button",
|
|
22713
22723
|
disabled: !canEdit,
|
|
22714
|
-
className:
|
|
22724
|
+
className: chunkKA7ST7IH_js.cn(BTN, "text-center"),
|
|
22715
22725
|
onClick: () => {
|
|
22716
22726
|
const newRows = chunkVSNXVKJI_js.computeSplitCell(td, rowIndex, columnIndex);
|
|
22717
22727
|
if (newRows) {
|
|
@@ -23119,7 +23129,7 @@ function InspectorCommentRow({
|
|
|
23119
23129
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
23120
23130
|
"div",
|
|
23121
23131
|
{
|
|
23122
|
-
className:
|
|
23132
|
+
className: chunkKA7ST7IH_js.cn(
|
|
23123
23133
|
"rounded border border-border bg-card p-2",
|
|
23124
23134
|
depth > 0 && "ml-3 border-l-2 border-l-primary/40"
|
|
23125
23135
|
),
|
|
@@ -23207,7 +23217,7 @@ function InspectorCommentRow({
|
|
|
23207
23217
|
"button",
|
|
23208
23218
|
{
|
|
23209
23219
|
type: "button",
|
|
23210
|
-
className:
|
|
23220
|
+
className: chunkKA7ST7IH_js.cn(
|
|
23211
23221
|
"inline-flex items-center justify-center p-1.5 border-l border-border transition-colors",
|
|
23212
23222
|
comment.resolved ? "bg-green-900/40 text-green-300 hover:bg-green-900/60" : "hover:bg-accent text-foreground hover:text-foreground"
|
|
23213
23223
|
),
|
|
@@ -23401,7 +23411,7 @@ function InspectorCommentsSection({
|
|
|
23401
23411
|
type: "button",
|
|
23402
23412
|
onClick: onAddComment,
|
|
23403
23413
|
disabled: !commentDraft.trim(),
|
|
23404
|
-
className:
|
|
23414
|
+
className: chunkKA7ST7IH_js.cn(
|
|
23405
23415
|
"w-full inline-flex items-center justify-center gap-1 rounded px-2 py-1 text-[11px] font-medium transition-colors",
|
|
23406
23416
|
commentDraft.trim() ? "bg-primary hover:bg-primary/80 text-white" : "bg-muted text-muted-foreground cursor-not-allowed"
|
|
23407
23417
|
),
|
|
@@ -23426,7 +23436,7 @@ function InspectorPaneHeader({
|
|
|
23426
23436
|
{
|
|
23427
23437
|
type: "button",
|
|
23428
23438
|
title: label,
|
|
23429
|
-
className:
|
|
23439
|
+
className: chunkKA7ST7IH_js.cn(
|
|
23430
23440
|
"flex items-center gap-1 px-2 py-1 rounded text-[11px] transition-colors",
|
|
23431
23441
|
activeTab === key ? "bg-primary text-white" : "text-muted-foreground hover:text-foreground hover:bg-accent"
|
|
23432
23442
|
),
|
|
@@ -23535,7 +23545,7 @@ function CustomPropertiesBlock({
|
|
|
23535
23545
|
"button",
|
|
23536
23546
|
{
|
|
23537
23547
|
type: "button",
|
|
23538
|
-
className:
|
|
23548
|
+
className: chunkKA7ST7IH_js.cn(BTN, "px-1.5 text-red-400 hover:text-red-300"),
|
|
23539
23549
|
onClick: () => onUpdate(customProperties.filter((_, i) => i !== index)),
|
|
23540
23550
|
children: "\xD7"
|
|
23541
23551
|
}
|
|
@@ -23670,7 +23680,7 @@ function PresentationSettingsCard({
|
|
|
23670
23680
|
"select",
|
|
23671
23681
|
{
|
|
23672
23682
|
disabled: !canEdit,
|
|
23673
|
-
className:
|
|
23683
|
+
className: chunkKA7ST7IH_js.cn(INPUT, "w-28"),
|
|
23674
23684
|
value: presentationProperties.showType ?? "presented",
|
|
23675
23685
|
onChange: (e) => onUpdate({
|
|
23676
23686
|
showType: e.target.value
|
|
@@ -23728,7 +23738,7 @@ function PresentationSettingsCard({
|
|
|
23728
23738
|
min: 1,
|
|
23729
23739
|
max: 16,
|
|
23730
23740
|
disabled: !canEdit,
|
|
23731
|
-
className:
|
|
23741
|
+
className: chunkKA7ST7IH_js.cn(INPUT, "w-20"),
|
|
23732
23742
|
value: presentationProperties.printSlidesPerPage ?? 1,
|
|
23733
23743
|
onChange: (e) => onUpdate({ printSlidesPerPage: Number(e.target.value) })
|
|
23734
23744
|
}
|
|
@@ -24025,7 +24035,7 @@ function TagsSection({
|
|
|
24025
24035
|
"button",
|
|
24026
24036
|
{
|
|
24027
24037
|
type: "button",
|
|
24028
|
-
className:
|
|
24038
|
+
className: chunkKA7ST7IH_js.cn(BTN, "px-1.5 text-red-400 hover:text-red-300"),
|
|
24029
24039
|
title: t("pptx.tags.deleteTag"),
|
|
24030
24040
|
onClick: () => deleteTag(tag.colIdx, tag.tagIdx),
|
|
24031
24041
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuTrash2, { className: "w-3 h-3" })
|
|
@@ -24125,7 +24135,7 @@ function PresentationPropertiesPanel({
|
|
|
24125
24135
|
canEdit
|
|
24126
24136
|
}
|
|
24127
24137
|
),
|
|
24128
|
-
activeSlide && /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
24138
|
+
activeSlide && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkKA7ST7IH_js.cn(CARD, "space-y-1"), children: [
|
|
24129
24139
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: HEADING, children: "Slide" }),
|
|
24130
24140
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-[11px] text-muted-foreground", children: [
|
|
24131
24141
|
activeSlide.elements?.length ?? 0,
|
|
@@ -24146,7 +24156,7 @@ function SlideBackgroundPanel({
|
|
|
24146
24156
|
const { t } = reactI18next.useTranslation();
|
|
24147
24157
|
const bgImageInputRef = React14.useRef(null);
|
|
24148
24158
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
24149
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
24159
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkKA7ST7IH_js.cn(CARD, "space-y-2"), children: [
|
|
24150
24160
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: HEADING, children: "Background" }),
|
|
24151
24161
|
/* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
24152
24162
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground w-10 shrink-0", children: "Colour" }),
|
|
@@ -24192,7 +24202,7 @@ function SlideBackgroundPanel({
|
|
|
24192
24202
|
"button",
|
|
24193
24203
|
{
|
|
24194
24204
|
type: "button",
|
|
24195
|
-
className:
|
|
24205
|
+
className: chunkKA7ST7IH_js.cn(BTN, "flex-1 text-center"),
|
|
24196
24206
|
disabled: !canEdit,
|
|
24197
24207
|
onClick: () => bgImageInputRef.current?.click(),
|
|
24198
24208
|
children: activeSlide.backgroundImage ? t("pptx.slideBackground.replaceImage") : t("pptx.slideBackground.chooseImage")
|
|
@@ -24225,7 +24235,7 @@ function SlideBackgroundPanel({
|
|
|
24225
24235
|
"button",
|
|
24226
24236
|
{
|
|
24227
24237
|
type: "button",
|
|
24228
|
-
className:
|
|
24238
|
+
className: chunkKA7ST7IH_js.cn(BTN, "w-full text-center text-red-400 hover:text-red-300"),
|
|
24229
24239
|
disabled: !canEdit,
|
|
24230
24240
|
onClick: () => onUpdateSlide({
|
|
24231
24241
|
backgroundColor: void 0,
|
|
@@ -24256,7 +24266,7 @@ function TemplateBackgroundCard({
|
|
|
24256
24266
|
onGetTemplateBackgroundColor
|
|
24257
24267
|
}) {
|
|
24258
24268
|
const { t } = reactI18next.useTranslation();
|
|
24259
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
24269
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkKA7ST7IH_js.cn(CARD, "space-y-2"), children: [
|
|
24260
24270
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: HEADING, children: t("pptx.slideBackground.templateBackgroundsHeading") }),
|
|
24261
24271
|
activeSlide.layoutPath && /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
24262
24272
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -24403,7 +24413,7 @@ function InspectorPane(props) {
|
|
|
24403
24413
|
} = props;
|
|
24404
24414
|
const hasSelection = selectedElement !== null;
|
|
24405
24415
|
const { t } = reactI18next.useTranslation();
|
|
24406
|
-
const { dragY, handlers: dragHandlers } =
|
|
24416
|
+
const { dragY, handlers: dragHandlers } = chunkKA7ST7IH_js.useSheetDismissDrag(onClose);
|
|
24407
24417
|
const {
|
|
24408
24418
|
animationPanelHeight,
|
|
24409
24419
|
effectiveThemeOptions,
|
|
@@ -24424,7 +24434,7 @@ function InspectorPane(props) {
|
|
|
24424
24434
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
24425
24435
|
"div",
|
|
24426
24436
|
{
|
|
24427
|
-
className:
|
|
24437
|
+
className: chunkKA7ST7IH_js.cn(
|
|
24428
24438
|
// Shared styles
|
|
24429
24439
|
"bg-background flex flex-col text-xs text-foreground shadow-xl",
|
|
24430
24440
|
// Mobile: absolute bottom sheet overlay sized via dvh so it
|
|
@@ -24462,7 +24472,7 @@ function InspectorPane(props) {
|
|
|
24462
24472
|
),
|
|
24463
24473
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 overflow-y-auto p-3 space-y-3", children: [
|
|
24464
24474
|
activeTab === "elements" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
24465
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
24475
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkKA7ST7IH_js.cn(HEADING, "mb-2"), children: t("pptx.inspector.layerOrder") }),
|
|
24466
24476
|
activeSlide ? [...activeSlide.elements || []].reverse().map((el, ri) => {
|
|
24467
24477
|
const idx = (activeSlide.elements || []).length - 1 - ri;
|
|
24468
24478
|
const sel = selectedElement?.id === el.id || selectedElementIds.includes(el.id);
|
|
@@ -24471,7 +24481,7 @@ function InspectorPane(props) {
|
|
|
24471
24481
|
"div",
|
|
24472
24482
|
{
|
|
24473
24483
|
title: `${el.type} \u2014 ${el.id}`,
|
|
24474
|
-
className:
|
|
24484
|
+
className: chunkKA7ST7IH_js.cn(
|
|
24475
24485
|
"flex items-center gap-2 px-2 py-1 rounded cursor-pointer transition-colors",
|
|
24476
24486
|
sel ? "bg-primary/30 text-primary" : "hover:bg-muted text-foreground"
|
|
24477
24487
|
),
|
|
@@ -25075,7 +25085,7 @@ function PresentationTouchControls({
|
|
|
25075
25085
|
hideNavigation = false
|
|
25076
25086
|
}) {
|
|
25077
25087
|
const { t } = reactI18next.useTranslation();
|
|
25078
|
-
const { isTouchDevice } =
|
|
25088
|
+
const { isTouchDevice } = chunkKA7ST7IH_js.useIsMobile();
|
|
25079
25089
|
if (!isTouchDevice) {
|
|
25080
25090
|
return null;
|
|
25081
25091
|
}
|
|
@@ -25776,7 +25786,7 @@ function PrintDialog({
|
|
|
25776
25786
|
defaultFrameSlides
|
|
25777
25787
|
}) {
|
|
25778
25788
|
const { t } = reactI18next.useTranslation();
|
|
25779
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
25789
|
+
const { panelStyle, handlers: dragHandlers } = chunkKA7ST7IH_js.useModalDismissDrag(onClose);
|
|
25780
25790
|
const [printWhat, setPrintWhat] = React14.useState("slides");
|
|
25781
25791
|
const [orientation, setOrientation] = React14.useState("landscape");
|
|
25782
25792
|
const [colorMode, setColorMode] = React14.useState("color");
|
|
@@ -26305,7 +26315,7 @@ function BroadcastDialog({
|
|
|
26305
26315
|
const [serverUrl, setServerUrl] = React14.useState("");
|
|
26306
26316
|
const [copied, setCopied] = React14.useState(false);
|
|
26307
26317
|
const dialogRef = React14.useRef(null);
|
|
26308
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
26318
|
+
const { panelStyle, handlers: dragHandlers } = chunkKA7ST7IH_js.useModalDismissDrag(onClose);
|
|
26309
26319
|
useModalFocus(open, dialogRef, onClose);
|
|
26310
26320
|
React14.useEffect(() => {
|
|
26311
26321
|
if (open && !isBroadcasting) {
|
|
@@ -26868,7 +26878,7 @@ function ShareDialog({
|
|
|
26868
26878
|
const [invitation, setInvitation] = React14.useState("");
|
|
26869
26879
|
const [copied, setCopied] = React14.useState(false);
|
|
26870
26880
|
const dialogRef = React14.useRef(null);
|
|
26871
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
26881
|
+
const { panelStyle, handlers: dragHandlers } = chunkKA7ST7IH_js.useModalDismissDrag(onClose);
|
|
26872
26882
|
useModalFocus(open, dialogRef, onClose);
|
|
26873
26883
|
React14.useEffect(() => {
|
|
26874
26884
|
if (activeCollaboration) {
|
|
@@ -27143,12 +27153,12 @@ function HyperlinkEditDialog({
|
|
|
27143
27153
|
onCancel
|
|
27144
27154
|
}) {
|
|
27145
27155
|
const { t } = reactI18next.useTranslation();
|
|
27146
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
27156
|
+
const { panelStyle, handlers: dragHandlers } = chunkKA7ST7IH_js.useModalDismissDrag(onCancel);
|
|
27147
27157
|
const inputRef = React14.useRef(null);
|
|
27148
|
-
const detectedType =
|
|
27149
|
-
const emailParts =
|
|
27150
|
-
const detectedSlide =
|
|
27151
|
-
const detectedVerb = initialAction ?
|
|
27158
|
+
const detectedType = chunkKA7ST7IH_js.detectTargetType(initialUrl, initialAction);
|
|
27159
|
+
const emailParts = chunkKA7ST7IH_js.parseEmailUrl(initialUrl || "");
|
|
27160
|
+
const detectedSlide = chunkKA7ST7IH_js.parseSlideFromUrl(initialUrl, initialAction);
|
|
27161
|
+
const detectedVerb = initialAction ? chunkKA7ST7IH_js.ACTION_VERB_MAP[initialAction.toLowerCase()] || "nextSlide" : "nextSlide";
|
|
27152
27162
|
const [targetType, setTargetType] = React14.useState(detectedType);
|
|
27153
27163
|
const [url, setUrl] = React14.useState(
|
|
27154
27164
|
detectedType === "email" || detectedType === "slide" || detectedType === "action" ? "" : initialUrl || ""
|
|
@@ -27179,7 +27189,7 @@ function HyperlinkEditDialog({
|
|
|
27179
27189
|
actionVerb
|
|
27180
27190
|
});
|
|
27181
27191
|
};
|
|
27182
|
-
const tabCls = (active) =>
|
|
27192
|
+
const tabCls = (active) => chunkKA7ST7IH_js.cn(
|
|
27183
27193
|
"px-3 py-1.5 text-xs rounded-t border-b-2 transition-colors",
|
|
27184
27194
|
active ? "border-primary text-primary font-medium" : "border-transparent text-muted-foreground hover:text-foreground hover:border-border"
|
|
27185
27195
|
);
|
|
@@ -27569,7 +27579,7 @@ function DrawingOverlaySvg({
|
|
|
27569
27579
|
}
|
|
27570
27580
|
);
|
|
27571
27581
|
}
|
|
27572
|
-
function GridOverlay({ canvasSize, gridSpacingPx =
|
|
27582
|
+
function GridOverlay({ canvasSize, gridSpacingPx = chunkKA7ST7IH_js.GRID_SIZE, visible }) {
|
|
27573
27583
|
const spacing = Math.max(gridSpacingPx, 2);
|
|
27574
27584
|
const patternId = React14.useMemo(() => `grid-dot-pattern-${Math.random().toString(36).slice(2, 8)}`, []);
|
|
27575
27585
|
if (!visible) {
|
|
@@ -28850,7 +28860,7 @@ function ViewerBottomPanels({
|
|
|
28850
28860
|
hideStatusBar = false,
|
|
28851
28861
|
hiddenActions
|
|
28852
28862
|
}) {
|
|
28853
|
-
const { isHidden } =
|
|
28863
|
+
const { isHidden } = chunkKA7ST7IH_js.useToolbarVisibility(hiddenActions);
|
|
28854
28864
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
28855
28865
|
onResizeBottom && !isSlideNotesCollapsed && /* @__PURE__ */ jsxRuntime.jsx(ResizeHandle, { direction: "vertical", onResize: onResizeBottom }),
|
|
28856
28866
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -29069,7 +29079,7 @@ function scopeLayoutOptionsToActiveSlide(options, activeSlide) {
|
|
|
29069
29079
|
function TitleBar(p) {
|
|
29070
29080
|
const { t } = reactI18next.useTranslation();
|
|
29071
29081
|
const editing = (p.mode === "edit" || p.mode === "master") && p.canEdit;
|
|
29072
|
-
const { isHidden } =
|
|
29082
|
+
const { isHidden } = chunkKA7ST7IH_js.useToolbarVisibility(p.hiddenActions);
|
|
29073
29083
|
const [searchQuery, setSearchQuery] = React14.useState("");
|
|
29074
29084
|
const [searchFocused, setSearchFocused] = React14.useState(false);
|
|
29075
29085
|
const searchRef = React14.useRef(null);
|
|
@@ -29125,7 +29135,7 @@ function TitleBar(p) {
|
|
|
29125
29135
|
role: "switch",
|
|
29126
29136
|
"aria-checked": p.autosaveEnabled,
|
|
29127
29137
|
onClick: p.onToggleAutosave,
|
|
29128
|
-
className:
|
|
29138
|
+
className: chunkKA7ST7IH_js.cn(
|
|
29129
29139
|
chunkVSNXVKJI_js.TITLE_BAR_CLASSES.toggleTrack,
|
|
29130
29140
|
p.autosaveEnabled ? chunkVSNXVKJI_js.TITLE_BAR_CLASSES.toggleTrackOn : chunkVSNXVKJI_js.TITLE_BAR_CLASSES.toggleTrackOff
|
|
29131
29141
|
),
|
|
@@ -29134,7 +29144,7 @@ function TitleBar(p) {
|
|
|
29134
29144
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
29135
29145
|
"span",
|
|
29136
29146
|
{
|
|
29137
|
-
className:
|
|
29147
|
+
className: chunkKA7ST7IH_js.cn(
|
|
29138
29148
|
chunkVSNXVKJI_js.TITLE_BAR_CLASSES.toggleKnob,
|
|
29139
29149
|
p.autosaveEnabled ? chunkVSNXVKJI_js.TITLE_BAR_CLASSES.toggleKnobOn : chunkVSNXVKJI_js.TITLE_BAR_CLASSES.toggleKnobOff
|
|
29140
29150
|
)
|
|
@@ -29189,7 +29199,7 @@ function TitleBar(p) {
|
|
|
29189
29199
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
29190
29200
|
"span",
|
|
29191
29201
|
{
|
|
29192
|
-
className:
|
|
29202
|
+
className: chunkKA7ST7IH_js.cn(
|
|
29193
29203
|
chunkVSNXVKJI_js.TITLE_BAR_CLASSES.statusText,
|
|
29194
29204
|
p.autosaveStatus?.state === "error" && p.autosaveEnabled && chunkVSNXVKJI_js.TITLE_BAR_CLASSES.statusError,
|
|
29195
29205
|
p.autosaveStatus?.state === "saving" && p.autosaveEnabled && chunkVSNXVKJI_js.TITLE_BAR_CLASSES.statusSaving
|
|
@@ -29203,7 +29213,7 @@ function TitleBar(p) {
|
|
|
29203
29213
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
29204
29214
|
"div",
|
|
29205
29215
|
{
|
|
29206
|
-
className:
|
|
29216
|
+
className: chunkKA7ST7IH_js.cn(
|
|
29207
29217
|
chunkVSNXVKJI_js.TITLE_BAR_CLASSES.searchBox,
|
|
29208
29218
|
(searchFocused || p.findReplaceOpen) && "text-foreground bg-background"
|
|
29209
29219
|
),
|
|
@@ -29803,7 +29813,7 @@ function EquationEditorDialog({
|
|
|
29803
29813
|
existingOmml
|
|
29804
29814
|
}) {
|
|
29805
29815
|
const { t } = reactI18next.useTranslation();
|
|
29806
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
29816
|
+
const { panelStyle, handlers: dragHandlers } = chunkKA7ST7IH_js.useModalDismissDrag(onClose);
|
|
29807
29817
|
const initialLatex = React14.useMemo(() => {
|
|
29808
29818
|
if (!existingOmml) {
|
|
29809
29819
|
return "";
|
|
@@ -29936,7 +29946,7 @@ function EquationEditorDialog({
|
|
|
29936
29946
|
{
|
|
29937
29947
|
type: "button",
|
|
29938
29948
|
onClick: () => handleTemplateClick(tmpl.latex),
|
|
29939
|
-
className:
|
|
29949
|
+
className: chunkKA7ST7IH_js.cn(
|
|
29940
29950
|
"flex flex-col items-center gap-1 p-2 rounded-lg border transition-colors",
|
|
29941
29951
|
latex === tmpl.latex ? "border-primary bg-primary/10" : "border-border bg-muted/40 hover:bg-accent/60 hover:border-border"
|
|
29942
29952
|
),
|
|
@@ -30035,7 +30045,7 @@ function InsertSmartArtDialog({
|
|
|
30035
30045
|
onInsert
|
|
30036
30046
|
}) {
|
|
30037
30047
|
const { t } = reactI18next.useTranslation();
|
|
30038
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
30048
|
+
const { panelStyle, handlers: dragHandlers } = chunkKA7ST7IH_js.useModalDismissDrag(onClose);
|
|
30039
30049
|
const [activeCategory, setActiveCategory] = React14.useState("list");
|
|
30040
30050
|
const [selectedLayout, setSelectedLayout] = React14.useState(null);
|
|
30041
30051
|
const dialogRef = React14.useRef(null);
|
|
@@ -30116,7 +30126,7 @@ function InsertSmartArtDialog({
|
|
|
30116
30126
|
setActiveCategory(cat.id);
|
|
30117
30127
|
setSelectedLayout(null);
|
|
30118
30128
|
},
|
|
30119
|
-
className:
|
|
30129
|
+
className: chunkKA7ST7IH_js.cn(
|
|
30120
30130
|
"w-full text-left px-3 py-1.5 text-xs transition-colors",
|
|
30121
30131
|
activeCategory === cat.id ? "bg-primary text-white" : "text-foreground hover:bg-muted"
|
|
30122
30132
|
),
|
|
@@ -30144,7 +30154,7 @@ function InsertSmartArtDialog({
|
|
|
30144
30154
|
onInsert(preset.layout, preset.defaultItems);
|
|
30145
30155
|
onClose();
|
|
30146
30156
|
},
|
|
30147
|
-
className:
|
|
30157
|
+
className: chunkKA7ST7IH_js.cn(
|
|
30148
30158
|
"flex flex-col items-center gap-1 p-2 rounded border transition-colors",
|
|
30149
30159
|
selectedLayout === preset.layout ? "border-primary bg-primary/20" : "border-border hover:border-border hover:bg-muted/50"
|
|
30150
30160
|
),
|
|
@@ -30174,7 +30184,7 @@ function InsertSmartArtDialog({
|
|
|
30174
30184
|
type: "button",
|
|
30175
30185
|
onClick: handleInsert,
|
|
30176
30186
|
disabled: !selectedLayout,
|
|
30177
|
-
className:
|
|
30187
|
+
className: chunkKA7ST7IH_js.cn(
|
|
30178
30188
|
"px-3 py-1.5 text-xs rounded transition-colors",
|
|
30179
30189
|
selectedLayout ? "bg-primary hover:bg-primary/80 text-white" : "bg-muted text-muted-foreground cursor-not-allowed"
|
|
30180
30190
|
),
|
|
@@ -30476,7 +30486,7 @@ function ViewerCanvasArea(props) {
|
|
|
30476
30486
|
hiddenActions
|
|
30477
30487
|
} = props;
|
|
30478
30488
|
const { t } = reactI18next.useTranslation();
|
|
30479
|
-
const { isHidden } =
|
|
30489
|
+
const { isHidden } = chunkKA7ST7IH_js.useToolbarVisibility(hiddenActions);
|
|
30480
30490
|
const effectiveSlide = mode === "master" ? masterPseudoSlide : activeSlide;
|
|
30481
30491
|
const effectiveTemplateElements = mode === "master" ? s.activeLayout ? s.activeMaster?.elements ?? [] : [] : templateElements;
|
|
30482
30492
|
const fieldContext = React14.useMemo(() => {
|
|
@@ -30565,7 +30575,7 @@ function ViewerCanvasArea(props) {
|
|
|
30565
30575
|
s.setActiveSlideIndex((i) => Math.max(0, i - 1));
|
|
30566
30576
|
}
|
|
30567
30577
|
}, [mode, presentation, s]);
|
|
30568
|
-
const swipe =
|
|
30578
|
+
const swipe = chunkKA7ST7IH_js.useSwipeNavigation({
|
|
30569
30579
|
enabled: swipeEnabled,
|
|
30570
30580
|
onNext: handleSwipeNext,
|
|
30571
30581
|
onPrev: handleSwipePrev
|
|
@@ -31353,7 +31363,7 @@ function MobileDismissSheet({
|
|
|
31353
31363
|
className,
|
|
31354
31364
|
children
|
|
31355
31365
|
}) {
|
|
31356
|
-
const { dragY, handlers } =
|
|
31366
|
+
const { dragY, handlers } = chunkKA7ST7IH_js.useSheetDismissDrag(onClose);
|
|
31357
31367
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
31358
31368
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31359
31369
|
"button",
|
|
@@ -31622,7 +31632,7 @@ function ThemeThumbnail({
|
|
|
31622
31632
|
{
|
|
31623
31633
|
type: "button",
|
|
31624
31634
|
onClick,
|
|
31625
|
-
className:
|
|
31635
|
+
className: chunkKA7ST7IH_js.cn(
|
|
31626
31636
|
"group relative flex flex-col rounded-lg border-2 transition-all overflow-hidden",
|
|
31627
31637
|
selected ? "border-primary shadow-lg scale-[1.02]" : "border-border hover:border-primary/50 hover:shadow-md"
|
|
31628
31638
|
),
|
|
@@ -32256,7 +32266,7 @@ function MobileBottomBar({
|
|
|
32256
32266
|
{
|
|
32257
32267
|
type: "button",
|
|
32258
32268
|
onClick,
|
|
32259
|
-
className:
|
|
32269
|
+
className: chunkKA7ST7IH_js.cn(
|
|
32260
32270
|
"relative flex flex-col items-center justify-center gap-0.5 flex-1 min-h-[56px] py-1.5 text-[10px] font-medium transition-colors active:scale-95",
|
|
32261
32271
|
active ? "text-primary" : "text-muted-foreground hover:text-foreground"
|
|
32262
32272
|
),
|
|
@@ -32304,7 +32314,7 @@ function MobileChromeOverlay(props) {
|
|
|
32304
32314
|
canEdit,
|
|
32305
32315
|
commentCount
|
|
32306
32316
|
} = props;
|
|
32307
|
-
const { keyboardInset, isKeyboardOpen } =
|
|
32317
|
+
const { keyboardInset, isKeyboardOpen } = chunkKA7ST7IH_js.useKeyboardInsets();
|
|
32308
32318
|
const activeSheet = s.isSlidesPaneOpen ? "slides" : s.isInspectorPaneOpen ? s.sidebarPanelMode === "comments" ? "comments" : "inspector" : !s.isSlideNotesCollapsed ? "notes" : null;
|
|
32309
32319
|
const closeAllSheets = () => {
|
|
32310
32320
|
s.setIsSlidesPaneOpen(false);
|
|
@@ -32404,7 +32414,7 @@ function SettingsAppearanceTab({
|
|
|
32404
32414
|
type: "button",
|
|
32405
32415
|
onClick: () => onSelectTheme(entry.key),
|
|
32406
32416
|
"aria-pressed": isActive,
|
|
32407
|
-
className:
|
|
32417
|
+
className: chunkKA7ST7IH_js.cn(
|
|
32408
32418
|
"flex items-center gap-3 rounded-lg border px-3 py-2.5 text-left transition-colors",
|
|
32409
32419
|
isActive ? "border-primary bg-primary/10" : "border-border hover:border-primary/50 hover:bg-accent"
|
|
32410
32420
|
),
|
|
@@ -32421,7 +32431,7 @@ function SettingsAppearanceTab({
|
|
|
32421
32431
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32422
32432
|
"span",
|
|
32423
32433
|
{
|
|
32424
|
-
className:
|
|
32434
|
+
className: chunkKA7ST7IH_js.cn("text-xs font-medium", isActive ? "text-primary" : "text-foreground"),
|
|
32425
32435
|
children: t(entry.labelKey)
|
|
32426
32436
|
}
|
|
32427
32437
|
)
|
|
@@ -32444,7 +32454,7 @@ function SettingsLanguageTab({
|
|
|
32444
32454
|
type: "button",
|
|
32445
32455
|
onClick: () => onSelectLocale(locale.code),
|
|
32446
32456
|
"aria-pressed": isActive,
|
|
32447
|
-
className:
|
|
32457
|
+
className: chunkKA7ST7IH_js.cn(
|
|
32448
32458
|
"flex w-full items-center justify-between rounded px-3 py-2.5 text-left transition-colors",
|
|
32449
32459
|
isActive ? "bg-primary/10 text-primary" : "text-foreground hover:bg-accent"
|
|
32450
32460
|
),
|
|
@@ -32469,7 +32479,7 @@ function ToggleSwitch({
|
|
|
32469
32479
|
{
|
|
32470
32480
|
type: "button",
|
|
32471
32481
|
onClick: onToggle,
|
|
32472
|
-
className:
|
|
32482
|
+
className: chunkKA7ST7IH_js.cn(
|
|
32473
32483
|
"relative inline-flex h-5 w-9 items-center rounded-full transition-colors",
|
|
32474
32484
|
enabled ? "bg-primary" : "bg-muted-foreground/30"
|
|
32475
32485
|
),
|
|
@@ -32479,7 +32489,7 @@ function ToggleSwitch({
|
|
|
32479
32489
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32480
32490
|
"span",
|
|
32481
32491
|
{
|
|
32482
|
-
className:
|
|
32492
|
+
className: chunkKA7ST7IH_js.cn(
|
|
32483
32493
|
"inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform",
|
|
32484
32494
|
enabled ? "translate-x-[18px]" : "translate-x-[3px]"
|
|
32485
32495
|
)
|
|
@@ -32503,7 +32513,7 @@ function SettingsDialog({
|
|
|
32503
32513
|
}) {
|
|
32504
32514
|
const [activeTab, setActiveTab] = React14.useState("general");
|
|
32505
32515
|
const { t } = reactI18next.useTranslation();
|
|
32506
|
-
const { panelStyle, handlers: dragHandlers } =
|
|
32516
|
+
const { panelStyle, handlers: dragHandlers } = chunkKA7ST7IH_js.useModalDismissDrag(onClose);
|
|
32507
32517
|
const handleKeyDown = React14.useCallback(
|
|
32508
32518
|
(e) => {
|
|
32509
32519
|
if (e.key === "Escape") {
|
|
@@ -32577,7 +32587,7 @@ function SettingsDialog({
|
|
|
32577
32587
|
{
|
|
32578
32588
|
type: "button",
|
|
32579
32589
|
onClick: () => setActiveTab(tab.id),
|
|
32580
|
-
className:
|
|
32590
|
+
className: chunkKA7ST7IH_js.cn(
|
|
32581
32591
|
"px-3 py-2 text-xs font-medium transition-colors relative",
|
|
32582
32592
|
activeTab === tab.id ? "text-primary" : "text-muted-foreground hover:text-foreground"
|
|
32583
32593
|
),
|
|
@@ -32614,10 +32624,10 @@ function SettingsDialog({
|
|
|
32614
32624
|
onSelectLocale
|
|
32615
32625
|
}
|
|
32616
32626
|
),
|
|
32617
|
-
activeTab === "shortcuts" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-0.5", children:
|
|
32627
|
+
activeTab === "shortcuts" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-0.5", children: chunkKA7ST7IH_js.SHORTCUT_REFERENCE_ITEMS.map((shortcut, i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
32618
32628
|
"div",
|
|
32619
32629
|
{
|
|
32620
|
-
className:
|
|
32630
|
+
className: chunkKA7ST7IH_js.cn(
|
|
32621
32631
|
"flex items-center justify-between gap-3 rounded px-3 py-2",
|
|
32622
32632
|
i % 2 === 0 ? "bg-muted/60" : ""
|
|
32623
32633
|
),
|
|
@@ -32759,8 +32769,8 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
32759
32769
|
const [isHeaderFooterOpen, setIsHeaderFooterOpen] = React14.useState(false);
|
|
32760
32770
|
const [autosaveEnabled, setAutosaveEnabled] = React14.useState(true);
|
|
32761
32771
|
const [isShareDialogOpen, setIsShareDialogOpen] = React14.useState(false);
|
|
32762
|
-
const { reducedMotion, toggleReducedMotion } =
|
|
32763
|
-
const state =
|
|
32772
|
+
const { reducedMotion, toggleReducedMotion } = chunkKA7ST7IH_js.useReducedMotion();
|
|
32773
|
+
const state = chunkKA7ST7IH_js.useViewerState({ content, canEdit });
|
|
32764
32774
|
const {
|
|
32765
32775
|
containerRef,
|
|
32766
32776
|
mode,
|
|
@@ -32820,10 +32830,10 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
32820
32830
|
},
|
|
32821
32831
|
[state, reducedMotion, toggleReducedMotion]
|
|
32822
32832
|
);
|
|
32823
|
-
const mobile =
|
|
32833
|
+
const mobile = chunkKA7ST7IH_js.useIsMobile({ containerRef });
|
|
32824
32834
|
const { isMobile, isTouchDevice, isVirtualKeyboardOpen } = mobile;
|
|
32825
|
-
const resizablePanels =
|
|
32826
|
-
const { gridSpacingPx, visibleSlideIndexes, slideSectionGroups, masterPseudoSlide } =
|
|
32835
|
+
const resizablePanels = chunkKA7ST7IH_js.useResizablePanels();
|
|
32836
|
+
const { gridSpacingPx, visibleSlideIndexes, slideSectionGroups, masterPseudoSlide } = chunkKA7ST7IH_js.useDerivedSlideState({
|
|
32827
32837
|
slides,
|
|
32828
32838
|
sections: state.sections,
|
|
32829
32839
|
customShows: state.customShows,
|
|
@@ -32845,11 +32855,11 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
32845
32855
|
state.isDrawingRef
|
|
32846
32856
|
]
|
|
32847
32857
|
);
|
|
32848
|
-
const zoom =
|
|
32858
|
+
const zoom = chunkKA7ST7IH_js.useZoomViewport({
|
|
32849
32859
|
canvasSize,
|
|
32850
32860
|
selectedElements: state.selectedElements
|
|
32851
32861
|
});
|
|
32852
|
-
const history =
|
|
32862
|
+
const history = chunkKA7ST7IH_js.useEditorHistory({
|
|
32853
32863
|
slides,
|
|
32854
32864
|
canvasSize,
|
|
32855
32865
|
activeSlideIndex,
|
|
@@ -32871,7 +32881,7 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
32871
32881
|
setEditTemplateMode: state.setEditTemplateMode,
|
|
32872
32882
|
setHeaderFooter: state.setHeaderFooter
|
|
32873
32883
|
});
|
|
32874
|
-
const { presentation, annotations, actionSoundHandlerRef } =
|
|
32884
|
+
const { presentation, annotations, actionSoundHandlerRef } = chunkKA7ST7IH_js.usePresentationSetup({
|
|
32875
32885
|
mode,
|
|
32876
32886
|
slides,
|
|
32877
32887
|
visibleSlideIndexes,
|
|
@@ -32885,7 +32895,7 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
32885
32895
|
setSlides: state.setSlides,
|
|
32886
32896
|
history
|
|
32887
32897
|
});
|
|
32888
|
-
|
|
32898
|
+
chunkKA7ST7IH_js.useTouchGestures({
|
|
32889
32899
|
targetRef: zoom.canvasViewportRef,
|
|
32890
32900
|
currentScale: zoom.scale,
|
|
32891
32901
|
callbacks: {
|
|
@@ -32907,7 +32917,7 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
32907
32917
|
},
|
|
32908
32918
|
enabled: isTouchDevice
|
|
32909
32919
|
});
|
|
32910
|
-
const dialogs =
|
|
32920
|
+
const dialogs = chunkKA7ST7IH_js.useViewerDialogs({
|
|
32911
32921
|
mode,
|
|
32912
32922
|
slides,
|
|
32913
32923
|
activeSlide,
|
|
@@ -32948,7 +32958,7 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
32948
32958
|
zoom.handleZoomToFit();
|
|
32949
32959
|
zoom.canvasViewportRef.current?.scrollTo({ left: 0, top: 0 });
|
|
32950
32960
|
}, [mode]);
|
|
32951
|
-
const editorOps =
|
|
32961
|
+
const editorOps = chunkKA7ST7IH_js.useEditorOperations({
|
|
32952
32962
|
state,
|
|
32953
32963
|
history,
|
|
32954
32964
|
zoom,
|
|
@@ -32980,7 +32990,7 @@ var PowerPointViewer = React14.forwardRef(
|
|
|
32980
32990
|
autosaveStatus,
|
|
32981
32991
|
isEncryptedDialogOpen,
|
|
32982
32992
|
setIsEncryptedDialogOpen
|
|
32983
|
-
} =
|
|
32993
|
+
} = chunkKA7ST7IH_js.useViewerIntegration({
|
|
32984
32994
|
state,
|
|
32985
32995
|
zoom,
|
|
32986
32996
|
history,
|
|
@@ -33340,7 +33350,7 @@ function CollaborationDocumentSync({
|
|
|
33340
33350
|
}
|
|
33341
33351
|
return bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes);
|
|
33342
33352
|
}, []);
|
|
33343
|
-
|
|
33353
|
+
chunkKA7ST7IH_js.useYjsDocumentSync({
|
|
33344
33354
|
doc: collab?.doc ?? null,
|
|
33345
33355
|
slides,
|
|
33346
33356
|
templateElementsBySlideId,
|
|
@@ -33358,13 +33368,13 @@ function CollaborationFollowLayer({
|
|
|
33358
33368
|
slideCount
|
|
33359
33369
|
}) {
|
|
33360
33370
|
const collab = useCollaboration();
|
|
33361
|
-
const { followedClientId, followUser } =
|
|
33371
|
+
const { followedClientId, followUser } = chunkKA7ST7IH_js.useFollowMode({
|
|
33362
33372
|
collab,
|
|
33363
33373
|
activeSlideIndex,
|
|
33364
33374
|
setActiveSlideIndex,
|
|
33365
33375
|
slideCount
|
|
33366
33376
|
});
|
|
33367
|
-
|
|
33377
|
+
chunkKA7ST7IH_js.useBroadcastFollower({
|
|
33368
33378
|
collab,
|
|
33369
33379
|
activeSlideIndex,
|
|
33370
33380
|
setActiveSlideIndex,
|