pptx-react-viewer 4.64.0 → 4.64.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/{AiChatPanel-DRY6JUQE.js → AiChatPanel-7AFFNYEN.js} +19 -19
- package/dist/AiChatPanel-7AFFNYEN.js.br +0 -0
- package/dist/AiChatPanel-7AFFNYEN.js.gz +0 -0
- package/dist/{AiChatPanel-KBSDSD5Y.mjs → AiChatPanel-7U7IJRNY.mjs} +1 -1
- package/dist/AiChatPanel-7U7IJRNY.mjs.br +0 -0
- package/dist/AiChatPanel-7U7IJRNY.mjs.gz +0 -0
- package/dist/ai.js +2 -2
- package/dist/ai.js.br +0 -0
- package/dist/ai.js.gz +0 -0
- package/dist/ai.mjs +1 -1
- package/dist/ai.mjs.br +0 -0
- package/dist/ai.mjs.gz +0 -0
- package/dist/{chunk-JKSUB7DR.js → chunk-5DBKW7F3.js} +3 -3
- package/dist/chunk-5DBKW7F3.js.br +0 -0
- package/dist/{chunk-JKSUB7DR.js.gz → chunk-5DBKW7F3.js.gz} +0 -0
- package/dist/{chunk-46VMP4EH.mjs → chunk-5ZW3GP6C.mjs} +4 -4
- package/dist/chunk-5ZW3GP6C.mjs.br +0 -0
- package/dist/chunk-5ZW3GP6C.mjs.gz +0 -0
- package/dist/{chunk-FYYQ4OGF.mjs → chunk-G5JGUSBL.mjs} +12 -5
- package/dist/chunk-G5JGUSBL.mjs.br +0 -0
- package/dist/chunk-G5JGUSBL.mjs.gz +0 -0
- package/dist/{chunk-PX46BOMQ.js → chunk-GXL2XMST.js} +560 -560
- package/dist/chunk-GXL2XMST.js.br +0 -0
- package/dist/chunk-GXL2XMST.js.gz +0 -0
- package/dist/{chunk-SHI3PQ5F.mjs → chunk-HZBEKG5R.mjs} +4 -4
- package/dist/chunk-HZBEKG5R.mjs.br +0 -0
- package/dist/chunk-HZBEKG5R.mjs.gz +0 -0
- package/dist/{chunk-7UFO4OZQ.js → chunk-PNDORR6S.js} +1 -1
- package/dist/chunk-PNDORR6S.js.br +0 -0
- package/dist/chunk-PNDORR6S.js.gz +0 -0
- package/dist/{chunk-73SDWM6K.js → chunk-VGU5S37T.js} +212 -205
- package/dist/chunk-VGU5S37T.js.br +0 -0
- package/dist/chunk-VGU5S37T.js.gz +0 -0
- package/dist/{chunk-SGWF6GUX.mjs → chunk-WAIX4VJ2.mjs} +1 -1
- package/dist/chunk-WAIX4VJ2.mjs.br +0 -0
- package/dist/chunk-WAIX4VJ2.mjs.gz +0 -0
- package/dist/index.js +27 -27
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.js +81 -81
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +2 -2
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/pptx-viewer-canvas.css +1 -1
- package/dist/pptx-viewer-canvas.css.br +0 -0
- package/dist/pptx-viewer-canvas.css.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 +21 -21
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +4 -4
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +3 -3
- package/dist/AiChatPanel-DRY6JUQE.js.br +0 -0
- package/dist/AiChatPanel-DRY6JUQE.js.gz +0 -0
- package/dist/AiChatPanel-KBSDSD5Y.mjs.br +0 -0
- package/dist/AiChatPanel-KBSDSD5Y.mjs.gz +0 -0
- package/dist/chunk-46VMP4EH.mjs.br +0 -0
- package/dist/chunk-46VMP4EH.mjs.gz +0 -0
- package/dist/chunk-73SDWM6K.js.br +0 -0
- package/dist/chunk-73SDWM6K.js.gz +0 -0
- package/dist/chunk-7UFO4OZQ.js.br +0 -0
- package/dist/chunk-7UFO4OZQ.js.gz +0 -0
- package/dist/chunk-FYYQ4OGF.mjs.br +0 -0
- package/dist/chunk-FYYQ4OGF.mjs.gz +0 -0
- package/dist/chunk-JKSUB7DR.js.br +0 -0
- package/dist/chunk-PX46BOMQ.js.br +0 -0
- package/dist/chunk-PX46BOMQ.js.gz +0 -0
- package/dist/chunk-SGWF6GUX.mjs.br +0 -0
- package/dist/chunk-SGWF6GUX.mjs.gz +0 -0
- package/dist/chunk-SHI3PQ5F.mjs.br +0 -0
- package/dist/chunk-SHI3PQ5F.mjs.gz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,21 @@ A release listed with no entries carried no Conventional Commit in this package'
|
|
|
7
7
|
scope: scripts/release-plan.mjs releases whenever any published file changes, not only on
|
|
8
8
|
conventional commits.
|
|
9
9
|
|
|
10
|
+
## [4.64.1](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-react-viewer@4.64.1) - 2026-11-05
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- **react:** Drop unused imports and merge ooxml-ui/pptx imports ([e26dc69](https://github.com/ChristopherVR/ooxml/commit/e26dc69fbd8891dd13cbcadfd286c66ef46cb9b8))
|
|
15
|
+
- **ui:** Keep a morphing line at its width and fix flipped connectors ([8b42576](https://github.com/ChristopherVR/ooxml/commit/8b42576c1282c1eb2be04c811f1c8ea0485444dd))
|
|
16
|
+
- **pptx:** Read a text shadow without alpha as opaque ([2bd02f4](https://github.com/ChristopherVR/ooxml/commit/2bd02f4a0af3dd94728b0598885c05be6b59b73f))
|
|
17
|
+
- **ui:** Paint blurred shadows and glows with powerpoint's profiles ([78e5a22](https://github.com/ChristopherVR/ooxml/commit/78e5a226675b0cd1437de66f70f2a404811888ba))
|
|
18
|
+
- **ui:** Snap thin pptx strokes to whole device pixels like PowerPoint ([78436fb](https://github.com/ChristopherVR/ooxml/commit/78436fb1a8519aecb966ff221fd18d8f72928e6a))
|
|
19
|
+
- **ui:** Keep css borders and compound strands unrounded ([c57a5e3](https://github.com/ChristopherVR/ooxml/commit/c57a5e37712c0286946c8f40364851a371d5ea76))
|
|
20
|
+
|
|
21
|
+
### Testing
|
|
22
|
+
|
|
23
|
+
- **pptx:** Pin sibling strand paths of a compound outline per binding ([328a94a](https://github.com/ChristopherVR/ooxml/commit/328a94a9dfa0cd20d22d993fc88faa8b76bfa55e))
|
|
24
|
+
|
|
10
25
|
## [4.64.0](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-react-viewer@4.64.0) - 2026-11-05
|
|
11
26
|
|
|
12
27
|
### Features
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk5DBKW7F3_js = require('./chunk-5DBKW7F3.js');
|
|
4
4
|
require('./chunk-PIRHQTI4.js');
|
|
5
5
|
var react = require('react');
|
|
6
6
|
var lu = require('react-icons/lu');
|
|
@@ -301,7 +301,7 @@ function AiComposer({
|
|
|
301
301
|
prefillText,
|
|
302
302
|
prefillNonce
|
|
303
303
|
}) {
|
|
304
|
-
const { t } =
|
|
304
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
305
305
|
const [value, setValue] = react.useState("");
|
|
306
306
|
const textareaRef = react.useRef(null);
|
|
307
307
|
const appliedNonce = react.useRef(void 0);
|
|
@@ -364,7 +364,7 @@ function AiComposer({
|
|
|
364
364
|
disabled: value.trim().length === 0,
|
|
365
365
|
title: t("pptx.ai.send"),
|
|
366
366
|
"aria-label": t("pptx.ai.send"),
|
|
367
|
-
className:
|
|
367
|
+
className: chunk5DBKW7F3_js.cn(
|
|
368
368
|
"shrink-0 rounded-sm p-1.5 transition-colors",
|
|
369
369
|
value.trim().length === 0 ? "text-muted-foreground/50" : "bg-primary text-primary-foreground hover:bg-primary/90"
|
|
370
370
|
),
|
|
@@ -386,7 +386,7 @@ function AiFocusBar({
|
|
|
386
386
|
onStopPick,
|
|
387
387
|
onClearPicks
|
|
388
388
|
}) {
|
|
389
|
-
const { t } =
|
|
389
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
390
390
|
const chips = ai.focusTargetChips(targets, slides);
|
|
391
391
|
const twoTables = ai.isTwoTableFocus(targets, slides);
|
|
392
392
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b border-border bg-secondary/30", children: [
|
|
@@ -395,7 +395,7 @@ function AiFocusBar({
|
|
|
395
395
|
chips.map((chip) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
396
396
|
"span",
|
|
397
397
|
{
|
|
398
|
-
className:
|
|
398
|
+
className: chunk5DBKW7F3_js.cn(
|
|
399
399
|
"inline-flex max-w-[10rem] items-center rounded-full px-2 py-0.5 text-[11px]",
|
|
400
400
|
hasPicks || isPinned ? "bg-primary/15 text-primary" : "bg-muted text-muted-foreground"
|
|
401
401
|
),
|
|
@@ -432,7 +432,7 @@ function AiFocusBar({
|
|
|
432
432
|
title: t("pptx.ai.pickElement"),
|
|
433
433
|
"aria-label": t("pptx.ai.pickAria"),
|
|
434
434
|
"aria-pressed": pickMode,
|
|
435
|
-
className:
|
|
435
|
+
className: chunk5DBKW7F3_js.cn(
|
|
436
436
|
"rounded-sm p-1 max-md:min-w-[44px]! max-md:min-h-[44px]! flex items-center justify-center",
|
|
437
437
|
pickMode ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-accent"
|
|
438
438
|
),
|
|
@@ -501,7 +501,7 @@ function relativeTime(from, now = Date.now()) {
|
|
|
501
501
|
return `${weeks}w ago`;
|
|
502
502
|
}
|
|
503
503
|
function AiHistoryList({ chats, activeChatId, onResume, onDelete }) {
|
|
504
|
-
const { t } =
|
|
504
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
505
505
|
if (chats.length === 0) {
|
|
506
506
|
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-3 py-4 text-center text-[12px] text-muted-foreground", children: t("pptx.ai.historyEmpty") });
|
|
507
507
|
}
|
|
@@ -511,7 +511,7 @@ function AiHistoryList({ chats, activeChatId, onResume, onDelete }) {
|
|
|
511
511
|
{
|
|
512
512
|
type: "button",
|
|
513
513
|
onClick: () => onResume(chat.id),
|
|
514
|
-
className:
|
|
514
|
+
className: chunk5DBKW7F3_js.cn(
|
|
515
515
|
"flex min-w-0 flex-1 items-start gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent",
|
|
516
516
|
chat.id === activeChatId && "bg-accent/60"
|
|
517
517
|
),
|
|
@@ -550,7 +550,7 @@ function AiHistoryMenu({
|
|
|
550
550
|
onNewChat,
|
|
551
551
|
onClose
|
|
552
552
|
}) {
|
|
553
|
-
const { t } =
|
|
553
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
554
554
|
const ref = react.useRef(null);
|
|
555
555
|
react.useEffect(() => {
|
|
556
556
|
const handler = (e) => {
|
|
@@ -616,7 +616,7 @@ function appliedThemeFromPart(part) {
|
|
|
616
616
|
return { summary: out.summary ?? "Theme updated", previous: out.previous ?? {} };
|
|
617
617
|
}
|
|
618
618
|
function AiAppliedThemeCard({ summary, onUndo }) {
|
|
619
|
-
const { t } =
|
|
619
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
620
620
|
const [undone, setUndone] = react.useState(false);
|
|
621
621
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 rounded-md border border-primary/30 bg-primary/5 px-2.5 py-1.5 text-[12px]", children: [
|
|
622
622
|
/* @__PURE__ */ jsxRuntime.jsx(lu.LuPalette, { className: "w-3.5 h-3.5 shrink-0 text-primary" }),
|
|
@@ -662,7 +662,7 @@ var ICONS = {
|
|
|
662
662
|
tool: lu.LuWrench
|
|
663
663
|
};
|
|
664
664
|
function AiToolCallCard({ part }) {
|
|
665
|
-
const { t } =
|
|
665
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
666
666
|
const failed = part.state === "output-error";
|
|
667
667
|
const done = part.state === "output-available";
|
|
668
668
|
const running = !failed && !done;
|
|
@@ -675,17 +675,17 @@ function AiToolCallCard({ part }) {
|
|
|
675
675
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
676
676
|
Icon,
|
|
677
677
|
{
|
|
678
|
-
className:
|
|
678
|
+
className: chunk5DBKW7F3_js.cn(
|
|
679
679
|
"w-3.5 h-3.5 shrink-0",
|
|
680
680
|
failed ? "text-destructive" : "text-muted-foreground"
|
|
681
681
|
)
|
|
682
682
|
}
|
|
683
683
|
),
|
|
684
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
684
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunk5DBKW7F3_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
|
|
685
685
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
686
686
|
"span",
|
|
687
687
|
{
|
|
688
|
-
className:
|
|
688
|
+
className: chunk5DBKW7F3_js.cn(
|
|
689
689
|
"ml-auto inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 text-[10px]",
|
|
690
690
|
failed ? "bg-destructive/15 text-destructive" : done ? "bg-primary/10 text-primary" : "bg-muted text-muted-foreground"
|
|
691
691
|
),
|
|
@@ -710,7 +710,7 @@ function AiToolCallCard({ part }) {
|
|
|
710
710
|
] });
|
|
711
711
|
}
|
|
712
712
|
function AiMessageList({ messages, isStreaming, bridge }) {
|
|
713
|
-
const { t } =
|
|
713
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
714
714
|
const endRef = react.useRef(null);
|
|
715
715
|
react.useEffect(() => {
|
|
716
716
|
endRef.current?.scrollIntoView({ block: "end" });
|
|
@@ -733,7 +733,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
|
|
|
733
733
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
734
734
|
"div",
|
|
735
735
|
{
|
|
736
|
-
className:
|
|
736
|
+
className: chunk5DBKW7F3_js.cn(
|
|
737
737
|
"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full",
|
|
738
738
|
isUser ? "bg-secondary text-muted-foreground" : "bg-primary/15 text-primary"
|
|
739
739
|
),
|
|
@@ -779,7 +779,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
|
|
|
779
779
|
] });
|
|
780
780
|
}
|
|
781
781
|
function AiProposalCard({ proposal, onAccept, onReject }) {
|
|
782
|
-
const { t } =
|
|
782
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
783
783
|
const lines = proposal.summary.map(ai.humanizeDiffLine);
|
|
784
784
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-primary/40 bg-primary/5 p-2.5", children: [
|
|
785
785
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1.5 text-[11px] font-semibold uppercase tracking-wide text-primary", children: t("pptx.ai.proposedChange") }),
|
|
@@ -821,7 +821,7 @@ function AiConversation({
|
|
|
821
821
|
aiPanel,
|
|
822
822
|
deckId
|
|
823
823
|
}) {
|
|
824
|
-
const { t } =
|
|
824
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
825
825
|
const chat = useAiConversation(useChat, session, config, bridge, {
|
|
826
826
|
// Live "AI as a collaborator" focus: as each tool runs, navigate to and
|
|
827
827
|
// highlight the slide / element(s) it touches so the canvas mirrors the
|
|
@@ -986,7 +986,7 @@ function AiChatPanel({
|
|
|
986
986
|
onClose,
|
|
987
987
|
panelWidth
|
|
988
988
|
}) {
|
|
989
|
-
const { t } =
|
|
989
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
990
990
|
const { state, session, initError } = useAiChat(bridge, config);
|
|
991
991
|
const deckId = react.useMemo(() => ai.deckIdFromBridge(bridge), [bridge]);
|
|
992
992
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useTranslation, cn } from './chunk-
|
|
1
|
+
import { useTranslation, cn } from './chunk-5ZW3GP6C.mjs';
|
|
2
2
|
import './chunk-UV2HVMKZ.mjs';
|
|
3
3
|
import { useMemo, useRef, useState, useEffect, useReducer, useCallback } from 'react';
|
|
4
4
|
import { LuSparkles, LuX, LuLoaderCircle, LuTriangleAlert, LuHistory, LuMessageSquarePlus, LuTrash2, LuPlus, LuGitMerge, LuCrosshair, LuPinOff, LuPin, LuUser, LuBot, LuCheck, LuSquare, LuSend, LuMessageSquare, LuPalette, LuUndo2, LuWrench, LuStickyNote, LuFilm, LuNavigation, LuSearch, LuMove, LuChartColumn, LuLayoutTemplate, LuTable, LuShapes, LuType, LuEye } from 'react-icons/lu';
|
|
Binary file
|
|
Binary file
|
package/dist/ai.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkPNDORR6S_js = require('./chunk-PNDORR6S.js');
|
|
4
4
|
require('./chunk-PIRHQTI4.js');
|
|
5
5
|
|
|
6
6
|
// src/ai.ts
|
|
7
7
|
function createAiAssistant(config) {
|
|
8
|
-
return
|
|
8
|
+
return chunkPNDORR6S_js.aiAssistants.register(config, chunkPNDORR6S_js.AiChatPanelLazy);
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
exports.createAiAssistant = createAiAssistant;
|
package/dist/ai.js.br
CHANGED
|
Binary file
|
package/dist/ai.js.gz
CHANGED
|
Binary file
|
package/dist/ai.mjs
CHANGED
package/dist/ai.mjs.br
CHANGED
|
Binary file
|
package/dist/ai.mjs.gz
CHANGED
|
Binary file
|
|
@@ -1919,7 +1919,7 @@ function getShapeVisualStyle(element, _hasFill, fillColor, _strokeWidth, _stroke
|
|
|
1919
1919
|
...base,
|
|
1920
1920
|
backgroundColor: "transparent",
|
|
1921
1921
|
borderWidth: 0,
|
|
1922
|
-
borderTopWidth: pptx.
|
|
1922
|
+
borderTopWidth: pptx.screenBorderWidth(geometry.strokeWidth),
|
|
1923
1923
|
borderTopColor: stroke.borderColor,
|
|
1924
1924
|
borderTopStyle: stroke.borderStyle ?? "solid"
|
|
1925
1925
|
};
|
|
@@ -2019,7 +2019,7 @@ function strokeStrands(d, keyBase, ctx) {
|
|
|
2019
2019
|
vectorEffect: "non-scaling-stroke",
|
|
2020
2020
|
style: {
|
|
2021
2021
|
// Never under one device pixel on screen (shared `device-pixel-stroke`).
|
|
2022
|
-
strokeWidth: pptx.
|
|
2022
|
+
strokeWidth: pptx.screenBorderWidth(Math.max(ctx.widths[idx] ?? ctx.strokeWidth, 1)),
|
|
2023
2023
|
transform: offset !== 0 ? `translate(0, ${offset}px)` : void 0
|
|
2024
2024
|
}
|
|
2025
2025
|
},
|
|
@@ -2380,7 +2380,7 @@ function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor
|
|
|
2380
2380
|
vectorEffect: "non-scaling-stroke",
|
|
2381
2381
|
style: {
|
|
2382
2382
|
pointerEvents: "none",
|
|
2383
|
-
strokeWidth: pptx.
|
|
2383
|
+
strokeWidth: pptx.screenBorderWidth(Math.max(widths[idx] ?? strokeWidth, 1)),
|
|
2384
2384
|
...offset !== 0 ? { transform: `translate(0, ${offset}px)` } : {}
|
|
2385
2385
|
}
|
|
2386
2386
|
},
|
|
Binary file
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { translationsEn, keyToLabel } from 'ooxml-ui/pptx/i18n';
|
|
2
2
|
import React8, { createContext, useContext, useState, useMemo, useRef, useEffect, useCallback, useLayoutEffect } from 'react';
|
|
3
3
|
import { useTranslation as useTranslation$1 } from 'react-i18next';
|
|
4
|
-
import { VIEWER_SHORTCUT_REFERENCE, getAnimationInitialStyle as getAnimationInitialStyle$1, cloneHistorySnapshot as cloneHistorySnapshot$1, SHAPE_PRESET_DEFS, getImageFitStyle, getImageFillCounterTransform, getComputedFillStyle, getCropShapeClipPath as getCropShapeClipPath$1, getImageTilingStyle as getImageTilingStyle$1, mediaPlaybackAttributes, getOnlineVideoEmbed, ONLINE_VIDEO_IFRAME_SANDBOX, ONLINE_VIDEO_IFRAME_ALLOW, buildTextBlockStyle, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, buildTextBodyLayoutStyle, buildTextBody3DSceneStyle as buildTextBody3DSceneStyle$1, buildParagraphs, followingText, colorWithOpacity, normalizeHexColor, hexToRgbUnit, build3DExtrusionData as build3DExtrusionData$1, getFrameEffectStyle, getComputedEffectStyle, getComputedStrokeStyle, getAnimationColorBaseStyle, isStrokeOnlyPresetElement, resolveShapeGeometry,
|
|
4
|
+
import { VIEWER_SHORTCUT_REFERENCE, getAnimationInitialStyle as getAnimationInitialStyle$1, cloneHistorySnapshot as cloneHistorySnapshot$1, SHAPE_PRESET_DEFS, getImageFitStyle, getImageFillCounterTransform, getComputedFillStyle, getCropShapeClipPath as getCropShapeClipPath$1, getImageTilingStyle as getImageTilingStyle$1, mediaPlaybackAttributes, getOnlineVideoEmbed, ONLINE_VIDEO_IFRAME_SANDBOX, ONLINE_VIDEO_IFRAME_ALLOW, buildTextBlockStyle, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, buildTextBodyLayoutStyle, buildTextBody3DSceneStyle as buildTextBody3DSceneStyle$1, buildParagraphs, followingText, colorWithOpacity, normalizeHexColor, hexToRgbUnit, build3DExtrusionData as build3DExtrusionData$1, getFrameEffectStyle, getComputedEffectStyle, getComputedStrokeStyle, getAnimationColorBaseStyle, isStrokeOnlyPresetElement, resolveShapeGeometry, screenBorderWidth, markerPath, normalizeStrokeDashType, getSvgStrokeDasharray, screenStrokeWidth, buildSvgGradientDef, isArrowedCustomPath, buildStrokeOutline, getPresetShapeVectorGeometry, isWedgeCalloutPresetShape, svgGradientFillRef, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, canDrillDown, computeSelectionRect, DEFAULT_FONT_FAMILY as DEFAULT_FONT_FAMILY$1, cellStyleToCss, TABLE_CELL_TEXT_DEFAULTS, applyTableCellFontWeight, rectToCells, isCellInRect, tableContainerCss, buildChartViewModel, resolveChartKind, chartPreserveAspectRatio, buildNotesPdfBytes, buildTiledSlidesPdfBytes, buildPreviewAnimation, measurePreviewGeometry, buildMotionPathPreview, mediaFallbackVisual, scheduleMediaTrimAndFade, registerCrossSlideAudio, shouldShowMediaFullscreenStopButton, withInlineListDecorationDefaults, segmentStyleToCss, resolveAutoFitFontScale, applyUnderlineVariant, nestedTextDecorationStyle, textRunColor, scaleFontSizeForAutoFit, resolveFontKerning, resolveScriptFontSet, hasDistinctScriptFonts, authoredLetterSpacingPx, eastAsianBreaksForRun, pieceLetterSpacing, resolveMetricTrackingPx, hollowTextFillStyle, splitsUnderlineIntoWords, stripUnderlineDecoration, buildTabContext, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, apply3dEffects as apply3dEffects$1, buildSubpathPaints, computeColumnBoundaries, computeTableMergeCrossings, columnHandleSegments, rowHandleSegments, getTableCellBandStyle as getTableCellBandStyle$1, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders as getCellDiagonalBorders$1, cellParagraphBlocks, resolveChartPalette, computeChartLegendLayout, resolveChartSvgDef, mediaFallbackIcon, mediaFallbackLabelKey, MEDIA_CHROME_ATTRIBUTE, convertOmmlToMathMl, sanitizeMathMl, tableCellCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, buildRectPathGradient, screenBorder, cellRunStyle, buildRunTabLines, chartPartToAttrs, splitWordsForUnderline, splitRunForMetrics, splitEastAsianBreaks, splitRunByScriptFont } from 'ooxml-ui/pptx';
|
|
5
5
|
export { ACTION_BUTTON_PRESETS, DEFAULT_COLOR_CHANGE_TOLERANCE, INK_REPLAY_KEYFRAMES, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, SLIDE_TRANSITION_OPTIONS, TABLE_STYLE_PRESETS, applyColorChange, applyFormatToElement, applyReroutedConnectors, buildCacheKey, buildContentPartStrokes, buildCssGradientFromShapeStyle, buildInkGroupStrokes, buildSaveSlides, canvasToJpegData, clampCropValue, cloneSlide, cloneTemplateElementsBySlideId, colorWithOpacity, comparePresentation, computeHandoutLayout, copyFormatFromElement, formatCommentTimestamp, generateNoteLineCount, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getCompoundLineOffsets, getCompoundLineWidths, getContentPartReplayStyles, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getImageEffectsFilter, getImageEffectsOpacity, getInkReplayStyles, getPatternSvg, getPrintableArea, getShapeAdjustmentHandleDescriptors, getSvgStrokeDasharray, getTextCompensationOrigin, getTextCompensationTransform, hasCopyableFormat, isEditableTextElement, isImageTiled, isPpactionUrl, isTemplateElementId, isUrlSafe, makeCloneId, mergeCells, normalizeHexColor, normalizeStrokeDashType, openNativeEyeDropper, parsePpactionUrl, partitionTemplateElements, rerouteConnectorsForMovedElements, safeOpenUrl, sanitizeGradientStops, setCachedResult, splitCell, stopAllPersistentAudio, substituteFieldText } from 'ooxml-ui/pptx';
|
|
6
6
|
import { clsx } from 'clsx';
|
|
7
7
|
import { twMerge } from 'tailwind-merge';
|
|
@@ -1915,7 +1915,7 @@ function getShapeVisualStyle(element, _hasFill, fillColor, _strokeWidth, _stroke
|
|
|
1915
1915
|
...base,
|
|
1916
1916
|
backgroundColor: "transparent",
|
|
1917
1917
|
borderWidth: 0,
|
|
1918
|
-
borderTopWidth:
|
|
1918
|
+
borderTopWidth: screenBorderWidth(geometry.strokeWidth),
|
|
1919
1919
|
borderTopColor: stroke.borderColor,
|
|
1920
1920
|
borderTopStyle: stroke.borderStyle ?? "solid"
|
|
1921
1921
|
};
|
|
@@ -2015,7 +2015,7 @@ function strokeStrands(d, keyBase, ctx) {
|
|
|
2015
2015
|
vectorEffect: "non-scaling-stroke",
|
|
2016
2016
|
style: {
|
|
2017
2017
|
// Never under one device pixel on screen (shared `device-pixel-stroke`).
|
|
2018
|
-
strokeWidth:
|
|
2018
|
+
strokeWidth: screenBorderWidth(Math.max(ctx.widths[idx] ?? ctx.strokeWidth, 1)),
|
|
2019
2019
|
transform: offset !== 0 ? `translate(0, ${offset}px)` : void 0
|
|
2020
2020
|
}
|
|
2021
2021
|
},
|
|
@@ -2376,7 +2376,7 @@ function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor
|
|
|
2376
2376
|
vectorEffect: "non-scaling-stroke",
|
|
2377
2377
|
style: {
|
|
2378
2378
|
pointerEvents: "none",
|
|
2379
|
-
strokeWidth:
|
|
2379
|
+
strokeWidth: screenBorderWidth(Math.max(widths[idx] ?? strokeWidth, 1)),
|
|
2380
2380
|
...offset !== 0 ? { transform: `translate(0, ${offset}px)` } : {}
|
|
2381
2381
|
}
|
|
2382
2382
|
},
|
|
Binary file
|
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { cloneTemplateElementsBySlideId, cloneSlide, cloneHistorySnapshot, MIN_ELEMENT_SIZE, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, useTranslation, partitionTemplateElements, isTemplateElementId, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, comparePresentation, UNGROUPED_SECTION_ID, DEFAULT_SECTION_GROUP_ID, stopAllPersistentAudio, buildSaveSlides, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, getImageEffectsOpacity, getImageEffectsFilter, getImageRenderStyle, cn, isEditableTextElement, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageSurfaceStyle, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getElementLabel, normalizeHexColor, makeCloneId, DEFAULT_TEXT_FONT_SIZE, buildPdfFromTiledImageData, GRID_SIZE, copyFormatFromElement, hasCopyableFormat, isImageTiled, getDuotoneColors, DEFAULT_STROKE_COLOR, DEFAULT_FILL_COLOR, buildCssGradientFromShapeStyle, getCropShapeClipPath, getElementTransform, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getImageSurfaceMaskStyle, getTextWarpStyle, getTextCompensationTransform, getTextCompensationOrigin, renderTextSegments, buildReactChartViewModel, renderChartElement, buildInkGroupStrokes, getInkReplayStyles, INK_REPLAY_KEYFRAMES, buildContentPartStrokes, getContentPartReplayStyles, buildTextBody3DSceneStyle, rerouteConnectorsForMovedElements, applyReroutedConnectors, updateCellTextStyleInRawXml, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, buildNotesPdf, canvasToJpegData, applyFormatToElement, isPpactionUrl, parsePpactionUrl, getImageTilingStyle, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getAriaRoleDescription as getAriaRoleDescription$1, getAriaLabel as getAriaLabel$1, getAriaRole, DEFAULT_FONT_FAMILY, ACTION_BUTTON_PRESETS, isUrlSafe, substituteFieldText, HYPERLINK_COLOR } from './chunk-
|
|
2
|
-
import { defineThreeViewElement, MIN_TOUCH_TARGET_PX, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, createCollaborationSessionController, registerCollaborationTeardown, createPresenceProjector, BROADCAST_THROTTLE_MS, sanitizeColor, createEditorHistoryController, historyTheme, crossedHistoryTheme, createWheelStepBuffer, createViewerZoomStore, clampZoomScale, mapEditingWheel, createActiveAnimationGroup, cancelBuildReveal, clearPlaybackTimers, PresentationAnimationController, resolveMediaTimeNodeElementIds, resolveMediaBookmarkTimesMs, advanceMainSequence, playGroup, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, resolveAutoAdvanceDelayMs, resolveShowBackward, resolveShowForward, beginZoomExcursion, buildZoomTransitionOverride, createPresenterShowGuard, firstShowSlideIndex, attachPresentationVisibilityPause, presentationEntrySlideIndex, buildMorphTransitionPlan, morphOptionToMode, buildMorphAnimationRules, INITIAL_FIND_REPLACE_SESSION, findReplaceSessionActions, visibleTemplateElements, createCollaborationLivePatcher, reportInlineTextDraft, initialInspectorOpen, createPresentationLoadResources, collectMediaElements, resolveMediaElementSource, collectImagePaths, applyImagePathPatches, resolveTableCellImageUrls, resolveTableStyleImageUrls, resolveTextFillBlipUrls, seedRecentColors, resolveAuthoredCustomShowId, GlyphOutlineFontCache, buildInitialGuides, readOnlyRecommendation, compatibilityWarningToasts, resolveInitialSlideIndex, pptxLoadErrorMessage, resolveAutosaveIntervalMs, createAutosaveController, saveAutosaveSnapshot, updateMasterViewElement, updateElement, masterViewElements, replaceMasterViewElements, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, canMergeShapes, canInteractWithElement, prepareHtml2CanvasClone, html2canvasCaptureScope, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, DEFAULT_VIEWER_OPTIONS, resolveImageResolutionScale, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, describeFontEmbedding, isMobileViewport, resolveAuthoredSlideRange, mayLeaveSlideShow, buildDeckSaveOptions, resolveSlideSizeSelection, saveDeckWithPassword, createAutosaveRecoveryController, discardAutosaveRecovery, probeAutosaveRecovery, shouldLoopContinuously, applyRehearsalTimings, rasterResultToPngBlob, downloadBlob, elementPictureFilename, canEditElementPoints, resolveGoogleFontsCss2Base, selectTrustedEmbeddedFonts, resolveFontWeight, resolveFontItalic, collectReferencedFontFamilies, resolveGoogleWebfontHref, syncGoogleWebfontStylesheet, selectGoogleWebfontFamilies, fetchGoogleWebfontOutlineBytes, dispatchEditorKey, isFeatureEnabled, parentSelection, textFontSizePtToPx, stepFontSizePt, textFontSizePxToPt, cycleSelectableElement, createCustomizationController, gateViewerEdits, prepareElementForInsertion, slideSpaceElement, resolveReportedViewerMode, autosaveStatusKind, createViewerOptionsStore, observeYDocSlides, LOCAL_SYNC_ORIGIN, readSlidesFromYDoc, shouldRoomSlidesReplaceLoad, reconcileSlidesInYDoc, shouldAutoFollowBroadcaster, detectTouchDevice, detectOrientation, deriveViewportBreakpoints, createTouchGestureRecognizer, isKeyboardOpen, scopeLayoutOptionsToSlide, collaborationHistoryReady, bindCollaborationHistory, INITIAL_READ_ONLY_SESSION, readOnlySessionActions, applyReadOnlySessionEvent, readOnlyBannerVisible, readOnlyLocked, viewerPreferencesFromViewProperties, DEFAULT_VIEWER_PREFERENCES, viewPropertiesPatchFromPreferences, resolveCollaborationConfig, openPptxFile, readBackstageRecentFile, resolveCollaborationShellEditability, resolveCollaborationShellState, getResizeHandleHitAreaStyle, resolveElementInteractivity, getBackgroundAnimationState, getShapeEffectLayerPlacement, buildTextStyleOverrideCss, isElementRendered, resolveElementAriaAttributes, isMediaFullscreenActive, shouldRenderHitTarget, elementHitTargetStyle, getShapeEffectAnimationLayerStyle, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, resolvePalette as resolvePalette$1, mediaTransportVisible, oleActionsVisible, getGroupChildParentFill, deviceStrokeStageStyle, morphOverlayElementSlots, buildMorphOutlineRules, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, getSlideTransitionAnimations, getFragmentedTransitionDescriptor, SLIDE_TRANSITION_KEYFRAMES, isActionHidden, buildInlineTextCommitPatch, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, setPendingCaretPoint, resolveGroupDoubleClickTarget, filterInteractableIds, beginShapeAdjustment, buildElementClipboardPayload, promptNameDialog, generateCustomShowId, confirmDeleteDialog, contextMenuInspectorAnchor, savedPresentationFileName, deliverSavedPresentation, exportDeckJson, mapCustomizedEditorKey, isEditorTextInputTarget, groupElements, generateElementId, ungroupElements, alignElements, distributeElements, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, planMergeShapes, applyMergeShapesPlan, mapPresentationKey, lastShowSlideIndex, mapPresentationWheel, createBlankSlide, insertSlidePaste, applySlidePasteTemplates, makeSlideId, insertedLayoutCompletion, buildSlideTemplateSlide, templateSchemeFromTheme, queueThemeWrite, needsOwnedSession, openOwnedCollaboration, resolveViewportFitOptions, editorViewportFitFor, calculateViewportFit, observeViewportClientSize, scheduleAutoAdvanceChain, computeEntranceAnimationDelay, createPresentationSessionId, resolveTransitionDurationMs, resolveTransitionSoundAction, runPresentationAction, safeOpenUrl, buildRunProgramNotice, toggleStageElementMedia, resolveOleVerbTarget, downloadDataUrl, openUrlInNewTab, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, resetPresenterTimer, presenterElapsed, stepPresenterZoom, togglePresenterTimer, addCommentToList, removeCommentFromList, editCommentInList, toggleCommentResolvedInList, slideSpaceMembers, remapTextToSegments, getInlineEditorSelectionResult, buildInlineListStylePatch, applyActiveInlineListFormatting, applyListStyleUpdate, setPendingSelectionRestore, applyTextStyleUpdate, toggleSelectionBullets, transformInlineListCase, applyCaseTransformToSegments, transformTextCase, createGestureController, resolveExportCaptureDecision, recordProgressPercent, computeGridSpacingPx as computeGridSpacingPx$1, resolveShowSlideIndexes, groupSlidesBySection, masterViewPseudoSlide, overlayMasterViewInlineSnapshot, overlayInlineTextSnapshot, rasterizeElement, cloneElementForPaste, applyPasteSpecialFormat, buildRasterPictureElement, cloneElementUpdates, assertElementUpdateTarget, prepareElementUpdateBatch, createWriteBackScheduler, writeBackReport, createSyncGate, observeExternalCollaborationReadiness, resolveHistoryDepth, lockExternalContentSetting, resolveAllowExternalContent, createBackstagePresentation, buildFieldSubstitutionContext, buildSlidesPaneFieldContext, buildSlidesPaneTableStyleContext, slidesPaneRehearsalTimings, openSlidesPaneLayoutGallery, getImageColorWashStyle, attachRotateHandlePlacement, getSelectionControlArtworkStyle, getSelectionOutlineColor, paintedStrokeWidth, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, paintedElementSize, MEDIA_FULLSCREEN_OVERLAY_STYLE, elementContainerHeightStyle, getAnimationOpacity, abuttingEdgeBleedStyle, resolveElementHighlightClick, applyHighlightClickStyle, getComputedEffectStyle, getSoftEdgeSvgFilter, getEffectStyleSource, getBevelLightingSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, strokeOutlineViewBox, buildSummaryZoomView, readEditableText, placeCaretAt, takePendingCaretPoint, getPendingSelectionRestore, restoreSegmentSelection, mapInlineTextFormatKey, mapInlineEditorChord, subscribeBarFacePicturePixelSamples, getBarFacePicturePixelSampleVersion, ensureChartInteractionStyles, applyChartPartHighlight, resolveRevealedChartData, formatAxisValue, chartFormatTargetFromEvent, resolveOleType, getOleAriaLabel, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, getTextCompensationStyle, placeholderPromptDescriptor, getAriaRoleDescription, getAriaLabel, elementIdSelector, TOOLBAR_TABS, resolveGroupPressTarget, scrollInspectorSectionIntoView, computeScrollDelta, buildOutlinePrintJobDocument, printJobRasterFallback, applyThemeByPath, withHistoryTheme, withHistoryMasterThemes, writeThemeParts, loadedThemeName, replyToCommentInList, removeTableElementColumn, insertTableElementColumn, removeTableElementRow, insertTableElementRow, withCellStyle, getCellText, setCellText, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, stopCaptureStream, GIF_POST_CAPTURE_MAX_SIDE, encodeGif, rasterizeElementTiles, placeTileOnPage, PDF_SLIDES_PAGE_WIDTH_PT, PDF_SLIDES_PAGE_HEIGHT_PT, createSnapshotTextPositions, resolvePresentationAction, getImageSvgFilters, getCachedNativeImageSize, probeNativeImageSize, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, svgLineCap, screenStrokeWidth, connectorWrapperTransform, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, modelDataToBlobUrl, resolveZoomNavigationTarget, inlineListBodyText, createInlineListSeed, readListActivationSelection, createInlineListModelObserver, attachCollaborationInlineEditor, bindInlineListParagraph, bindInlineListRun, attachInlineListController, restoreInlineListBodySelection, isBulletMarkerSegment, resolveChartThreeViewSpec, applyChart3DDrag, applyChart3DSelect, canDrillDown, findChartPartTarget, withChartTitle, resolveSmartArtThreeViewSpec, measureSvgViewportRect, isBrowserOpenableMime, formatBytes, getOleDisplayName, getOleBadgeLabel, hasGlyphEnvelope, buildGlyphEnvelopeBlock, getWarpPath, isWedgeCalloutPresetShape, getAriaRole as getAriaRole$1, isElementActionable, buildSmartArtPresetData, classifyMediaType, getDraggedShapeAdjustments, computeMarqueeHitIds, mergeAdditiveSelection, planPrintJob, openPrintWindow, buildVectorPrintJobDocument, openPendingPrintWindow, borrowExternalCollaborationAwareness, observeExternalCollaborationSession, publishLiveGeometry, rasterizeElementTiledToCanvas, clampGifDimensions, rasterResultToPngDataUrl, openExternalHyperlinkConfirmed, advanceChartMarkDrag, advanceChartValueDrag, resolveChartKind, buildChartMarkDragGeometry, beginChartMarkDrag, beginChartValueDrag, findSmartArtNodeText, commitSmartArtNodeFill, commitSmartArtNodeText, groupIntoParagraphs as groupIntoParagraphs$1, createGlyphOutlineLookup, finishPrintWindow, buildRasterPrintJobDocument, applyMotionPathPreset, resolveRevealedSmartArtNodes, resolveRevealedDrawingShapes, buildSmartArtA11y, computeSmartArtElementLayout, flattenNodes, computeInlineEditorRect, smartArtNodeAtPoint, SMARTART_DEFAULT_PALETTE, computeDrawingViewBox, projectDrawingShapes, resolveRevealedDrawingShapeNodeIds, styleShadowFilter, buildChromeStyle, refreshSmartArtPictureImage, centeredSvgTextLines, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, bringForward, sendBackward, bringToFront, sendToBack } from 'ooxml-ui/pptx';
|
|
1
|
+
import { cloneTemplateElementsBySlideId, cloneSlide, cloneHistorySnapshot, MIN_ELEMENT_SIZE, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, useTranslation, partitionTemplateElements, isTemplateElementId, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, comparePresentation, UNGROUPED_SECTION_ID, DEFAULT_SECTION_GROUP_ID, stopAllPersistentAudio, buildSaveSlides, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, getImageEffectsOpacity, getImageEffectsFilter, getImageRenderStyle, cn, isEditableTextElement, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageSurfaceStyle, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getElementLabel, normalizeHexColor, makeCloneId, DEFAULT_TEXT_FONT_SIZE, buildPdfFromTiledImageData, GRID_SIZE, copyFormatFromElement, hasCopyableFormat, isImageTiled, getDuotoneColors, DEFAULT_STROKE_COLOR, DEFAULT_FILL_COLOR, buildCssGradientFromShapeStyle, getCropShapeClipPath, getElementTransform, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getImageSurfaceMaskStyle, getTextWarpStyle, getTextCompensationTransform, getTextCompensationOrigin, renderTextSegments, buildReactChartViewModel, renderChartElement, buildInkGroupStrokes, getInkReplayStyles, INK_REPLAY_KEYFRAMES, buildContentPartStrokes, getContentPartReplayStyles, buildTextBody3DSceneStyle, rerouteConnectorsForMovedElements, applyReroutedConnectors, updateCellTextStyleInRawXml, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, buildNotesPdf, canvasToJpegData, applyFormatToElement, isPpactionUrl, parsePpactionUrl, getImageTilingStyle, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getAriaRoleDescription as getAriaRoleDescription$1, getAriaLabel as getAriaLabel$1, getAriaRole, DEFAULT_FONT_FAMILY, ACTION_BUTTON_PRESETS, isUrlSafe, substituteFieldText, HYPERLINK_COLOR } from './chunk-5ZW3GP6C.mjs';
|
|
2
|
+
import { defineThreeViewElement, MIN_TOUCH_TARGET_PX, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, createCollaborationSessionController, registerCollaborationTeardown, createPresenceProjector, BROADCAST_THROTTLE_MS, sanitizeColor, createEditorHistoryController, historyTheme, crossedHistoryTheme, createWheelStepBuffer, createViewerZoomStore, clampZoomScale, mapEditingWheel, createActiveAnimationGroup, cancelBuildReveal, clearPlaybackTimers, PresentationAnimationController, resolveMediaTimeNodeElementIds, resolveMediaBookmarkTimesMs, advanceMainSequence, playGroup, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, resolveAutoAdvanceDelayMs, resolveShowBackward, resolveShowForward, beginZoomExcursion, buildZoomTransitionOverride, createPresenterShowGuard, firstShowSlideIndex, attachPresentationVisibilityPause, presentationEntrySlideIndex, buildMorphTransitionPlan, morphOptionToMode, buildMorphAnimationRules, INITIAL_FIND_REPLACE_SESSION, findReplaceSessionActions, visibleTemplateElements, createCollaborationLivePatcher, reportInlineTextDraft, initialInspectorOpen, createPresentationLoadResources, collectMediaElements, resolveMediaElementSource, collectImagePaths, applyImagePathPatches, resolveTableCellImageUrls, resolveTableStyleImageUrls, resolveTextFillBlipUrls, seedRecentColors, resolveAuthoredCustomShowId, GlyphOutlineFontCache, buildInitialGuides, readOnlyRecommendation, compatibilityWarningToasts, resolveInitialSlideIndex, pptxLoadErrorMessage, resolveAutosaveIntervalMs, createAutosaveController, saveAutosaveSnapshot, updateMasterViewElement, updateElement, masterViewElements, replaceMasterViewElements, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, canMergeShapes, canInteractWithElement, prepareHtml2CanvasClone, html2canvasCaptureScope, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, DEFAULT_VIEWER_OPTIONS, resolveImageResolutionScale, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, describeFontEmbedding, isMobileViewport, resolveAuthoredSlideRange, mayLeaveSlideShow, buildDeckSaveOptions, resolveSlideSizeSelection, saveDeckWithPassword, createAutosaveRecoveryController, discardAutosaveRecovery, probeAutosaveRecovery, shouldLoopContinuously, applyRehearsalTimings, rasterResultToPngBlob, downloadBlob, elementPictureFilename, canEditElementPoints, resolveGoogleFontsCss2Base, selectTrustedEmbeddedFonts, resolveFontWeight, resolveFontItalic, collectReferencedFontFamilies, resolveGoogleWebfontHref, syncGoogleWebfontStylesheet, selectGoogleWebfontFamilies, fetchGoogleWebfontOutlineBytes, dispatchEditorKey, isFeatureEnabled, parentSelection, textFontSizePtToPx, stepFontSizePt, textFontSizePxToPt, cycleSelectableElement, createCustomizationController, gateViewerEdits, prepareElementForInsertion, slideSpaceElement, resolveReportedViewerMode, autosaveStatusKind, createViewerOptionsStore, observeYDocSlides, LOCAL_SYNC_ORIGIN, readSlidesFromYDoc, shouldRoomSlidesReplaceLoad, reconcileSlidesInYDoc, shouldAutoFollowBroadcaster, detectTouchDevice, detectOrientation, deriveViewportBreakpoints, createTouchGestureRecognizer, isKeyboardOpen, scopeLayoutOptionsToSlide, collaborationHistoryReady, bindCollaborationHistory, INITIAL_READ_ONLY_SESSION, readOnlySessionActions, applyReadOnlySessionEvent, readOnlyBannerVisible, readOnlyLocked, viewerPreferencesFromViewProperties, DEFAULT_VIEWER_PREFERENCES, viewPropertiesPatchFromPreferences, resolveCollaborationConfig, openPptxFile, readBackstageRecentFile, resolveCollaborationShellEditability, resolveCollaborationShellState, getResizeHandleHitAreaStyle, resolveElementInteractivity, getBackgroundAnimationState, getShapeEffectLayerPlacement, buildTextStyleOverrideCss, isElementRendered, resolveElementAriaAttributes, isMediaFullscreenActive, shouldRenderHitTarget, elementHitTargetStyle, getShapeEffectAnimationLayerStyle, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, resolvePalette as resolvePalette$1, mediaTransportVisible, oleActionsVisible, getGroupChildParentFill, deviceStrokeStageStyle, morphOverlayElementSlots, buildMorphOutlineRules, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, getSlideTransitionAnimations, getFragmentedTransitionDescriptor, SLIDE_TRANSITION_KEYFRAMES, isActionHidden, buildInlineTextCommitPatch, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, setPendingCaretPoint, resolveGroupDoubleClickTarget, filterInteractableIds, beginShapeAdjustment, buildElementClipboardPayload, promptNameDialog, generateCustomShowId, confirmDeleteDialog, contextMenuInspectorAnchor, savedPresentationFileName, deliverSavedPresentation, exportDeckJson, mapCustomizedEditorKey, isEditorTextInputTarget, groupElements, generateElementId, ungroupElements, alignElements, distributeElements, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, planMergeShapes, applyMergeShapesPlan, mapPresentationKey, lastShowSlideIndex, mapPresentationWheel, createBlankSlide, insertSlidePaste, applySlidePasteTemplates, makeSlideId, insertedLayoutCompletion, buildSlideTemplateSlide, templateSchemeFromTheme, queueThemeWrite, needsOwnedSession, openOwnedCollaboration, resolveViewportFitOptions, editorViewportFitFor, calculateViewportFit, observeViewportClientSize, scheduleAutoAdvanceChain, computeEntranceAnimationDelay, createPresentationSessionId, resolveTransitionDurationMs, resolveTransitionSoundAction, runPresentationAction, safeOpenUrl, buildRunProgramNotice, toggleStageElementMedia, resolveOleVerbTarget, downloadDataUrl, openUrlInNewTab, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, resetPresenterTimer, presenterElapsed, stepPresenterZoom, togglePresenterTimer, addCommentToList, removeCommentFromList, editCommentInList, toggleCommentResolvedInList, slideSpaceMembers, remapTextToSegments, getInlineEditorSelectionResult, buildInlineListStylePatch, applyActiveInlineListFormatting, applyListStyleUpdate, setPendingSelectionRestore, applyTextStyleUpdate, toggleSelectionBullets, transformInlineListCase, applyCaseTransformToSegments, transformTextCase, createGestureController, resolveExportCaptureDecision, recordProgressPercent, computeGridSpacingPx as computeGridSpacingPx$1, resolveShowSlideIndexes, groupSlidesBySection, masterViewPseudoSlide, overlayMasterViewInlineSnapshot, overlayInlineTextSnapshot, rasterizeElement, cloneElementForPaste, applyPasteSpecialFormat, buildRasterPictureElement, cloneElementUpdates, assertElementUpdateTarget, prepareElementUpdateBatch, createWriteBackScheduler, writeBackReport, createSyncGate, observeExternalCollaborationReadiness, resolveHistoryDepth, lockExternalContentSetting, resolveAllowExternalContent, createBackstagePresentation, buildFieldSubstitutionContext, buildSlidesPaneFieldContext, buildSlidesPaneTableStyleContext, slidesPaneRehearsalTimings, openSlidesPaneLayoutGallery, getImageColorWashStyle, attachRotateHandlePlacement, getSelectionControlArtworkStyle, getSelectionOutlineColor, paintedStrokeWidth, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, paintedElementSize, MEDIA_FULLSCREEN_OVERLAY_STYLE, elementContainerHeightStyle, getAnimationOpacity, abuttingEdgeBleedStyle, resolveElementHighlightClick, applyHighlightClickStyle, getComputedEffectStyle, getSoftEdgeSvgFilter, getEffectStyleSource, getBevelLightingSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, strokeOutlineViewBox, buildSummaryZoomView, readEditableText, placeCaretAt, takePendingCaretPoint, getPendingSelectionRestore, restoreSegmentSelection, mapInlineTextFormatKey, mapInlineEditorChord, subscribeBarFacePicturePixelSamples, getBarFacePicturePixelSampleVersion, ensureChartInteractionStyles, applyChartPartHighlight, resolveRevealedChartData, formatAxisValue, chartFormatTargetFromEvent, resolveOleType, getOleAriaLabel, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, getTextCompensationStyle, placeholderPromptDescriptor, getAriaRoleDescription, getAriaLabel, elementIdSelector, TOOLBAR_TABS, resolveGroupPressTarget, scrollInspectorSectionIntoView, computeScrollDelta, buildOutlinePrintJobDocument, printJobRasterFallback, applyThemeByPath, withHistoryTheme, withHistoryMasterThemes, writeThemeParts, loadedThemeName, replyToCommentInList, removeTableElementColumn, insertTableElementColumn, removeTableElementRow, insertTableElementRow, withCellStyle, getCellText, setCellText, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, stopCaptureStream, GIF_POST_CAPTURE_MAX_SIDE, encodeGif, rasterizeElementTiles, placeTileOnPage, PDF_SLIDES_PAGE_WIDTH_PT, PDF_SLIDES_PAGE_HEIGHT_PT, createSnapshotTextPositions, resolvePresentationAction, getImageSvgFilters, getCachedNativeImageSize, probeNativeImageSize, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, svgLineCap, connectorSnapTransform, connectorNeedsPath, connectorStrandScreenWidth, connectorWrapperTransform, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, modelDataToBlobUrl, resolveZoomNavigationTarget, inlineListBodyText, createInlineListSeed, readListActivationSelection, createInlineListModelObserver, attachCollaborationInlineEditor, bindInlineListParagraph, bindInlineListRun, attachInlineListController, restoreInlineListBodySelection, isBulletMarkerSegment, resolveChartThreeViewSpec, applyChart3DDrag, applyChart3DSelect, canDrillDown, findChartPartTarget, withChartTitle, resolveSmartArtThreeViewSpec, measureSvgViewportRect, isBrowserOpenableMime, formatBytes, getOleDisplayName, getOleBadgeLabel, hasGlyphEnvelope, buildGlyphEnvelopeBlock, getWarpPath, isWedgeCalloutPresetShape, getAriaRole as getAriaRole$1, isElementActionable, buildSmartArtPresetData, classifyMediaType, getDraggedShapeAdjustments, computeMarqueeHitIds, mergeAdditiveSelection, planPrintJob, openPrintWindow, buildVectorPrintJobDocument, openPendingPrintWindow, borrowExternalCollaborationAwareness, observeExternalCollaborationSession, publishLiveGeometry, rasterizeElementTiledToCanvas, clampGifDimensions, rasterResultToPngDataUrl, openExternalHyperlinkConfirmed, advanceChartMarkDrag, advanceChartValueDrag, resolveChartKind, buildChartMarkDragGeometry, beginChartMarkDrag, beginChartValueDrag, findSmartArtNodeText, commitSmartArtNodeFill, commitSmartArtNodeText, groupIntoParagraphs as groupIntoParagraphs$1, createGlyphOutlineLookup, finishPrintWindow, buildRasterPrintJobDocument, applyMotionPathPreset, resolveRevealedSmartArtNodes, resolveRevealedDrawingShapes, buildSmartArtA11y, computeSmartArtElementLayout, flattenNodes, computeInlineEditorRect, smartArtNodeAtPoint, SMARTART_DEFAULT_PALETTE, computeDrawingViewBox, projectDrawingShapes, resolveRevealedDrawingShapeNodeIds, styleShadowFilter, buildChromeStyle, refreshSmartArtPictureImage, centeredSvgTextLines, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, bringForward, sendBackward, bringToFront, sendToBack } from 'ooxml-ui/pptx';
|
|
3
3
|
export { DUOTONE_PRESETS, MOBILE_BREAKPOINT, SLIDE_TRANSITION_KEYFRAMES, TABLET_BREAKPOINT, clearAudienceContent, computeVirtualRange, downloadBlob, getSlideTransitionAnimations, loadAudienceContent, storeAudienceContent } from 'ooxml-ui/pptx';
|
|
4
4
|
import React17, { useRef, useState, useCallback, useEffect, useSyncExternalStore, useMemo, useContext, useLayoutEffect, createContext, useImperativeHandle, Suspense } from 'react';
|
|
5
5
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -14503,6 +14503,12 @@ var ConnectorElementRendererMemo = /* @__PURE__ */ React17.memo(
|
|
|
14503
14503
|
endY: viewHeight
|
|
14504
14504
|
};
|
|
14505
14505
|
const hitTargetWidth = Math.max(strokeWidth * 3, 14);
|
|
14506
|
+
const snapTransform = connectorSnapTransform(
|
|
14507
|
+
el,
|
|
14508
|
+
!connectorNeedsPath(shapeEl?.shapeType),
|
|
14509
|
+
compoundOffsets.length,
|
|
14510
|
+
strokeWidth
|
|
14511
|
+
);
|
|
14506
14512
|
const selColor = selClr === "blue-400" ? "#60a5fa" : "#3b82f6";
|
|
14507
14513
|
const lineShadow = buildLineShadowCss(el);
|
|
14508
14514
|
const lineGlow = buildLineGlowFilter(el);
|
|
@@ -14620,6 +14626,7 @@ var ConnectorElementRendererMemo = /* @__PURE__ */ React17.memo(
|
|
|
14620
14626
|
compoundOffsets.map((offset, idx) => /* @__PURE__ */ jsx(
|
|
14621
14627
|
"path",
|
|
14622
14628
|
{
|
|
14629
|
+
"data-pptx-line": "",
|
|
14623
14630
|
d: pathGeometry.pathData,
|
|
14624
14631
|
fill: "none",
|
|
14625
14632
|
stroke: strokePaint,
|
|
@@ -14634,10 +14641,10 @@ var ConnectorElementRendererMemo = /* @__PURE__ */ React17.memo(
|
|
|
14634
14641
|
style: {
|
|
14635
14642
|
pointerEvents: "none",
|
|
14636
14643
|
// Never under one device pixel on screen (shared `device-pixel-stroke`).
|
|
14637
|
-
strokeWidth:
|
|
14644
|
+
strokeWidth: connectorStrandScreenWidth(compoundWidths, strokeWidth, idx),
|
|
14638
14645
|
...offset !== 0 ? {
|
|
14639
14646
|
transform: `translate(0, ${offset}px)`
|
|
14640
|
-
} : {}
|
|
14647
|
+
} : snapTransform ? { transform: snapTransform } : {}
|
|
14641
14648
|
}
|
|
14642
14649
|
},
|
|
14643
14650
|
idx
|
|
@@ -15052,7 +15059,7 @@ function ShapeEffectOverlay({
|
|
|
15052
15059
|
style: {
|
|
15053
15060
|
// Never under one device pixel on screen (shared `device-pixel-stroke`).
|
|
15054
15061
|
strokeWidth: strand.cssStrokeWidth,
|
|
15055
|
-
transform: strand.offset !== 0 ? `translate(0, ${strand.offset}px)` : void 0
|
|
15062
|
+
transform: strand.cssTransform ?? (strand.offset !== 0 ? `translate(0, ${strand.offset}px)` : void 0)
|
|
15056
15063
|
}
|
|
15057
15064
|
},
|
|
15058
15065
|
idx
|
|
Binary file
|
|
Binary file
|