@bendyline/squisq-editor-react 2.13.15 → 2.13.16
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/dist/{chunk-CLULTEKS.js → chunk-54MN2HG7.js} +384 -361
- package/dist/{chunk-FOKUOC7E.js → chunk-ECS2FFXA.js} +252 -177
- package/dist/{chunk-F4D3VBAS.js → chunk-RHH2PVCL.js} +1 -1
- package/dist/index.d.ts +18 -1
- package/dist/index.js +3 -3
- package/dist/{narrationTimingsFromAudio-ICMDSWPI.js → narrationTimingsFromAudio-O67QKISS.js} +5 -1
- package/dist/recorder/index.js +2 -2
- package/dist/shell/index.js +2 -2
- package/package.json +6 -6
|
@@ -46,13 +46,12 @@ import {
|
|
|
46
46
|
ShapePalette
|
|
47
47
|
} from "./chunk-HLU6ZBS7.js";
|
|
48
48
|
import {
|
|
49
|
-
BlockThumbnail,
|
|
50
49
|
RecorderPanel,
|
|
51
50
|
buildPreviewDoc,
|
|
52
51
|
documentTitleFromFileName,
|
|
53
52
|
resolveBlockVisual,
|
|
54
53
|
useModalDialog
|
|
55
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-ECS2FFXA.js";
|
|
56
55
|
import {
|
|
57
56
|
Icon
|
|
58
57
|
} from "./chunk-UYB5CPRE.js";
|
|
@@ -35732,7 +35731,7 @@ function startNarrationTimingJob(input) {
|
|
|
35732
35731
|
else jobs.delete(input.src);
|
|
35733
35732
|
notify();
|
|
35734
35733
|
};
|
|
35735
|
-
import("./narrationTimingsFromAudio-
|
|
35734
|
+
import("./narrationTimingsFromAudio-O67QKISS.js").then(
|
|
35736
35735
|
({ updateNarrationTimingsFromAudio }) => updateNarrationTimingsFromAudio({
|
|
35737
35736
|
...input,
|
|
35738
35737
|
signal: job.abort.signal,
|
|
@@ -39338,13 +39337,37 @@ import { useCallback as useCallback49, useEffect as useEffect64, useMemo as useM
|
|
|
39338
39337
|
import {
|
|
39339
39338
|
resolveMediaSchedule as resolveMediaSchedule2,
|
|
39340
39339
|
getDocPlaybackDuration,
|
|
39341
|
-
VIEWPORT_PRESETS as
|
|
39340
|
+
VIEWPORT_PRESETS as VIEWPORT_PRESETS7
|
|
39342
39341
|
} from "@bendyline/squisq/schemas";
|
|
39343
39342
|
import { flattenBlocks as flattenBlocks5, DEFAULT_THEME as DEFAULT_THEME6, getPinnedBlockMeta } from "@bendyline/squisq/doc";
|
|
39344
39343
|
import { createMediaTimeMap } from "@bendyline/squisq/mediaEdit";
|
|
39345
39344
|
import { usesDynamicPresentation } from "@bendyline/squisq/transform";
|
|
39346
39345
|
import { useProcessedAudio as useProcessedAudio2 } from "@bendyline/squisq-video-react/media-edit";
|
|
39347
|
-
import { MediaClipLayer, MediaContext as
|
|
39346
|
+
import { MediaClipLayer, MediaContext as MediaContext6 } from "@bendyline/squisq-react";
|
|
39347
|
+
|
|
39348
|
+
// src/TimelineBlockPreview.tsx
|
|
39349
|
+
import { memo as memo2 } from "react";
|
|
39350
|
+
import { VIEWPORT_PRESETS as VIEWPORT_PRESETS6 } from "@bendyline/squisq/schemas";
|
|
39351
|
+
import { BlockRenderer as BlockRenderer4, MediaContext as MediaContext5 } from "@bendyline/squisq-react";
|
|
39352
|
+
import { jsx as jsx78 } from "react/jsx-runtime";
|
|
39353
|
+
var BlockThumbnail = memo2(function BlockThumbnail2({
|
|
39354
|
+
visual,
|
|
39355
|
+
buildPlayback = "all",
|
|
39356
|
+
viewport = VIEWPORT_PRESETS6.landscape,
|
|
39357
|
+
basePath = "/",
|
|
39358
|
+
mediaProvider = null
|
|
39359
|
+
}) {
|
|
39360
|
+
return /* @__PURE__ */ jsx78(MediaContext5.Provider, { value: mediaProvider, children: /* @__PURE__ */ jsx78(
|
|
39361
|
+
BlockRenderer4,
|
|
39362
|
+
{
|
|
39363
|
+
buildPlayback,
|
|
39364
|
+
block: visual,
|
|
39365
|
+
blockTime: 0,
|
|
39366
|
+
basePath,
|
|
39367
|
+
viewport
|
|
39368
|
+
}
|
|
39369
|
+
) });
|
|
39370
|
+
});
|
|
39348
39371
|
|
|
39349
39372
|
// src/useTimelineClock.ts
|
|
39350
39373
|
import { useCallback as useCallback48, useEffect as useEffect62, useRef as useRef56, useState as useState73 } from "react";
|
|
@@ -39479,7 +39502,7 @@ function timelineBars(clips) {
|
|
|
39479
39502
|
// src/TimelineItemMenu.tsx
|
|
39480
39503
|
import { useEffect as useEffect63, useLayoutEffect as useLayoutEffect14, useRef as useRef57, useState as useState74 } from "react";
|
|
39481
39504
|
import { createPortal as createPortal16 } from "react-dom";
|
|
39482
|
-
import { Fragment as Fragment27, jsx as
|
|
39505
|
+
import { Fragment as Fragment27, jsx as jsx79, jsxs as jsxs63 } from "react/jsx-runtime";
|
|
39483
39506
|
function TimelineItemMenu({
|
|
39484
39507
|
anchor,
|
|
39485
39508
|
target,
|
|
@@ -39540,10 +39563,10 @@ function TimelineItemMenu({
|
|
|
39540
39563
|
style: { ...style, ...accentStyle(accentColor) },
|
|
39541
39564
|
children: [
|
|
39542
39565
|
/* @__PURE__ */ jsxs63("div", { className: "squisq-timeline-item-menu-header", children: [
|
|
39543
|
-
/* @__PURE__ */
|
|
39544
|
-
/* @__PURE__ */
|
|
39566
|
+
/* @__PURE__ */ jsx79("span", { className: "squisq-timeline-item-menu-kind", children: target.kind === "block" ? "Block" : "Video" }),
|
|
39567
|
+
/* @__PURE__ */ jsx79("span", { className: "squisq-timeline-item-menu-title", title: target.title, children: target.title })
|
|
39545
39568
|
] }),
|
|
39546
|
-
target.kind === "block" ? /* @__PURE__ */
|
|
39569
|
+
target.kind === "block" ? /* @__PURE__ */ jsx79(
|
|
39547
39570
|
BlockMenu,
|
|
39548
39571
|
{
|
|
39549
39572
|
target,
|
|
@@ -39555,8 +39578,8 @@ function TimelineItemMenu({
|
|
|
39555
39578
|
onTransition: onBlockTransition
|
|
39556
39579
|
}
|
|
39557
39580
|
) : /* @__PURE__ */ jsxs63(Fragment27, { children: [
|
|
39558
|
-
/* @__PURE__ */
|
|
39559
|
-
onEditMedia && /* @__PURE__ */
|
|
39581
|
+
/* @__PURE__ */ jsx79(VideoMenu, { target, onPatch: onVideoPatch }),
|
|
39582
|
+
onEditMedia && /* @__PURE__ */ jsx79(
|
|
39560
39583
|
"button",
|
|
39561
39584
|
{
|
|
39562
39585
|
type: "button",
|
|
@@ -39607,7 +39630,7 @@ function BlockMenu({
|
|
|
39607
39630
|
"Dynamic slides time each slide from the narration or reading pace, so this section's length and start can't be pinned.",
|
|
39608
39631
|
pinned && " A pinned time here stops a narrated deck from playing."
|
|
39609
39632
|
] }),
|
|
39610
|
-
pinned && onClearTiming && /* @__PURE__ */
|
|
39633
|
+
pinned && onClearTiming && /* @__PURE__ */ jsx79(
|
|
39611
39634
|
"button",
|
|
39612
39635
|
{
|
|
39613
39636
|
type: "button",
|
|
@@ -39622,7 +39645,7 @@ function BlockMenu({
|
|
|
39622
39645
|
)
|
|
39623
39646
|
] }) : /* @__PURE__ */ jsxs63(Fragment27, { children: [
|
|
39624
39647
|
/* @__PURE__ */ jsxs63("label", { className: "squisq-timeline-item-menu-check", children: [
|
|
39625
|
-
/* @__PURE__ */
|
|
39648
|
+
/* @__PURE__ */ jsx79(
|
|
39626
39649
|
"input",
|
|
39627
39650
|
{
|
|
39628
39651
|
type: "checkbox",
|
|
@@ -39630,10 +39653,10 @@ function BlockMenu({
|
|
|
39630
39653
|
onChange: (event) => toggleAutotime(event.target.checked)
|
|
39631
39654
|
}
|
|
39632
39655
|
),
|
|
39633
|
-
/* @__PURE__ */
|
|
39656
|
+
/* @__PURE__ */ jsx79("span", { children: "Autotime block" })
|
|
39634
39657
|
] }),
|
|
39635
|
-
/* @__PURE__ */
|
|
39636
|
-
/* @__PURE__ */
|
|
39658
|
+
/* @__PURE__ */ jsx79("p", { className: "squisq-timeline-item-menu-hint", children: "Uses narration, content, and interior media when no explicit duration is set." }),
|
|
39659
|
+
/* @__PURE__ */ jsx79(
|
|
39637
39660
|
MenuNumberField,
|
|
39638
39661
|
{
|
|
39639
39662
|
label: "Duration",
|
|
@@ -39647,7 +39670,7 @@ function BlockMenu({
|
|
|
39647
39670
|
}
|
|
39648
39671
|
}
|
|
39649
39672
|
),
|
|
39650
|
-
/* @__PURE__ */
|
|
39673
|
+
/* @__PURE__ */ jsx79(
|
|
39651
39674
|
MenuNumberField,
|
|
39652
39675
|
{
|
|
39653
39676
|
label: "Start time",
|
|
@@ -39662,8 +39685,8 @@ function BlockMenu({
|
|
|
39662
39685
|
)
|
|
39663
39686
|
] }),
|
|
39664
39687
|
/* @__PURE__ */ jsxs63("div", { className: "squisq-timeline-item-menu-row", children: [
|
|
39665
|
-
/* @__PURE__ */
|
|
39666
|
-
/* @__PURE__ */
|
|
39688
|
+
/* @__PURE__ */ jsx79("span", { className: "squisq-timeline-item-menu-label", children: "Transition" }),
|
|
39689
|
+
/* @__PURE__ */ jsx79(
|
|
39667
39690
|
TransitionPicker,
|
|
39668
39691
|
{
|
|
39669
39692
|
value: transition,
|
|
@@ -39695,14 +39718,14 @@ function VideoMenu({
|
|
|
39695
39718
|
];
|
|
39696
39719
|
return /* @__PURE__ */ jsxs63("div", { className: "squisq-timeline-item-menu-body", children: [
|
|
39697
39720
|
/* @__PURE__ */ jsxs63("div", { className: "squisq-timeline-item-menu-field", children: [
|
|
39698
|
-
/* @__PURE__ */
|
|
39699
|
-
/* @__PURE__ */
|
|
39721
|
+
/* @__PURE__ */ jsx79("span", { className: "squisq-timeline-item-menu-label", children: "Placement" }),
|
|
39722
|
+
/* @__PURE__ */ jsx79(
|
|
39700
39723
|
"div",
|
|
39701
39724
|
{
|
|
39702
39725
|
className: "squisq-timeline-item-menu-segments",
|
|
39703
39726
|
role: "group",
|
|
39704
39727
|
"aria-label": "Video placement",
|
|
39705
|
-
children: placementOptions.map((option) => /* @__PURE__ */
|
|
39728
|
+
children: placementOptions.map((option) => /* @__PURE__ */ jsx79(
|
|
39706
39729
|
"button",
|
|
39707
39730
|
{
|
|
39708
39731
|
type: "button",
|
|
@@ -39724,7 +39747,7 @@ function VideoMenu({
|
|
|
39724
39747
|
] }),
|
|
39725
39748
|
placed && /* @__PURE__ */ jsxs63(Fragment27, { children: [
|
|
39726
39749
|
/* @__PURE__ */ jsxs63("label", { className: "squisq-timeline-item-menu-check", children: [
|
|
39727
|
-
/* @__PURE__ */
|
|
39750
|
+
/* @__PURE__ */ jsx79(
|
|
39728
39751
|
"input",
|
|
39729
39752
|
{
|
|
39730
39753
|
type: "checkbox",
|
|
@@ -39738,11 +39761,11 @@ function VideoMenu({
|
|
|
39738
39761
|
}
|
|
39739
39762
|
}
|
|
39740
39763
|
),
|
|
39741
|
-
/* @__PURE__ */
|
|
39764
|
+
/* @__PURE__ */ jsx79("span", { children: "Lock to block" })
|
|
39742
39765
|
] }),
|
|
39743
39766
|
placement === "picture-in-picture" && /* @__PURE__ */ jsxs63(Fragment27, { children: [
|
|
39744
39767
|
/* @__PURE__ */ jsxs63("label", { className: "squisq-timeline-item-menu-field", children: [
|
|
39745
|
-
/* @__PURE__ */
|
|
39768
|
+
/* @__PURE__ */ jsx79("span", { className: "squisq-timeline-item-menu-label", children: "PIP size" }),
|
|
39746
39769
|
/* @__PURE__ */ jsxs63(
|
|
39747
39770
|
"select",
|
|
39748
39771
|
{
|
|
@@ -39759,14 +39782,14 @@ function VideoMenu({
|
|
|
39759
39782
|
titleCase(target.defaultPipSize),
|
|
39760
39783
|
")"
|
|
39761
39784
|
] }),
|
|
39762
|
-
/* @__PURE__ */
|
|
39763
|
-
/* @__PURE__ */
|
|
39785
|
+
/* @__PURE__ */ jsx79("option", { value: "small", children: "Small" }),
|
|
39786
|
+
/* @__PURE__ */ jsx79("option", { value: "large", children: "Large" })
|
|
39764
39787
|
]
|
|
39765
39788
|
}
|
|
39766
39789
|
)
|
|
39767
39790
|
] }),
|
|
39768
39791
|
/* @__PURE__ */ jsxs63("label", { className: "squisq-timeline-item-menu-field", children: [
|
|
39769
|
-
/* @__PURE__ */
|
|
39792
|
+
/* @__PURE__ */ jsx79("span", { className: "squisq-timeline-item-menu-label", children: "PIP shape" }),
|
|
39770
39793
|
/* @__PURE__ */ jsxs63(
|
|
39771
39794
|
"select",
|
|
39772
39795
|
{
|
|
@@ -39783,14 +39806,14 @@ function VideoMenu({
|
|
|
39783
39806
|
titleCase(target.defaultPipShape),
|
|
39784
39807
|
")"
|
|
39785
39808
|
] }),
|
|
39786
|
-
/* @__PURE__ */
|
|
39787
|
-
/* @__PURE__ */
|
|
39809
|
+
/* @__PURE__ */ jsx79("option", { value: "square", children: "Square" }),
|
|
39810
|
+
/* @__PURE__ */ jsx79("option", { value: "wide", children: "Wide (16:9)" })
|
|
39788
39811
|
]
|
|
39789
39812
|
}
|
|
39790
39813
|
)
|
|
39791
39814
|
] }),
|
|
39792
39815
|
/* @__PURE__ */ jsxs63("label", { className: "squisq-timeline-item-menu-field", children: [
|
|
39793
|
-
/* @__PURE__ */
|
|
39816
|
+
/* @__PURE__ */ jsx79("span", { className: "squisq-timeline-item-menu-label", children: "PIP position" }),
|
|
39794
39817
|
/* @__PURE__ */ jsxs63(
|
|
39795
39818
|
"select",
|
|
39796
39819
|
{
|
|
@@ -39807,10 +39830,10 @@ function VideoMenu({
|
|
|
39807
39830
|
positionLabel(target.defaultPipPosition),
|
|
39808
39831
|
")"
|
|
39809
39832
|
] }),
|
|
39810
|
-
/* @__PURE__ */
|
|
39811
|
-
/* @__PURE__ */
|
|
39812
|
-
/* @__PURE__ */
|
|
39813
|
-
/* @__PURE__ */
|
|
39833
|
+
/* @__PURE__ */ jsx79("option", { value: "top-left", children: "Top left" }),
|
|
39834
|
+
/* @__PURE__ */ jsx79("option", { value: "top-right", children: "Top right" }),
|
|
39835
|
+
/* @__PURE__ */ jsx79("option", { value: "bottom-left", children: "Bottom left" }),
|
|
39836
|
+
/* @__PURE__ */ jsx79("option", { value: "bottom-right", children: "Bottom right" })
|
|
39814
39837
|
]
|
|
39815
39838
|
}
|
|
39816
39839
|
)
|
|
@@ -39828,9 +39851,9 @@ function MenuNumberField({
|
|
|
39828
39851
|
onChange
|
|
39829
39852
|
}) {
|
|
39830
39853
|
return /* @__PURE__ */ jsxs63("label", { className: "squisq-timeline-item-menu-field", children: [
|
|
39831
|
-
/* @__PURE__ */
|
|
39854
|
+
/* @__PURE__ */ jsx79("span", { className: "squisq-timeline-item-menu-label", children: label }),
|
|
39832
39855
|
/* @__PURE__ */ jsxs63("span", { className: "squisq-timeline-item-menu-number", children: [
|
|
39833
|
-
/* @__PURE__ */
|
|
39856
|
+
/* @__PURE__ */ jsx79(
|
|
39834
39857
|
"input",
|
|
39835
39858
|
{
|
|
39836
39859
|
type: "number",
|
|
@@ -39843,7 +39866,7 @@ function MenuNumberField({
|
|
|
39843
39866
|
onChange: (event) => onChange(event.target.value)
|
|
39844
39867
|
}
|
|
39845
39868
|
),
|
|
39846
|
-
/* @__PURE__ */
|
|
39869
|
+
/* @__PURE__ */ jsx79("span", { children: "sec" })
|
|
39847
39870
|
] })
|
|
39848
39871
|
] });
|
|
39849
39872
|
}
|
|
@@ -39888,8 +39911,8 @@ function menuStyle(anchor, element) {
|
|
|
39888
39911
|
}
|
|
39889
39912
|
|
|
39890
39913
|
// src/TimelineTrack.tsx
|
|
39891
|
-
import { jsx as
|
|
39892
|
-
var PREVIEW_VIEWPORT =
|
|
39914
|
+
import { jsx as jsx80, jsxs as jsxs64 } from "react/jsx-runtime";
|
|
39915
|
+
var PREVIEW_VIEWPORT = VIEWPORT_PRESETS7.landscape;
|
|
39893
39916
|
var DEFAULT_PX_PER_SECOND = 18;
|
|
39894
39917
|
var ZOOM_MIN = 4;
|
|
39895
39918
|
var ZOOM_MAX = 160;
|
|
@@ -39911,9 +39934,9 @@ function TimelineVideoFilmstrip({
|
|
|
39911
39934
|
FILMSTRIP_MAX_FRAMES,
|
|
39912
39935
|
Math.max(1, Math.ceil(width / FILMSTRIP_FRAME_WIDTH))
|
|
39913
39936
|
);
|
|
39914
|
-
return /* @__PURE__ */
|
|
39937
|
+
return /* @__PURE__ */ jsx80("div", { className: "squisq-timeline-video-filmstrip", "aria-hidden": "true", children: Array.from({ length: frameCount }, (_2, index2) => {
|
|
39915
39938
|
const sampleTime = Math.max(0, sourceStart) + Math.max(0, sourceLength) * ((index2 + 0.5) / frameCount);
|
|
39916
|
-
return /* @__PURE__ */
|
|
39939
|
+
return /* @__PURE__ */ jsx80(
|
|
39917
39940
|
"video",
|
|
39918
39941
|
{
|
|
39919
39942
|
src: resolvedSrc,
|
|
@@ -40225,7 +40248,7 @@ function TimelineTrack({
|
|
|
40225
40248
|
for (let t = 0; t <= rulerEnd + 1e-3 && ticks.length < 1e3; t += tickSeconds) ticks.push(t);
|
|
40226
40249
|
return /* @__PURE__ */ jsxs64("div", { className: "squisq-timeline", style: { height }, "data-testid": "timeline-track", children: [
|
|
40227
40250
|
/* @__PURE__ */ jsxs64("div", { className: "squisq-timeline-controls", children: [
|
|
40228
|
-
/* @__PURE__ */
|
|
40251
|
+
/* @__PURE__ */ jsx80(
|
|
40229
40252
|
"button",
|
|
40230
40253
|
{
|
|
40231
40254
|
type: "button",
|
|
@@ -40242,7 +40265,7 @@ function TimelineTrack({
|
|
|
40242
40265
|
" / ",
|
|
40243
40266
|
formatClock3(total)
|
|
40244
40267
|
] }),
|
|
40245
|
-
/* @__PURE__ */
|
|
40268
|
+
/* @__PURE__ */ jsx80(
|
|
40246
40269
|
"button",
|
|
40247
40270
|
{
|
|
40248
40271
|
type: "button",
|
|
@@ -40254,7 +40277,7 @@ function TimelineTrack({
|
|
|
40254
40277
|
children: "\u2212"
|
|
40255
40278
|
}
|
|
40256
40279
|
),
|
|
40257
|
-
/* @__PURE__ */
|
|
40280
|
+
/* @__PURE__ */ jsx80(
|
|
40258
40281
|
"button",
|
|
40259
40282
|
{
|
|
40260
40283
|
type: "button",
|
|
@@ -40267,8 +40290,8 @@ function TimelineTrack({
|
|
|
40267
40290
|
}
|
|
40268
40291
|
)
|
|
40269
40292
|
] }),
|
|
40270
|
-
/* @__PURE__ */
|
|
40271
|
-
/* @__PURE__ */
|
|
40293
|
+
/* @__PURE__ */ jsx80("div", { className: "squisq-timeline-scroll", ref: scrollRef, children: /* @__PURE__ */ jsxs64("div", { className: "squisq-timeline-inner", style: { width }, children: [
|
|
40294
|
+
/* @__PURE__ */ jsx80("div", { className: "squisq-timeline-row squisq-timeline-row--blocks", children: blocks.map((b, i) => {
|
|
40272
40295
|
const line = headingLine(b);
|
|
40273
40296
|
const isActive = line != null && line === activeBlockStartLine;
|
|
40274
40297
|
const left = previewLeft(i);
|
|
@@ -40285,7 +40308,7 @@ function TimelineTrack({
|
|
|
40285
40308
|
if (line != null) goToBlockByLine(line);
|
|
40286
40309
|
},
|
|
40287
40310
|
children: [
|
|
40288
|
-
visualByBlock.has(b.id) && /* @__PURE__ */
|
|
40311
|
+
visualByBlock.has(b.id) && /* @__PURE__ */ jsx80("div", { className: "squisq-timeline-block-thumb", "aria-hidden": true, children: /* @__PURE__ */ jsx80(
|
|
40289
40312
|
BlockThumbnail,
|
|
40290
40313
|
{
|
|
40291
40314
|
visual: visualByBlock.get(b.id),
|
|
@@ -40293,7 +40316,7 @@ function TimelineTrack({
|
|
|
40293
40316
|
mediaProvider
|
|
40294
40317
|
}
|
|
40295
40318
|
) }),
|
|
40296
|
-
!timingLocked && prev && headingLine(prev) != null && /* @__PURE__ */
|
|
40319
|
+
!timingLocked && prev && headingLine(prev) != null && /* @__PURE__ */ jsx80(
|
|
40297
40320
|
"span",
|
|
40298
40321
|
{
|
|
40299
40322
|
className: "squisq-timeline-edge squisq-timeline-edge--left",
|
|
@@ -40314,8 +40337,8 @@ function TimelineTrack({
|
|
|
40314
40337
|
)
|
|
40315
40338
|
}
|
|
40316
40339
|
),
|
|
40317
|
-
/* @__PURE__ */
|
|
40318
|
-
line != null && /* @__PURE__ */
|
|
40340
|
+
/* @__PURE__ */ jsx80("span", { className: "squisq-timeline-block-label", children: b.title ?? b.id }),
|
|
40341
|
+
line != null && /* @__PURE__ */ jsx80(
|
|
40319
40342
|
"button",
|
|
40320
40343
|
{
|
|
40321
40344
|
type: "button",
|
|
@@ -40337,7 +40360,7 @@ function TimelineTrack({
|
|
|
40337
40360
|
children: "\u2026"
|
|
40338
40361
|
}
|
|
40339
40362
|
),
|
|
40340
|
-
!timingLocked && line != null && /* @__PURE__ */
|
|
40363
|
+
!timingLocked && line != null && /* @__PURE__ */ jsx80(
|
|
40341
40364
|
"span",
|
|
40342
40365
|
{
|
|
40343
40366
|
className: "squisq-timeline-edge squisq-timeline-edge--right",
|
|
@@ -40386,7 +40409,7 @@ function TimelineTrack({
|
|
|
40386
40409
|
...raw.edits ? { edits: raw.edits } : {}
|
|
40387
40410
|
} : { kind: c.kind, src: c.src, clipStart: c.sourceIn };
|
|
40388
40411
|
};
|
|
40389
|
-
return /* @__PURE__ */
|
|
40412
|
+
return /* @__PURE__ */ jsx80(
|
|
40390
40413
|
"div",
|
|
40391
40414
|
{
|
|
40392
40415
|
className: "squisq-timeline-row squisq-timeline-row--media",
|
|
@@ -40423,7 +40446,7 @@ function TimelineTrack({
|
|
|
40423
40446
|
if (next) setMarkdownSource(next);
|
|
40424
40447
|
},
|
|
40425
40448
|
children: [
|
|
40426
|
-
c.kind === "video" && /* @__PURE__ */
|
|
40449
|
+
c.kind === "video" && /* @__PURE__ */ jsx80(
|
|
40427
40450
|
TimelineVideoFilmstrip,
|
|
40428
40451
|
{
|
|
40429
40452
|
src: c.src,
|
|
@@ -40432,8 +40455,8 @@ function TimelineTrack({
|
|
|
40432
40455
|
width: clipWidth
|
|
40433
40456
|
}
|
|
40434
40457
|
),
|
|
40435
|
-
/* @__PURE__ */
|
|
40436
|
-
cutMarks.map((at2) => /* @__PURE__ */
|
|
40458
|
+
/* @__PURE__ */ jsx80("span", { className: "squisq-timeline-clip-label", children: timelineMediaLabel(c.src, c.kind) }),
|
|
40459
|
+
cutMarks.map((at2) => /* @__PURE__ */ jsx80(
|
|
40437
40460
|
"span",
|
|
40438
40461
|
{
|
|
40439
40462
|
className: "squisq-timeline-cut-mark",
|
|
@@ -40442,7 +40465,7 @@ function TimelineTrack({
|
|
|
40442
40465
|
},
|
|
40443
40466
|
at2
|
|
40444
40467
|
)),
|
|
40445
|
-
c.kind === "video" && c.sourceLine != null && /* @__PURE__ */
|
|
40468
|
+
c.kind === "video" && c.sourceLine != null && /* @__PURE__ */ jsx80(
|
|
40446
40469
|
"button",
|
|
40447
40470
|
{
|
|
40448
40471
|
type: "button",
|
|
@@ -40468,7 +40491,7 @@ function TimelineTrack({
|
|
|
40468
40491
|
children: "\u2026"
|
|
40469
40492
|
}
|
|
40470
40493
|
),
|
|
40471
|
-
editable && /* @__PURE__ */
|
|
40494
|
+
editable && /* @__PURE__ */ jsx80(
|
|
40472
40495
|
"span",
|
|
40473
40496
|
{
|
|
40474
40497
|
className: "squisq-timeline-edge squisq-timeline-edge--right",
|
|
@@ -40518,7 +40541,7 @@ function TimelineTrack({
|
|
|
40518
40541
|
...m.clipStart != null ? { clipStart: m.clipStart } : {},
|
|
40519
40542
|
...m.clipEnd != null ? { clipEnd: m.clipEnd } : {}
|
|
40520
40543
|
};
|
|
40521
|
-
return /* @__PURE__ */
|
|
40544
|
+
return /* @__PURE__ */ jsx80(
|
|
40522
40545
|
"div",
|
|
40523
40546
|
{
|
|
40524
40547
|
className: "squisq-timeline-row squisq-timeline-row--media",
|
|
@@ -40545,7 +40568,7 @@ function TimelineTrack({
|
|
|
40545
40568
|
{ onClick: () => selectClipAt(b.startTime, b.id) }
|
|
40546
40569
|
),
|
|
40547
40570
|
children: [
|
|
40548
|
-
m.kind === "video" && /* @__PURE__ */
|
|
40571
|
+
m.kind === "video" && /* @__PURE__ */ jsx80(
|
|
40549
40572
|
TimelineVideoFilmstrip,
|
|
40550
40573
|
{
|
|
40551
40574
|
src: m.src,
|
|
@@ -40554,8 +40577,8 @@ function TimelineTrack({
|
|
|
40554
40577
|
width: clipWidth
|
|
40555
40578
|
}
|
|
40556
40579
|
),
|
|
40557
|
-
/* @__PURE__ */
|
|
40558
|
-
m.kind === "video" && m.sourceLine != null && /* @__PURE__ */
|
|
40580
|
+
/* @__PURE__ */ jsx80("span", { className: "squisq-timeline-clip-label", children: timelineMediaLabel(m.src, m.kind) }),
|
|
40581
|
+
m.kind === "video" && m.sourceLine != null && /* @__PURE__ */ jsx80(
|
|
40559
40582
|
"button",
|
|
40560
40583
|
{
|
|
40561
40584
|
type: "button",
|
|
@@ -40580,7 +40603,7 @@ function TimelineTrack({
|
|
|
40580
40603
|
children: "\u2026"
|
|
40581
40604
|
}
|
|
40582
40605
|
),
|
|
40583
|
-
m.sourceLine != null && /* @__PURE__ */
|
|
40606
|
+
m.sourceLine != null && /* @__PURE__ */ jsx80(
|
|
40584
40607
|
"span",
|
|
40585
40608
|
{
|
|
40586
40609
|
className: "squisq-timeline-edge squisq-timeline-edge--right",
|
|
@@ -40602,7 +40625,7 @@ function TimelineTrack({
|
|
|
40602
40625
|
})
|
|
40603
40626
|
)
|
|
40604
40627
|
] }),
|
|
40605
|
-
/* @__PURE__ */
|
|
40628
|
+
/* @__PURE__ */ jsx80(
|
|
40606
40629
|
"div",
|
|
40607
40630
|
{
|
|
40608
40631
|
className: "squisq-timeline-row squisq-timeline-row--ruler",
|
|
@@ -40610,10 +40633,10 @@ function TimelineTrack({
|
|
|
40610
40633
|
const rect = e2.currentTarget.getBoundingClientRect();
|
|
40611
40634
|
seek((e2.clientX - rect.left) / pxPerSecond);
|
|
40612
40635
|
},
|
|
40613
|
-
children: ticks.map((t) => /* @__PURE__ */
|
|
40636
|
+
children: ticks.map((t) => /* @__PURE__ */ jsx80("div", { className: "squisq-timeline-tick", style: { left: t * pxPerSecond }, children: /* @__PURE__ */ jsx80("span", { className: "squisq-timeline-tick-label", children: formatDur(t) }) }, t))
|
|
40614
40637
|
}
|
|
40615
40638
|
),
|
|
40616
|
-
/* @__PURE__ */
|
|
40639
|
+
/* @__PURE__ */ jsx80(
|
|
40617
40640
|
"div",
|
|
40618
40641
|
{
|
|
40619
40642
|
className: "squisq-timeline-playhead",
|
|
@@ -40625,11 +40648,11 @@ function TimelineTrack({
|
|
|
40625
40648
|
pause();
|
|
40626
40649
|
setScrubbing(true);
|
|
40627
40650
|
},
|
|
40628
|
-
children: /* @__PURE__ */
|
|
40651
|
+
children: /* @__PURE__ */ jsx80("div", { className: "squisq-timeline-playhead-knob" })
|
|
40629
40652
|
}
|
|
40630
40653
|
)
|
|
40631
40654
|
] }) }),
|
|
40632
|
-
/* @__PURE__ */
|
|
40655
|
+
/* @__PURE__ */ jsx80("div", { ref: activeClock.registerMediaHost, className: "squisq-timeline-media-host", "aria-hidden": true, children: /* @__PURE__ */ jsx80(MediaContext6.Provider, { value: mediaProvider ?? null, children: /* @__PURE__ */ jsx80(
|
|
40633
40656
|
MediaClipLayer,
|
|
40634
40657
|
{
|
|
40635
40658
|
schedule: playbackClips,
|
|
@@ -40638,7 +40661,7 @@ function TimelineTrack({
|
|
|
40638
40661
|
basePath
|
|
40639
40662
|
}
|
|
40640
40663
|
) }) }),
|
|
40641
|
-
itemMenu && itemMenuTarget && /* @__PURE__ */
|
|
40664
|
+
itemMenu && itemMenuTarget && /* @__PURE__ */ jsx80(
|
|
40642
40665
|
TimelineItemMenu,
|
|
40643
40666
|
{
|
|
40644
40667
|
anchor: itemMenu.anchor,
|
|
@@ -40709,7 +40732,7 @@ function formatDur(seconds) {
|
|
|
40709
40732
|
// src/TimelineVideoPanel.tsx
|
|
40710
40733
|
import { useMemo as useMemo50 } from "react";
|
|
40711
40734
|
import { MediaClipLayer as MediaClipLayer2 } from "@bendyline/squisq-react";
|
|
40712
|
-
import { jsx as
|
|
40735
|
+
import { jsx as jsx81, jsxs as jsxs65 } from "react/jsx-runtime";
|
|
40713
40736
|
function TimelineVideoPanel({
|
|
40714
40737
|
schedule,
|
|
40715
40738
|
currentTime,
|
|
@@ -40730,10 +40753,10 @@ function TimelineVideoPanel({
|
|
|
40730
40753
|
"aria-label": "Timeline video preview",
|
|
40731
40754
|
children: [
|
|
40732
40755
|
/* @__PURE__ */ jsxs65("header", { className: "squisq-timeline-video-header", children: [
|
|
40733
|
-
/* @__PURE__ */
|
|
40734
|
-
/* @__PURE__ */
|
|
40735
|
-
/* @__PURE__ */
|
|
40736
|
-
onClose && /* @__PURE__ */
|
|
40756
|
+
/* @__PURE__ */ jsx81("span", { className: "squisq-timeline-video-title", children: "Video monitor" }),
|
|
40757
|
+
/* @__PURE__ */ jsx81("span", { className: "squisq-timeline-video-label", title: activeLabel, children: activeLabel }),
|
|
40758
|
+
/* @__PURE__ */ jsx81("span", { className: "squisq-timeline-video-time", children: formatClock4(currentTime) }),
|
|
40759
|
+
onClose && /* @__PURE__ */ jsx81(
|
|
40737
40760
|
"button",
|
|
40738
40761
|
{
|
|
40739
40762
|
type: "button",
|
|
@@ -40745,8 +40768,8 @@ function TimelineVideoPanel({
|
|
|
40745
40768
|
}
|
|
40746
40769
|
)
|
|
40747
40770
|
] }),
|
|
40748
|
-
/* @__PURE__ */
|
|
40749
|
-
/* @__PURE__ */
|
|
40771
|
+
/* @__PURE__ */ jsx81("div", { className: "squisq-timeline-video-body", children: /* @__PURE__ */ jsxs65("div", { className: "squisq-timeline-video-stage", children: [
|
|
40772
|
+
/* @__PURE__ */ jsx81(
|
|
40750
40773
|
MediaClipLayer2,
|
|
40751
40774
|
{
|
|
40752
40775
|
schedule: videos,
|
|
@@ -40758,7 +40781,7 @@ function TimelineVideoPanel({
|
|
|
40758
40781
|
muted: true
|
|
40759
40782
|
}
|
|
40760
40783
|
),
|
|
40761
|
-
activeVideos.length === 0 && /* @__PURE__ */
|
|
40784
|
+
activeVideos.length === 0 && /* @__PURE__ */ jsx81("div", { className: "squisq-timeline-video-empty", children: "Move the playhead onto a video clip" })
|
|
40762
40785
|
] }) })
|
|
40763
40786
|
]
|
|
40764
40787
|
}
|
|
@@ -40774,7 +40797,7 @@ function formatClock4(seconds) {
|
|
|
40774
40797
|
import { useMemo as useMemo51 } from "react";
|
|
40775
40798
|
import { getDocPlaybackDuration as getDocPlaybackDuration2, resolveMediaSchedule as resolveMediaSchedule3 } from "@bendyline/squisq/schemas";
|
|
40776
40799
|
import { DocPlayer } from "@bendyline/squisq-react";
|
|
40777
|
-
import { jsx as
|
|
40800
|
+
import { jsx as jsx82, jsxs as jsxs66 } from "react/jsx-runtime";
|
|
40778
40801
|
function TimelineCompositionPanel({
|
|
40779
40802
|
doc,
|
|
40780
40803
|
clock,
|
|
@@ -40846,11 +40869,11 @@ function TimelineCompositionPanel({
|
|
|
40846
40869
|
"aria-label": "Timeline video composition preview",
|
|
40847
40870
|
children: [
|
|
40848
40871
|
/* @__PURE__ */ jsxs66("header", { className: "squisq-timeline-video-header", children: [
|
|
40849
|
-
/* @__PURE__ */
|
|
40850
|
-
/* @__PURE__ */
|
|
40851
|
-
/* @__PURE__ */
|
|
40852
|
-
/* @__PURE__ */
|
|
40853
|
-
onClose && /* @__PURE__ */
|
|
40872
|
+
/* @__PURE__ */ jsx82("span", { className: "squisq-timeline-video-title", children: "Video composition" }),
|
|
40873
|
+
/* @__PURE__ */ jsx82("span", { className: "squisq-timeline-video-label", children: formatPresentation(effectiveVideoPresentation) }),
|
|
40874
|
+
/* @__PURE__ */ jsx82(PreviewToolbarControls, { displayMode: "video" }),
|
|
40875
|
+
/* @__PURE__ */ jsx82("span", { className: "squisq-timeline-video-time", children: formatClock5(clock.currentTime) }),
|
|
40876
|
+
onClose && /* @__PURE__ */ jsx82(
|
|
40854
40877
|
"button",
|
|
40855
40878
|
{
|
|
40856
40879
|
type: "button",
|
|
@@ -40862,7 +40885,7 @@ function TimelineCompositionPanel({
|
|
|
40862
40885
|
}
|
|
40863
40886
|
)
|
|
40864
40887
|
] }),
|
|
40865
|
-
/* @__PURE__ */
|
|
40888
|
+
/* @__PURE__ */ jsx82("div", { className: "squisq-timeline-video-body", children: /* @__PURE__ */ jsx82("div", { className: "squisq-timeline-composition-stage", children: playerDoc ? /* @__PURE__ */ jsx82(
|
|
40866
40889
|
DocPlayer,
|
|
40867
40890
|
{
|
|
40868
40891
|
doc: playerDoc,
|
|
@@ -40888,7 +40911,7 @@ function TimelineCompositionPanel({
|
|
|
40888
40911
|
enableSwipe: false,
|
|
40889
40912
|
globalKeyboardShortcuts: false
|
|
40890
40913
|
}
|
|
40891
|
-
) : /* @__PURE__ */
|
|
40914
|
+
) : /* @__PURE__ */ jsx82("div", { className: "squisq-timeline-video-empty", children: "Preparing video composition\u2026" }) }) })
|
|
40892
40915
|
]
|
|
40893
40916
|
}
|
|
40894
40917
|
);
|
|
@@ -40905,7 +40928,7 @@ function formatPresentation(presentation) {
|
|
|
40905
40928
|
}
|
|
40906
40929
|
|
|
40907
40930
|
// src/TimelineToolbar.tsx
|
|
40908
|
-
import { jsx as
|
|
40931
|
+
import { jsx as jsx83, jsxs as jsxs67 } from "react/jsx-runtime";
|
|
40909
40932
|
function TimelineToolbar({
|
|
40910
40933
|
literalVideoVisible,
|
|
40911
40934
|
compositionVisible,
|
|
@@ -40922,7 +40945,7 @@ function TimelineToolbar({
|
|
|
40922
40945
|
"aria-label": "Timeline view controls",
|
|
40923
40946
|
"data-testid": "timeline-toolbar",
|
|
40924
40947
|
children: [
|
|
40925
|
-
/* @__PURE__ */
|
|
40948
|
+
/* @__PURE__ */ jsx83("span", { className: "squisq-timeline-toolbar-title", children: "Preview panes" }),
|
|
40926
40949
|
/* @__PURE__ */ jsxs67(
|
|
40927
40950
|
"button",
|
|
40928
40951
|
{
|
|
@@ -40935,7 +40958,7 @@ function TimelineToolbar({
|
|
|
40935
40958
|
"data-tooltip": literalVideoVisible ? "Hide literal video" : "Show literal video",
|
|
40936
40959
|
children: [
|
|
40937
40960
|
/* @__PURE__ */ jsxs67("svg", { width: "15", height: "15", viewBox: "0 0 15 15", "aria-hidden": "true", children: [
|
|
40938
|
-
/* @__PURE__ */
|
|
40961
|
+
/* @__PURE__ */ jsx83(
|
|
40939
40962
|
"rect",
|
|
40940
40963
|
{
|
|
40941
40964
|
x: "1.5",
|
|
@@ -40948,7 +40971,7 @@ function TimelineToolbar({
|
|
|
40948
40971
|
strokeWidth: "1.4"
|
|
40949
40972
|
}
|
|
40950
40973
|
),
|
|
40951
|
-
/* @__PURE__ */
|
|
40974
|
+
/* @__PURE__ */ jsx83(
|
|
40952
40975
|
"path",
|
|
40953
40976
|
{
|
|
40954
40977
|
d: "M10 5.5 13.5 4v7L10 9.5z",
|
|
@@ -40959,7 +40982,7 @@ function TimelineToolbar({
|
|
|
40959
40982
|
}
|
|
40960
40983
|
)
|
|
40961
40984
|
] }),
|
|
40962
|
-
/* @__PURE__ */
|
|
40985
|
+
/* @__PURE__ */ jsx83("span", { children: "Video monitor" })
|
|
40963
40986
|
]
|
|
40964
40987
|
}
|
|
40965
40988
|
),
|
|
@@ -40975,7 +40998,7 @@ function TimelineToolbar({
|
|
|
40975
40998
|
"data-tooltip": compositionVisible ? "Hide video composition" : "Show video composition",
|
|
40976
40999
|
children: [
|
|
40977
41000
|
/* @__PURE__ */ jsxs67("svg", { width: "15", height: "15", viewBox: "0 0 15 15", "aria-hidden": "true", children: [
|
|
40978
|
-
/* @__PURE__ */
|
|
41001
|
+
/* @__PURE__ */ jsx83(
|
|
40979
41002
|
"rect",
|
|
40980
41003
|
{
|
|
40981
41004
|
x: "1.5",
|
|
@@ -40988,10 +41011,10 @@ function TimelineToolbar({
|
|
|
40988
41011
|
strokeWidth: "1.4"
|
|
40989
41012
|
}
|
|
40990
41013
|
),
|
|
40991
|
-
/* @__PURE__ */
|
|
40992
|
-
/* @__PURE__ */
|
|
41014
|
+
/* @__PURE__ */ jsx83("path", { d: "M5 13h5M7.5 11v2", stroke: "currentColor", strokeWidth: "1.4" }),
|
|
41015
|
+
/* @__PURE__ */ jsx83("path", { d: "m6.3 5 3 1.5-3 1.5z", fill: "currentColor" })
|
|
40993
41016
|
] }),
|
|
40994
|
-
/* @__PURE__ */
|
|
41017
|
+
/* @__PURE__ */ jsx83("span", { children: "Video composition" })
|
|
40995
41018
|
]
|
|
40996
41019
|
}
|
|
40997
41020
|
)
|
|
@@ -41045,7 +41068,7 @@ function isFontAwesomeRule(rule) {
|
|
|
41045
41068
|
}
|
|
41046
41069
|
|
|
41047
41070
|
// src/PlainHtmlPreview.tsx
|
|
41048
|
-
import { jsx as
|
|
41071
|
+
import { jsx as jsx84 } from "react/jsx-runtime";
|
|
41049
41072
|
var cachedRender = null;
|
|
41050
41073
|
var cachedRenderPromise = null;
|
|
41051
41074
|
function loadRenderFn() {
|
|
@@ -41387,7 +41410,7 @@ function PlainHtmlPreview({
|
|
|
41387
41410
|
document.addEventListener("keydown", handleKeyDown);
|
|
41388
41411
|
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
41389
41412
|
}, [globalKeyboardShortcuts]);
|
|
41390
|
-
return /* @__PURE__ */
|
|
41413
|
+
return /* @__PURE__ */ jsx84(
|
|
41391
41414
|
"iframe",
|
|
41392
41415
|
{
|
|
41393
41416
|
ref: setIframeRef,
|
|
@@ -41602,7 +41625,7 @@ import {
|
|
|
41602
41625
|
} from "react";
|
|
41603
41626
|
import { createPortal as createPortal17 } from "react-dom";
|
|
41604
41627
|
import { inferDocumentTitle as inferDocumentTitle2 } from "@bendyline/squisq/markdown";
|
|
41605
|
-
import { jsx as
|
|
41628
|
+
import { jsx as jsx85, jsxs as jsxs68 } from "react/jsx-runtime";
|
|
41606
41629
|
var PresentationModeContext = createContext7(null);
|
|
41607
41630
|
function usePresentationMode() {
|
|
41608
41631
|
const value = useContext7(PresentationModeContext);
|
|
@@ -41996,8 +42019,8 @@ function PresentationModeProvider({
|
|
|
41996
42019
|
"aria-label": "Exit presentation mode",
|
|
41997
42020
|
title: "Exit presentation mode (Esc)",
|
|
41998
42021
|
children: [
|
|
41999
|
-
/* @__PURE__ */
|
|
42000
|
-
/* @__PURE__ */
|
|
42022
|
+
/* @__PURE__ */ jsx85(Icon, { icon: "fa-solid fa-compress" }),
|
|
42023
|
+
/* @__PURE__ */ jsx85("span", { children: "Exit presentation" })
|
|
42001
42024
|
]
|
|
42002
42025
|
}
|
|
42003
42026
|
) : null;
|
|
@@ -42006,7 +42029,7 @@ function PresentationModeProvider({
|
|
|
42006
42029
|
(activeTarget === "control" || activeTarget === "fullscreen") && exitButton,
|
|
42007
42030
|
activeTarget === "window" && popupRoot && exitButton ? createPortal17(exitButton, popupRoot) : null,
|
|
42008
42031
|
error && typeof document !== "undefined" ? createPortal17(
|
|
42009
|
-
/* @__PURE__ */
|
|
42032
|
+
/* @__PURE__ */ jsx85("div", { className: "squisq-presentation-error", "data-theme": colorScheme, role: "alert", children: error }),
|
|
42010
42033
|
document.body
|
|
42011
42034
|
) : null
|
|
42012
42035
|
] });
|
|
@@ -42103,7 +42126,7 @@ function PresentationModeControl() {
|
|
|
42103
42126
|
(checked ?? first)?.focus();
|
|
42104
42127
|
}, [anchor, open]);
|
|
42105
42128
|
return /* @__PURE__ */ jsxs68("div", { className: "squisq-presentation-control", children: [
|
|
42106
|
-
/* @__PURE__ */
|
|
42129
|
+
/* @__PURE__ */ jsx85(
|
|
42107
42130
|
"button",
|
|
42108
42131
|
{
|
|
42109
42132
|
type: "button",
|
|
@@ -42112,10 +42135,10 @@ function PresentationModeControl() {
|
|
|
42112
42135
|
"aria-pressed": activeTarget !== null,
|
|
42113
42136
|
"data-tooltip": activeTarget ? "Exit presentation" : `Present: ${selected.label}`,
|
|
42114
42137
|
onClick: () => void (activeTarget ? stop() : start()),
|
|
42115
|
-
children: /* @__PURE__ */
|
|
42138
|
+
children: /* @__PURE__ */ jsx85(Icon, { icon: "fa-solid fa-display" })
|
|
42116
42139
|
}
|
|
42117
42140
|
),
|
|
42118
|
-
options.length > 1 && /* @__PURE__ */
|
|
42141
|
+
options.length > 1 && /* @__PURE__ */ jsx85(
|
|
42119
42142
|
"button",
|
|
42120
42143
|
{
|
|
42121
42144
|
ref: triggerRef,
|
|
@@ -42131,11 +42154,11 @@ function PresentationModeControl() {
|
|
|
42131
42154
|
event.preventDefault();
|
|
42132
42155
|
openMenu();
|
|
42133
42156
|
},
|
|
42134
|
-
children: /* @__PURE__ */
|
|
42157
|
+
children: /* @__PURE__ */ jsx85("svg", { width: "10", height: "10", viewBox: "0 0 10 10", "aria-hidden": "true", children: /* @__PURE__ */ jsx85("path", { d: "M2 3.5 5 6.5 8 3.5", fill: "none", stroke: "currentColor", strokeWidth: "1.4" }) })
|
|
42135
42158
|
}
|
|
42136
42159
|
),
|
|
42137
42160
|
open && anchor ? createPortal17(
|
|
42138
|
-
/* @__PURE__ */
|
|
42161
|
+
/* @__PURE__ */ jsx85(
|
|
42139
42162
|
"div",
|
|
42140
42163
|
{
|
|
42141
42164
|
ref: menuRef,
|
|
@@ -42181,24 +42204,24 @@ function PresentationModeControl() {
|
|
|
42181
42204
|
if (!alreadyThere) void start(option.target);
|
|
42182
42205
|
},
|
|
42183
42206
|
children: [
|
|
42184
|
-
/* @__PURE__ */
|
|
42207
|
+
/* @__PURE__ */ jsx85(
|
|
42185
42208
|
"span",
|
|
42186
42209
|
{
|
|
42187
42210
|
className: "squisq-use-mode-menu-icon squisq-presentation-menu-icon",
|
|
42188
42211
|
"aria-hidden": "true",
|
|
42189
|
-
children: /* @__PURE__ */
|
|
42212
|
+
children: /* @__PURE__ */ jsx85(Icon, { icon: option.icon })
|
|
42190
42213
|
}
|
|
42191
42214
|
),
|
|
42192
42215
|
/* @__PURE__ */ jsxs68("span", { className: "squisq-use-mode-menu-copy squisq-presentation-menu-copy", children: [
|
|
42193
|
-
/* @__PURE__ */
|
|
42194
|
-
/* @__PURE__ */
|
|
42216
|
+
/* @__PURE__ */ jsx85("span", { className: "squisq-use-mode-menu-label squisq-presentation-menu-label", children: option.label }),
|
|
42217
|
+
/* @__PURE__ */ jsx85("span", { className: "squisq-use-mode-menu-summary squisq-presentation-menu-summary", children: disabled ? "Full screen is unavailable." : option.summary })
|
|
42195
42218
|
] }),
|
|
42196
|
-
/* @__PURE__ */
|
|
42219
|
+
/* @__PURE__ */ jsx85(
|
|
42197
42220
|
"span",
|
|
42198
42221
|
{
|
|
42199
42222
|
className: "squisq-use-mode-menu-check squisq-presentation-menu-check",
|
|
42200
42223
|
"aria-hidden": "true",
|
|
42201
|
-
children: isSelected && /* @__PURE__ */
|
|
42224
|
+
children: isSelected && /* @__PURE__ */ jsx85(Icon, { icon: "fa-solid fa-check" })
|
|
42202
42225
|
}
|
|
42203
42226
|
)
|
|
42204
42227
|
]
|
|
@@ -42223,7 +42246,7 @@ import {
|
|
|
42223
42246
|
useRef as useRef61,
|
|
42224
42247
|
useState as useState78
|
|
42225
42248
|
} from "react";
|
|
42226
|
-
import { jsx as
|
|
42249
|
+
import { jsx as jsx86, jsxs as jsxs69 } from "react/jsx-runtime";
|
|
42227
42250
|
var PrintModeContext = createContext8(null);
|
|
42228
42251
|
function usePrintMode() {
|
|
42229
42252
|
const value = useContext8(PrintModeContext);
|
|
@@ -42334,7 +42357,7 @@ function PrintModeProvider({ rootRef, children }) {
|
|
|
42334
42357
|
}),
|
|
42335
42358
|
[active, close, open, print, registerPrintHandler, slidesPerPage]
|
|
42336
42359
|
);
|
|
42337
|
-
return /* @__PURE__ */
|
|
42360
|
+
return /* @__PURE__ */ jsx86(PrintModeContext.Provider, { value, children });
|
|
42338
42361
|
}
|
|
42339
42362
|
function PrintModeControl() {
|
|
42340
42363
|
const { open } = usePrintMode();
|
|
@@ -42347,8 +42370,8 @@ function PrintModeControl() {
|
|
|
42347
42370
|
"aria-label": "Print",
|
|
42348
42371
|
"data-tooltip": "Print",
|
|
42349
42372
|
children: [
|
|
42350
|
-
/* @__PURE__ */
|
|
42351
|
-
/* @__PURE__ */
|
|
42373
|
+
/* @__PURE__ */ jsx86(Icon, { icon: "fa-solid fa-print" }),
|
|
42374
|
+
/* @__PURE__ */ jsx86("span", { children: "Print" })
|
|
42352
42375
|
]
|
|
42353
42376
|
}
|
|
42354
42377
|
);
|
|
@@ -42358,8 +42381,8 @@ function PrintPreviewToolbar() {
|
|
|
42358
42381
|
const { activeDisplayMode } = usePreviewSettings();
|
|
42359
42382
|
const { slidesPerPage, setSlidesPerPage, print, close } = usePrintMode();
|
|
42360
42383
|
return /* @__PURE__ */ jsxs69("div", { className: "squisq-print-toolbar", "aria-label": "Print preview controls", children: [
|
|
42361
|
-
/* @__PURE__ */
|
|
42362
|
-
activeDisplayMode === "slideshow" && /* @__PURE__ */
|
|
42384
|
+
/* @__PURE__ */ jsx86("span", { className: "squisq-print-toolbar-title", children: "Print preview" }),
|
|
42385
|
+
activeDisplayMode === "slideshow" && /* @__PURE__ */ jsx86("div", { className: "squisq-print-density", role: "group", "aria-label": "Slides per page", children: SLIDES_PER_PAGE_OPTIONS.map((value) => /* @__PURE__ */ jsxs69(
|
|
42363
42386
|
"button",
|
|
42364
42387
|
{
|
|
42365
42388
|
type: "button",
|
|
@@ -42368,7 +42391,7 @@ function PrintPreviewToolbar() {
|
|
|
42368
42391
|
"aria-label": `${value} ${value === 1 ? "slide" : "slides"} per page`,
|
|
42369
42392
|
onClick: () => setSlidesPerPage(value),
|
|
42370
42393
|
children: [
|
|
42371
|
-
/* @__PURE__ */
|
|
42394
|
+
/* @__PURE__ */ jsx86("span", { children: value }),
|
|
42372
42395
|
/* @__PURE__ */ jsxs69("span", { className: "squisq-print-density-label", children: [
|
|
42373
42396
|
" ",
|
|
42374
42397
|
value === 1 ? "slide" : "slides",
|
|
@@ -42378,14 +42401,14 @@ function PrintPreviewToolbar() {
|
|
|
42378
42401
|
},
|
|
42379
42402
|
value
|
|
42380
42403
|
)) }),
|
|
42381
|
-
/* @__PURE__ */
|
|
42404
|
+
/* @__PURE__ */ jsx86("div", { className: "squisq-print-toolbar-spacer" }),
|
|
42382
42405
|
/* @__PURE__ */ jsxs69("button", { type: "button", className: "squisq-print-action", onClick: print, children: [
|
|
42383
|
-
/* @__PURE__ */
|
|
42384
|
-
/* @__PURE__ */
|
|
42406
|
+
/* @__PURE__ */ jsx86(Icon, { icon: "fa-solid fa-print" }),
|
|
42407
|
+
/* @__PURE__ */ jsx86("span", { children: "Print" })
|
|
42385
42408
|
] }),
|
|
42386
42409
|
/* @__PURE__ */ jsxs69("button", { type: "button", className: "squisq-print-close", onClick: close, children: [
|
|
42387
|
-
/* @__PURE__ */
|
|
42388
|
-
/* @__PURE__ */
|
|
42410
|
+
/* @__PURE__ */ jsx86(Icon, { icon: "fa-solid fa-xmark" }),
|
|
42411
|
+
/* @__PURE__ */ jsx86("span", { children: "Close" })
|
|
42389
42412
|
] })
|
|
42390
42413
|
] });
|
|
42391
42414
|
}
|
|
@@ -42393,7 +42416,7 @@ function PrintPreviewToolbar() {
|
|
|
42393
42416
|
// src/print/PrintPreview.tsx
|
|
42394
42417
|
import { useCallback as useCallback53, useEffect as useEffect68, useMemo as useMemo55, useRef as useRef62 } from "react";
|
|
42395
42418
|
import {
|
|
42396
|
-
BlockRenderer as
|
|
42419
|
+
BlockRenderer as BlockRenderer5,
|
|
42397
42420
|
FlashcardFaceView,
|
|
42398
42421
|
LinearDocView,
|
|
42399
42422
|
useDocPlayback,
|
|
@@ -42404,7 +42427,7 @@ import {
|
|
|
42404
42427
|
} from "@bendyline/squisq/schemas";
|
|
42405
42428
|
import { expandCoverBlock as expandCoverBlock2, materializeFlashcards } from "@bendyline/squisq/doc";
|
|
42406
42429
|
import { resolveTransformStyle } from "@bendyline/squisq/transform";
|
|
42407
|
-
import { jsx as
|
|
42430
|
+
import { jsx as jsx87, jsxs as jsxs70 } from "react/jsx-runtime";
|
|
42408
42431
|
function chunk(values, size) {
|
|
42409
42432
|
const groups = [];
|
|
42410
42433
|
for (let index2 = 0; index2 < values.length; index2 += size) {
|
|
@@ -42458,7 +42481,7 @@ function PrintPreview({
|
|
|
42458
42481
|
}, [isTextDocument, registerPrintHandler]);
|
|
42459
42482
|
const title = contentDoc?.frontmatter?.title ?? contentDoc?.startBlock?.title ?? void 0;
|
|
42460
42483
|
if (isTextDocument) {
|
|
42461
|
-
return /* @__PURE__ */
|
|
42484
|
+
return /* @__PURE__ */ jsx87("div", { className: "squisq-print-preview squisq-print-preview--document", children: /* @__PURE__ */ jsx87("div", { className: "squisq-print-document-paper", children: /* @__PURE__ */ jsx87(
|
|
42462
42485
|
PlainHtmlPreview,
|
|
42463
42486
|
{
|
|
42464
42487
|
markdown: documentMarkdown,
|
|
@@ -42473,8 +42496,8 @@ function PrintPreview({
|
|
|
42473
42496
|
}
|
|
42474
42497
|
if (displayMode === "linear") {
|
|
42475
42498
|
return /* @__PURE__ */ jsxs70("div", { className: "squisq-print-preview squisq-print-preview--page", children: [
|
|
42476
|
-
/* @__PURE__ */
|
|
42477
|
-
/* @__PURE__ */
|
|
42499
|
+
/* @__PURE__ */ jsx87("style", { children: "@page { margin: 0; }" }),
|
|
42500
|
+
/* @__PURE__ */ jsx87("div", { className: "squisq-print-page-paper", children: /* @__PURE__ */ jsx87(
|
|
42478
42501
|
LinearDocView,
|
|
42479
42502
|
{
|
|
42480
42503
|
className: "squisq-print-linear",
|
|
@@ -42509,7 +42532,7 @@ function PrintPreview({
|
|
|
42509
42532
|
"--squisq-print-flashcard-surface": theme.colors.backgroundLight
|
|
42510
42533
|
},
|
|
42511
42534
|
children: [
|
|
42512
|
-
/* @__PURE__ */
|
|
42535
|
+
/* @__PURE__ */ jsx87("style", { children: "@page { size: landscape; margin: 0; }" }),
|
|
42513
42536
|
flashcardDeck?.cards.map((card, index2) => /* @__PURE__ */ jsxs70("article", { className: "squisq-print-flashcard-sheet", children: [
|
|
42514
42537
|
/* @__PURE__ */ jsxs70("header", { children: [
|
|
42515
42538
|
/* @__PURE__ */ jsxs70("span", { children: [
|
|
@@ -42518,25 +42541,25 @@ function PrintPreview({
|
|
|
42518
42541
|
" of ",
|
|
42519
42542
|
flashcardDeck.cards.length
|
|
42520
42543
|
] }),
|
|
42521
|
-
card.label && /* @__PURE__ */
|
|
42544
|
+
card.label && /* @__PURE__ */ jsx87("strong", { children: card.label })
|
|
42522
42545
|
] }),
|
|
42523
42546
|
/* @__PURE__ */ jsxs70("div", { className: "squisq-print-flashcard-pair", children: [
|
|
42524
42547
|
/* @__PURE__ */ jsxs70("section", { className: "squisq-print-flashcard-face", "aria-label": "Question side", children: [
|
|
42525
|
-
/* @__PURE__ */
|
|
42526
|
-
/* @__PURE__ */
|
|
42527
|
-
card.kind === "multiple-choice" && /* @__PURE__ */
|
|
42548
|
+
/* @__PURE__ */ jsx87("small", { children: "Front" }),
|
|
42549
|
+
/* @__PURE__ */ jsx87(FlashcardFaceView, { ...faceProps, face: card.front }),
|
|
42550
|
+
card.kind === "multiple-choice" && /* @__PURE__ */ jsx87("ol", { className: "squisq-print-flashcard-choices", children: card.choices?.map((choice) => /* @__PURE__ */ jsx87("li", { children: /* @__PURE__ */ jsx87(FlashcardFaceView, { ...faceProps, face: choice.content }) }, choice.id)) })
|
|
42528
42551
|
] }),
|
|
42529
42552
|
/* @__PURE__ */ jsxs70("section", { className: "squisq-print-flashcard-face", "aria-label": "Answer side", children: [
|
|
42530
|
-
/* @__PURE__ */
|
|
42531
|
-
/* @__PURE__ */
|
|
42553
|
+
/* @__PURE__ */ jsx87("small", { children: "Back" }),
|
|
42554
|
+
/* @__PURE__ */ jsx87(FlashcardFaceView, { ...faceProps, face: card.back }),
|
|
42532
42555
|
card.explanation && /* @__PURE__ */ jsxs70("div", { className: "squisq-print-flashcard-explanation", children: [
|
|
42533
|
-
/* @__PURE__ */
|
|
42534
|
-
/* @__PURE__ */
|
|
42556
|
+
/* @__PURE__ */ jsx87("small", { children: "Explanation" }),
|
|
42557
|
+
/* @__PURE__ */ jsx87(FlashcardFaceView, { ...faceProps, face: card.explanation })
|
|
42535
42558
|
] })
|
|
42536
42559
|
] })
|
|
42537
42560
|
] })
|
|
42538
42561
|
] }, card.id)),
|
|
42539
|
-
(!flashcardDeck || flashcardDeck.cards.length === 0) && /* @__PURE__ */
|
|
42562
|
+
(!flashcardDeck || flashcardDeck.cards.length === 0) && /* @__PURE__ */ jsx87("p", { className: "squisq-print-empty", children: "Nothing to print." })
|
|
42540
42563
|
]
|
|
42541
42564
|
}
|
|
42542
42565
|
);
|
|
@@ -42556,15 +42579,15 @@ function PrintPreview({
|
|
|
42556
42579
|
"data-slides-per-page": density,
|
|
42557
42580
|
style: previewStyle,
|
|
42558
42581
|
children: [
|
|
42559
|
-
/* @__PURE__ */
|
|
42560
|
-
sheets.map((sheet, pageIndex) => /* @__PURE__ */
|
|
42582
|
+
/* @__PURE__ */ jsx87("style", { children: `@page { size: ${orientation}; margin: 0; }` }),
|
|
42583
|
+
sheets.map((sheet, pageIndex) => /* @__PURE__ */ jsx87(
|
|
42561
42584
|
"div",
|
|
42562
42585
|
{
|
|
42563
42586
|
className: "squisq-print-sheet",
|
|
42564
42587
|
"data-slides-per-page": density,
|
|
42565
42588
|
"aria-label": `Print page ${pageIndex + 1}`,
|
|
42566
|
-
children: sheet.map((block) => /* @__PURE__ */
|
|
42567
|
-
|
|
42589
|
+
children: sheet.map((block) => /* @__PURE__ */ jsx87("div", { className: "squisq-print-slide-cell", children: /* @__PURE__ */ jsx87("div", { className: "squisq-print-slide-frame", children: /* @__PURE__ */ jsx87(
|
|
42590
|
+
BlockRenderer5,
|
|
42568
42591
|
{
|
|
42569
42592
|
block,
|
|
42570
42593
|
blockTime: Math.max(0, block.duration),
|
|
@@ -42577,7 +42600,7 @@ function PrintPreview({
|
|
|
42577
42600
|
},
|
|
42578
42601
|
`${density}-${pageIndex}`
|
|
42579
42602
|
)),
|
|
42580
|
-
sheets.length === 0 && /* @__PURE__ */
|
|
42603
|
+
sheets.length === 0 && /* @__PURE__ */ jsx87("p", { className: "squisq-print-empty", children: "Nothing to print." })
|
|
42581
42604
|
]
|
|
42582
42605
|
}
|
|
42583
42606
|
);
|
|
@@ -42631,7 +42654,7 @@ function collectSlideshowDataSources(doc) {
|
|
|
42631
42654
|
}
|
|
42632
42655
|
|
|
42633
42656
|
// src/slideshow/SlideshowDataGrid.tsx
|
|
42634
|
-
import { Fragment as Fragment28, jsx as
|
|
42657
|
+
import { Fragment as Fragment28, jsx as jsx88 } from "react/jsx-runtime";
|
|
42635
42658
|
var EMPTY_CONTEXT = {
|
|
42636
42659
|
container: null,
|
|
42637
42660
|
mediaRevision: 0,
|
|
@@ -42649,7 +42672,7 @@ function SlideshowDataGridProvider({
|
|
|
42649
42672
|
() => ({ container: container ?? null, mediaRevision, sources }),
|
|
42650
42673
|
[container, mediaRevision, sources]
|
|
42651
42674
|
);
|
|
42652
|
-
return /* @__PURE__ */
|
|
42675
|
+
return /* @__PURE__ */ jsx88(SlideshowDataGridContext.Provider, { value, children });
|
|
42653
42676
|
}
|
|
42654
42677
|
var EMPTY_VIEW = { sort: [], filter: [] };
|
|
42655
42678
|
function sourceKey(source) {
|
|
@@ -42761,7 +42784,7 @@ function SlideshowDataGridRenderer({
|
|
|
42761
42784
|
const initialView = ready?.initialView ?? EMPTY_VIEW;
|
|
42762
42785
|
const [view, setView] = useState79(initialView);
|
|
42763
42786
|
useEffect69(() => setView(initialView), [initialView, provider]);
|
|
42764
|
-
if (!provider || !ingest || !gridModule) return /* @__PURE__ */
|
|
42787
|
+
if (!provider || !ingest || !gridModule) return /* @__PURE__ */ jsx88(Fragment28, { children: fallback });
|
|
42765
42788
|
const { style } = layer.content;
|
|
42766
42789
|
const rowHeight = Math.max(32, style.fontSize * 2.1);
|
|
42767
42790
|
const footerHeight = Math.max(28, style.fontSize * 1.5);
|
|
@@ -42790,7 +42813,7 @@ function SlideshowDataGridRenderer({
|
|
|
42790
42813
|
"--squisq-grid-accent": style.headerBackground,
|
|
42791
42814
|
"--squisq-grid-resize-handle": style.headerBackground
|
|
42792
42815
|
};
|
|
42793
|
-
return /* @__PURE__ */
|
|
42816
|
+
return /* @__PURE__ */ jsx88("div", { className: "squisq-slideshow-data-grid", style: gridStyle, children: /* @__PURE__ */ jsx88(
|
|
42794
42817
|
gridModule.DataGrid,
|
|
42795
42818
|
{
|
|
42796
42819
|
provider,
|
|
@@ -42806,7 +42829,7 @@ function SlideshowDataGridRenderer({
|
|
|
42806
42829
|
|
|
42807
42830
|
// src/PreviewPanel.tsx
|
|
42808
42831
|
import { useProcessedAudio as useProcessedAudio3 } from "@bendyline/squisq-video-react/media-edit";
|
|
42809
|
-
import { jsx as
|
|
42832
|
+
import { jsx as jsx89, jsxs as jsxs71 } from "react/jsx-runtime";
|
|
42810
42833
|
function PreviewPanel({
|
|
42811
42834
|
basePath = "/",
|
|
42812
42835
|
className,
|
|
@@ -42964,22 +42987,22 @@ function PreviewPanel({
|
|
|
42964
42987
|
presentation?.popupRoot
|
|
42965
42988
|
]);
|
|
42966
42989
|
if (isParsing && !isNarrateMode && !previewDoc) {
|
|
42967
|
-
return /* @__PURE__ */
|
|
42990
|
+
return /* @__PURE__ */ jsx89("div", { className: `squisq-preview-status ${className || ""}`, "data-testid": "preview-panel", children: /* @__PURE__ */ jsx89("p", { children: "Parsing\u2026" }) });
|
|
42968
42991
|
}
|
|
42969
42992
|
if (parseError && !isNarrateMode) {
|
|
42970
42993
|
return /* @__PURE__ */ jsxs71("div", { className: `squisq-preview-status ${className || ""}`, "data-testid": "preview-panel", children: [
|
|
42971
|
-
/* @__PURE__ */
|
|
42972
|
-
/* @__PURE__ */
|
|
42994
|
+
/* @__PURE__ */ jsx89("h3", { children: "Parse Error" }),
|
|
42995
|
+
/* @__PURE__ */ jsx89("pre", { children: parseError })
|
|
42973
42996
|
] });
|
|
42974
42997
|
}
|
|
42975
42998
|
if (!previewDoc && !isDocumentMode && !isNarrateMode) {
|
|
42976
|
-
return /* @__PURE__ */
|
|
42999
|
+
return /* @__PURE__ */ jsx89("div", { className: `squisq-preview-status ${className || ""}`, "data-testid": "preview-panel", children: /* @__PURE__ */ jsx89("p", { children: "No content to preview. Start typing in the editor." }) });
|
|
42977
43000
|
}
|
|
42978
43001
|
const fillsContainer = printMode?.active || isDocumentMode || isPageMode || isNarrateMode || isFlashcardsMode ? "stretch" : "center";
|
|
42979
43002
|
const audienceWindowOpen = presentation?.activeTarget === "window";
|
|
42980
43003
|
const renderSurface = (audience) => {
|
|
42981
43004
|
if (!audience && printMode?.active) {
|
|
42982
|
-
return /* @__PURE__ */
|
|
43005
|
+
return /* @__PURE__ */ jsx89(
|
|
42983
43006
|
PrintPreview,
|
|
42984
43007
|
{
|
|
42985
43008
|
displayMode: activeDisplayMode,
|
|
@@ -42997,7 +43020,7 @@ function PreviewPanel({
|
|
|
42997
43020
|
);
|
|
42998
43021
|
}
|
|
42999
43022
|
if (isDocumentMode) {
|
|
43000
|
-
return /* @__PURE__ */
|
|
43023
|
+
return /* @__PURE__ */ jsx89(
|
|
43001
43024
|
PlainHtmlPreview,
|
|
43002
43025
|
{
|
|
43003
43026
|
markdown: documentMarkdown,
|
|
@@ -43016,7 +43039,7 @@ function PreviewPanel({
|
|
|
43016
43039
|
}
|
|
43017
43040
|
if (isNarrateMode) {
|
|
43018
43041
|
if (audience) return null;
|
|
43019
|
-
return /* @__PURE__ */
|
|
43042
|
+
return /* @__PURE__ */ jsx89(
|
|
43020
43043
|
TeleprompterView,
|
|
43021
43044
|
{
|
|
43022
43045
|
doc,
|
|
@@ -43035,7 +43058,7 @@ function PreviewPanel({
|
|
|
43035
43058
|
);
|
|
43036
43059
|
}
|
|
43037
43060
|
if (isPageMode) {
|
|
43038
|
-
return /* @__PURE__ */
|
|
43061
|
+
return /* @__PURE__ */ jsx89(
|
|
43039
43062
|
LinearDocView2,
|
|
43040
43063
|
{
|
|
43041
43064
|
doc: contentDoc ?? doc,
|
|
@@ -43052,7 +43075,7 @@ function PreviewPanel({
|
|
|
43052
43075
|
);
|
|
43053
43076
|
}
|
|
43054
43077
|
if (isFlashcardsMode) {
|
|
43055
|
-
return /* @__PURE__ */
|
|
43078
|
+
return /* @__PURE__ */ jsx89(
|
|
43056
43079
|
FlashcardView,
|
|
43057
43080
|
{
|
|
43058
43081
|
doc: contentDoc ?? doc,
|
|
@@ -43067,7 +43090,7 @@ function PreviewPanel({
|
|
|
43067
43090
|
);
|
|
43068
43091
|
}
|
|
43069
43092
|
if (isDashboardMode) {
|
|
43070
|
-
return /* @__PURE__ */
|
|
43093
|
+
return /* @__PURE__ */ jsx89("div", { className: "squisq-dashboard-fit", children: /* @__PURE__ */ jsx89(
|
|
43071
43094
|
DashboardView,
|
|
43072
43095
|
{
|
|
43073
43096
|
doc: contentDoc ?? doc,
|
|
@@ -43082,10 +43105,10 @@ function PreviewPanel({
|
|
|
43082
43105
|
) });
|
|
43083
43106
|
}
|
|
43084
43107
|
if (audience && !followerAudioController) {
|
|
43085
|
-
return /* @__PURE__ */
|
|
43108
|
+
return /* @__PURE__ */ jsx89("div", { className: "squisq-presentation-connecting", children: "Connecting presentation..." });
|
|
43086
43109
|
}
|
|
43087
43110
|
const audienceCaptionMode = playbackState?.captionMode;
|
|
43088
|
-
return /* @__PURE__ */
|
|
43111
|
+
return /* @__PURE__ */ jsx89(
|
|
43089
43112
|
DocPlayer2,
|
|
43090
43113
|
{
|
|
43091
43114
|
doc: previewDoc,
|
|
@@ -43136,7 +43159,7 @@ function PreviewPanel({
|
|
|
43136
43159
|
container: workspaceContainer,
|
|
43137
43160
|
mediaRevision,
|
|
43138
43161
|
children: [
|
|
43139
|
-
/* @__PURE__ */
|
|
43162
|
+
/* @__PURE__ */ jsx89(
|
|
43140
43163
|
"div",
|
|
43141
43164
|
{
|
|
43142
43165
|
className: `squisq-preview-container ${className || ""}`,
|
|
@@ -43149,16 +43172,16 @@ function PreviewPanel({
|
|
|
43149
43172
|
overflow: "hidden",
|
|
43150
43173
|
background: "var(--squisq-bg)"
|
|
43151
43174
|
},
|
|
43152
|
-
children: /* @__PURE__ */
|
|
43175
|
+
children: /* @__PURE__ */ jsx89("div", { ref: mainSurfaceRef, className: "squisq-preview-player", style: surfaceStyle, children: renderSurface(false) })
|
|
43153
43176
|
}
|
|
43154
43177
|
),
|
|
43155
43178
|
audienceWindowOpen && presentation?.popupRoot && !isNarrateMode ? createPortal18(
|
|
43156
|
-
/* @__PURE__ */
|
|
43179
|
+
/* @__PURE__ */ jsx89(
|
|
43157
43180
|
"div",
|
|
43158
43181
|
{
|
|
43159
43182
|
className: "squisq-editor-shell squisq-presentation-window",
|
|
43160
43183
|
"data-theme": colorScheme,
|
|
43161
|
-
children: /* @__PURE__ */
|
|
43184
|
+
children: /* @__PURE__ */ jsx89("div", { className: "squisq-preview-container squisq-presentation-window-preview", children: /* @__PURE__ */ jsx89(
|
|
43162
43185
|
"div",
|
|
43163
43186
|
{
|
|
43164
43187
|
ref: popupSurfaceRef,
|
|
@@ -43184,7 +43207,7 @@ import { sanitizedSvgImageUrl as sanitizedSvgImageUrl2 } from "@bendyline/squisq
|
|
|
43184
43207
|
|
|
43185
43208
|
// src/MediaPreviewDialog.tsx
|
|
43186
43209
|
import { useEffect as useEffect71, useId as useId16, useRef as useRef64, useState as useState81 } from "react";
|
|
43187
|
-
import { jsx as
|
|
43210
|
+
import { jsx as jsx90, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
43188
43211
|
function MediaPreviewDialog({
|
|
43189
43212
|
kind,
|
|
43190
43213
|
name,
|
|
@@ -43202,13 +43225,13 @@ function MediaPreviewDialog({
|
|
|
43202
43225
|
useEffect71(() => setPlaybackFailed(false), [src]);
|
|
43203
43226
|
let body;
|
|
43204
43227
|
if (failed || playbackFailed || src === "") {
|
|
43205
|
-
body = /* @__PURE__ */
|
|
43228
|
+
body = /* @__PURE__ */ jsx90("div", { className: "squisq-media-preview-message", children: "This file can\u2019t be previewed." });
|
|
43206
43229
|
} else if (src === null) {
|
|
43207
|
-
body = /* @__PURE__ */
|
|
43230
|
+
body = /* @__PURE__ */ jsx90("div", { className: "squisq-media-preview-message", children: "Loading\u2026" });
|
|
43208
43231
|
} else if (kind === "image") {
|
|
43209
|
-
body = /* @__PURE__ */
|
|
43232
|
+
body = /* @__PURE__ */ jsx90(ImageViewer, { src, alt: name, theme: isDark ? "dark" : "light" });
|
|
43210
43233
|
} else if (kind === "video") {
|
|
43211
|
-
body = /* @__PURE__ */
|
|
43234
|
+
body = /* @__PURE__ */ jsx90(
|
|
43212
43235
|
"video",
|
|
43213
43236
|
{
|
|
43214
43237
|
className: "squisq-media-preview-video",
|
|
@@ -43221,11 +43244,11 @@ function MediaPreviewDialog({
|
|
|
43221
43244
|
);
|
|
43222
43245
|
} else {
|
|
43223
43246
|
body = /* @__PURE__ */ jsxs72("div", { className: "squisq-media-preview-audio", children: [
|
|
43224
|
-
/* @__PURE__ */
|
|
43225
|
-
/* @__PURE__ */
|
|
43247
|
+
/* @__PURE__ */ jsx90("span", { className: "squisq-media-preview-audio-icon", "aria-hidden": "true", children: "\u{1F50A}" }),
|
|
43248
|
+
/* @__PURE__ */ jsx90("audio", { src, controls: true, autoPlay: true, onError: () => setPlaybackFailed(true) })
|
|
43226
43249
|
] });
|
|
43227
43250
|
}
|
|
43228
|
-
return /* @__PURE__ */
|
|
43251
|
+
return /* @__PURE__ */ jsx90(
|
|
43229
43252
|
"div",
|
|
43230
43253
|
{
|
|
43231
43254
|
ref: overlayRef,
|
|
@@ -43247,9 +43270,9 @@ function MediaPreviewDialog({
|
|
|
43247
43270
|
"data-testid": "media-preview-dialog",
|
|
43248
43271
|
children: [
|
|
43249
43272
|
/* @__PURE__ */ jsxs72("header", { className: "squisq-media-preview-header", children: [
|
|
43250
|
-
/* @__PURE__ */
|
|
43251
|
-
/* @__PURE__ */
|
|
43252
|
-
/* @__PURE__ */
|
|
43273
|
+
/* @__PURE__ */ jsx90("span", { id: titleId, className: "squisq-media-preview-title", title: name, children: name }),
|
|
43274
|
+
/* @__PURE__ */ jsx90("span", { className: "squisq-media-preview-detail", children: detail }),
|
|
43275
|
+
/* @__PURE__ */ jsx90(
|
|
43253
43276
|
"button",
|
|
43254
43277
|
{
|
|
43255
43278
|
type: "button",
|
|
@@ -43260,7 +43283,7 @@ function MediaPreviewDialog({
|
|
|
43260
43283
|
}
|
|
43261
43284
|
)
|
|
43262
43285
|
] }),
|
|
43263
|
-
/* @__PURE__ */
|
|
43286
|
+
/* @__PURE__ */ jsx90("div", { className: "squisq-media-preview-body", children: body })
|
|
43264
43287
|
]
|
|
43265
43288
|
}
|
|
43266
43289
|
)
|
|
@@ -43269,7 +43292,7 @@ function MediaPreviewDialog({
|
|
|
43269
43292
|
}
|
|
43270
43293
|
|
|
43271
43294
|
// src/MediaBin.tsx
|
|
43272
|
-
import { Fragment as Fragment29, jsx as
|
|
43295
|
+
import { Fragment as Fragment29, jsx as jsx91, jsxs as jsxs73 } from "react/jsx-runtime";
|
|
43273
43296
|
function formatSize(bytes) {
|
|
43274
43297
|
if (bytes < 1024) return `${bytes} B`;
|
|
43275
43298
|
if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
|
|
@@ -43634,8 +43657,8 @@ function MediaBin({
|
|
|
43634
43657
|
"aria-haspopup": "dialog",
|
|
43635
43658
|
"aria-expanded": isRecorderOpen,
|
|
43636
43659
|
children: [
|
|
43637
|
-
/* @__PURE__ */
|
|
43638
|
-
/* @__PURE__ */
|
|
43660
|
+
/* @__PURE__ */ jsx91("span", { className: "squisq-media-bin-action-icon", "aria-hidden": "true", children: /* @__PURE__ */ jsx91("span", { className: "squisq-media-bin-record-dot" }) }),
|
|
43661
|
+
/* @__PURE__ */ jsx91("span", { children: "Record" })
|
|
43639
43662
|
]
|
|
43640
43663
|
}
|
|
43641
43664
|
),
|
|
@@ -43648,8 +43671,8 @@ function MediaBin({
|
|
|
43648
43671
|
disabled: !mediaProvider || loading,
|
|
43649
43672
|
title: mediaProvider ? "Upload files" : "Load a content zip or select a storage slot first",
|
|
43650
43673
|
children: [
|
|
43651
|
-
/* @__PURE__ */
|
|
43652
|
-
/* @__PURE__ */
|
|
43674
|
+
/* @__PURE__ */ jsx91("span", { className: "squisq-media-bin-action-icon", children: "+" }),
|
|
43675
|
+
/* @__PURE__ */ jsx91("span", { children: "Upload" })
|
|
43653
43676
|
]
|
|
43654
43677
|
}
|
|
43655
43678
|
)
|
|
@@ -43658,10 +43681,10 @@ function MediaBin({
|
|
|
43658
43681
|
/* @__PURE__ */ jsxs73("div", { className: "squisq-media-bin-list", ref: listRef, children: [
|
|
43659
43682
|
!mediaProvider && /* @__PURE__ */ jsxs73("div", { className: "squisq-media-bin-empty", children: [
|
|
43660
43683
|
"No media context.",
|
|
43661
|
-
/* @__PURE__ */
|
|
43684
|
+
/* @__PURE__ */ jsx91("br", {}),
|
|
43662
43685
|
"Load a content zip or select a storage slot."
|
|
43663
43686
|
] }),
|
|
43664
|
-
mediaProvider && entries.length === 0 && !loading && /* @__PURE__ */
|
|
43687
|
+
mediaProvider && entries.length === 0 && !loading && /* @__PURE__ */ jsx91("div", { className: "squisq-media-bin-empty", children: "No files yet." }),
|
|
43665
43688
|
entries.map((entry) => {
|
|
43666
43689
|
const thumb = thumbUrls[entry.name];
|
|
43667
43690
|
const basename = basenameForPath(entry.name);
|
|
@@ -43700,7 +43723,7 @@ ${formatSize(entry.size)}`,
|
|
|
43700
43723
|
onDragStart: handleDragStart,
|
|
43701
43724
|
onKeyDown: (e2) => handleItemKeyDown(entry, e2),
|
|
43702
43725
|
children: [
|
|
43703
|
-
thumb ? /* @__PURE__ */
|
|
43726
|
+
thumb ? /* @__PURE__ */ jsx91(
|
|
43704
43727
|
"img",
|
|
43705
43728
|
{
|
|
43706
43729
|
src: thumb,
|
|
@@ -43708,15 +43731,15 @@ ${formatSize(entry.size)}`,
|
|
|
43708
43731
|
className: "squisq-media-bin-thumb",
|
|
43709
43732
|
draggable: false
|
|
43710
43733
|
}
|
|
43711
|
-
) : /* @__PURE__ */
|
|
43734
|
+
) : /* @__PURE__ */ jsx91("span", { className: "squisq-media-bin-icon", children: iconForMime(entry.mimeType) }),
|
|
43712
43735
|
/* @__PURE__ */ jsxs73("div", { className: "squisq-media-bin-meta", children: [
|
|
43713
|
-
/* @__PURE__ */
|
|
43736
|
+
/* @__PURE__ */ jsx91("div", { className: "squisq-media-bin-name", children: basename }),
|
|
43714
43737
|
/* @__PURE__ */ jsxs73("div", { className: "squisq-media-bin-detail-row", children: [
|
|
43715
|
-
/* @__PURE__ */
|
|
43716
|
-
isUnused && /* @__PURE__ */
|
|
43738
|
+
/* @__PURE__ */ jsx91("span", { className: "squisq-media-bin-size", children: formatSize(entry.size) }),
|
|
43739
|
+
isUnused && /* @__PURE__ */ jsx91("span", { className: "squisq-media-bin-unused-badge", title: "Not used in document", children: "Unused" })
|
|
43717
43740
|
] })
|
|
43718
43741
|
] }),
|
|
43719
|
-
allowBinaryDownloads && /* @__PURE__ */
|
|
43742
|
+
allowBinaryDownloads && /* @__PURE__ */ jsx91(
|
|
43720
43743
|
"button",
|
|
43721
43744
|
{
|
|
43722
43745
|
type: "button",
|
|
@@ -43730,7 +43753,7 @@ ${formatSize(entry.size)}`,
|
|
|
43730
43753
|
void handleDownloadEntry(entry);
|
|
43731
43754
|
},
|
|
43732
43755
|
onDragStart: (event) => event.preventDefault(),
|
|
43733
|
-
children: /* @__PURE__ */
|
|
43756
|
+
children: /* @__PURE__ */ jsx91("span", { "aria-hidden": "true", children: downloadingPath === entry.name ? "\u2026" : "\u2193" })
|
|
43734
43757
|
}
|
|
43735
43758
|
)
|
|
43736
43759
|
]
|
|
@@ -43740,11 +43763,11 @@ ${formatSize(entry.size)}`,
|
|
|
43740
43763
|
})
|
|
43741
43764
|
] }),
|
|
43742
43765
|
isDropActive && /* @__PURE__ */ jsxs73("div", { className: "squisq-media-bin-drop-target", "aria-hidden": "true", children: [
|
|
43743
|
-
/* @__PURE__ */
|
|
43744
|
-
/* @__PURE__ */
|
|
43745
|
-
/* @__PURE__ */
|
|
43766
|
+
/* @__PURE__ */ jsx91("span", { className: "squisq-media-bin-drop-target-icon", children: "+" }),
|
|
43767
|
+
/* @__PURE__ */ jsx91("strong", { children: "Drop media here" }),
|
|
43768
|
+
/* @__PURE__ */ jsx91("span", { children: "Attach to this document" })
|
|
43746
43769
|
] }),
|
|
43747
|
-
contextMenu && /* @__PURE__ */
|
|
43770
|
+
contextMenu && /* @__PURE__ */ jsx91(
|
|
43748
43771
|
"div",
|
|
43749
43772
|
{
|
|
43750
43773
|
ref: contextMenuRef,
|
|
@@ -43752,7 +43775,7 @@ ${formatSize(entry.size)}`,
|
|
|
43752
43775
|
role: "menu",
|
|
43753
43776
|
"aria-label": `${contextMenu.entry.name} actions`,
|
|
43754
43777
|
style: contextMenuStyle,
|
|
43755
|
-
children: /* @__PURE__ */
|
|
43778
|
+
children: /* @__PURE__ */ jsx91(
|
|
43756
43779
|
"button",
|
|
43757
43780
|
{
|
|
43758
43781
|
type: "button",
|
|
@@ -43765,7 +43788,7 @@ ${formatSize(entry.size)}`,
|
|
|
43765
43788
|
)
|
|
43766
43789
|
}
|
|
43767
43790
|
),
|
|
43768
|
-
/* @__PURE__ */
|
|
43791
|
+
/* @__PURE__ */ jsx91(
|
|
43769
43792
|
"input",
|
|
43770
43793
|
{
|
|
43771
43794
|
ref: fileInputRef,
|
|
@@ -43778,7 +43801,7 @@ ${formatSize(entry.size)}`,
|
|
|
43778
43801
|
]
|
|
43779
43802
|
}
|
|
43780
43803
|
),
|
|
43781
|
-
preview && previewKind !== "file" && /* @__PURE__ */
|
|
43804
|
+
preview && previewKind !== "file" && /* @__PURE__ */ jsx91(
|
|
43782
43805
|
MediaPreviewDialog,
|
|
43783
43806
|
{
|
|
43784
43807
|
kind: previewKind,
|
|
@@ -43795,7 +43818,7 @@ ${formatSize(entry.size)}`,
|
|
|
43795
43818
|
|
|
43796
43819
|
// src/DropZoneOverlay.tsx
|
|
43797
43820
|
import { useState as useState83 } from "react";
|
|
43798
|
-
import { Fragment as Fragment30, jsx as
|
|
43821
|
+
import { Fragment as Fragment30, jsx as jsx92, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
43799
43822
|
function DropZoneOverlay({
|
|
43800
43823
|
dragContentType,
|
|
43801
43824
|
zoneProps,
|
|
@@ -43803,8 +43826,8 @@ function DropZoneOverlay({
|
|
|
43803
43826
|
}) {
|
|
43804
43827
|
const showMedia = dragContentType === "media" || dragContentType === "mixed";
|
|
43805
43828
|
const showText = dragContentType === "text" || dragContentType === "mixed";
|
|
43806
|
-
return /* @__PURE__ */
|
|
43807
|
-
showMedia && /* @__PURE__ */
|
|
43829
|
+
return /* @__PURE__ */ jsx92("div", { className: "squisq-drop-overlay", children: /* @__PURE__ */ jsxs74("div", { className: "squisq-drop-overlay-inner", children: [
|
|
43830
|
+
showMedia && /* @__PURE__ */ jsx92(
|
|
43808
43831
|
DropZone,
|
|
43809
43832
|
{
|
|
43810
43833
|
target: "media",
|
|
@@ -43817,7 +43840,7 @@ function DropZoneOverlay({
|
|
|
43817
43840
|
}
|
|
43818
43841
|
),
|
|
43819
43842
|
showText && /* @__PURE__ */ jsxs74(Fragment30, { children: [
|
|
43820
|
-
/* @__PURE__ */
|
|
43843
|
+
/* @__PURE__ */ jsx92(
|
|
43821
43844
|
DropZone,
|
|
43822
43845
|
{
|
|
43823
43846
|
target: "insert",
|
|
@@ -43828,7 +43851,7 @@ function DropZoneOverlay({
|
|
|
43828
43851
|
variant: "insert"
|
|
43829
43852
|
}
|
|
43830
43853
|
),
|
|
43831
|
-
/* @__PURE__ */
|
|
43854
|
+
/* @__PURE__ */ jsx92(
|
|
43832
43855
|
DropZone,
|
|
43833
43856
|
{
|
|
43834
43857
|
target: "replace",
|
|
@@ -43886,9 +43909,9 @@ function DropZone({
|
|
|
43886
43909
|
props.onDrop(e2);
|
|
43887
43910
|
},
|
|
43888
43911
|
children: [
|
|
43889
|
-
/* @__PURE__ */
|
|
43890
|
-
/* @__PURE__ */
|
|
43891
|
-
/* @__PURE__ */
|
|
43912
|
+
/* @__PURE__ */ jsx92("span", { className: "squisq-drop-zone-icon", children: icon }),
|
|
43913
|
+
/* @__PURE__ */ jsx92("span", { className: "squisq-drop-zone-label", children: label }),
|
|
43914
|
+
/* @__PURE__ */ jsx92("span", { className: "squisq-drop-zone-desc", children: description })
|
|
43892
43915
|
]
|
|
43893
43916
|
}
|
|
43894
43917
|
);
|
|
@@ -43908,7 +43931,7 @@ function clampTooltipLeft(anchorX, tooltipWidth, viewportWidth, edgePadding = ED
|
|
|
43908
43931
|
}
|
|
43909
43932
|
|
|
43910
43933
|
// src/Tooltip.tsx
|
|
43911
|
-
import { jsx as
|
|
43934
|
+
import { jsx as jsx93 } from "react/jsx-runtime";
|
|
43912
43935
|
var SHOW_DELAY_MS = 180;
|
|
43913
43936
|
function TooltipLayer() {
|
|
43914
43937
|
const [state, setState3] = useState84(null);
|
|
@@ -44011,7 +44034,7 @@ function TooltipLayer() {
|
|
|
44011
44034
|
}, []);
|
|
44012
44035
|
if (!state) return null;
|
|
44013
44036
|
return createPortal19(
|
|
44014
|
-
/* @__PURE__ */
|
|
44037
|
+
/* @__PURE__ */ jsx93(
|
|
44015
44038
|
"div",
|
|
44016
44039
|
{
|
|
44017
44040
|
role: "tooltip",
|
|
@@ -44035,14 +44058,14 @@ import { useEffect as useEffect80, useRef as useRef75, useState as useState91, u
|
|
|
44035
44058
|
|
|
44036
44059
|
// src/BlockPreviewPanel.tsx
|
|
44037
44060
|
import { useMemo as useMemo58 } from "react";
|
|
44038
|
-
import { VIEWPORT_PRESETS as
|
|
44061
|
+
import { VIEWPORT_PRESETS as VIEWPORT_PRESETS8 } from "@bendyline/squisq/schemas";
|
|
44039
44062
|
import { flattenBlocks as flattenBlocks6, DEFAULT_THEME as DEFAULT_THEME7 } from "@bendyline/squisq/doc";
|
|
44040
|
-
import { jsx as
|
|
44063
|
+
import { jsx as jsx94 } from "react/jsx-runtime";
|
|
44041
44064
|
function BlockPreviewPanel({ basePath = "/" }) {
|
|
44042
44065
|
const { doc, activeBlockStartLine, mediaProvider, workspaceContainer, fileName, mediaRevision } = useEditorContext();
|
|
44043
44066
|
const previewSettings = usePreviewSettingsOptional();
|
|
44044
44067
|
const theme = previewSettings?.activeTheme ?? DEFAULT_THEME7;
|
|
44045
|
-
const viewport = previewSettings?.activeViewport ??
|
|
44068
|
+
const viewport = previewSettings?.activeViewport ?? VIEWPORT_PRESETS8.landscape;
|
|
44046
44069
|
const projection = usePreviewProjection(doc, "", workspaceContainer, fileName, mediaRevision);
|
|
44047
44070
|
const previewDoc = projection?.contentDoc ?? doc;
|
|
44048
44071
|
const block = useMemo58(() => {
|
|
@@ -44056,12 +44079,12 @@ function BlockPreviewPanel({ basePath = "/" }) {
|
|
|
44056
44079
|
[previewDoc, block, theme, viewport]
|
|
44057
44080
|
);
|
|
44058
44081
|
if (!visual) return null;
|
|
44059
|
-
return /* @__PURE__ */
|
|
44082
|
+
return /* @__PURE__ */ jsx94("div", { className: "squisq-block-preview-panel", "data-testid": "block-preview-panel", "aria-hidden": true, children: /* @__PURE__ */ jsx94(
|
|
44060
44083
|
"div",
|
|
44061
44084
|
{
|
|
44062
44085
|
className: "squisq-block-preview-frame",
|
|
44063
44086
|
style: { aspectRatio: `${viewport.width} / ${viewport.height}` },
|
|
44064
|
-
children: /* @__PURE__ */
|
|
44087
|
+
children: /* @__PURE__ */ jsx94(
|
|
44065
44088
|
BlockThumbnail,
|
|
44066
44089
|
{
|
|
44067
44090
|
visual,
|
|
@@ -44079,13 +44102,13 @@ import { useCallback as useCallback57, useEffect as useEffect75, useId as useId1
|
|
|
44079
44102
|
|
|
44080
44103
|
// src/BlockPreviewList.tsx
|
|
44081
44104
|
import { useCallback as useCallback56, useRef as useRef67 } from "react";
|
|
44082
|
-
import { VIEWPORT_PRESETS as
|
|
44105
|
+
import { VIEWPORT_PRESETS as VIEWPORT_PRESETS9 } from "@bendyline/squisq/schemas";
|
|
44083
44106
|
import { flattenBlocks as flattenBlocks7 } from "@bendyline/squisq/doc";
|
|
44084
|
-
import { BlockRenderer as
|
|
44085
|
-
import { Fragment as Fragment31, jsx as
|
|
44107
|
+
import { BlockRenderer as BlockRenderer6, MediaContext as MediaContext7 } from "@bendyline/squisq-react";
|
|
44108
|
+
import { Fragment as Fragment31, jsx as jsx95, jsxs as jsxs75 } from "react/jsx-runtime";
|
|
44086
44109
|
function BlockPreviewList({
|
|
44087
44110
|
basePath = "/",
|
|
44088
|
-
viewport =
|
|
44111
|
+
viewport = VIEWPORT_PRESETS9.landscape,
|
|
44089
44112
|
mediaProvider = null,
|
|
44090
44113
|
onNavigate
|
|
44091
44114
|
}) {
|
|
@@ -44118,9 +44141,9 @@ function BlockPreviewList({
|
|
|
44118
44141
|
[activeView, doc, goToBlockByLine, layoutMode, monacoEditor, onNavigate]
|
|
44119
44142
|
);
|
|
44120
44143
|
if (items.length === 0) {
|
|
44121
|
-
return /* @__PURE__ */
|
|
44144
|
+
return /* @__PURE__ */ jsx95("div", { className: "squisq-preview-list-empty", children: /* @__PURE__ */ jsx95("p", { children: "Add some content to see block previews." }) });
|
|
44122
44145
|
}
|
|
44123
|
-
return /* @__PURE__ */
|
|
44146
|
+
return /* @__PURE__ */ jsx95(MediaContext7.Provider, { value: mediaProvider, children: /* @__PURE__ */ jsx95("ul", { ref: listRef, className: "squisq-preview-list", "aria-label": "Block previews", children: items.map((item) => /* @__PURE__ */ jsx95("li", { children: /* @__PURE__ */ jsxs75(
|
|
44124
44147
|
"button",
|
|
44125
44148
|
{
|
|
44126
44149
|
type: "button",
|
|
@@ -44129,20 +44152,20 @@ function BlockPreviewList({
|
|
|
44129
44152
|
onClick: () => handleSelect(item),
|
|
44130
44153
|
children: [
|
|
44131
44154
|
/* @__PURE__ */ jsxs75("span", { className: "squisq-inline-preview-card-label", children: [
|
|
44132
|
-
/* @__PURE__ */
|
|
44155
|
+
/* @__PURE__ */ jsx95("span", { className: "squisq-inline-preview-card-template", children: templateLabel(item.template) }),
|
|
44133
44156
|
item.headingText && /* @__PURE__ */ jsxs75(Fragment31, { children: [
|
|
44134
|
-
/* @__PURE__ */
|
|
44135
|
-
/* @__PURE__ */
|
|
44157
|
+
/* @__PURE__ */ jsx95("span", { className: "squisq-inline-preview-card-sep", "aria-hidden": "true", children: "\u2014" }),
|
|
44158
|
+
/* @__PURE__ */ jsx95("span", { className: "squisq-inline-preview-card-title", children: item.headingText })
|
|
44136
44159
|
] })
|
|
44137
44160
|
] }),
|
|
44138
|
-
/* @__PURE__ */
|
|
44161
|
+
/* @__PURE__ */ jsx95(
|
|
44139
44162
|
"span",
|
|
44140
44163
|
{
|
|
44141
44164
|
className: "squisq-inline-preview-card-svg",
|
|
44142
44165
|
"aria-hidden": "true",
|
|
44143
44166
|
style: { aspectRatio: `${viewport.width} / ${viewport.height}` },
|
|
44144
|
-
children: /* @__PURE__ */
|
|
44145
|
-
|
|
44167
|
+
children: /* @__PURE__ */ jsx95(
|
|
44168
|
+
BlockRenderer6,
|
|
44146
44169
|
{
|
|
44147
44170
|
block: item.block,
|
|
44148
44171
|
buildPlayback: "all",
|
|
@@ -44282,7 +44305,7 @@ function useNavigationSheetSwipe({
|
|
|
44282
44305
|
}
|
|
44283
44306
|
|
|
44284
44307
|
// src/NavigationSheet.tsx
|
|
44285
|
-
import { Fragment as Fragment32, jsx as
|
|
44308
|
+
import { Fragment as Fragment32, jsx as jsx96, jsxs as jsxs76 } from "react/jsx-runtime";
|
|
44286
44309
|
var PANEL_LABELS = {
|
|
44287
44310
|
outline: "Outline",
|
|
44288
44311
|
previews: "Block previews"
|
|
@@ -44363,8 +44386,8 @@ function NavigationSheet({
|
|
|
44363
44386
|
"data-state": open ? "open" : dragPanel ? "dragging" : "closed",
|
|
44364
44387
|
"data-testid": "navigation-sheet",
|
|
44365
44388
|
children: [
|
|
44366
|
-
/* @__PURE__ */
|
|
44367
|
-
/* @__PURE__ */
|
|
44389
|
+
/* @__PURE__ */ jsx96("div", { ref: scrimRef, className: "squisq-navigation-sheet-scrim", onClick: close }),
|
|
44390
|
+
/* @__PURE__ */ jsx96(
|
|
44368
44391
|
"div",
|
|
44369
44392
|
{
|
|
44370
44393
|
ref: panelRef,
|
|
@@ -44374,7 +44397,7 @@ function NavigationSheet({
|
|
|
44374
44397
|
tabIndex: -1,
|
|
44375
44398
|
children: content && /* @__PURE__ */ jsxs76(Fragment32, { children: [
|
|
44376
44399
|
/* @__PURE__ */ jsxs76("div", { className: "squisq-navigation-sheet-header", children: [
|
|
44377
|
-
/* @__PURE__ */
|
|
44400
|
+
/* @__PURE__ */ jsx96("div", { className: "squisq-navigation-sheet-tabs", role: "tablist", children: PANELS.map((option) => /* @__PURE__ */ jsx96(
|
|
44378
44401
|
"button",
|
|
44379
44402
|
{
|
|
44380
44403
|
type: "button",
|
|
@@ -44388,25 +44411,25 @@ function NavigationSheet({
|
|
|
44388
44411
|
},
|
|
44389
44412
|
option
|
|
44390
44413
|
)) }),
|
|
44391
|
-
/* @__PURE__ */
|
|
44414
|
+
/* @__PURE__ */ jsx96(
|
|
44392
44415
|
"button",
|
|
44393
44416
|
{
|
|
44394
44417
|
type: "button",
|
|
44395
44418
|
className: "squisq-navigation-sheet-close",
|
|
44396
44419
|
"aria-label": "Close",
|
|
44397
44420
|
onClick: close,
|
|
44398
|
-
children: /* @__PURE__ */
|
|
44421
|
+
children: /* @__PURE__ */ jsx96(Icon, { icon: "xmark" })
|
|
44399
44422
|
}
|
|
44400
44423
|
)
|
|
44401
44424
|
] }),
|
|
44402
|
-
/* @__PURE__ */
|
|
44425
|
+
/* @__PURE__ */ jsx96(
|
|
44403
44426
|
"div",
|
|
44404
44427
|
{
|
|
44405
44428
|
id: `${tabIdPrefix}-body`,
|
|
44406
44429
|
className: "squisq-navigation-sheet-body",
|
|
44407
44430
|
role: "tabpanel",
|
|
44408
44431
|
"aria-labelledby": `${tabIdPrefix}-${content}`,
|
|
44409
|
-
children: content === "outline" ? /* @__PURE__ */
|
|
44432
|
+
children: content === "outline" ? /* @__PURE__ */ jsx96(OutlinePanel, { presentation: "sheet", readOnly, onNavigate: close }) : /* @__PURE__ */ jsx96(
|
|
44410
44433
|
BlockPreviewList,
|
|
44411
44434
|
{
|
|
44412
44435
|
basePath,
|
|
@@ -44425,7 +44448,7 @@ function NavigationSheet({
|
|
|
44425
44448
|
}
|
|
44426
44449
|
|
|
44427
44450
|
// src/proofing/ProofingPanel.tsx
|
|
44428
|
-
import { jsx as
|
|
44451
|
+
import { jsx as jsx97, jsxs as jsxs77 } from "react/jsx-runtime";
|
|
44429
44452
|
var CATEGORY_LABELS = {
|
|
44430
44453
|
spelling: "Spelling",
|
|
44431
44454
|
grammar: "Grammar",
|
|
@@ -44439,10 +44462,10 @@ function ProofingPanel() {
|
|
|
44439
44462
|
/* @__PURE__ */ jsxs77("div", { className: "squisq-proof-panel-header", children: [
|
|
44440
44463
|
/* @__PURE__ */ jsxs77("span", { className: "squisq-proof-panel-title", children: [
|
|
44441
44464
|
"Proofing",
|
|
44442
|
-
/* @__PURE__ */
|
|
44465
|
+
/* @__PURE__ */ jsx97("span", { className: "squisq-proof-panel-count", children: findings.length })
|
|
44443
44466
|
] }),
|
|
44444
44467
|
/* @__PURE__ */ jsxs77("span", { className: "squisq-proof-panel-actions", children: [
|
|
44445
|
-
/* @__PURE__ */
|
|
44468
|
+
/* @__PURE__ */ jsx97(
|
|
44446
44469
|
"button",
|
|
44447
44470
|
{
|
|
44448
44471
|
type: "button",
|
|
@@ -44454,7 +44477,7 @@ function ProofingPanel() {
|
|
|
44454
44477
|
children: "\u2191"
|
|
44455
44478
|
}
|
|
44456
44479
|
),
|
|
44457
|
-
/* @__PURE__ */
|
|
44480
|
+
/* @__PURE__ */ jsx97(
|
|
44458
44481
|
"button",
|
|
44459
44482
|
{
|
|
44460
44483
|
type: "button",
|
|
@@ -44466,7 +44489,7 @@ function ProofingPanel() {
|
|
|
44466
44489
|
children: "\u2193"
|
|
44467
44490
|
}
|
|
44468
44491
|
),
|
|
44469
|
-
/* @__PURE__ */
|
|
44492
|
+
/* @__PURE__ */ jsx97(
|
|
44470
44493
|
"button",
|
|
44471
44494
|
{
|
|
44472
44495
|
type: "button",
|
|
@@ -44479,20 +44502,20 @@ function ProofingPanel() {
|
|
|
44479
44502
|
)
|
|
44480
44503
|
] })
|
|
44481
44504
|
] }),
|
|
44482
|
-
state.status === "loading" && /* @__PURE__ */
|
|
44505
|
+
state.status === "loading" && /* @__PURE__ */ jsx97("div", { className: "squisq-proof-panel-empty", children: "Loading proofing engine\u2026" }),
|
|
44483
44506
|
state.status === "error" && /* @__PURE__ */ jsxs77("div", { className: "squisq-proof-panel-empty", children: [
|
|
44484
44507
|
"Proofing failed to load.",
|
|
44485
|
-
/* @__PURE__ */
|
|
44508
|
+
/* @__PURE__ */ jsx97("button", { type: "button", className: "squisq-proof-panel-retry", onClick: state.retrySetup, children: "Retry" })
|
|
44486
44509
|
] }),
|
|
44487
|
-
state.status === "ready" && findings.length === 0 && /* @__PURE__ */
|
|
44488
|
-
/* @__PURE__ */
|
|
44510
|
+
state.status === "ready" && findings.length === 0 && /* @__PURE__ */ jsx97("div", { className: "squisq-proof-panel-empty", children: "No issues found." }),
|
|
44511
|
+
/* @__PURE__ */ jsx97("ul", { className: "squisq-proof-panel-list", children: findings.map((finding) => /* @__PURE__ */ jsx97("li", { children: /* @__PURE__ */ jsxs77(
|
|
44489
44512
|
"button",
|
|
44490
44513
|
{
|
|
44491
44514
|
type: "button",
|
|
44492
44515
|
className: finding.id === activeFindingId ? "squisq-proof-panel-row squisq-proof-panel-row--active" : "squisq-proof-panel-row",
|
|
44493
44516
|
onClick: () => state.selectFinding(finding.id),
|
|
44494
44517
|
children: [
|
|
44495
|
-
/* @__PURE__ */
|
|
44518
|
+
/* @__PURE__ */ jsx97(
|
|
44496
44519
|
"span",
|
|
44497
44520
|
{
|
|
44498
44521
|
className: `squisq-proof-dot squisq-proof-dot--${finding.category}`,
|
|
@@ -44501,8 +44524,8 @@ function ProofingPanel() {
|
|
|
44501
44524
|
}
|
|
44502
44525
|
),
|
|
44503
44526
|
/* @__PURE__ */ jsxs77("span", { className: "squisq-proof-panel-row-body", children: [
|
|
44504
|
-
/* @__PURE__ */
|
|
44505
|
-
/* @__PURE__ */
|
|
44527
|
+
/* @__PURE__ */ jsx97("span", { className: "squisq-proof-panel-excerpt", children: finding.originalText }),
|
|
44528
|
+
/* @__PURE__ */ jsx97("span", { className: "squisq-proof-panel-message", children: proofMessageText(finding) })
|
|
44506
44529
|
] })
|
|
44507
44530
|
]
|
|
44508
44531
|
}
|
|
@@ -44517,7 +44540,7 @@ import {
|
|
|
44517
44540
|
MemoryContentContainer,
|
|
44518
44541
|
scopeContainer
|
|
44519
44542
|
} from "@bendyline/squisq/storage";
|
|
44520
|
-
import { jsx as
|
|
44543
|
+
import { jsx as jsx98, jsxs as jsxs78 } from "react/jsx-runtime";
|
|
44521
44544
|
function ImageEditModal({
|
|
44522
44545
|
relativePath,
|
|
44523
44546
|
container,
|
|
@@ -44576,7 +44599,7 @@ function ImageEditModal({
|
|
|
44576
44599
|
},
|
|
44577
44600
|
[mediaProvider, relativePath, onSaved]
|
|
44578
44601
|
);
|
|
44579
|
-
return /* @__PURE__ */
|
|
44602
|
+
return /* @__PURE__ */ jsx98(
|
|
44580
44603
|
"div",
|
|
44581
44604
|
{
|
|
44582
44605
|
ref: modalRef,
|
|
@@ -44590,9 +44613,9 @@ function ImageEditModal({
|
|
|
44590
44613
|
},
|
|
44591
44614
|
children: /* @__PURE__ */ jsxs78("div", { ref: surfaceRef, className: "squisq-image-edit-modal__surface", children: [
|
|
44592
44615
|
/* @__PURE__ */ jsxs78("header", { className: "squisq-image-edit-modal__header", children: [
|
|
44593
|
-
/* @__PURE__ */
|
|
44594
|
-
/* @__PURE__ */
|
|
44595
|
-
/* @__PURE__ */
|
|
44616
|
+
/* @__PURE__ */ jsx98("span", { className: "squisq-image-edit-modal__title", children: "Edit image" }),
|
|
44617
|
+
/* @__PURE__ */ jsx98("span", { className: "squisq-image-edit-modal__path", children: relativePath }),
|
|
44618
|
+
/* @__PURE__ */ jsx98(
|
|
44596
44619
|
"button",
|
|
44597
44620
|
{
|
|
44598
44621
|
type: "button",
|
|
@@ -44604,10 +44627,10 @@ function ImageEditModal({
|
|
|
44604
44627
|
}
|
|
44605
44628
|
)
|
|
44606
44629
|
] }),
|
|
44607
|
-
/* @__PURE__ */
|
|
44630
|
+
/* @__PURE__ */ jsx98("div", { className: "squisq-image-edit-modal__body", children: resolveError ? /* @__PURE__ */ jsxs78("div", { className: "squisq-image-edit-modal__error", children: [
|
|
44608
44631
|
"Failed to load image: ",
|
|
44609
44632
|
resolveError
|
|
44610
|
-
] }) : !saveFormat ? /* @__PURE__ */
|
|
44633
|
+
] }) : !saveFormat ? /* @__PURE__ */ jsx98("div", { className: "squisq-image-edit-modal__error", children: "Editing supports PNG, JPEG, and WebP images without changing the asset type." }) : !initialSrc ? /* @__PURE__ */ jsx98("div", { className: "squisq-image-edit-modal__loading", children: "Loading image\u2026" }) : /* @__PURE__ */ jsx98(
|
|
44611
44634
|
ImageEditor,
|
|
44612
44635
|
{
|
|
44613
44636
|
filesContainer: sidecar,
|
|
@@ -44778,7 +44801,7 @@ function centeredCrop(ratio, frameWidth, frameHeight) {
|
|
|
44778
44801
|
}
|
|
44779
44802
|
|
|
44780
44803
|
// src/mediaEdit/MediaEditAudioSection.tsx
|
|
44781
|
-
import { Fragment as Fragment33, jsx as
|
|
44804
|
+
import { Fragment as Fragment33, jsx as jsx99, jsxs as jsxs79 } from "react/jsx-runtime";
|
|
44782
44805
|
var STAGES = [
|
|
44783
44806
|
{
|
|
44784
44807
|
id: "highpass",
|
|
@@ -44924,26 +44947,26 @@ function usePreviewPlayer(preview) {
|
|
|
44924
44947
|
return { playing, play, stop, seek, position, duration };
|
|
44925
44948
|
}
|
|
44926
44949
|
function PlayIcon() {
|
|
44927
|
-
return /* @__PURE__ */
|
|
44950
|
+
return /* @__PURE__ */ jsx99(
|
|
44928
44951
|
"svg",
|
|
44929
44952
|
{
|
|
44930
44953
|
className: "squisq-media-edit-icon",
|
|
44931
44954
|
viewBox: "0 0 10 10",
|
|
44932
44955
|
"aria-hidden": "true",
|
|
44933
44956
|
focusable: "false",
|
|
44934
|
-
children: /* @__PURE__ */
|
|
44957
|
+
children: /* @__PURE__ */ jsx99("path", { d: "M2 1 9 5 2 9Z" })
|
|
44935
44958
|
}
|
|
44936
44959
|
);
|
|
44937
44960
|
}
|
|
44938
44961
|
function StopIcon() {
|
|
44939
|
-
return /* @__PURE__ */
|
|
44962
|
+
return /* @__PURE__ */ jsx99(
|
|
44940
44963
|
"svg",
|
|
44941
44964
|
{
|
|
44942
44965
|
className: "squisq-media-edit-icon",
|
|
44943
44966
|
viewBox: "0 0 10 10",
|
|
44944
44967
|
"aria-hidden": "true",
|
|
44945
44968
|
focusable: "false",
|
|
44946
|
-
children: /* @__PURE__ */
|
|
44969
|
+
children: /* @__PURE__ */ jsx99("rect", { x: "1.5", y: "1.5", width: "7", height: "7", rx: "1" })
|
|
44947
44970
|
}
|
|
44948
44971
|
);
|
|
44949
44972
|
}
|
|
@@ -44995,11 +45018,11 @@ function MediaEditAudioSection({
|
|
|
44995
45018
|
}, [draftFx.ops.length, manager, item.src, knownFx, previewFrom]);
|
|
44996
45019
|
return /* @__PURE__ */ jsxs79("div", { className: "squisq-media-edit-section", children: [
|
|
44997
45020
|
/* @__PURE__ */ jsxs79("div", { className: "squisq-media-edit-presets", role: "group", "aria-label": "Presets", children: [
|
|
44998
|
-
/* @__PURE__ */
|
|
44999
|
-
/* @__PURE__ */
|
|
45000
|
-
/* @__PURE__ */
|
|
45021
|
+
/* @__PURE__ */ jsx99("button", { type: "button", onClick: () => onChange({ ...draft, fx: presetFx("voice") }), children: "Clean up voice" }),
|
|
45022
|
+
/* @__PURE__ */ jsx99("button", { type: "button", onClick: () => onChange({ ...draft, fx: presetFx("levels") }), children: "Levels only" }),
|
|
45023
|
+
/* @__PURE__ */ jsx99("button", { type: "button", onClick: () => onChange({ ...draft, fx: presetFx("none") }), children: "None" })
|
|
45001
45024
|
] }),
|
|
45002
|
-
/* @__PURE__ */
|
|
45025
|
+
/* @__PURE__ */ jsx99("ul", { className: "squisq-media-edit-stages", children: STAGES.map((stage) => {
|
|
45003
45026
|
const s = draft.fx[stage.id];
|
|
45004
45027
|
const inputId = `${idPrefix}-${stage.id}`;
|
|
45005
45028
|
return /* @__PURE__ */ jsxs79(
|
|
@@ -45009,7 +45032,7 @@ function MediaEditAudioSection({
|
|
|
45009
45032
|
"data-enabled": s.enabled ? "true" : "false",
|
|
45010
45033
|
children: [
|
|
45011
45034
|
/* @__PURE__ */ jsxs79("label", { className: "squisq-media-edit-stage__toggle", children: [
|
|
45012
|
-
/* @__PURE__ */
|
|
45035
|
+
/* @__PURE__ */ jsx99(
|
|
45013
45036
|
"input",
|
|
45014
45037
|
{
|
|
45015
45038
|
type: "checkbox",
|
|
@@ -45017,9 +45040,9 @@ function MediaEditAudioSection({
|
|
|
45017
45040
|
onChange: (e2) => setStage(stage.id, { enabled: e2.target.checked })
|
|
45018
45041
|
}
|
|
45019
45042
|
),
|
|
45020
|
-
/* @__PURE__ */
|
|
45043
|
+
/* @__PURE__ */ jsx99("span", { className: "squisq-media-edit-stage__label", children: stage.label })
|
|
45021
45044
|
] }),
|
|
45022
|
-
/* @__PURE__ */
|
|
45045
|
+
/* @__PURE__ */ jsx99(
|
|
45023
45046
|
"input",
|
|
45024
45047
|
{
|
|
45025
45048
|
id: inputId,
|
|
@@ -45035,9 +45058,9 @@ function MediaEditAudioSection({
|
|
|
45035
45058
|
onChange: (e2) => setStage(stage.id, { value: stage.toValue(Number(e2.target.value)) })
|
|
45036
45059
|
}
|
|
45037
45060
|
),
|
|
45038
|
-
/* @__PURE__ */
|
|
45039
|
-
/* @__PURE__ */
|
|
45040
|
-
stage.id === "loudness" && s.enabled && /* @__PURE__ */
|
|
45061
|
+
/* @__PURE__ */ jsx99("output", { className: "squisq-media-edit-stage__value", htmlFor: inputId, children: stage.format(s.value) }),
|
|
45062
|
+
/* @__PURE__ */ jsx99("p", { className: "squisq-media-edit-stage__hint", children: stage.hint }),
|
|
45063
|
+
stage.id === "loudness" && s.enabled && /* @__PURE__ */ jsx99("div", { className: "squisq-media-edit-chips", role: "group", "aria-label": "Targets", children: LOUDNESS_PRESETS.map((preset) => /* @__PURE__ */ jsxs79(
|
|
45041
45064
|
"button",
|
|
45042
45065
|
{
|
|
45043
45066
|
type: "button",
|
|
@@ -45064,7 +45087,7 @@ function MediaEditAudioSection({
|
|
|
45064
45087
|
previewFrom.toFixed(0),
|
|
45065
45088
|
" s"
|
|
45066
45089
|
] }),
|
|
45067
|
-
/* @__PURE__ */
|
|
45090
|
+
/* @__PURE__ */ jsx99(
|
|
45068
45091
|
"input",
|
|
45069
45092
|
{
|
|
45070
45093
|
type: "range",
|
|
@@ -45076,7 +45099,7 @@ function MediaEditAudioSection({
|
|
|
45076
45099
|
}
|
|
45077
45100
|
)
|
|
45078
45101
|
] }),
|
|
45079
|
-
/* @__PURE__ */
|
|
45102
|
+
/* @__PURE__ */ jsx99("div", { className: "squisq-media-edit-preview__actions", children: /* @__PURE__ */ jsx99(
|
|
45080
45103
|
"button",
|
|
45081
45104
|
{
|
|
45082
45105
|
type: "button",
|
|
@@ -45087,8 +45110,8 @@ function MediaEditAudioSection({
|
|
|
45087
45110
|
) }),
|
|
45088
45111
|
preview != null && player.duration > 0 && /* @__PURE__ */ jsxs79(Fragment33, { children: [
|
|
45089
45112
|
/* @__PURE__ */ jsxs79("div", { className: "squisq-media-edit-playback", "data-playing": player.playing ?? void 0, children: [
|
|
45090
|
-
/* @__PURE__ */
|
|
45091
|
-
/* @__PURE__ */
|
|
45113
|
+
/* @__PURE__ */ jsx99("span", { className: "squisq-media-edit-playback__label", children: player.playing ? `${player.playing === "original" ? "Original" : "Processed"} from ${Math.round(preview.startSec)} s` : "Stopped" }),
|
|
45114
|
+
/* @__PURE__ */ jsx99(
|
|
45092
45115
|
"input",
|
|
45093
45116
|
{
|
|
45094
45117
|
type: "range",
|
|
@@ -45117,7 +45140,7 @@ function MediaEditAudioSection({
|
|
|
45117
45140
|
disabled: previewing,
|
|
45118
45141
|
onClick: () => player.play("original"),
|
|
45119
45142
|
children: [
|
|
45120
|
-
/* @__PURE__ */
|
|
45143
|
+
/* @__PURE__ */ jsx99(PlayIcon, {}),
|
|
45121
45144
|
"Original"
|
|
45122
45145
|
]
|
|
45123
45146
|
}
|
|
@@ -45130,26 +45153,26 @@ function MediaEditAudioSection({
|
|
|
45130
45153
|
disabled: previewing,
|
|
45131
45154
|
onClick: () => player.play("processed"),
|
|
45132
45155
|
children: [
|
|
45133
|
-
/* @__PURE__ */
|
|
45156
|
+
/* @__PURE__ */ jsx99(PlayIcon, {}),
|
|
45134
45157
|
"Processed"
|
|
45135
45158
|
]
|
|
45136
45159
|
}
|
|
45137
45160
|
),
|
|
45138
45161
|
/* @__PURE__ */ jsxs79("button", { type: "button", disabled: !player.playing, onClick: player.stop, children: [
|
|
45139
|
-
/* @__PURE__ */
|
|
45162
|
+
/* @__PURE__ */ jsx99(StopIcon, {}),
|
|
45140
45163
|
"Stop"
|
|
45141
45164
|
] })
|
|
45142
45165
|
] })
|
|
45143
45166
|
] }),
|
|
45144
|
-
preview != null && previewedFx !== knownFx && /* @__PURE__ */
|
|
45145
|
-
previewError && /* @__PURE__ */
|
|
45167
|
+
preview != null && previewedFx !== knownFx && /* @__PURE__ */ jsx99("p", { className: "squisq-media-edit-note", children: "Settings changed \u2014 update the preview to hear them." }),
|
|
45168
|
+
previewError && /* @__PURE__ */ jsx99("p", { className: "squisq-media-edit-note squisq-media-edit-note--error", role: "alert", children: previewError })
|
|
45146
45169
|
] })
|
|
45147
45170
|
] });
|
|
45148
45171
|
}
|
|
45149
45172
|
|
|
45150
45173
|
// src/mediaEdit/MediaEditTimingSection.tsx
|
|
45151
45174
|
import { useCallback as useCallback60, useEffect as useEffect78, useRef as useRef72, useState as useState88 } from "react";
|
|
45152
|
-
import { jsx as
|
|
45175
|
+
import { jsx as jsx100, jsxs as jsxs80 } from "react/jsx-runtime";
|
|
45153
45176
|
var DEFAULT_MAX_PAUSE = 0.8;
|
|
45154
45177
|
function formatDb(value) {
|
|
45155
45178
|
if (value === 0) return "0 dB";
|
|
@@ -45192,8 +45215,8 @@ function MediaEditTimingSection({
|
|
|
45192
45215
|
const saved = cutSeconds(draft.cuts);
|
|
45193
45216
|
return /* @__PURE__ */ jsxs80("div", { className: "squisq-media-edit-section", children: [
|
|
45194
45217
|
/* @__PURE__ */ jsxs80("div", { className: "squisq-media-edit-row", children: [
|
|
45195
|
-
/* @__PURE__ */
|
|
45196
|
-
/* @__PURE__ */
|
|
45218
|
+
/* @__PURE__ */ jsx100("label", { className: "squisq-media-edit-row__label", htmlFor: `${idPrefix}-pause`, children: "Shorten pauses longer than" }),
|
|
45219
|
+
/* @__PURE__ */ jsx100(
|
|
45197
45220
|
"input",
|
|
45198
45221
|
{
|
|
45199
45222
|
id: `${idPrefix}-pause`,
|
|
@@ -45212,8 +45235,8 @@ function MediaEditTimingSection({
|
|
|
45212
45235
|
] })
|
|
45213
45236
|
] }),
|
|
45214
45237
|
/* @__PURE__ */ jsxs80("div", { className: "squisq-media-edit-preview__actions", children: [
|
|
45215
|
-
/* @__PURE__ */
|
|
45216
|
-
/* @__PURE__ */
|
|
45238
|
+
/* @__PURE__ */ jsx100("button", { type: "button", onClick: findPauses, disabled: finding, children: finding ? "Finding pauses\u2026" : "Find pauses" }),
|
|
45239
|
+
/* @__PURE__ */ jsx100(
|
|
45217
45240
|
"button",
|
|
45218
45241
|
{
|
|
45219
45242
|
type: "button",
|
|
@@ -45223,11 +45246,11 @@ function MediaEditTimingSection({
|
|
|
45223
45246
|
}
|
|
45224
45247
|
)
|
|
45225
45248
|
] }),
|
|
45226
|
-
/* @__PURE__ */
|
|
45227
|
-
error && /* @__PURE__ */
|
|
45249
|
+
/* @__PURE__ */ jsx100("p", { className: "squisq-media-edit-note", role: "status", "aria-live": "polite", children: draft.cuts.length === 0 ? "No pauses shortened." : `${draft.cuts.length} ${draft.cuts.length === 1 ? "pause" : "pauses"} shortened, saving ${formatClock6(saved)}.` }),
|
|
45250
|
+
error && /* @__PURE__ */ jsx100("p", { className: "squisq-media-edit-note squisq-media-edit-note--error", role: "alert", children: error }),
|
|
45228
45251
|
/* @__PURE__ */ jsxs80("div", { className: "squisq-media-edit-row", children: [
|
|
45229
|
-
/* @__PURE__ */
|
|
45230
|
-
/* @__PURE__ */
|
|
45252
|
+
/* @__PURE__ */ jsx100("label", { className: "squisq-media-edit-row__label", htmlFor: `${idPrefix}-gain`, children: "Volume" }),
|
|
45253
|
+
/* @__PURE__ */ jsx100(
|
|
45231
45254
|
"input",
|
|
45232
45255
|
{
|
|
45233
45256
|
id: `${idPrefix}-gain`,
|
|
@@ -45240,11 +45263,11 @@ function MediaEditTimingSection({
|
|
|
45240
45263
|
onChange: (e2) => onChange({ ...draft, gain: Number(e2.target.value) })
|
|
45241
45264
|
}
|
|
45242
45265
|
),
|
|
45243
|
-
/* @__PURE__ */
|
|
45266
|
+
/* @__PURE__ */ jsx100("output", { htmlFor: `${idPrefix}-gain`, children: formatDb(draft.gain) })
|
|
45244
45267
|
] }),
|
|
45245
45268
|
["fadeIn", "fadeOut"].map((key) => /* @__PURE__ */ jsxs80("div", { className: "squisq-media-edit-row", children: [
|
|
45246
|
-
/* @__PURE__ */
|
|
45247
|
-
/* @__PURE__ */
|
|
45269
|
+
/* @__PURE__ */ jsx100("label", { className: "squisq-media-edit-row__label", htmlFor: `${idPrefix}-${key}`, children: key === "fadeIn" ? "Fade in" : "Fade out" }),
|
|
45270
|
+
/* @__PURE__ */ jsx100(
|
|
45248
45271
|
"input",
|
|
45249
45272
|
{
|
|
45250
45273
|
id: `${idPrefix}-${key}`,
|
|
@@ -45257,7 +45280,7 @@ function MediaEditTimingSection({
|
|
|
45257
45280
|
onChange: (e2) => onChange({ ...draft, [key]: Number(e2.target.value) })
|
|
45258
45281
|
}
|
|
45259
45282
|
),
|
|
45260
|
-
/* @__PURE__ */
|
|
45283
|
+
/* @__PURE__ */ jsx100("output", { htmlFor: `${idPrefix}-${key}`, children: draft[key] === 0 ? "Off" : `${draft[key].toFixed(1)} s` })
|
|
45261
45284
|
] }, key))
|
|
45262
45285
|
] });
|
|
45263
45286
|
}
|
|
@@ -45269,7 +45292,7 @@ import {
|
|
|
45269
45292
|
useState as useState89
|
|
45270
45293
|
} from "react";
|
|
45271
45294
|
import { normalizeMediaCrop } from "@bendyline/squisq/mediaEdit";
|
|
45272
|
-
import { jsx as
|
|
45295
|
+
import { jsx as jsx101, jsxs as jsxs81 } from "react/jsx-runtime";
|
|
45273
45296
|
var FULL = { x: 0, y: 0, w: 1, h: 1 };
|
|
45274
45297
|
var MIN_EDGE = 0.05;
|
|
45275
45298
|
var NUDGE = 0.01;
|
|
@@ -45351,7 +45374,7 @@ function MediaEditFrameSection({ item, draft, onChange }) {
|
|
|
45351
45374
|
const pct = (n) => `${(n * 100).toFixed(2)}%`;
|
|
45352
45375
|
return /* @__PURE__ */ jsxs81("div", { className: "squisq-media-edit-section", children: [
|
|
45353
45376
|
/* @__PURE__ */ jsxs81("div", { className: "squisq-media-edit-chips", role: "group", "aria-label": "Crop aspect", children: [
|
|
45354
|
-
ASPECTS.map((option) => /* @__PURE__ */
|
|
45377
|
+
ASPECTS.map((option) => /* @__PURE__ */ jsx101(
|
|
45355
45378
|
"button",
|
|
45356
45379
|
{
|
|
45357
45380
|
type: "button",
|
|
@@ -45366,7 +45389,7 @@ function MediaEditFrameSection({ item, draft, onChange }) {
|
|
|
45366
45389
|
},
|
|
45367
45390
|
option.label
|
|
45368
45391
|
)),
|
|
45369
|
-
/* @__PURE__ */
|
|
45392
|
+
/* @__PURE__ */ jsx101(
|
|
45370
45393
|
"button",
|
|
45371
45394
|
{
|
|
45372
45395
|
type: "button",
|
|
@@ -45386,7 +45409,7 @@ function MediaEditFrameSection({ item, draft, onChange }) {
|
|
|
45386
45409
|
className: "squisq-media-edit-crop",
|
|
45387
45410
|
style: frame ? { aspectRatio: `${frame.w} / ${frame.h}` } : void 0,
|
|
45388
45411
|
children: [
|
|
45389
|
-
src && /* @__PURE__ */
|
|
45412
|
+
src && /* @__PURE__ */ jsx101(
|
|
45390
45413
|
"video",
|
|
45391
45414
|
{
|
|
45392
45415
|
src,
|
|
@@ -45402,7 +45425,7 @@ function MediaEditFrameSection({ item, draft, onChange }) {
|
|
|
45402
45425
|
}
|
|
45403
45426
|
}
|
|
45404
45427
|
),
|
|
45405
|
-
/* @__PURE__ */
|
|
45428
|
+
/* @__PURE__ */ jsx101(
|
|
45406
45429
|
"div",
|
|
45407
45430
|
{
|
|
45408
45431
|
className: "squisq-media-edit-crop__rect",
|
|
@@ -45413,7 +45436,7 @@ function MediaEditFrameSection({ item, draft, onChange }) {
|
|
|
45413
45436
|
style: { left: pct(crop.x), top: pct(crop.y), width: pct(crop.w), height: pct(crop.h) },
|
|
45414
45437
|
onPointerDown: startDrag("move"),
|
|
45415
45438
|
onKeyDown,
|
|
45416
|
-
children: ["nw", "ne", "sw", "se"].map((handle) => /* @__PURE__ */
|
|
45439
|
+
children: ["nw", "ne", "sw", "se"].map((handle) => /* @__PURE__ */ jsx101(
|
|
45417
45440
|
"span",
|
|
45418
45441
|
{
|
|
45419
45442
|
className: `squisq-media-edit-crop__handle squisq-media-edit-crop__handle--${handle}`,
|
|
@@ -45426,12 +45449,12 @@ function MediaEditFrameSection({ item, draft, onChange }) {
|
|
|
45426
45449
|
]
|
|
45427
45450
|
}
|
|
45428
45451
|
),
|
|
45429
|
-
/* @__PURE__ */
|
|
45452
|
+
/* @__PURE__ */ jsx101("p", { className: "squisq-media-edit-note", children: draft.crop ? "Only the framed area is shown and exported." : "Drag the corners or pick an aspect to crop." })
|
|
45430
45453
|
] });
|
|
45431
45454
|
}
|
|
45432
45455
|
|
|
45433
45456
|
// src/mediaEdit/MediaEditModal.tsx
|
|
45434
|
-
import { Fragment as Fragment34, jsx as
|
|
45457
|
+
import { Fragment as Fragment34, jsx as jsx102, jsxs as jsxs82 } from "react/jsx-runtime";
|
|
45435
45458
|
var TABS = [
|
|
45436
45459
|
{ id: "audio", label: "Audio cleanup" },
|
|
45437
45460
|
{ id: "timing", label: "Timing" },
|
|
@@ -45466,9 +45489,9 @@ function RenderStatusText({
|
|
|
45466
45489
|
}) {
|
|
45467
45490
|
switch (status.state) {
|
|
45468
45491
|
case "ready":
|
|
45469
|
-
return /* @__PURE__ */
|
|
45492
|
+
return /* @__PURE__ */ jsx102(Fragment34, { children: "Processed audio is in use." });
|
|
45470
45493
|
case "queued":
|
|
45471
|
-
return /* @__PURE__ */
|
|
45494
|
+
return /* @__PURE__ */ jsx102(Fragment34, { children: "Waiting to process\u2026" });
|
|
45472
45495
|
case "rendering":
|
|
45473
45496
|
return /* @__PURE__ */ jsxs82(Fragment34, { children: [
|
|
45474
45497
|
"Processing\u2026 ",
|
|
@@ -45479,7 +45502,7 @@ function RenderStatusText({
|
|
|
45479
45502
|
"Processing failed: ",
|
|
45480
45503
|
status.error,
|
|
45481
45504
|
" ",
|
|
45482
|
-
/* @__PURE__ */
|
|
45505
|
+
/* @__PURE__ */ jsx102("button", { type: "button", onClick: onRetry, children: "Retry" })
|
|
45483
45506
|
] });
|
|
45484
45507
|
}
|
|
45485
45508
|
}
|
|
@@ -45530,7 +45553,7 @@ function MediaEditModal({ target, onClose }) {
|
|
|
45530
45553
|
const tabbed = item != null && mediaEditRenders != null;
|
|
45531
45554
|
const tabId = (tab) => `${titleId}-tab-${tab}`;
|
|
45532
45555
|
const panelId = (tab) => `${titleId}-panel-${tab}`;
|
|
45533
|
-
return /* @__PURE__ */
|
|
45556
|
+
return /* @__PURE__ */ jsx102(
|
|
45534
45557
|
"div",
|
|
45535
45558
|
{
|
|
45536
45559
|
ref: modalRef,
|
|
@@ -45549,10 +45572,10 @@ function MediaEditModal({ target, onClose }) {
|
|
|
45549
45572
|
"aria-labelledby": titleId,
|
|
45550
45573
|
children: [
|
|
45551
45574
|
/* @__PURE__ */ jsxs82("header", { className: "squisq-media-edit-modal__header", children: [
|
|
45552
|
-
/* @__PURE__ */
|
|
45553
|
-
/* @__PURE__ */
|
|
45554
|
-
renderStatus && /* @__PURE__ */
|
|
45555
|
-
/* @__PURE__ */
|
|
45575
|
+
/* @__PURE__ */ jsx102("span", { id: titleId, className: "squisq-media-edit-modal__title", children: title }),
|
|
45576
|
+
/* @__PURE__ */ jsx102("span", { className: "squisq-media-edit-modal__path", children: target.src }),
|
|
45577
|
+
renderStatus && /* @__PURE__ */ jsx102(RenderStatusBadge, { status: renderStatus }),
|
|
45578
|
+
/* @__PURE__ */ jsx102(
|
|
45556
45579
|
"button",
|
|
45557
45580
|
{
|
|
45558
45581
|
type: "button",
|
|
@@ -45563,8 +45586,8 @@ function MediaEditModal({ target, onClose }) {
|
|
|
45563
45586
|
}
|
|
45564
45587
|
)
|
|
45565
45588
|
] }),
|
|
45566
|
-
!item ? /* @__PURE__ */
|
|
45567
|
-
/* @__PURE__ */
|
|
45589
|
+
!item ? /* @__PURE__ */ jsx102("p", { className: "squisq-media-edit-modal__empty", children: "This clip is no longer in the document." }) : !mediaEditRenders ? /* @__PURE__ */ jsx102("p", { className: "squisq-media-edit-modal__empty", children: "Media editing needs a media folder for this document." }) : /* @__PURE__ */ jsxs82(Fragment34, { children: [
|
|
45590
|
+
/* @__PURE__ */ jsx102("div", { className: "squisq-media-edit-tabs", role: "tablist", "aria-label": "Edit sections", children: tabs.map((tab, index2) => {
|
|
45568
45591
|
const selected = tab.id === activeTab;
|
|
45569
45592
|
const edited = tabHasEdits(tab.id, draft);
|
|
45570
45593
|
return /* @__PURE__ */ jsxs82(
|
|
@@ -45586,21 +45609,21 @@ function MediaEditModal({ target, onClose }) {
|
|
|
45586
45609
|
onKeyDown: (e2) => onTabKeyDown(e2, index2),
|
|
45587
45610
|
children: [
|
|
45588
45611
|
tab.label,
|
|
45589
|
-
edited && /* @__PURE__ */
|
|
45612
|
+
edited && /* @__PURE__ */ jsx102("span", { className: "squisq-sr-only", children: " (edited)" })
|
|
45590
45613
|
]
|
|
45591
45614
|
},
|
|
45592
45615
|
tab.id
|
|
45593
45616
|
);
|
|
45594
45617
|
}) }),
|
|
45595
45618
|
/* @__PURE__ */ jsxs82("div", { className: "squisq-media-edit-modal__body", children: [
|
|
45596
|
-
/* @__PURE__ */
|
|
45619
|
+
/* @__PURE__ */ jsx102(
|
|
45597
45620
|
"div",
|
|
45598
45621
|
{
|
|
45599
45622
|
role: "tabpanel",
|
|
45600
45623
|
id: panelId("audio"),
|
|
45601
45624
|
"aria-labelledby": tabId("audio"),
|
|
45602
45625
|
hidden: activeTab !== "audio",
|
|
45603
|
-
children: /* @__PURE__ */
|
|
45626
|
+
children: /* @__PURE__ */ jsx102(
|
|
45604
45627
|
MediaEditAudioSection,
|
|
45605
45628
|
{
|
|
45606
45629
|
item,
|
|
@@ -45612,14 +45635,14 @@ function MediaEditModal({ target, onClose }) {
|
|
|
45612
45635
|
)
|
|
45613
45636
|
}
|
|
45614
45637
|
),
|
|
45615
|
-
/* @__PURE__ */
|
|
45638
|
+
/* @__PURE__ */ jsx102(
|
|
45616
45639
|
"div",
|
|
45617
45640
|
{
|
|
45618
45641
|
role: "tabpanel",
|
|
45619
45642
|
id: panelId("timing"),
|
|
45620
45643
|
"aria-labelledby": tabId("timing"),
|
|
45621
45644
|
hidden: activeTab !== "timing",
|
|
45622
|
-
children: /* @__PURE__ */
|
|
45645
|
+
children: /* @__PURE__ */ jsx102(
|
|
45623
45646
|
MediaEditTimingSection,
|
|
45624
45647
|
{
|
|
45625
45648
|
item,
|
|
@@ -45631,14 +45654,14 @@ function MediaEditModal({ target, onClose }) {
|
|
|
45631
45654
|
)
|
|
45632
45655
|
}
|
|
45633
45656
|
),
|
|
45634
|
-
item.kind === "video" && /* @__PURE__ */
|
|
45657
|
+
item.kind === "video" && /* @__PURE__ */ jsx102(
|
|
45635
45658
|
"div",
|
|
45636
45659
|
{
|
|
45637
45660
|
role: "tabpanel",
|
|
45638
45661
|
id: panelId("frame"),
|
|
45639
45662
|
"aria-labelledby": tabId("frame"),
|
|
45640
45663
|
hidden: activeTab !== "frame",
|
|
45641
|
-
children: /* @__PURE__ */
|
|
45664
|
+
children: /* @__PURE__ */ jsx102(MediaEditFrameSection, { item, draft, onChange: setDraft })
|
|
45642
45665
|
}
|
|
45643
45666
|
),
|
|
45644
45667
|
companions.length > 0 && /* @__PURE__ */ jsxs82("p", { className: "squisq-media-edit-note", children: [
|
|
@@ -45652,15 +45675,15 @@ function MediaEditModal({ target, onClose }) {
|
|
|
45652
45675
|
] })
|
|
45653
45676
|
] }),
|
|
45654
45677
|
/* @__PURE__ */ jsxs82("footer", { className: "squisq-media-edit-modal__footer", children: [
|
|
45655
|
-
/* @__PURE__ */
|
|
45678
|
+
/* @__PURE__ */ jsx102("p", { className: "squisq-media-edit-status", role: "status", "data-state": renderStatus?.state, children: renderStatus && item && mediaEditRenders && /* @__PURE__ */ jsx102(
|
|
45656
45679
|
RenderStatusText,
|
|
45657
45680
|
{
|
|
45658
45681
|
status: renderStatus,
|
|
45659
45682
|
onRetry: () => mediaEditRenders.retry(item.clip)
|
|
45660
45683
|
}
|
|
45661
45684
|
) }),
|
|
45662
|
-
/* @__PURE__ */
|
|
45663
|
-
/* @__PURE__ */
|
|
45685
|
+
/* @__PURE__ */ jsx102("button", { type: "button", onClick: onClose, children: "Cancel" }),
|
|
45686
|
+
/* @__PURE__ */ jsx102(
|
|
45664
45687
|
"button",
|
|
45665
45688
|
{
|
|
45666
45689
|
type: "button",
|
|
@@ -45920,12 +45943,12 @@ import {
|
|
|
45920
45943
|
MemoryContentContainer as MemoryContentContainer2,
|
|
45921
45944
|
createMediaProviderFromContainer
|
|
45922
45945
|
} from "@bendyline/squisq/storage";
|
|
45923
|
-
import { MediaContext as
|
|
45946
|
+
import { MediaContext as MediaContext8, useMediaClipDurations } from "@bendyline/squisq-react";
|
|
45924
45947
|
import {
|
|
45925
45948
|
createMediaEditRenderManager,
|
|
45926
45949
|
useProcessedAudio as useProcessedAudio4
|
|
45927
45950
|
} from "@bendyline/squisq-video-react/media-edit";
|
|
45928
|
-
import { Fragment as Fragment35, jsx as
|
|
45951
|
+
import { Fragment as Fragment35, jsx as jsx103, jsxs as jsxs83 } from "react/jsx-runtime";
|
|
45929
45952
|
function EditorShell({
|
|
45930
45953
|
ariaLabel,
|
|
45931
45954
|
initialMarkdown = "",
|
|
@@ -46035,7 +46058,7 @@ function EditorShell({
|
|
|
46035
46058
|
const effectiveMediaEditRenders = mediaEditRenders === void 0 ? ownedMediaEditRenders : mediaEditRenders;
|
|
46036
46059
|
const filesToggleEnabled = showFilesToggle ?? effectiveMediaProvider !== void 0;
|
|
46037
46060
|
const effectiveInitialView = hostMode === "chat" || !showPlayTab && initialView === "preview" ? "wysiwyg" : initialView;
|
|
46038
|
-
return /* @__PURE__ */
|
|
46061
|
+
return /* @__PURE__ */ jsx103(MediaContext8.Provider, { value: effectiveMediaProvider ?? null, children: /* @__PURE__ */ jsx103(
|
|
46039
46062
|
EditorProvider,
|
|
46040
46063
|
{
|
|
46041
46064
|
initialMarkdown,
|
|
@@ -46081,7 +46104,7 @@ function EditorShell({
|
|
|
46081
46104
|
themeInheritance,
|
|
46082
46105
|
viewPreferences,
|
|
46083
46106
|
onViewPreferencesChange,
|
|
46084
|
-
children: /* @__PURE__ */
|
|
46107
|
+
children: /* @__PURE__ */ jsx103(ProofingRoot, { children: /* @__PURE__ */ jsx103(ReviewRoot, { providers: reviewProviders, children: /* @__PURE__ */ jsx103(PageTemplateContext.Provider, { value: pageTemplates, children: /* @__PURE__ */ jsx103(
|
|
46085
46108
|
EditorShellInner,
|
|
46086
46109
|
{
|
|
46087
46110
|
ariaLabel: ariaLabel ?? (hostMode === "chat" ? "Message" : fileName ? `Edit ${fileName}` : "Document editor"),
|
|
@@ -46147,11 +46170,11 @@ function UseModeToolbarControls({
|
|
|
46147
46170
|
summarizationDesigner
|
|
46148
46171
|
}) {
|
|
46149
46172
|
const printMode = usePrintMode();
|
|
46150
|
-
if (printMode.active) return /* @__PURE__ */
|
|
46173
|
+
if (printMode.active) return /* @__PURE__ */ jsx103(PrintPreviewToolbar, {});
|
|
46151
46174
|
return /* @__PURE__ */ jsxs83(Fragment35, { children: [
|
|
46152
|
-
/* @__PURE__ */
|
|
46153
|
-
/* @__PURE__ */
|
|
46154
|
-
allowPrint && /* @__PURE__ */
|
|
46175
|
+
/* @__PURE__ */ jsx103(PreviewToolbarControls, { summarizationDesigner }),
|
|
46176
|
+
/* @__PURE__ */ jsx103(PresentationModeControl, {}),
|
|
46177
|
+
allowPrint && /* @__PURE__ */ jsx103(PrintModeControl, {})
|
|
46155
46178
|
] });
|
|
46156
46179
|
}
|
|
46157
46180
|
function UseModeProviders({
|
|
@@ -46160,13 +46183,13 @@ function UseModeProviders({
|
|
|
46160
46183
|
allowPresentationWindow,
|
|
46161
46184
|
allowPresentationFullscreen
|
|
46162
46185
|
}) {
|
|
46163
|
-
return /* @__PURE__ */
|
|
46186
|
+
return /* @__PURE__ */ jsx103(
|
|
46164
46187
|
PresentationModeProvider,
|
|
46165
46188
|
{
|
|
46166
46189
|
rootRef,
|
|
46167
46190
|
allowWindow: allowPresentationWindow,
|
|
46168
46191
|
allowFullscreen: allowPresentationFullscreen,
|
|
46169
|
-
children: /* @__PURE__ */
|
|
46192
|
+
children: /* @__PURE__ */ jsx103(PrintModeProvider, { rootRef, children })
|
|
46170
46193
|
}
|
|
46171
46194
|
);
|
|
46172
46195
|
}
|
|
@@ -46560,7 +46583,7 @@ function EditorShellInner({
|
|
|
46560
46583
|
},
|
|
46561
46584
|
...containerProps,
|
|
46562
46585
|
children: [
|
|
46563
|
-
/* @__PURE__ */
|
|
46586
|
+
/* @__PURE__ */ jsx103(CustomThemeProvider, { docThemes, onDocThemesChange, children: /* @__PURE__ */ jsx103(
|
|
46564
46587
|
PreviewSettingsProvider,
|
|
46565
46588
|
{
|
|
46566
46589
|
doc,
|
|
@@ -46577,16 +46600,16 @@ function EditorShellInner({
|
|
|
46577
46600
|
children: [
|
|
46578
46601
|
isImageMode ? (toolbarSlotLeft || toolbarSlotRight) && /* @__PURE__ */ jsxs83("div", { className: "squisq-editor-header squisq-editor-header--image", children: [
|
|
46579
46602
|
toolbarSlotLeft,
|
|
46580
|
-
/* @__PURE__ */
|
|
46603
|
+
/* @__PURE__ */ jsx103("div", { style: { flex: 1 } }),
|
|
46581
46604
|
toolbarSlotRight
|
|
46582
|
-
] }) : /* @__PURE__ */
|
|
46605
|
+
] }) : /* @__PURE__ */ jsx103("div", { className: "squisq-editor-header", children: /* @__PURE__ */ jsx103(
|
|
46583
46606
|
Toolbar,
|
|
46584
46607
|
{
|
|
46585
46608
|
showFiles,
|
|
46586
46609
|
fileCount: mediaCount,
|
|
46587
46610
|
onToggleFiles: !isCodeMode && filesToggleEnabled ? handleToggleFiles : void 0,
|
|
46588
46611
|
slotLeft: toolbarSlotLeft,
|
|
46589
|
-
slotAfterTabs: !isCodeMode && isPreview && /* @__PURE__ */
|
|
46612
|
+
slotAfterTabs: !isCodeMode && isPreview && /* @__PURE__ */ jsx103(
|
|
46590
46613
|
UseModeToolbarControls,
|
|
46591
46614
|
{
|
|
46592
46615
|
allowPrint,
|
|
@@ -46628,7 +46651,7 @@ function EditorShellInner({
|
|
|
46628
46651
|
position: "relative"
|
|
46629
46652
|
},
|
|
46630
46653
|
children: [
|
|
46631
|
-
isImageMode && imageSrc && (imageMode === "edit" && imageEditorContainer ? /* @__PURE__ */
|
|
46654
|
+
isImageMode && imageSrc && (imageMode === "edit" && imageEditorContainer ? /* @__PURE__ */ jsx103(
|
|
46632
46655
|
ImageEditor,
|
|
46633
46656
|
{
|
|
46634
46657
|
filesContainer: imageEditorContainer,
|
|
@@ -46638,7 +46661,7 @@ function EditorShellInner({
|
|
|
46638
46661
|
onExport: onImageExport,
|
|
46639
46662
|
surface: colorScheme === "dark" ? DARK_SURFACE2 : LIGHT_SURFACE2
|
|
46640
46663
|
}
|
|
46641
|
-
) : /* @__PURE__ */
|
|
46664
|
+
) : /* @__PURE__ */ jsx103(ImageViewer, { src: imageSrc, alt: imageAlt, theme: colorScheme })),
|
|
46642
46665
|
!isImageMode && editingView === "raw" && /* @__PURE__ */ jsxs83(
|
|
46643
46666
|
"div",
|
|
46644
46667
|
{
|
|
@@ -46646,8 +46669,8 @@ function EditorShellInner({
|
|
|
46646
46669
|
hidden: isPreview,
|
|
46647
46670
|
style: isPreview ? { display: "none" } : void 0,
|
|
46648
46671
|
children: [
|
|
46649
|
-
isMarkdownMode && outlineVisible && /* @__PURE__ */
|
|
46650
|
-
/* @__PURE__ */
|
|
46672
|
+
isMarkdownMode && outlineVisible && /* @__PURE__ */ jsx103(OutlinePanel, { width: outlineWidth, readOnly }, "outline"),
|
|
46673
|
+
/* @__PURE__ */ jsx103(
|
|
46651
46674
|
BlockCardView,
|
|
46652
46675
|
{
|
|
46653
46676
|
active: isCardMode,
|
|
@@ -46656,7 +46679,7 @@ function EditorShellInner({
|
|
|
46656
46679
|
onPrev: prevBlock,
|
|
46657
46680
|
onNext: nextBlock,
|
|
46658
46681
|
onAdd: addBlock,
|
|
46659
|
-
children: /* @__PURE__ */
|
|
46682
|
+
children: /* @__PURE__ */ jsx103("div", { className: "squisq-raw-editor-container", children: /* @__PURE__ */ jsx103(
|
|
46660
46683
|
RawEditor,
|
|
46661
46684
|
{
|
|
46662
46685
|
ariaLabel: `${ariaLabel} \u2014 source`,
|
|
@@ -46668,9 +46691,9 @@ function EditorShellInner({
|
|
|
46668
46691
|
},
|
|
46669
46692
|
"raw-frame"
|
|
46670
46693
|
),
|
|
46671
|
-
isCodeMode && codeContext && /* @__PURE__ */
|
|
46672
|
-
isMarkdownMode && isCardMode && inlinePreviewVisible && /* @__PURE__ */
|
|
46673
|
-
isMarkdownMode && !isCardMode && inlinePreviewVisible && /* @__PURE__ */
|
|
46694
|
+
isCodeMode && codeContext && /* @__PURE__ */ jsx103(CodeContextZones, { options: codeContext }, "code-context"),
|
|
46695
|
+
isMarkdownMode && isCardMode && inlinePreviewVisible && /* @__PURE__ */ jsx103(BlockPreviewPanel, { basePath }, "block-preview"),
|
|
46696
|
+
isMarkdownMode && !isCardMode && inlinePreviewVisible && /* @__PURE__ */ jsx103(
|
|
46674
46697
|
InlinePreviewGutter,
|
|
46675
46698
|
{
|
|
46676
46699
|
width: inlinePreviewWidth,
|
|
@@ -46679,7 +46702,7 @@ function EditorShellInner({
|
|
|
46679
46702
|
},
|
|
46680
46703
|
"inline"
|
|
46681
46704
|
),
|
|
46682
|
-
isMarkdownMode && /* @__PURE__ */
|
|
46705
|
+
isMarkdownMode && /* @__PURE__ */ jsx103(
|
|
46683
46706
|
NavigationSheet,
|
|
46684
46707
|
{
|
|
46685
46708
|
panel: navigationSheetPanel,
|
|
@@ -46701,8 +46724,8 @@ function EditorShellInner({
|
|
|
46701
46724
|
hidden: isPreview,
|
|
46702
46725
|
style: isPreview ? { display: "none" } : void 0,
|
|
46703
46726
|
children: [
|
|
46704
|
-
outlineVisible && /* @__PURE__ */
|
|
46705
|
-
/* @__PURE__ */
|
|
46727
|
+
outlineVisible && /* @__PURE__ */ jsx103(OutlinePanel, { width: outlineWidth, readOnly }, "outline"),
|
|
46728
|
+
/* @__PURE__ */ jsx103(
|
|
46706
46729
|
BlockCardView,
|
|
46707
46730
|
{
|
|
46708
46731
|
active: isCardMode,
|
|
@@ -46711,7 +46734,7 @@ function EditorShellInner({
|
|
|
46711
46734
|
onPrev: prevBlock,
|
|
46712
46735
|
onNext: nextBlock,
|
|
46713
46736
|
onAdd: addBlock,
|
|
46714
|
-
children: /* @__PURE__ */
|
|
46737
|
+
children: /* @__PURE__ */ jsx103(
|
|
46715
46738
|
WysiwygEditor,
|
|
46716
46739
|
{
|
|
46717
46740
|
ariaLabel,
|
|
@@ -46729,8 +46752,8 @@ function EditorShellInner({
|
|
|
46729
46752
|
},
|
|
46730
46753
|
"wysiwyg-frame"
|
|
46731
46754
|
),
|
|
46732
|
-
isCardMode && inlinePreviewVisible && /* @__PURE__ */
|
|
46733
|
-
!isCardMode && inlinePreviewVisible && /* @__PURE__ */
|
|
46755
|
+
isCardMode && inlinePreviewVisible && /* @__PURE__ */ jsx103(BlockPreviewPanel, { basePath }, "block-preview"),
|
|
46756
|
+
!isCardMode && inlinePreviewVisible && /* @__PURE__ */ jsx103(
|
|
46734
46757
|
InlinePreviewGutter,
|
|
46735
46758
|
{
|
|
46736
46759
|
width: inlinePreviewWidth,
|
|
@@ -46739,7 +46762,7 @@ function EditorShellInner({
|
|
|
46739
46762
|
},
|
|
46740
46763
|
"inline"
|
|
46741
46764
|
),
|
|
46742
|
-
/* @__PURE__ */
|
|
46765
|
+
/* @__PURE__ */ jsx103(
|
|
46743
46766
|
NavigationSheet,
|
|
46744
46767
|
{
|
|
46745
46768
|
panel: navigationSheetPanel,
|
|
@@ -46754,7 +46777,7 @@ function EditorShellInner({
|
|
|
46754
46777
|
},
|
|
46755
46778
|
"wysiwyg-shell"
|
|
46756
46779
|
),
|
|
46757
|
-
isMarkdownMode && isPreview && /* @__PURE__ */
|
|
46780
|
+
isMarkdownMode && isPreview && /* @__PURE__ */ jsx103(
|
|
46758
46781
|
PreviewPanel,
|
|
46759
46782
|
{
|
|
46760
46783
|
basePath,
|
|
@@ -46767,7 +46790,7 @@ function EditorShellInner({
|
|
|
46767
46790
|
]
|
|
46768
46791
|
}
|
|
46769
46792
|
),
|
|
46770
|
-
isTimelineMode && timelineVideoVisible && /* @__PURE__ */
|
|
46793
|
+
isTimelineMode && timelineVideoVisible && /* @__PURE__ */ jsx103(
|
|
46771
46794
|
TimelineVideoPanel,
|
|
46772
46795
|
{
|
|
46773
46796
|
schedule: timelineVideoSchedule,
|
|
@@ -46777,7 +46800,7 @@ function EditorShellInner({
|
|
|
46777
46800
|
onClose: () => setTimelineVideoVisible(false)
|
|
46778
46801
|
}
|
|
46779
46802
|
),
|
|
46780
|
-
isTimelineMode && timelineCompositionVisible && /* @__PURE__ */
|
|
46803
|
+
isTimelineMode && timelineCompositionVisible && /* @__PURE__ */ jsx103(
|
|
46781
46804
|
TimelineCompositionPanel,
|
|
46782
46805
|
{
|
|
46783
46806
|
doc,
|
|
@@ -46787,7 +46810,7 @@ function EditorShellInner({
|
|
|
46787
46810
|
onClose: () => setTimelineCompositionVisible(false)
|
|
46788
46811
|
}
|
|
46789
46812
|
),
|
|
46790
|
-
isMarkdownMode && showFiles && /* @__PURE__ */
|
|
46813
|
+
isMarkdownMode && showFiles && /* @__PURE__ */ jsx103(
|
|
46791
46814
|
MediaBin,
|
|
46792
46815
|
{
|
|
46793
46816
|
mediaProvider,
|
|
@@ -46803,11 +46826,11 @@ function EditorShellInner({
|
|
|
46803
46826
|
highlightPath: filesFocusPath
|
|
46804
46827
|
}
|
|
46805
46828
|
),
|
|
46806
|
-
isMarkdownMode && /* @__PURE__ */
|
|
46807
|
-
isMarkdownMode && /* @__PURE__ */
|
|
46829
|
+
isMarkdownMode && /* @__PURE__ */ jsx103(ProofingPanel, {}),
|
|
46830
|
+
isMarkdownMode && /* @__PURE__ */ jsx103(ReviewPanel, {}),
|
|
46808
46831
|
isMarkdownMode && sidePanelSlot,
|
|
46809
|
-
isMarkdownMode && /* @__PURE__ */
|
|
46810
|
-
isMarkdownMode && isDragging && !(activeView === "wysiwyg" && dragContentType === "media") && /* @__PURE__ */
|
|
46832
|
+
isMarkdownMode && /* @__PURE__ */ jsx103(ThemeDesignerDock, {}),
|
|
46833
|
+
isMarkdownMode && isDragging && !(activeView === "wysiwyg" && dragContentType === "media") && /* @__PURE__ */ jsx103(
|
|
46811
46834
|
DropZoneOverlay,
|
|
46812
46835
|
{
|
|
46813
46836
|
dragContentType,
|
|
@@ -46818,7 +46841,7 @@ function EditorShellInner({
|
|
|
46818
46841
|
]
|
|
46819
46842
|
}
|
|
46820
46843
|
),
|
|
46821
|
-
isTimelineMode && /* @__PURE__ */
|
|
46844
|
+
isTimelineMode && /* @__PURE__ */ jsx103(
|
|
46822
46845
|
TimelineToolbar,
|
|
46823
46846
|
{
|
|
46824
46847
|
literalVideoVisible: timelineVideoVisible,
|
|
@@ -46829,7 +46852,7 @@ function EditorShellInner({
|
|
|
46829
46852
|
onToggleComposition: () => setTimelineCompositionVisible((visible) => !visible)
|
|
46830
46853
|
}
|
|
46831
46854
|
),
|
|
46832
|
-
isTimelineMode && /* @__PURE__ */
|
|
46855
|
+
isTimelineMode && /* @__PURE__ */ jsx103(
|
|
46833
46856
|
TimelineTrack,
|
|
46834
46857
|
{
|
|
46835
46858
|
doc: timelineDoc,
|
|
@@ -46838,8 +46861,8 @@ function EditorShellInner({
|
|
|
46838
46861
|
basePath
|
|
46839
46862
|
}
|
|
46840
46863
|
),
|
|
46841
|
-
statusBarVisible && !isImageMode && /* @__PURE__ */
|
|
46842
|
-
isMarkdownMode && allowRecording && mediaProvider && /* @__PURE__ */
|
|
46864
|
+
statusBarVisible && !isImageMode && /* @__PURE__ */ jsx103(StatusBar, { slotRight: statusBarSlotRight }),
|
|
46865
|
+
isMarkdownMode && allowRecording && mediaProvider && /* @__PURE__ */ jsx103(
|
|
46843
46866
|
RecorderEntry,
|
|
46844
46867
|
{
|
|
46845
46868
|
open: mediaBinRecorderOpen,
|
|
@@ -46852,8 +46875,8 @@ function EditorShellInner({
|
|
|
46852
46875
|
)
|
|
46853
46876
|
}
|
|
46854
46877
|
) }),
|
|
46855
|
-
/* @__PURE__ */
|
|
46856
|
-
imageEditTarget !== null && mediaProvider && /* @__PURE__ */
|
|
46878
|
+
/* @__PURE__ */ jsx103(TooltipLayer, {}),
|
|
46879
|
+
imageEditTarget !== null && mediaProvider && /* @__PURE__ */ jsx103(
|
|
46857
46880
|
ImageEditModal,
|
|
46858
46881
|
{
|
|
46859
46882
|
relativePath: imageEditTarget,
|
|
@@ -46869,12 +46892,12 @@ function EditorShellInner({
|
|
|
46869
46892
|
shellTheme: colorScheme
|
|
46870
46893
|
}
|
|
46871
46894
|
),
|
|
46872
|
-
mediaEditTarget !== null && /* @__PURE__ */
|
|
46895
|
+
mediaEditTarget !== null && /* @__PURE__ */ jsx103(MediaEditModal, { target: mediaEditTarget, onClose: closeMediaEdit })
|
|
46873
46896
|
]
|
|
46874
46897
|
}
|
|
46875
46898
|
);
|
|
46876
46899
|
return /* @__PURE__ */ jsxs83(EditorContextMenuProvider, { rootRef: shellRef, readOnly, children: [
|
|
46877
|
-
/* @__PURE__ */
|
|
46900
|
+
/* @__PURE__ */ jsx103(MediaEditContextMenuItems, {}),
|
|
46878
46901
|
shell
|
|
46879
46902
|
] });
|
|
46880
46903
|
}
|