sykpcomposer 0.0.94 → 0.0.95
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/ImageComponent-ddf2b888.js +402 -0
- package/dist/ImageComponent-ddf2b888.js.map +1 -0
- package/dist/InlineImageComponent-46949279.js +249 -0
- package/dist/InlineImageComponent-46949279.js.map +1 -0
- package/dist/Placeholder-347ad381.js +97 -0
- package/dist/Placeholder-347ad381.js.map +1 -0
- package/dist/index-3341449c.js +48210 -0
- package/dist/index-3341449c.js.map +1 -0
- package/dist/index.es.js +4 -48720
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +152 -224
- package/dist/index.umd.js.map +1 -1
- package/dist/src/components/hooks/useModal.d.ts +12 -0
- package/dist/src/components/nodes/ImageComponent.d.ts +22 -0
- package/dist/src/components/nodes/ImageNode.d.ts +49 -0
- package/dist/src/components/nodes/InlineImageComponent.d.ts +18 -0
- package/dist/src/components/nodes/InlineImageNode.d.ts +65 -0
- package/dist/src/components/plugins/ImagePlugin.d.ts +24 -0
- package/dist/src/components/plugins/InlineImagePlugin.d.ts +16 -0
- package/dist/src/components/ui/Button.d.ts +17 -0
- package/dist/src/components/ui/ContentEditable.d.ts +12 -0
- package/dist/src/components/ui/Dialog.d.ts +15 -0
- package/dist/src/components/ui/FileInput.d.ts +16 -0
- package/dist/src/components/ui/ImageResizer.d.ts +24 -0
- package/dist/src/components/ui/Modal.d.ts +14 -0
- package/dist/src/components/ui/Placeholder.d.ts +12 -0
- package/dist/src/components/ui/Select.d.ts +14 -0
- package/dist/src/components/ui/TextInput.d.ts +19 -0
- package/dist/src/{components/plugins/TreeViewPlugin.d.ts → utils/joinClasses.d.ts} +1 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/src/components/ExampleTheme.d.ts +0 -3
- package/dist/src/components/heading.d.ts +0 -3
- package/dist/src/components/plugins/HtmlPlugin.d.ts +0 -6
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { m as $, u as M, d as b, w, x as B, n as U, a as T, c as z, e as O, C as f, f as W, k as q, g as G, I as H, r as J, h as Q, j as e, i as V, l as X, T as Y, S as Z, D as K, B as ee } from "./index-3341449c.js";
|
|
2
|
+
import { u as te, d as ne, L as ae, P as se } from "./Placeholder-347ad381.js";
|
|
3
|
+
import { useRef as N, useState as I, useCallback as k, useEffect as oe, Suspense as le } from "react";
|
|
4
|
+
import "react-dom";
|
|
5
|
+
const y = /* @__PURE__ */ new Set();
|
|
6
|
+
function re(o) {
|
|
7
|
+
if (!y.has(o))
|
|
8
|
+
throw new Promise((m) => {
|
|
9
|
+
const a = new Image();
|
|
10
|
+
a.src = o, a.onload = () => {
|
|
11
|
+
y.add(o), m(null);
|
|
12
|
+
};
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
function ie({
|
|
16
|
+
altText: o,
|
|
17
|
+
className: m,
|
|
18
|
+
imageRef: a,
|
|
19
|
+
src: h,
|
|
20
|
+
width: r,
|
|
21
|
+
height: c,
|
|
22
|
+
position: i
|
|
23
|
+
}) {
|
|
24
|
+
return re(h), /* @__PURE__ */ e.jsx(
|
|
25
|
+
"img",
|
|
26
|
+
{
|
|
27
|
+
className: m || void 0,
|
|
28
|
+
src: h,
|
|
29
|
+
alt: o,
|
|
30
|
+
ref: a,
|
|
31
|
+
"data-position": i,
|
|
32
|
+
style: {
|
|
33
|
+
display: "block",
|
|
34
|
+
height: c,
|
|
35
|
+
width: r
|
|
36
|
+
},
|
|
37
|
+
draggable: "false"
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
function ce({
|
|
42
|
+
activeEditor: o,
|
|
43
|
+
nodeKey: m,
|
|
44
|
+
onClose: a
|
|
45
|
+
}) {
|
|
46
|
+
const r = o.getEditorState().read(
|
|
47
|
+
() => B(m)
|
|
48
|
+
), [c, i] = I(r.getAltText()), [j, S] = I(r.getShowCaption()), [C, p] = I(r.getPosition()), x = (d) => {
|
|
49
|
+
S(d.target.checked);
|
|
50
|
+
}, l = (d) => {
|
|
51
|
+
p(d.target.value);
|
|
52
|
+
}, g = () => {
|
|
53
|
+
const d = { altText: c, position: C, showCaption: j };
|
|
54
|
+
r && o.update(() => {
|
|
55
|
+
r.update(d);
|
|
56
|
+
}), a();
|
|
57
|
+
};
|
|
58
|
+
return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
59
|
+
/* @__PURE__ */ e.jsx("div", { style: { marginBottom: "1em" }, children: /* @__PURE__ */ e.jsx(
|
|
60
|
+
Y,
|
|
61
|
+
{
|
|
62
|
+
label: "Alt Text",
|
|
63
|
+
placeholder: "Descriptive alternative text",
|
|
64
|
+
onChange: i,
|
|
65
|
+
value: c,
|
|
66
|
+
"data-test-id": "image-modal-alt-text-input"
|
|
67
|
+
}
|
|
68
|
+
) }),
|
|
69
|
+
/* @__PURE__ */ e.jsxs(
|
|
70
|
+
Z,
|
|
71
|
+
{
|
|
72
|
+
style: { marginBottom: "1em", width: "208px" },
|
|
73
|
+
value: C,
|
|
74
|
+
label: "Position",
|
|
75
|
+
name: "position",
|
|
76
|
+
id: "position-select",
|
|
77
|
+
onChange: l,
|
|
78
|
+
children: [
|
|
79
|
+
/* @__PURE__ */ e.jsx("option", { value: "left", children: "Left" }),
|
|
80
|
+
/* @__PURE__ */ e.jsx("option", { value: "right", children: "Right" }),
|
|
81
|
+
/* @__PURE__ */ e.jsx("option", { value: "full", children: "Full Width" })
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
),
|
|
85
|
+
/* @__PURE__ */ e.jsxs("div", { className: "Input__wrapper", children: [
|
|
86
|
+
/* @__PURE__ */ e.jsx(
|
|
87
|
+
"input",
|
|
88
|
+
{
|
|
89
|
+
id: "caption",
|
|
90
|
+
type: "checkbox",
|
|
91
|
+
checked: j,
|
|
92
|
+
onChange: x
|
|
93
|
+
}
|
|
94
|
+
),
|
|
95
|
+
/* @__PURE__ */ e.jsx("label", { htmlFor: "caption", children: "Show Caption" })
|
|
96
|
+
] }),
|
|
97
|
+
/* @__PURE__ */ e.jsx(K, { children: /* @__PURE__ */ e.jsx(
|
|
98
|
+
ee,
|
|
99
|
+
{
|
|
100
|
+
"data-test-id": "image-modal-file-upload-btn",
|
|
101
|
+
onClick: () => g(),
|
|
102
|
+
children: "Confirm"
|
|
103
|
+
}
|
|
104
|
+
) })
|
|
105
|
+
] });
|
|
106
|
+
}
|
|
107
|
+
function fe({
|
|
108
|
+
src: o,
|
|
109
|
+
altText: m,
|
|
110
|
+
nodeKey: a,
|
|
111
|
+
width: h,
|
|
112
|
+
height: r,
|
|
113
|
+
showCaption: c,
|
|
114
|
+
caption: i,
|
|
115
|
+
position: j
|
|
116
|
+
}) {
|
|
117
|
+
const [S, C] = $(), p = N(null), x = N(null), [l, g, d] = te(a), [n] = M(), [D, F] = I(null), R = N(null), E = k(
|
|
118
|
+
(s) => {
|
|
119
|
+
if (l && b(w())) {
|
|
120
|
+
s.preventDefault();
|
|
121
|
+
const t = B(a);
|
|
122
|
+
if (U(t))
|
|
123
|
+
return t.remove(), !0;
|
|
124
|
+
}
|
|
125
|
+
return !1;
|
|
126
|
+
},
|
|
127
|
+
[l, a]
|
|
128
|
+
), P = k(
|
|
129
|
+
(s) => {
|
|
130
|
+
const u = w(), t = x.current;
|
|
131
|
+
if (l && b(u) && u.getNodes().length === 1) {
|
|
132
|
+
if (c)
|
|
133
|
+
return T(null), s.preventDefault(), i.focus(), !0;
|
|
134
|
+
if (t !== null && t !== document.activeElement)
|
|
135
|
+
return s.preventDefault(), t.focus(), !0;
|
|
136
|
+
}
|
|
137
|
+
return !1;
|
|
138
|
+
},
|
|
139
|
+
[i, l, c]
|
|
140
|
+
), _ = k(
|
|
141
|
+
(s) => R.current === i || x.current === s.target ? (T(null), n.update(() => {
|
|
142
|
+
g(!0);
|
|
143
|
+
const u = n.getRootElement();
|
|
144
|
+
u !== null && u.focus();
|
|
145
|
+
}), !0) : !1,
|
|
146
|
+
[i, n, g]
|
|
147
|
+
);
|
|
148
|
+
oe(() => {
|
|
149
|
+
let s = !0;
|
|
150
|
+
const u = z(
|
|
151
|
+
n.registerUpdateListener(({ editorState: t }) => {
|
|
152
|
+
s && F(t.read(() => w()));
|
|
153
|
+
}),
|
|
154
|
+
n.registerCommand(
|
|
155
|
+
Q,
|
|
156
|
+
(t, v) => (R.current = v, !1),
|
|
157
|
+
f
|
|
158
|
+
),
|
|
159
|
+
n.registerCommand(
|
|
160
|
+
J,
|
|
161
|
+
(t) => {
|
|
162
|
+
const v = t;
|
|
163
|
+
return v.target === p.current ? (v.shiftKey ? g(!l) : (d(), g(!0)), !0) : !1;
|
|
164
|
+
},
|
|
165
|
+
f
|
|
166
|
+
),
|
|
167
|
+
n.registerCommand(
|
|
168
|
+
H,
|
|
169
|
+
(t) => t.target === p.current ? (t.preventDefault(), !0) : !1,
|
|
170
|
+
f
|
|
171
|
+
),
|
|
172
|
+
n.registerCommand(
|
|
173
|
+
G,
|
|
174
|
+
E,
|
|
175
|
+
f
|
|
176
|
+
),
|
|
177
|
+
n.registerCommand(
|
|
178
|
+
q,
|
|
179
|
+
E,
|
|
180
|
+
f
|
|
181
|
+
),
|
|
182
|
+
n.registerCommand(W, P, f),
|
|
183
|
+
n.registerCommand(O, _, f)
|
|
184
|
+
);
|
|
185
|
+
return () => {
|
|
186
|
+
s = !1, u();
|
|
187
|
+
};
|
|
188
|
+
}, [
|
|
189
|
+
d,
|
|
190
|
+
n,
|
|
191
|
+
l,
|
|
192
|
+
a,
|
|
193
|
+
E,
|
|
194
|
+
P,
|
|
195
|
+
_,
|
|
196
|
+
g
|
|
197
|
+
]);
|
|
198
|
+
const L = l && b(D), A = l;
|
|
199
|
+
return /* @__PURE__ */ e.jsxs(le, { fallback: null, children: [
|
|
200
|
+
/* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
201
|
+
/* @__PURE__ */ e.jsxs("div", { draggable: L, children: [
|
|
202
|
+
/* @__PURE__ */ e.jsx(
|
|
203
|
+
"button",
|
|
204
|
+
{
|
|
205
|
+
className: "image-edit-button",
|
|
206
|
+
ref: x,
|
|
207
|
+
onClick: () => {
|
|
208
|
+
C("Update Inline Image", (s) => /* @__PURE__ */ e.jsx(
|
|
209
|
+
ce,
|
|
210
|
+
{
|
|
211
|
+
activeEditor: n,
|
|
212
|
+
nodeKey: a,
|
|
213
|
+
onClose: s
|
|
214
|
+
}
|
|
215
|
+
));
|
|
216
|
+
},
|
|
217
|
+
children: "Edit"
|
|
218
|
+
}
|
|
219
|
+
),
|
|
220
|
+
/* @__PURE__ */ e.jsx(
|
|
221
|
+
ie,
|
|
222
|
+
{
|
|
223
|
+
className: A ? `focused ${b(D) ? "draggable" : ""}` : null,
|
|
224
|
+
src: o,
|
|
225
|
+
altText: m,
|
|
226
|
+
imageRef: p,
|
|
227
|
+
width: h,
|
|
228
|
+
height: r,
|
|
229
|
+
position: j
|
|
230
|
+
}
|
|
231
|
+
)
|
|
232
|
+
] }),
|
|
233
|
+
c && /* @__PURE__ */ e.jsx("div", { className: "image-caption-container", children: /* @__PURE__ */ e.jsx(ne, { initialEditor: i, children: /* @__PURE__ */ e.jsx(
|
|
234
|
+
V,
|
|
235
|
+
{
|
|
236
|
+
contentEditable: /* @__PURE__ */ e.jsx(ae, { className: "InlineImageNode__contentEditable" }),
|
|
237
|
+
placeholder: /* @__PURE__ */ e.jsx(se, { className: "InlineImageNode__placeholder", children: "Enter a caption..." }),
|
|
238
|
+
ErrorBoundary: X
|
|
239
|
+
}
|
|
240
|
+
) }) })
|
|
241
|
+
] }),
|
|
242
|
+
S
|
|
243
|
+
] });
|
|
244
|
+
}
|
|
245
|
+
export {
|
|
246
|
+
ce as UpdateInlineImageDialog,
|
|
247
|
+
fe as default
|
|
248
|
+
};
|
|
249
|
+
//# sourceMappingURL=InlineImageComponent-46949279.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineImageComponent-46949279.js","sources":["../src/components/nodes/InlineImageComponent.tsx"],"sourcesContent":["import type { Position } from \"./InlineImageNode\";\nimport type { BaseSelection, LexicalEditor, NodeKey } from \"lexical\";\n\nimport \"./InlineImageNode.css\";\n\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport LexicalErrorBoundary from \"@lexical/react/LexicalErrorBoundary\";\nimport { LexicalNestedComposer } from \"@lexical/react/LexicalNestedComposer\";\nimport { RichTextPlugin } from \"@lexical/react/LexicalRichTextPlugin\";\nimport { useLexicalNodeSelection } from \"@lexical/react/useLexicalNodeSelection\";\nimport { mergeRegister } from \"@lexical/utils\";\nimport {\n $getNodeByKey,\n $getSelection,\n $isNodeSelection,\n $setSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_LOW,\n DRAGSTART_COMMAND,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n KEY_ENTER_COMMAND,\n KEY_ESCAPE_COMMAND,\n SELECTION_CHANGE_COMMAND,\n} from \"lexical\";\nimport * as React from \"react\";\nimport { Suspense, useCallback, useEffect, useRef, useState } from \"react\";\n\nimport useModal from \"../hooks/useModal\";\nimport Button from \"../ui/Button\";\nimport ContentEditable from \"../ui/ContentEditable\";\nimport { DialogActions } from \"../ui/Dialog\";\nimport Placeholder from \"../ui/Placeholder\";\nimport Select from \"../ui/Select\";\nimport TextInput from \"../ui/TextInput\";\nimport { $isInlineImageNode, InlineImageNode } from \"./InlineImageNode\";\n\nconst imageCache = new Set();\n\nfunction useSuspenseImage(src: string) {\n if (!imageCache.has(src)) {\n throw new Promise((resolve) => {\n const img = new Image();\n img.src = src;\n img.onload = () => {\n imageCache.add(src);\n resolve(null);\n };\n });\n }\n}\n\nfunction LazyImage({\n altText,\n className,\n imageRef,\n src,\n width,\n height,\n position,\n}: {\n altText: string;\n className: string | null;\n height: \"inherit\" | number;\n imageRef: { current: null | HTMLImageElement };\n src: string;\n width: \"inherit\" | number;\n position: Position;\n}): JSX.Element {\n useSuspenseImage(src);\n return (\n <img\n className={className || undefined}\n src={src}\n alt={altText}\n ref={imageRef}\n data-position={position}\n style={{\n display: \"block\",\n height,\n width,\n }}\n draggable=\"false\"\n />\n );\n}\n\nexport function UpdateInlineImageDialog({\n activeEditor,\n nodeKey,\n onClose,\n}: {\n activeEditor: LexicalEditor;\n nodeKey: NodeKey;\n onClose: () => void;\n}): JSX.Element {\n const editorState = activeEditor.getEditorState();\n const node = editorState.read(\n () => $getNodeByKey(nodeKey) as InlineImageNode\n );\n const [altText, setAltText] = useState(node.getAltText());\n const [showCaption, setShowCaption] = useState(node.getShowCaption());\n const [position, setPosition] = useState<Position>(node.getPosition());\n\n const handleShowCaptionChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setShowCaption(e.target.checked);\n };\n\n const handlePositionChange = (e: React.ChangeEvent<HTMLSelectElement>) => {\n setPosition(e.target.value as Position);\n };\n\n const handleOnConfirm = () => {\n const payload = { altText, position, showCaption };\n if (node) {\n activeEditor.update(() => {\n node.update(payload);\n });\n }\n onClose();\n };\n\n return (\n <>\n <div style={{ marginBottom: \"1em\" }}>\n <TextInput\n label=\"Alt Text\"\n placeholder=\"Descriptive alternative text\"\n onChange={setAltText}\n value={altText}\n data-test-id=\"image-modal-alt-text-input\"\n />\n </div>\n\n <Select\n style={{ marginBottom: \"1em\", width: \"208px\" }}\n value={position}\n label=\"Position\"\n name=\"position\"\n id=\"position-select\"\n onChange={handlePositionChange}\n >\n <option value=\"left\">Left</option>\n <option value=\"right\">Right</option>\n <option value=\"full\">Full Width</option>\n </Select>\n\n <div className=\"Input__wrapper\">\n <input\n id=\"caption\"\n type=\"checkbox\"\n checked={showCaption}\n onChange={handleShowCaptionChange}\n />\n <label htmlFor=\"caption\">Show Caption</label>\n </div>\n\n <DialogActions>\n <Button\n data-test-id=\"image-modal-file-upload-btn\"\n onClick={() => handleOnConfirm()}\n >\n Confirm\n </Button>\n </DialogActions>\n </>\n );\n}\n\nexport default function InlineImageComponent({\n src,\n altText,\n nodeKey,\n width,\n height,\n showCaption,\n caption,\n position,\n}: {\n altText: string;\n caption: LexicalEditor;\n height: \"inherit\" | number;\n nodeKey: NodeKey;\n showCaption: boolean;\n src: string;\n width: \"inherit\" | number;\n position: Position;\n}): JSX.Element {\n const [modal, showModal] = useModal();\n const imageRef = useRef<null | HTMLImageElement>(null);\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n const [isSelected, setSelected, clearSelection] =\n useLexicalNodeSelection(nodeKey);\n const [editor] = useLexicalComposerContext();\n const [selection, setSelection] = useState<BaseSelection | null>(null);\n const activeEditorRef = useRef<LexicalEditor | null>(null);\n\n const onDelete = useCallback(\n (payload: KeyboardEvent) => {\n if (isSelected && $isNodeSelection($getSelection())) {\n const event: KeyboardEvent = payload;\n event.preventDefault();\n const node = $getNodeByKey(nodeKey);\n if ($isInlineImageNode(node)) {\n node.remove();\n return true;\n }\n }\n return false;\n },\n [isSelected, nodeKey]\n );\n\n const onEnter = useCallback(\n (event: KeyboardEvent) => {\n const latestSelection = $getSelection();\n const buttonElem = buttonRef.current;\n if (\n isSelected &&\n $isNodeSelection(latestSelection) &&\n latestSelection.getNodes().length === 1\n ) {\n if (showCaption) {\n // Move focus into nested editor\n $setSelection(null);\n event.preventDefault();\n caption.focus();\n return true;\n } else if (\n buttonElem !== null &&\n buttonElem !== document.activeElement\n ) {\n event.preventDefault();\n buttonElem.focus();\n return true;\n }\n }\n return false;\n },\n [caption, isSelected, showCaption]\n );\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (\n activeEditorRef.current === caption ||\n buttonRef.current === event.target\n ) {\n $setSelection(null);\n editor.update(() => {\n setSelected(true);\n const parentRootElement = editor.getRootElement();\n if (parentRootElement !== null) {\n parentRootElement.focus();\n }\n });\n return true;\n }\n return false;\n },\n [caption, editor, setSelected]\n );\n\n useEffect(() => {\n let isMounted = true;\n const unregister = mergeRegister(\n editor.registerUpdateListener(({ editorState }) => {\n if (isMounted) {\n setSelection(editorState.read(() => $getSelection()));\n }\n }),\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n (_, activeEditor) => {\n activeEditorRef.current = activeEditor;\n return false;\n },\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand<MouseEvent>(\n CLICK_COMMAND,\n (payload) => {\n const event = payload;\n if (event.target === imageRef.current) {\n if (event.shiftKey) {\n setSelected(!isSelected);\n } else {\n clearSelection();\n setSelected(true);\n }\n return true;\n }\n\n return false;\n },\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand(\n DRAGSTART_COMMAND,\n (event) => {\n if (event.target === imageRef.current) {\n // TODO This is just a temporary workaround for FF to behave like other browsers.\n // Ideally, this handles drag & drop too (and all browsers).\n event.preventDefault();\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand(\n KEY_DELETE_COMMAND,\n onDelete,\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand(\n KEY_BACKSPACE_COMMAND,\n onDelete,\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand(KEY_ENTER_COMMAND, onEnter, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_ESCAPE_COMMAND, onEscape, COMMAND_PRIORITY_LOW)\n );\n return () => {\n isMounted = false;\n unregister();\n };\n }, [\n clearSelection,\n editor,\n isSelected,\n nodeKey,\n onDelete,\n onEnter,\n onEscape,\n setSelected,\n ]);\n\n const draggable = isSelected && $isNodeSelection(selection);\n const isFocused = isSelected;\n return (\n <Suspense fallback={null}>\n <>\n <div draggable={draggable}>\n <button\n className=\"image-edit-button\"\n ref={buttonRef}\n onClick={() => {\n showModal(\"Update Inline Image\", (onClose) => (\n <UpdateInlineImageDialog\n activeEditor={editor}\n nodeKey={nodeKey}\n onClose={onClose}\n />\n ));\n }}\n >\n Edit\n </button>\n <LazyImage\n className={\n isFocused\n ? `focused ${$isNodeSelection(selection) ? \"draggable\" : \"\"}`\n : null\n }\n src={src}\n altText={altText}\n imageRef={imageRef}\n width={width}\n height={height}\n position={position}\n />\n </div>\n {showCaption && (\n <div className=\"image-caption-container\">\n <LexicalNestedComposer initialEditor={caption}>\n <RichTextPlugin\n contentEditable={\n <ContentEditable className=\"InlineImageNode__contentEditable\" />\n }\n placeholder={\n <Placeholder className=\"InlineImageNode__placeholder\">\n Enter a caption...\n </Placeholder>\n }\n ErrorBoundary={LexicalErrorBoundary}\n />\n </LexicalNestedComposer>\n </div>\n )}\n </>\n {modal}\n </Suspense>\n );\n}\n"],"names":["imageCache","useSuspenseImage","src","resolve","img","LazyImage","altText","className","imageRef","width","height","position","jsx","UpdateInlineImageDialog","activeEditor","nodeKey","onClose","node","$getNodeByKey","setAltText","useState","showCaption","setShowCaption","setPosition","handleShowCaptionChange","e","handlePositionChange","handleOnConfirm","payload","jsxs","Fragment","TextInput","Select","DialogActions","Button","InlineImageComponent","caption","modal","showModal","useModal","useRef","buttonRef","isSelected","setSelected","clearSelection","useLexicalNodeSelection","editor","useLexicalComposerContext","selection","setSelection","activeEditorRef","onDelete","useCallback","$isNodeSelection","$getSelection","$isInlineImageNode","onEnter","event","latestSelection","buttonElem","$setSelection","onEscape","parentRootElement","useEffect","isMounted","unregister","mergeRegister","editorState","SELECTION_CHANGE_COMMAND","_","COMMAND_PRIORITY_LOW","CLICK_COMMAND","DRAGSTART_COMMAND","KEY_DELETE_COMMAND","KEY_BACKSPACE_COMMAND","KEY_ENTER_COMMAND","KEY_ESCAPE_COMMAND","draggable","isFocused","Suspense","LexicalNestedComposer","RichTextPlugin","ContentEditable","Placeholder","LexicalErrorBoundary"],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { o as x, p as P, q as S, j as _, u as L, w as v, d as h, s as O, a as $, x as D, v as K } from "./index-3341449c.js";
|
|
2
|
+
import { useRef as T, useContext as N, useMemo as R, useEffect as m, useState as W, useCallback as w } from "react";
|
|
3
|
+
function U(e) {
|
|
4
|
+
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
5
|
+
}
|
|
6
|
+
var q = U(function(e) {
|
|
7
|
+
const t = new URLSearchParams();
|
|
8
|
+
t.append("code", e);
|
|
9
|
+
for (let n = 1; n < arguments.length; n++)
|
|
10
|
+
t.append("v", arguments[n]);
|
|
11
|
+
throw Error(`Minified Lexical error #${e}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`);
|
|
12
|
+
});
|
|
13
|
+
function b(e) {
|
|
14
|
+
const t = e.transform();
|
|
15
|
+
return t !== null ? /* @__PURE__ */ new Set([t]) : /* @__PURE__ */ new Set();
|
|
16
|
+
}
|
|
17
|
+
function B({ initialEditor: e, children: t, initialNodes: n, initialTheme: d, skipCollabChecks: o }) {
|
|
18
|
+
const r = T(!1), u = N(x);
|
|
19
|
+
u == null && q(9);
|
|
20
|
+
const [l, { getTheme: M }] = u, C = R(() => {
|
|
21
|
+
const i = d || M() || void 0, y = P(u, i);
|
|
22
|
+
if (i !== void 0 && (e._config.theme = i), e._parentEditor = l, n)
|
|
23
|
+
for (let s of n) {
|
|
24
|
+
let c = null, a = null;
|
|
25
|
+
if (typeof s != "function") {
|
|
26
|
+
const f = s;
|
|
27
|
+
s = f.replace, c = f.with, a = f.withKlass || null;
|
|
28
|
+
}
|
|
29
|
+
const g = e._nodes.get(s.getType());
|
|
30
|
+
e._nodes.set(s.getType(), { exportDOM: g ? g.exportDOM : void 0, klass: s, replace: c, replaceWithKlass: a, transforms: b(s) });
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
const s = e._nodes = new Map(l._nodes);
|
|
34
|
+
for (const [c, a] of s)
|
|
35
|
+
e._nodes.set(c, { exportDOM: a.exportDOM, klass: a.klass, replace: a.replace, replaceWithKlass: a.replaceWithKlass, transforms: b(a.klass) });
|
|
36
|
+
}
|
|
37
|
+
return e._config.namespace = l._config.namespace, e._editable = l._editable, [e, y];
|
|
38
|
+
}, []), { isCollabActive: j, yjsDocMap: k } = S(), p = o || r.current || k.has(e.getKey());
|
|
39
|
+
return m(() => {
|
|
40
|
+
p && (r.current = !0);
|
|
41
|
+
}, [p]), m(() => l.registerEditableListener((i) => {
|
|
42
|
+
e.setEditable(i);
|
|
43
|
+
}), [e, l]), _.jsx(x.Provider, { value: C, children: !j || p ? t : null });
|
|
44
|
+
}
|
|
45
|
+
function E(e, t) {
|
|
46
|
+
return e.getEditorState().read(() => {
|
|
47
|
+
const n = D(t);
|
|
48
|
+
return n !== null && n.isSelected();
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function F(e) {
|
|
52
|
+
const [t] = L(), [n, d] = W(() => E(t, e));
|
|
53
|
+
return m(() => {
|
|
54
|
+
let o = !0;
|
|
55
|
+
const r = t.registerUpdateListener(() => {
|
|
56
|
+
o && d(E(t, e));
|
|
57
|
+
});
|
|
58
|
+
return () => {
|
|
59
|
+
o = !1, r();
|
|
60
|
+
};
|
|
61
|
+
}, [t, e]), [n, w((o) => {
|
|
62
|
+
t.update(() => {
|
|
63
|
+
let r = v();
|
|
64
|
+
h(r) || (r = O(), $(r)), h(r) && (o ? r.add(e) : r.delete(e));
|
|
65
|
+
});
|
|
66
|
+
}, [t, e]), w(() => {
|
|
67
|
+
t.update(() => {
|
|
68
|
+
const o = v();
|
|
69
|
+
h(o) && o.clear();
|
|
70
|
+
});
|
|
71
|
+
}, [t])];
|
|
72
|
+
}
|
|
73
|
+
function G({
|
|
74
|
+
className: e,
|
|
75
|
+
style: t
|
|
76
|
+
}) {
|
|
77
|
+
return /* @__PURE__ */ _.jsx(
|
|
78
|
+
K,
|
|
79
|
+
{
|
|
80
|
+
className: e || "ContentEditable__root",
|
|
81
|
+
style: t
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
function H({
|
|
86
|
+
children: e,
|
|
87
|
+
className: t
|
|
88
|
+
}) {
|
|
89
|
+
return /* @__PURE__ */ _.jsx("div", { className: t || "Placeholder__root", children: e });
|
|
90
|
+
}
|
|
91
|
+
export {
|
|
92
|
+
G as L,
|
|
93
|
+
H as P,
|
|
94
|
+
B as d,
|
|
95
|
+
F as u
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=Placeholder-347ad381.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Placeholder-347ad381.js","sources":["../node_modules/@lexical/react/LexicalNestedComposer.prod.mjs","../node_modules/@lexical/react/useLexicalNodeSelection.prod.mjs","../src/components/ui/ContentEditable.tsx","../src/components/ui/Placeholder.tsx"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useCollaborationContext as e}from\"@lexical/react/LexicalCollaborationContext\";import{LexicalComposerContext as t,createLexicalComposerContext as r}from\"@lexical/react/LexicalComposerContext\";import{useRef as o,useContext as n,useMemo as l,useEffect as i}from\"react\";import{jsx as a}from\"react/jsx-runtime\";function s(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var c=s((function(e){const t=new URLSearchParams;t.append(\"code\",e);for(let e=1;e<arguments.length;e++)t.append(\"v\",arguments[e]);throw Error(`Minified Lexical error #${e}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));function p(e){const t=e.transform();return null!==t?new Set([t]):new Set}function d({initialEditor:s,children:d,initialNodes:f,initialTheme:u,skipCollabChecks:m}){const h=o(!1),x=n(t);null==x&&c(9);const[_,{getTheme:g}]=x,v=l((()=>{const e=u||g()||void 0,t=r(x,e);if(void 0!==e&&(s._config.theme=e),s._parentEditor=_,f)for(let e of f){let t=null,r=null;if(\"function\"!=typeof e){const o=e;e=o.replace,t=o.with,r=o.withKlass||null}const o=s._nodes.get(e.getType());s._nodes.set(e.getType(),{exportDOM:o?o.exportDOM:void 0,klass:e,replace:t,replaceWithKlass:r,transforms:p(e)})}else{const e=s._nodes=new Map(_._nodes);for(const[t,r]of e)s._nodes.set(t,{exportDOM:r.exportDOM,klass:r.klass,replace:r.replace,replaceWithKlass:r.replaceWithKlass,transforms:p(r.klass)})}return s._config.namespace=_._config.namespace,s._editable=_._editable,[s,t]}),[]),{isCollabActive:w,yjsDocMap:b}=e(),M=m||h.current||b.has(s.getKey());return i((()=>{M&&(h.current=!0)}),[M]),i((()=>_.registerEditableListener((e=>{s.setEditable(e)}))),[s,_]),a(t.Provider,{value:v,children:!w||M?d:null})}export{d as LexicalNestedComposer};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{$getSelection as t,$isNodeSelection as r,$createNodeSelection as o,$setSelection as n,$getNodeByKey as c}from\"lexical\";import{useState as a,useEffect as i,useCallback as l}from\"react\";function d(e,t){return e.getEditorState().read((()=>{const e=c(t);return null!==e&&e.isSelected()}))}function u(c){const[u]=e(),[p,s]=a((()=>d(u,c)));i((()=>{let e=!0;const t=u.registerUpdateListener((()=>{e&&s(d(u,c))}));return()=>{e=!1,t()}}),[u,c]);return[p,l((e=>{u.update((()=>{let a=t();r(a)||(a=o(),n(a)),r(a)&&(e?a.add(c):a.delete(c))}))}),[u,c]),l((()=>{u.update((()=>{const e=t();r(e)&&e.clear()}))}),[u])]}export{u as useLexicalNodeSelection};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport './ContentEditable.css';\n\nimport {ContentEditable} from '@lexical/react/LexicalContentEditable';\nimport * as React from 'react';\n\nexport default function LexicalContentEditable({\n className,\n style,\n}: {\n className?: string;\n style?: React.CSSProperties;\n}): JSX.Element {\n return (\n <ContentEditable\n className={className || 'ContentEditable__root'}\n style={style}\n />\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport './Placeholder.css';\n\nimport * as React from 'react';\nimport {ReactNode} from 'react';\n\nexport default function Placeholder({\n children,\n className,\n}: {\n children: ReactNode;\n className?: string;\n}): JSX.Element {\n return <div className={className || 'Placeholder__root'}>{children}</div>;\n}\n"],"names":["s","c","e","p","d","f","u","m","h","o","x","n","t","_","g","v","l","r","w","b","M","i","a","LexicalContentEditable","className","style","jsx","ContentEditable","Placeholder","children"],"mappings":"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","x_google_ignoreList":[0,1]}
|