@bendyline/squisq-editor-react 2.3.3 → 2.4.0
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/README.md +4 -2
- package/dist/{chunk-MJJK7YQB.js → chunk-F4NBECWR.js} +35 -1
- package/dist/{chunk-54UGTQBO.js → chunk-IIWECJ26.js} +1 -1
- package/dist/{chunk-NITZVAXL.js → chunk-MM3M2KUV.js} +12 -0
- package/dist/{chunk-QN3Q64LV.js → chunk-UPEGQYF4.js} +4486 -2719
- package/dist/chunk-V4NBQF5C.js +62 -0
- package/dist/{chunk-6VDYKI3L.js → chunk-VNUGP7NG.js} +1 -1
- package/dist/index.d.ts +174 -50
- package/dist/index.js +27 -5
- package/dist/json-editor/index.js +2 -2
- package/dist/monaco.d.ts +26 -0
- package/dist/monaco.js +144 -10
- package/dist/monacoLanguageDetection-DEyUW-BS.d.ts +18 -0
- package/dist/monacoSuggestions-MDBODZ7F.js +3 -0
- package/dist/recorder/index.js +2 -2
- package/dist/shell/index.d.ts +1 -1
- package/dist/shell/index.js +4 -3
- package/dist/{shell-YIIUac26.d.ts → shell-9Kxzxjbn.d.ts} +55 -7
- package/dist/styles/index.css +519 -24
- package/package.json +7 -5
package/README.md
CHANGED
|
@@ -71,7 +71,7 @@ and block-at-a-time / timeline editing primitives (`useBlockNavigator`,
|
|
|
71
71
|
- **Recording** — with a `mediaProvider` wired, a record button appears in the
|
|
72
72
|
toolbar (`allowRecording`, default `true`).
|
|
73
73
|
- **Presentation mode** — every Use view can fill the Squisq control, open a
|
|
74
|
-
synchronized audience window, or
|
|
74
|
+
synchronized audience window, or take over the entire screen. Slideshow/video
|
|
75
75
|
playback, Page/Document scrolling, and the Narrate surface remain linked to
|
|
76
76
|
the main view.
|
|
77
77
|
- **Panels** — `outline` (heading outline pane) and `inlinePreview` (per-block
|
|
@@ -88,7 +88,9 @@ and block-at-a-time / timeline editing primitives (`useBlockNavigator`,
|
|
|
88
88
|
- **Embedding** — `readOnly`, `placeholder`, `submitOnEnter`, `fullWidth`,
|
|
89
89
|
`thinMargins`, `minHeight`/`maxHeight` auto-grow for chat-composer use, plus
|
|
90
90
|
host-controlled Write typography through `writeCanvasSettings` (`textSize`
|
|
91
|
-
and `lineSpacing`).
|
|
91
|
+
and `lineSpacing`). Set `hostMode="chat"` to keep the shell in Write view,
|
|
92
|
+
remove its view tabs, and hide Custom layouts, Transform, View options, and
|
|
93
|
+
Document settings.
|
|
92
94
|
- **Color scheme** — pass `colorScheme="light" | "dark"` for the editor chrome
|
|
93
95
|
(**v1.5:** renamed from the old `theme` prop; `RawEditor`'s own `theme` prop is
|
|
94
96
|
now `monacoTheme`).
|
|
@@ -473,6 +473,29 @@ var btnDanger = {
|
|
|
473
473
|
background: "var(--squisq-recorder-danger)",
|
|
474
474
|
borderColor: "var(--squisq-recorder-danger-border)"
|
|
475
475
|
};
|
|
476
|
+
var btnRecord = {
|
|
477
|
+
...btnPrimary,
|
|
478
|
+
display: "inline-flex",
|
|
479
|
+
alignItems: "center",
|
|
480
|
+
gap: 8
|
|
481
|
+
};
|
|
482
|
+
var recordDotFrameStyle = {
|
|
483
|
+
display: "inline-flex",
|
|
484
|
+
alignItems: "center",
|
|
485
|
+
justifyContent: "center",
|
|
486
|
+
flex: "0 0 auto",
|
|
487
|
+
padding: 2,
|
|
488
|
+
border: "1px solid #9ca3af",
|
|
489
|
+
borderRadius: "50%",
|
|
490
|
+
background: "#000"
|
|
491
|
+
};
|
|
492
|
+
var recordDotStyle = {
|
|
493
|
+
display: "block",
|
|
494
|
+
width: 9,
|
|
495
|
+
height: 9,
|
|
496
|
+
borderRadius: "50%",
|
|
497
|
+
background: "var(--squisq-recorder-danger)"
|
|
498
|
+
};
|
|
476
499
|
var toggleRowStyle = {
|
|
477
500
|
display: "flex",
|
|
478
501
|
gap: 8,
|
|
@@ -867,7 +890,18 @@ function RecorderModal({
|
|
|
867
890
|
children: recorder.state === "requesting" ? "Requesting\u2026" : "Start preview"
|
|
868
891
|
}
|
|
869
892
|
),
|
|
870
|
-
canRecord && /* @__PURE__ */
|
|
893
|
+
canRecord && /* @__PURE__ */ jsxs("button", { type: "button", style: btnRecord, onClick: handleStart, disabled: isBusy, children: [
|
|
894
|
+
/* @__PURE__ */ jsx(
|
|
895
|
+
"span",
|
|
896
|
+
{
|
|
897
|
+
className: "squisq-recorder-record-dot",
|
|
898
|
+
style: recordDotFrameStyle,
|
|
899
|
+
"aria-hidden": "true",
|
|
900
|
+
children: /* @__PURE__ */ jsx("span", { className: "squisq-recorder-record-dot-center", style: recordDotStyle })
|
|
901
|
+
}
|
|
902
|
+
),
|
|
903
|
+
"Record"
|
|
904
|
+
] }),
|
|
871
905
|
canStop && /* @__PURE__ */ jsx("button", { type: "button", style: btnDanger, onClick: handleStop, disabled: isBusy, children: "Stop" }),
|
|
872
906
|
canSave && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
873
907
|
/* @__PURE__ */ jsx("button", { type: "button", style: btnSecondary, onClick: handleDiscard, disabled: isBusy, children: "Discard & re-record" }),
|
|
@@ -723,11 +723,23 @@ function serializeMediaTag(tag, attrs) {
|
|
|
723
723
|
const width = /\bwidth="([^"]*)"/i.exec(attrs)?.[1];
|
|
724
724
|
const height = /\bheight="([^"]*)"/i.exec(attrs)?.[1];
|
|
725
725
|
const poster = tag === "video" ? /\bposter="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
726
|
+
const placement = tag === "video" ? /\bdata-squisq-video-placement="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
727
|
+
const lockToBlock = tag === "video" ? /\bdata-squisq-video-lock-to-block="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
728
|
+
const startAt = tag === "video" ? /\bdata-squisq-video-start-at="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
729
|
+
const clipStart = tag === "video" ? /\bdata-squisq-video-clip-start="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
730
|
+
const clipEnd = tag === "video" ? /\bdata-squisq-video-clip-end="([^"]*)"/i.exec(attrs)?.[1] : void 0;
|
|
726
731
|
const parts = [`<${tag} src="${src}"`];
|
|
727
732
|
if (controls) parts.push(" controls");
|
|
728
733
|
if (width) parts.push(` width="${width}"`);
|
|
729
734
|
if (height) parts.push(` height="${height}"`);
|
|
730
735
|
if (poster) parts.push(` poster="${poster}"`);
|
|
736
|
+
if (placement === "picture-in-picture" || placement === "overlay") {
|
|
737
|
+
parts.push(` data-squisq-video-placement="${placement}"`);
|
|
738
|
+
}
|
|
739
|
+
if (lockToBlock === "false") parts.push(' data-squisq-video-lock-to-block="false"');
|
|
740
|
+
if (startAt != null) parts.push(` data-squisq-video-start-at="${startAt}"`);
|
|
741
|
+
if (clipStart != null) parts.push(` data-squisq-video-clip-start="${clipStart}"`);
|
|
742
|
+
if (clipEnd != null) parts.push(` data-squisq-video-clip-end="${clipEnd}"`);
|
|
731
743
|
parts.push(`></${tag}>`);
|
|
732
744
|
return parts.join("");
|
|
733
745
|
}
|