@uva-glass/component-library 1.59.3 → 1.61.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Lexical.prod-BhH9TCLN.js → Lexical.prod-qM_1BY0u.js} +63 -62
- package/dist/{Lexical.prod-BhH9TCLN.js.map → Lexical.prod-qM_1BY0u.js.map} +1 -1
- package/dist/{LexicalUtils.prod-Bsuvahba.js → LexicalUtils.prod-BFSPHHi1.js} +2 -2
- package/dist/{LexicalUtils.prod-Bsuvahba.js.map → LexicalUtils.prod-BFSPHHi1.js.map} +1 -1
- package/dist/ListPlugin-BLefaGXG.js +626 -0
- package/dist/ListPlugin-BLefaGXG.js.map +1 -0
- package/dist/RteEditor.module-BwAtWRHo.js +29 -0
- package/dist/RteEditor.module-BwAtWRHo.js.map +1 -0
- package/dist/TablePlugin-BvwAKpcu.js +295 -0
- package/dist/TablePlugin-BvwAKpcu.js.map +1 -0
- package/dist/assets/EditorHeader.css +1 -1
- package/dist/assets/Periods.css +1 -1
- package/dist/assets/RteEditor.css +1 -1
- package/dist/assets/TableCellContextMenu.css +1 -1
- package/dist/assets/TablePlugin.css +1 -1
- package/dist/components/CheckboxTree/CheckboxTree.js +2 -2
- package/dist/components/InputField/InputField.stories.js +2 -2
- package/dist/components/MultiSelect/MultiSelect.js +1 -1
- package/dist/components/MultiSelect/MultiSelect.stories.js +1 -1
- package/dist/components/MultiSelect/components/MultiSelectHeader.js +2 -2
- package/dist/components/MultiSelect/index.js +1 -1
- package/dist/components/Periods/Periods.js +19 -19
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js +2 -2
- package/dist/components/RteEditor/EditorHeader/EditorHeader.js +14 -31
- package/dist/components/RteEditor/EditorHeader/EditorHeader.js.map +1 -1
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.d.ts +1 -6
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +35 -20
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +38 -31
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkFrom.d.ts +3 -3
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkFrom.js +4 -4
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.d.ts +7 -6
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +158 -54
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.d.ts +1 -3
- package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js +5 -6
- package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js.map +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/index.js +3 -2
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.d.ts +1 -6
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +10 -31
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/ListPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +2 -2
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.d.ts +2 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js +106 -31
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js.map +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +6 -5
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.d.ts +6 -7
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +43 -47
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/index.js +13 -12
- package/dist/components/RteEditor/RteEditor.d.ts +13 -4
- package/dist/components/RteEditor/RteEditor.js +408 -416
- package/dist/components/RteEditor/RteEditor.js.map +1 -1
- package/dist/components/RteEditor/UvaTheme/UvaTheme.js +1 -1
- package/dist/components/RteEditor/hooks/components/Flyout.js.map +1 -1
- package/dist/components/RteEditor/hooks/useTranslation.d.ts +98 -6
- package/dist/components/RteEditor/translations.d.ts +98 -6
- package/dist/components/RteEditor/translations.js +104 -12
- package/dist/components/RteEditor/translations.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/{helpers-BRIyyVa6.js → helpers-BB6Byf50.js} +88 -99
- package/dist/helpers-BB6Byf50.js.map +1 -0
- package/dist/{helpers-CaU5T9i-.js → helpers-D9T1Tgkj.js} +454 -427
- package/dist/helpers-D9T1Tgkj.js.map +1 -0
- package/dist/index.js +1 -1
- package/package.json +4 -3
- package/dist/LexicalList.prod-Czb3Osbz.js +0 -564
- package/dist/LexicalList.prod-Czb3Osbz.js.map +0 -1
- package/dist/RteEditor.module-Dz9a8vaK.js +0 -29
- package/dist/RteEditor.module-Dz9a8vaK.js.map +0 -1
- package/dist/TablePlugin-deK-rcE1.js +0 -249
- package/dist/TablePlugin-deK-rcE1.js.map +0 -1
- package/dist/helpers-BRIyyVa6.js.map +0 -1
- package/dist/helpers-CaU5T9i-.js.map +0 -1
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
import { jsxs as m, jsx as e, Fragment as $ } from "react/jsx-runtime";
|
|
2
|
-
import { u as j } from "./LexicalComposerContext.prod-Dyvim1tK.js";
|
|
3
|
-
import { c as I } from "./clsx-OuTLNxxd.js";
|
|
4
|
-
import { o as z, d as W, a as Y, i as G, b as J, c as K, e as Q } from "./helpers-CaU5T9i-.js";
|
|
5
|
-
import { A as P, x as A, w as X } from "./Lexical.prod-BhH9TCLN.js";
|
|
6
|
-
import { forwardRef as M, useState as g, useRef as N, useImperativeHandle as O, useEffect as Z } from "react";
|
|
7
|
-
import { Button as C } from "./components/Buttons/Button.js";
|
|
8
|
-
import "./components/Buttons/LinkButton.js";
|
|
9
|
-
import "@react-aria/button";
|
|
10
|
-
import { Label as w } from "./components/Label/Label.js";
|
|
11
|
-
import "@react-aria/dialog";
|
|
12
|
-
import "@react-aria/focus";
|
|
13
|
-
import "@react-aria/overlays";
|
|
14
|
-
import "./components/OverlayCloseButton/OverlayCloseButton.js";
|
|
15
|
-
import { FormField as S } from "./components/FormField/FormField.js";
|
|
16
|
-
import "./components/GridRow/GridRow.js";
|
|
17
|
-
import "./components/IconButton/IconButton.js";
|
|
18
|
-
import "./components/Input/Input.js";
|
|
19
|
-
import { InputField as L } from "./components/InputField/InputField.js";
|
|
20
|
-
import "react-router-dom";
|
|
21
|
-
import { s as F, M as ee } from "./MultiSelectItem-D9PxdX43.js";
|
|
22
|
-
import { v as te } from "./helpers-BRIyyVa6.js";
|
|
23
|
-
import { Checkbox as oe } from "./components/Checkbox/Checkbox.js";
|
|
24
|
-
import { FeedbackBox as re } from "./components/FeedbackBox/FeedbackBox.js";
|
|
25
|
-
import "./components/RteEditor/hooks/components/Flyout.js";
|
|
26
|
-
import { useFlyout as le } from "./components/RteEditor/hooks/useFlyout.js";
|
|
27
|
-
import { Icon as ne } from "./components/Icon/Icon.js";
|
|
28
|
-
import { s as R } from "./RteEditor.module-Dz9a8vaK.js";
|
|
29
|
-
import "./components/RteEditor/Providers/LanguageProvider.js";
|
|
30
|
-
import "./components/SelectListbox/SelectListbox.js";
|
|
31
|
-
import "./components/SelectListbox/SelectProvider.js";
|
|
32
|
-
import "./components/Sortable/components/SortableItem.js";
|
|
33
|
-
import "./SortableProvider-BUsvniX7.js";
|
|
34
|
-
import { useTranslation as U } from "./components/RteEditor/hooks/useTranslation.js";
|
|
35
|
-
import './assets/TablePlugin.css';function se({ label: p, clearTrigger: d, onClear: s }) {
|
|
36
|
-
return /* @__PURE__ */ m("header", { className: F["multi-select__header"], children: [
|
|
37
|
-
/* @__PURE__ */ e(w, { htmlFor: "multi-select-list", children: p }),
|
|
38
|
-
d && /* @__PURE__ */ e(C, { variant: "blank", onClick: s, children: d })
|
|
39
|
-
] });
|
|
40
|
-
}
|
|
41
|
-
const D = ({ scrollable: p = !0, noBorder: d, header: s, children: l }) => /* @__PURE__ */ m($, { children: [
|
|
42
|
-
s,
|
|
43
|
-
/* @__PURE__ */ e(
|
|
44
|
-
"div",
|
|
45
|
-
{
|
|
46
|
-
className: I(F["multi-select"], {
|
|
47
|
-
[F["multi-select--no-border"]]: d
|
|
48
|
-
}),
|
|
49
|
-
children: /* @__PURE__ */ e(
|
|
50
|
-
"ul",
|
|
51
|
-
{
|
|
52
|
-
className: I(F["multi-select__list"], {
|
|
53
|
-
[F["multi-select__list--scrollable"]]: p
|
|
54
|
-
}),
|
|
55
|
-
id: "multi-select-list",
|
|
56
|
-
children: l
|
|
57
|
-
}
|
|
58
|
-
)
|
|
59
|
-
}
|
|
60
|
-
)
|
|
61
|
-
] });
|
|
62
|
-
D.MultiSelectHeader = se;
|
|
63
|
-
D.MultiSelectItem = ee;
|
|
64
|
-
const ie = "_linkform_1u5p2_1", ae = "_linkform__footer_1u5p2_12", E = {
|
|
65
|
-
linkform: ie,
|
|
66
|
-
"linkform__input-field": "_linkform__input-field_1u5p2_5",
|
|
67
|
-
linkform__footer: ae
|
|
68
|
-
}, Ye = M(
|
|
69
|
-
({
|
|
70
|
-
onCloseHandler: p,
|
|
71
|
-
onSaveHandler: d,
|
|
72
|
-
onRemoveHandler: s,
|
|
73
|
-
isLink: l = { active: !1, url: "", target: "_self" }
|
|
74
|
-
}, _) => {
|
|
75
|
-
const n = U(), [i, u] = g(l.target === "_blank"), [a, f] = g(l.url), [v, b] = g(null), h = N(null), t = (c) => {
|
|
76
|
-
f(c.target.value);
|
|
77
|
-
}, r = () => {
|
|
78
|
-
u((c) => !c);
|
|
79
|
-
}, k = (c) => !c && c.trim() === "" || te(c) === !1 ? (b(n.errortext.urlNotValid), !1) : (b(null), !0), o = () => {
|
|
80
|
-
k(a) && (d(a, i ? "_blank" : "_self"), y());
|
|
81
|
-
}, T = () => {
|
|
82
|
-
p(), y();
|
|
83
|
-
}, y = () => {
|
|
84
|
-
f(""), b(null);
|
|
85
|
-
}, H = () => {
|
|
86
|
-
s && (s(), y());
|
|
87
|
-
}, q = (c, V) => {
|
|
88
|
-
f(c), u(V);
|
|
89
|
-
}, B = () => {
|
|
90
|
-
h.current && h.current.focus();
|
|
91
|
-
};
|
|
92
|
-
return O(_, () => ({
|
|
93
|
-
clearForm: y,
|
|
94
|
-
focusFirstField: B,
|
|
95
|
-
setDefaults: q
|
|
96
|
-
})), /* @__PURE__ */ m("div", { className: E.linkform, children: [
|
|
97
|
-
/* @__PURE__ */ m(S, { className: E["linkform__input-field"], children: [
|
|
98
|
-
/* @__PURE__ */ e(w, { htmlFor: "linkUrl", children: n.links.linkLabel }),
|
|
99
|
-
/* @__PURE__ */ e(
|
|
100
|
-
L,
|
|
101
|
-
{
|
|
102
|
-
id: "linkUrl",
|
|
103
|
-
placeholder: "http(s)://",
|
|
104
|
-
value: a || "",
|
|
105
|
-
onChange: (c) => t(c),
|
|
106
|
-
onFocus: () => b(null),
|
|
107
|
-
ref: h
|
|
108
|
-
}
|
|
109
|
-
),
|
|
110
|
-
v && /* @__PURE__ */ e(re, { level: "error", feedback: v })
|
|
111
|
-
] }),
|
|
112
|
-
/* @__PURE__ */ m(S, { inline: !0, children: [
|
|
113
|
-
/* @__PURE__ */ e(oe, { id: "linkTarget", onChange: r, checked: i }),
|
|
114
|
-
/* @__PURE__ */ e(w, { htmlFor: "linkTarget", children: n.links.linkTarget })
|
|
115
|
-
] }),
|
|
116
|
-
/* @__PURE__ */ m("div", { className: E.linkform__footer, children: [
|
|
117
|
-
/* @__PURE__ */ e(C, { variant: "secondary", onClick: T, children: n.common.cancel }),
|
|
118
|
-
a && /* @__PURE__ */ e(C, { variant: "secondary", onClick: H, children: n.links.deleteLink }),
|
|
119
|
-
/* @__PURE__ */ e(C, { variant: "primary", onClick: o, children: a ? n.links.changeLink : n.links.addLink })
|
|
120
|
-
] })
|
|
121
|
-
] });
|
|
122
|
-
}
|
|
123
|
-
), ce = "_tableform_t5fpq_1", me = "_tableform__footer_t5fpq_12", x = {
|
|
124
|
-
tableform: ce,
|
|
125
|
-
"tableform__input-field": "_tableform__input-field_t5fpq_5",
|
|
126
|
-
tableform__footer: me
|
|
127
|
-
}, de = M(({ onCloseHandler: p, onSaveHandler: d }, s) => {
|
|
128
|
-
const l = U(), [_, n] = g(), [i, u] = g(), a = N(null), f = (t, r) => {
|
|
129
|
-
const k = t.target.value;
|
|
130
|
-
r === "row" ? n(parseInt(k)) : u(parseInt(k));
|
|
131
|
-
}, v = () => {
|
|
132
|
-
_ !== void 0 && i !== void 0 && (d(_, i), h());
|
|
133
|
-
}, b = () => {
|
|
134
|
-
p(), h();
|
|
135
|
-
}, h = () => {
|
|
136
|
-
n(void 0), u(void 0);
|
|
137
|
-
};
|
|
138
|
-
return O(s, () => ({
|
|
139
|
-
clearForm: h,
|
|
140
|
-
focusFirstField: () => {
|
|
141
|
-
var t;
|
|
142
|
-
return (t = a.current) == null ? void 0 : t.focus();
|
|
143
|
-
}
|
|
144
|
-
})), /* @__PURE__ */ m("div", { className: x.tableform, children: [
|
|
145
|
-
/* @__PURE__ */ m(S, { className: x["tableform__input-field"], children: [
|
|
146
|
-
/* @__PURE__ */ e(w, { htmlFor: "nrOfRows", children: l.table.nrofRows }),
|
|
147
|
-
/* @__PURE__ */ e(
|
|
148
|
-
L,
|
|
149
|
-
{
|
|
150
|
-
id: "nrOfRows",
|
|
151
|
-
placeholder: l.table.nrofRowsPlaceholder,
|
|
152
|
-
value: _ || "",
|
|
153
|
-
onChange: (t) => f(t, "row"),
|
|
154
|
-
ref: a
|
|
155
|
-
}
|
|
156
|
-
)
|
|
157
|
-
] }),
|
|
158
|
-
/* @__PURE__ */ m(S, { className: x["tableform__input-field"], children: [
|
|
159
|
-
/* @__PURE__ */ e(w, { htmlFor: "nrOfColumns", children: l.table.nrofColumns }),
|
|
160
|
-
/* @__PURE__ */ e(
|
|
161
|
-
L,
|
|
162
|
-
{
|
|
163
|
-
id: "nrOfColumns",
|
|
164
|
-
placeholder: l.table.nrofColumnsPlaceholder,
|
|
165
|
-
value: i || "",
|
|
166
|
-
onChange: (t) => f(t, "column")
|
|
167
|
-
}
|
|
168
|
-
)
|
|
169
|
-
] }),
|
|
170
|
-
/* @__PURE__ */ m("div", { className: x.tableform__footer, children: [
|
|
171
|
-
/* @__PURE__ */ e(C, { variant: "secondary", onClick: b, children: l.common.cancel }),
|
|
172
|
-
/* @__PURE__ */ e(C, { variant: "primary", onClick: v, disabled: !_ || !i, children: l.common.add })
|
|
173
|
-
] })
|
|
174
|
-
] });
|
|
175
|
-
}), ue = 200, Ge = M(({ isActive: p }, d) => {
|
|
176
|
-
const [s] = j(), { flyout: l, showFlyout: _, closeFlyout: n, isVisible: i } = le(), u = N(), a = N(null), f = N(!1), v = (t, r) => {
|
|
177
|
-
s.update(() => {
|
|
178
|
-
const k = P(), o = Q(t, r);
|
|
179
|
-
A(k) ? k.insertNodes([o]) : X().append(o);
|
|
180
|
-
const T = o.getFirstDescendant();
|
|
181
|
-
T && T.select();
|
|
182
|
-
}), n();
|
|
183
|
-
}, b = (t) => {
|
|
184
|
-
s.update(() => {
|
|
185
|
-
const r = P();
|
|
186
|
-
if (A(r)) {
|
|
187
|
-
let o = r.anchor.getNode();
|
|
188
|
-
for (; o !== null; ) {
|
|
189
|
-
if (A(r) && z(o))
|
|
190
|
-
switch (t) {
|
|
191
|
-
case "insertRowAbove":
|
|
192
|
-
case "insertRowBelow":
|
|
193
|
-
K(o, t);
|
|
194
|
-
break;
|
|
195
|
-
case "deleteRow":
|
|
196
|
-
J(o);
|
|
197
|
-
break;
|
|
198
|
-
case "insertColumnLeft":
|
|
199
|
-
case "insertColumnRight":
|
|
200
|
-
G(o, t);
|
|
201
|
-
break;
|
|
202
|
-
case "deleteColumn":
|
|
203
|
-
Y(o);
|
|
204
|
-
break;
|
|
205
|
-
case "deleteTable":
|
|
206
|
-
W(o);
|
|
207
|
-
break;
|
|
208
|
-
}
|
|
209
|
-
o = o.getParent();
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
});
|
|
213
|
-
}, h = {
|
|
214
|
-
children: /* @__PURE__ */ e(
|
|
215
|
-
de,
|
|
216
|
-
{
|
|
217
|
-
onCloseHandler: n,
|
|
218
|
-
onSaveHandler: (t, r) => v(t, r),
|
|
219
|
-
ref: u
|
|
220
|
-
}
|
|
221
|
-
)
|
|
222
|
-
};
|
|
223
|
-
return Z(() => {
|
|
224
|
-
var t, r;
|
|
225
|
-
i ? (f.current = !0, (r = u.current) == null || r.focusFirstField()) : ((t = u.current) == null || t.clearForm(), setTimeout(() => f.current = !1, ue));
|
|
226
|
-
}, [u, i]), O(d, () => ({
|
|
227
|
-
mutateTable: b
|
|
228
|
-
})), /* @__PURE__ */ e("div", { className: R["editor__toolbar-button-group"], children: /* @__PURE__ */ m("div", { className: R["editor__toolbar-button-flyoutwrapper"], children: [
|
|
229
|
-
/* @__PURE__ */ e(
|
|
230
|
-
"button",
|
|
231
|
-
{
|
|
232
|
-
onClick: () => !f.current && _(h),
|
|
233
|
-
className: I(R["editor__toolbar-button"], p && R["editor__toolbar-button--active"]),
|
|
234
|
-
"aria-label": "Table",
|
|
235
|
-
ref: a,
|
|
236
|
-
children: /* @__PURE__ */ e(ne, { name: "Table", size: 24 })
|
|
237
|
-
}
|
|
238
|
-
),
|
|
239
|
-
l
|
|
240
|
-
] }) });
|
|
241
|
-
});
|
|
242
|
-
export {
|
|
243
|
-
Ye as A,
|
|
244
|
-
D as M,
|
|
245
|
-
Ge as T,
|
|
246
|
-
se as a,
|
|
247
|
-
de as b
|
|
248
|
-
};
|
|
249
|
-
//# sourceMappingURL=TablePlugin-deK-rcE1.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TablePlugin-deK-rcE1.js","sources":["../src/components/MultiSelect/components/MultiSelectHeader.tsx","../src/components/MultiSelect/MultiSelect.tsx","../src/components/RteEditor/Plugins/LinkPlugin/AddLinkFrom.tsx","../src/components/RteEditor/Plugins/TablePlugin/AddTableFrom.tsx","../src/components/RteEditor/Plugins/TablePlugin/TablePlugin.tsx"],"sourcesContent":["import styles from 'components/MultiSelect/MultiSelect.module.css';\nimport { Label } from 'components/Label';\nimport { Button } from 'components';\n\nexport interface MultiSelectHeaderProps {\n label: string;\n clearTrigger?: string;\n onClear?: () => void;\n}\n\nexport function MultiSelectHeader({ label, clearTrigger, onClear }: MultiSelectHeaderProps) {\n return (\n <header className={styles['multi-select__header']}>\n <Label htmlFor=\"multi-select-list\">{label}</Label>\n {clearTrigger && (\n <Button variant={'blank'} onClick={onClear}>\n {clearTrigger}\n </Button>\n )}\n </header>\n );\n}\n","import clsx from 'clsx';\n\nimport type { PropsWithChildren, ReactNode } from 'react';\n\nimport styles from './MultiSelect.module.css';\n\nimport { MultiSelectItem } from 'components/MultiSelect/components/MultiSelectItem';\nimport { MultiSelectHeader } from 'components/MultiSelect/components/MultiSelectHeader';\n\nexport interface MultiSelectProps {\n /** `true` if the container should scroll on overflow; otherwise, `false` to resize the container to its contents. The default is `true`. */\n scrollable?: boolean;\n /** `true` to disable the border around the container; otherwise, `false`. The default is `false`. */\n noBorder?: boolean;\n /** The header contents. */\n header?: ReactNode;\n}\n\n/** Represents a component to list a number of checkboxes. */\nexport const MultiSelect = ({ scrollable = true, noBorder, header, children }: PropsWithChildren<MultiSelectProps>) => (\n <>\n {header}\n <div\n className={clsx(styles['multi-select'], {\n [styles['multi-select--no-border']]: noBorder,\n })}\n >\n <ul\n className={clsx(styles['multi-select__list'], {\n [styles['multi-select__list--scrollable']]: scrollable,\n })}\n id=\"multi-select-list\"\n >\n {children}\n </ul>\n </div>\n </>\n);\n\nMultiSelect.MultiSelectHeader = MultiSelectHeader;\nMultiSelect.MultiSelectItem = MultiSelectItem;\n","import { useState, forwardRef, useImperativeHandle, useRef } from 'react';\n\nimport type { ChangeEvent } from 'react';\nimport type { LinkType } from 'components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin';\n\nimport { validateUrlWithProtocol } from './helpers';\nimport styles from './AddLinkForm.module.css';\n\nimport { Button, Checkbox, FeedbackBox, FormField, InputField, Label } from 'components';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\n\ninterface AddLinkFormProps {\n onCloseHandler: () => void;\n onSaveHandler: (url: string, target: string) => void;\n onRemoveHandler?: () => void;\n isLink: LinkType;\n}\n\nexport interface addLinkFormMethods {\n clearForm: () => void;\n focusFirstField: () => void;\n setDefaults: (url: string, target: boolean) => void;\n}\n\nexport const AddLinkForm = forwardRef(\n (\n {\n onCloseHandler,\n onSaveHandler,\n onRemoveHandler,\n isLink = { active: false, url: '', target: '_self' },\n }: AddLinkFormProps,\n ref\n ): JSX.Element => {\n const t = useTranslation();\n const [target, setTarget] = useState<boolean>(isLink.target === '_blank');\n const [url, setUrl] = useState<string>(isLink.url);\n const [urlError, setUrlError] = useState<string | null>(null);\n const firstField = useRef<HTMLInputElement>(null);\n\n const handleUrl = (event: ChangeEvent<HTMLInputElement>) => {\n setUrl(event.target.value);\n };\n\n const handleTargetChange = () => {\n setTarget((prev) => !prev);\n };\n\n const validateUrl = (url: string): boolean => {\n if ((!url && url.trim() === '') || validateUrlWithProtocol(url) === false) {\n setUrlError(t.errortext.urlNotValid);\n return false;\n }\n setUrlError(null);\n return true;\n };\n\n const handleSave = () => {\n if (!validateUrl(url)) {\n return;\n }\n onSaveHandler(url, target ? '_blank' : '_self');\n resetForm();\n };\n\n const handleClose = () => {\n onCloseHandler();\n resetForm();\n };\n\n const resetForm = () => {\n setUrl('');\n setUrlError(null);\n };\n\n const handleRemoveHandler = () => {\n if (onRemoveHandler) {\n onRemoveHandler();\n resetForm();\n }\n };\n\n const setDefaults = (url: string, target: boolean) => {\n setUrl(url);\n setTarget(target);\n };\n\n const focusFirstField = () => {\n if (firstField.current) {\n firstField.current.focus();\n }\n };\n\n useImperativeHandle(ref, () => ({\n clearForm: resetForm,\n focusFirstField,\n setDefaults,\n }));\n\n return (\n <div className={styles['linkform']}>\n <FormField className={styles['linkform__input-field']}>\n <Label htmlFor=\"linkUrl\">{t.links.linkLabel}</Label>\n <InputField\n id=\"linkUrl\"\n placeholder=\"http(s)://\"\n value={url ? url : ''}\n onChange={(event) => handleUrl(event)}\n onFocus={() => setUrlError(null)}\n ref={firstField}\n />\n {urlError && <FeedbackBox level=\"error\" feedback={urlError} />}\n </FormField>\n <FormField inline>\n <Checkbox id=\"linkTarget\" onChange={handleTargetChange} checked={target} />\n <Label htmlFor=\"linkTarget\">{t.links.linkTarget}</Label>\n </FormField>\n <div className={styles['linkform__footer']}>\n <Button variant={'secondary'} onClick={handleClose}>\n {t.common.cancel}\n </Button>\n {url && (\n <Button variant={'secondary'} onClick={handleRemoveHandler}>\n {t.links.deleteLink}\n </Button>\n )}\n <Button variant={'primary'} onClick={handleSave}>\n {url ? t.links.changeLink : t.links.addLink}\n </Button>\n </div>\n </div>\n );\n }\n);\n","import { useState, forwardRef, useImperativeHandle, useRef } from 'react';\n\nimport type { ChangeEvent } from 'react';\n\nimport styles from './AddTableFrom.module.css';\n\nimport { Button, FormField, InputField, Label } from 'components';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\n\ninterface AddTableFormProps {\n onCloseHandler: () => void;\n onSaveHandler: (nrfOfRows: number, nrOfColumns: number) => void;\n}\n\nexport interface addTableForm {\n clearForm: () => void;\n focusFirstField: () => void;\n}\n\nexport const AddTableForm = forwardRef(({ onCloseHandler, onSaveHandler }: AddTableFormProps, ref) => {\n const t = useTranslation();\n const [rowCount, setRowCount] = useState<number>();\n const [columnCount, setColumnCount] = useState<number>();\n const firstField = useRef<HTMLInputElement>(null);\n\n const handleDimentionChange = (event: ChangeEvent<HTMLInputElement>, type: string) => {\n const value = event.target.value;\n type === 'row' ? setRowCount(parseInt(value)) : setColumnCount(parseInt(value));\n };\n\n const handleSave = () => {\n if (rowCount !== undefined && columnCount !== undefined) {\n onSaveHandler(rowCount, columnCount);\n resetForm();\n }\n };\n\n const handleClose = () => {\n onCloseHandler();\n resetForm();\n };\n\n const resetForm = () => {\n setRowCount(undefined);\n setColumnCount(undefined);\n };\n\n useImperativeHandle(ref, () => ({\n clearForm: resetForm,\n focusFirstField: () => firstField.current?.focus(),\n }));\n\n return (\n <div className={styles['tableform']}>\n <FormField className={styles['tableform__input-field']}>\n <Label htmlFor=\"nrOfRows\">{t.table.nrofRows}</Label>\n <InputField\n id=\"nrOfRows\"\n placeholder={t.table.nrofRowsPlaceholder}\n value={rowCount ? rowCount : ''}\n onChange={(event) => handleDimentionChange(event, 'row')}\n ref={firstField}\n />\n </FormField>\n <FormField className={styles['tableform__input-field']}>\n <Label htmlFor=\"nrOfColumns\">{t.table.nrofColumns}</Label>\n <InputField\n id=\"nrOfColumns\"\n placeholder={t.table.nrofColumnsPlaceholder}\n value={columnCount ? columnCount : ''}\n onChange={(event) => handleDimentionChange(event, 'column')}\n />\n </FormField>\n <div className={styles['tableform__footer']}>\n <Button variant={'secondary'} onClick={handleClose}>\n {t.common.cancel}\n </Button>\n <Button variant={'primary'} onClick={handleSave} disabled={!rowCount || !columnCount}>\n {t.common.add}\n </Button>\n </div>\n </div>\n );\n});\n","import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport clsx from 'clsx';\nimport { $isTableCellNode } from '@lexical/table';\nimport { $getSelection, $isRangeSelection, $getRoot } from 'lexical';\nimport { useRef, useEffect, useImperativeHandle, forwardRef } from 'react';\n\nimport type { TextNode, ElementNode } from 'lexical';\nimport type { addTableForm } from './AddTableFrom';\nimport type { Actions } from './TableCellContextMenu';\n\nimport { AddTableForm } from './AddTableFrom';\nimport { createTable, deleteColumn, deleteRow, deleteTable, insertColumn, insertRow } from './helpers';\n\nimport { useFlyout } from 'components/RteEditor/hooks/useFlyout';\nimport { Icon } from 'components';\nimport styles from 'components/RteEditor/RteEditor.module.css';\n\nconst PREVENT_OPEN_DELAY = 200;\n\ninterface TablePluginProps {\n isActive: boolean;\n}\n\nexport interface TableMutation {\n mutateTable: (type: Actions) => void;\n}\n\nexport const TablePlugin = forwardRef(({ isActive }: TablePluginProps, ref): JSX.Element => {\n const [editor] = useLexicalComposerContext();\n const { flyout, showFlyout, closeFlyout, isVisible } = useFlyout();\n const addTableForm = useRef<addTableForm>();\n const buttonRef = useRef<HTMLButtonElement>(null);\n const preventOpen = useRef(false);\n\n const insertTable = (nrOfRows: number, nrOfColumns: number) => {\n editor.update(() => {\n const selection = $getSelection();\n const tableNode = createTable(nrOfRows, nrOfColumns);\n if ($isRangeSelection(selection)) {\n selection.insertNodes([tableNode]);\n } else {\n $getRoot().append(tableNode);\n }\n const firstDescendant = tableNode.getFirstDescendant();\n if (firstDescendant) {\n (firstDescendant as TextNode).select();\n }\n });\n\n closeFlyout();\n };\n\n const mutateTable = (action: Actions) => {\n editor.update(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n const anchorNode = selection.anchor.getNode();\n let currentNode: TextNode | ElementNode | null = anchorNode;\n\n while (currentNode !== null) {\n if ($isRangeSelection(selection)) {\n if ($isTableCellNode(currentNode)) {\n switch (action) {\n case 'insertRowAbove':\n case 'insertRowBelow':\n insertRow(currentNode, action);\n break;\n case 'deleteRow':\n deleteRow(currentNode);\n break;\n case 'insertColumnLeft':\n case 'insertColumnRight':\n insertColumn(currentNode, action);\n break;\n case 'deleteColumn':\n deleteColumn(currentNode);\n break;\n case 'deleteTable':\n deleteTable(currentNode);\n break;\n }\n }\n }\n currentNode = currentNode.getParent();\n }\n }\n });\n };\n\n const flyoutOptions = {\n children: (\n <AddTableForm\n onCloseHandler={closeFlyout}\n onSaveHandler={(rows, columns) => insertTable(rows, columns)}\n ref={addTableForm}\n />\n ),\n };\n\n useEffect(() => {\n if (!isVisible) {\n addTableForm.current?.clearForm();\n setTimeout(() => (preventOpen.current = false), PREVENT_OPEN_DELAY);\n } else {\n preventOpen.current = true;\n addTableForm.current?.focusFirstField();\n }\n }, [addTableForm, isVisible]);\n\n useImperativeHandle(ref, () => ({\n mutateTable,\n }));\n\n return (\n <div className={styles['editor__toolbar-button-group']}>\n <div className={styles['editor__toolbar-button-flyoutwrapper']}>\n <button\n onClick={() => !preventOpen.current && showFlyout(flyoutOptions)}\n className={clsx(styles['editor__toolbar-button'], isActive && styles[`editor__toolbar-button--active`])}\n aria-label={`Table`}\n ref={buttonRef}\n >\n <Icon name=\"Table\" size={24} />\n </button>\n {flyout}\n </div>\n </div>\n );\n});\n"],"names":["MultiSelectHeader","label","clearTrigger","onClear","jsxs","styles","jsx","Label","Button","MultiSelect","scrollable","noBorder","header","children","Fragment","clsx","MultiSelectItem","AddLinkForm","forwardRef","onCloseHandler","onSaveHandler","onRemoveHandler","isLink","ref","t","useTranslation","target","setTarget","useState","url","setUrl","urlError","setUrlError","firstField","useRef","handleUrl","event","handleTargetChange","prev","validateUrl","validateUrlWithProtocol","handleSave","resetForm","handleClose","handleRemoveHandler","setDefaults","focusFirstField","useImperativeHandle","FormField","InputField","FeedbackBox","Checkbox","AddTableForm","rowCount","setRowCount","columnCount","setColumnCount","handleDimentionChange","type","value","_a","PREVENT_OPEN_DELAY","TablePlugin","isActive","editor","useLexicalComposerContext","flyout","showFlyout","closeFlyout","isVisible","useFlyout","addTableForm","buttonRef","preventOpen","insertTable","nrOfRows","nrOfColumns","selection","$getSelection","tableNode","createTable","$isRangeSelection","$getRoot","firstDescendant","mutateTable","action","currentNode","$isTableCellNode","insertRow","deleteRow","insertColumn","deleteColumn","deleteTable","flyoutOptions","rows","columns","useEffect","_b","Icon"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers-BRIyyVa6.js","sources":["../node_modules/@lexical/link/LexicalLink.prod.mjs","../node_modules/@lexical/react/LexicalAutoLinkPlugin.prod.mjs","../src/components/RteEditor/Plugins/LinkPlugin/helpers.ts"],"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{addClassNamesToElement as t,isHTMLAnchorElement as e,$findMatchingParent as r}from\"@lexical/utils\";import{createCommand as i,ElementNode as n,$isRangeSelection as l,$applyNodeReplacement as s,$isElementNode as u,$getSelection as _}from\"lexical\";const o=new Set([\"http:\",\"https:\",\"mailto:\",\"sms:\",\"tel:\"]);class a extends n{static getType(){return\"link\"}static clone(t){return new a(t.__url,{rel:t.__rel,target:t.__target,title:t.__title},t.__key)}constructor(t,e={},r){super(r);const{target:i=null,rel:n=null,title:l=null}=e;this.__url=t,this.__target=i,this.__rel=n,this.__title=l}createDOM(e){const r=document.createElement(\"a\");return r.href=this.sanitizeUrl(this.__url),null!==this.__target&&(r.target=this.__target),null!==this.__rel&&(r.rel=this.__rel),null!==this.__title&&(r.title=this.__title),t(r,e.theme.link),r}updateDOM(t,e,r){if(e instanceof HTMLAnchorElement){const r=this.__url,i=this.__target,n=this.__rel,l=this.__title;r!==t.__url&&(e.href=r),i!==t.__target&&(i?e.target=i:e.removeAttribute(\"target\")),n!==t.__rel&&(n?e.rel=n:e.removeAttribute(\"rel\")),l!==t.__title&&(l?e.title=l:e.removeAttribute(\"title\"))}return!1}static importDOM(){return{a:t=>({conversion:h,priority:1})}}static importJSON(t){const e=c(t.url,{rel:t.rel,target:t.target,title:t.title});return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}sanitizeUrl(t){try{const e=new URL(t);if(!o.has(e.protocol))return\"about:blank\"}catch(e){return t}return t}exportJSON(){return{...super.exportJSON(),rel:this.getRel(),target:this.getTarget(),title:this.getTitle(),type:\"link\",url:this.getURL(),version:1}}getURL(){return this.getLatest().__url}setURL(t){this.getWritable().__url=t}getTarget(){return this.getLatest().__target}setTarget(t){this.getWritable().__target=t}getRel(){return this.getLatest().__rel}setRel(t){this.getWritable().__rel=t}getTitle(){return this.getLatest().__title}setTitle(t){this.getWritable().__title=t}insertNewAfter(t,e=!0){const r=c(this.__url,{rel:this.__rel,target:this.__target,title:this.__title});return this.insertAfter(r,e),r}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(t,e,r){if(!l(e))return!1;const i=e.anchor.getNode(),n=e.focus.getNode();return this.isParentOf(i)&&this.isParentOf(n)&&e.getTextContent().length>0}isEmailURI(){return this.__url.startsWith(\"mailto:\")}isWebSiteURI(){return this.__url.startsWith(\"https://\")||this.__url.startsWith(\"http://\")}}function h(t){let r=null;if(e(t)){const e=t.textContent;(null!==e&&\"\"!==e||t.children.length>0)&&(r=c(t.getAttribute(\"href\")||\"\",{rel:t.getAttribute(\"rel\"),target:t.getAttribute(\"target\"),title:t.getAttribute(\"title\")}))}return{node:r}}function c(t,e){return s(new a(t,e))}function g(t){return t instanceof a}class f extends a{constructor(t,e={},r){super(t,e,r),this.__isUnlinked=void 0!==e.isUnlinked&&null!==e.isUnlinked&&e.isUnlinked}static getType(){return\"autolink\"}static clone(t){return new f(t.__url,{isUnlinked:t.__isUnlinked,rel:t.__rel,target:t.__target,title:t.__title},t.__key)}getIsUnlinked(){return this.__isUnlinked}setIsUnlinked(t){const e=this.getWritable();return e.__isUnlinked=t,e}createDOM(t){return this.__isUnlinked?document.createElement(\"span\"):super.createDOM(t)}updateDOM(t,e,r){return super.updateDOM(t,e,r)||t.__isUnlinked!==this.__isUnlinked}static importJSON(t){const e=d(t.url,{isUnlinked:t.isUnlinked,rel:t.rel,target:t.target,title:t.title});return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}static importDOM(){return null}exportJSON(){return{...super.exportJSON(),isUnlinked:this.__isUnlinked,type:\"autolink\",version:1}}insertNewAfter(t,e=!0){const r=this.getParentOrThrow().insertNewAfter(t,e);if(u(r)){const t=d(this.__url,{isUnlinked:this.__isUnlinked,rel:this.__rel,target:this.__target,title:this.__title});return r.append(t),t}return null}}function d(t,e){return s(new f(t,e))}function p(t){return t instanceof f}const U=i(\"TOGGLE_LINK_COMMAND\");function m(t,e={}){const{target:i,title:n}=e,s=void 0===e.rel?\"noreferrer\":e.rel,o=_();if(!l(o))return;const a=o.extract();if(null===t)a.forEach((t=>{const e=r(t,(t=>!p(t)&&g(t)));if(e){const t=e.getChildren();for(let r=0;r<t.length;r++)e.insertBefore(t[r]);e.remove()}}));else{if(1===a.length){const e=function(t,e){let r=t;for(;null!==r&&null!==r.getParent()&&!e(r);)r=r.getParentOrThrow();return e(r)?r:null}(a[0],g);if(null!==e)return e.setURL(t),void 0!==i&&e.setTarget(i),null!==s&&e.setRel(s),void(void 0!==n&&e.setTitle(n))}let e=null,r=null;a.forEach((l=>{const _=l.getParent();if(_!==r&&null!==_&&(!u(l)||l.isInline())){if(g(_))return r=_,_.setURL(t),void 0!==i&&_.setTarget(i),null!==s&&r.setRel(s),void(void 0!==n&&r.setTitle(n));if(_.is(e)||(e=_,r=c(t,{rel:s,target:i,title:n}),g(_)?null===l.getPreviousSibling()?_.insertBefore(r):_.insertAfter(r):l.insertBefore(r)),g(l)){if(l.is(r))return;if(null!==r){const t=l.getChildren();for(let e=0;e<t.length;e++)r.append(t[e])}l.remove()}else null!==r&&r.append(l)}}))}}const k=m;export{d as $createAutoLinkNode,c as $createLinkNode,p as $isAutoLinkNode,g as $isLinkNode,m as $toggleLink,f as AutoLinkNode,a as LinkNode,U as TOGGLE_LINK_COMMAND,k as toggleLink};\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{AutoLinkNode as t,$isAutoLinkNode as e,$isLinkNode as n,TOGGLE_LINK_COMMAND as r,$createAutoLinkNode as l}from\"@lexical/link\";import{useLexicalComposerContext as o}from\"@lexical/react/LexicalComposerContext\";import{mergeRegister as i}from\"@lexical/utils\";import{TextNode as s,$getSelection as u,$isRangeSelection as g,COMMAND_PRIORITY_LOW as c,$isTextNode as a,$isElementNode as f,$isLineBreakNode as h,$createTextNode as x,$isNodeSelection as p}from\"lexical\";import{useEffect as d}from\"react\";function m(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var T=m((function(t){const e=new URLSearchParams;e.append(\"code\",t);for(let t=1;t<arguments.length;t++)e.append(\"v\",arguments[t]);throw Error(`Minified Lexical error #${t}; visit https://lexical.dev/docs/error?${e} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));function C(t,e=(t=>t)){return n=>{const r=t.exec(n);return null===r?null:{index:r.index,length:r[0].length,text:r[0],url:e(r[0])}}}function b(t,e){for(let n=0;n<e.length;n++){const r=e[n](t);if(r)return r}return null}const v=/[.,;\\s]/;function S(t){return v.test(t)}function U(t){return S(t[t.length-1])}function L(t){return S(t[0])}function R(t){let e=t.getPreviousSibling();return f(e)&&(e=e.getLastDescendant()),null===e||h(e)||a(e)&&U(e.getTextContent())}function k(t){let e=t.getNextSibling();return f(e)&&(e=e.getFirstDescendant()),null===e||h(e)||a(e)&&L(e.getTextContent())}function y(t,e,n,r){if(!(t>0?S(n[t-1]):R(r[0])))return!1;return e<n.length?S(n[e]):k(r[r.length-1])}function D(t,e,n){const r=[],l=[],o=[];let i=0,s=0;const u=[...t];for(;u.length>0;){const t=u[0],g=t.getTextContent().length,c=s;s+g<=e?(r.push(t),i+=g):c>=n?o.push(t):l.push(t),s+=g,u.shift()}return[i,r,l,o]}function N(t,e,n,r){const o=l(r.url,r.attributes);if(1===t.length){let l,i=t[0];0===e?[l,i]=i.splitText(n):[,l,i]=i.splitText(e,n);const s=x(r.text);return s.setFormat(l.getFormat()),s.setDetail(l.getDetail()),s.setStyle(l.getStyle()),o.append(s),l.replace(o),i}if(t.length>1){const r=t[0];let l,i=r.getTextContent().length;0===e?l=r:[,l]=r.splitText(e);const s=[];let c;for(let e=1;e<t.length;e++){const r=t[e],l=r.getTextContent().length,o=i;if(o<n)if(i+l<=n)s.push(r);else{const[t,e]=r.splitText(n-o);s.push(t),c=e}i+=l}const f=u(),h=f?f.getNodes().find(a):void 0,d=x(l.getTextContent());return d.setFormat(l.getFormat()),d.setDetail(l.getDetail()),d.setStyle(l.getStyle()),o.append(d,...s),h&&h===l&&(g(f)?d.select(f.anchor.offset,f.focus.offset):p(f)&&d.select(0,d.getTextContent().length)),l.replace(o),c}}function P(t,e,n){const r=t.getChildren(),l=r.length;for(let e=0;e<l;e++){const l=r[e];if(!a(l)||!l.isSimpleText())return I(t),void n(null,t.getURL())}const o=t.getTextContent(),i=b(o,e);if(null===i||i.text!==o)return I(t),void n(null,t.getURL());if(!R(t)||!k(t))return I(t),void n(null,t.getURL());const s=t.getURL();if(s!==i.url&&(t.setURL(i.url),n(i.url,s)),i.attributes){const e=t.getRel();e!==i.attributes.rel&&(t.setRel(i.attributes.rel||null),n(i.attributes.rel||null,e));const r=t.getTarget();r!==i.attributes.target&&(t.setTarget(i.attributes.target||null),n(i.attributes.target||null,r))}}function I(t){const e=t.getChildren();for(let n=e.length-1;n>=0;n--)t.insertAfter(e[n]);return t.remove(),e.map((t=>t.getLatest()))}function w(l,o,f){d((()=>{l.hasNodes([t])||T(77);const h=(t,e)=>{f&&f(t,e)};return i(l.registerNodeTransform(s,(t=>{const r=t.getParentOrThrow(),l=t.getPreviousSibling();if(e(r)&&!r.getIsUnlinked())P(r,o,h);else if(!n(r)){if(t.isSimpleText()&&(L(t.getTextContent())||!e(l))){const e=function(t){const e=[t];let n=t.getNextSibling();for(;null!==n&&a(n)&&n.isSimpleText()&&(e.push(n),!/[\\s]/.test(n.getTextContent()));)n=n.getNextSibling();return e}(t);!function(t,e,n){let r=[...t];const l=r.map((t=>t.getTextContent())).join(\"\");let o,i=l,s=0;for(;(o=b(i,e))&&null!==o;){const t=o.index,e=t+o.length;if(y(s+t,s+e,l,r)){const[l,,i,u]=D(r,s+t,s+e),g=N(i,s+t-l,s+e-l,o);r=g?[g,...u]:u,n(o.url,null),s=0}else s+=e;i=i.substring(e)}}(e,o,h)}!function(t,n,r){const l=t.getPreviousSibling(),o=t.getNextSibling(),i=t.getTextContent();var s;!e(l)||l.getIsUnlinked()||L(i)&&(s=i,!(l.isEmailURI()?/^\\.[a-zA-Z]{2,}/.test(s):/^\\.[a-zA-Z0-9]{1,}/.test(s)))||(l.append(t),P(l,n,r),r(null,l.getURL())),!e(o)||o.getIsUnlinked()||U(i)||(I(o),P(o,n,r),r(null,o.getURL()))}(t,o,h)}})),l.registerCommand(r,(t=>{const n=u();if(null!==t||!g(n))return!1;return n.extract().forEach((t=>{const n=t.getParent();if(e(n))return n.setIsUnlinked(!n.getIsUnlinked()),n.markDirty(),!0})),!1}),c))}),[l,o,f])}function F({matchers:t,onChange:e}){const[n]=o();return w(n,t,e),null}export{F as AutoLinkPlugin,C as createLinkMatcherWithRegExp};\n","import { createLinkMatcherWithRegExp } from '@lexical/react/LexicalAutoLinkPlugin';\nimport { $isLinkNode } from '@lexical/link';\nimport { $isListNode } from '@lexical/list';\n\nimport type { ElementNode, TextNode } from 'lexical';\nimport type { LinkType } from 'components/RteEditor/Plugins/ToolbarPlugin';\n\nconst PROTOCOL_REGEX = /^(http|https):\\/\\//;\n\nconst URL_REGEX =\n /(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,})/;\n\nconst URL_PROTOCOL_REGEX = /(https?:\\/\\/(?:www\\.)?[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,})/;\n\nexport const validateUrl = (url: string): boolean => {\n return url === 'https://' || URL_REGEX.test(url);\n};\n\nexport const validateUrlWithProtocol = (url: string): boolean => {\n return url === 'https://' || URL_PROTOCOL_REGEX.test(url);\n};\n\nexport const MATCHERS = [\n createLinkMatcherWithRegExp(URL_REGEX, (text: string): string => {\n return !PROTOCOL_REGEX.test(text) ? `//${text}` : text;\n }),\n];\n\nexport const getNodeTag = (anchorNode: ElementNode | TextNode, tagToMatch: string): boolean | LinkType => {\n let currentNode: TextNode | ElementNode | null = anchorNode;\n let tag: string | null;\n\n while (currentNode !== null) {\n if (tagToMatch === 'a') {\n if ($isLinkNode(currentNode)) {\n return { active: true, url: currentNode.__url, target: !currentNode.__target ? '_self' : currentNode.__target };\n }\n }\n\n if (tagToMatch === 'ul' || tagToMatch === 'ol') {\n if ($isListNode(currentNode)) {\n tag = currentNode.getTag();\n return tag === tagToMatch;\n }\n }\n\n currentNode = currentNode.getParent();\n }\n\n return false;\n};\n"],"names":["o","a","n","i","l","e","r","t","h","c","s","g","f","d","u","p","U","m","_","T","C","b","v","S","L","R","k","y","D","N","x","P","I","w","F","PROTOCOL_REGEX","URL_REGEX","URL_PROTOCOL_REGEX","validateUrl","url","validateUrlWithProtocol","MATCHERS","createLinkMatcherWithRegExp","text","getNodeTag","anchorNode","tagToMatch","currentNode","tag","$isLinkNode","$isListNode"],"mappings":"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","x_google_ignoreList":[0,1]}
|