@uva-glass/component-library 3.52.10 → 3.53.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/dist/{Lexical.prod-sd_e2sqT.js → Lexical.prod-DH2XfwvA.js} +58 -58
- package/dist/{Lexical.prod-sd_e2sqT.js.map → Lexical.prod-DH2XfwvA.js.map} +1 -1
- package/dist/{LexicalClipboard.prod-Co2PF1UJ.js → LexicalClipboard.prod-DTuNvXAS.js} +22 -22
- package/dist/{LexicalClipboard.prod-Co2PF1UJ.js.map → LexicalClipboard.prod-DTuNvXAS.js.map} +1 -1
- package/dist/{LexicalLink.prod-BCE6Bg2N.js → LexicalLink.prod-BV5Y2RYj.js} +8 -9
- package/dist/{LexicalLink.prod-BCE6Bg2N.js.map → LexicalLink.prod-BV5Y2RYj.js.map} +1 -1
- package/dist/{LexicalList.prod-CIB0K0ja.js → LexicalList.prod-DA9du3qx.js} +4 -4
- package/dist/{LexicalList.prod-CIB0K0ja.js.map → LexicalList.prod-DA9du3qx.js.map} +1 -1
- package/dist/{LexicalSelection.prod-CCmcTP6S.js → LexicalSelection.prod-mQk00-U_.js} +2 -2
- package/dist/{LexicalSelection.prod-CCmcTP6S.js.map → LexicalSelection.prod-mQk00-U_.js.map} +1 -1
- package/dist/{LexicalTable.prod-Oa2YPHLl.js → LexicalTable.prod-RGq0GKAR.js} +4 -4
- package/dist/{LexicalTable.prod-Oa2YPHLl.js.map → LexicalTable.prod-RGq0GKAR.js.map} +1 -1
- package/dist/{LexicalUtils.prod-CjKjgnmx.js → LexicalUtils.prod-DU4QwthB.js} +2 -2
- package/dist/{LexicalUtils.prod-CjKjgnmx.js.map → LexicalUtils.prod-DU4QwthB.js.map} +1 -1
- package/dist/RteEditor.module-DaBh86FK.js +41 -0
- package/dist/RteEditor.module-DaBh86FK.js.map +1 -0
- package/dist/{TableCellResizerPlugin-DATbSzfg.js → TableCellResizerPlugin-DRwI83s2.js} +4 -4
- package/dist/{TableCellResizerPlugin-DATbSzfg.js.map → TableCellResizerPlugin-DRwI83s2.js.map} +1 -1
- package/dist/{TablePlugin-CqCjNBW_.js → TablePlugin-DmE96vN7.js} +20 -20
- package/dist/{TablePlugin-CqCjNBW_.js.map → TablePlugin-DmE96vN7.js.map} +1 -1
- package/dist/assets/AddCatalogueLinkForm.css +1 -0
- package/dist/assets/Flyout.css +1 -1
- package/dist/assets/RteEditor.css +1 -1
- package/dist/assets/variables.css +72 -72
- package/dist/chunk-SS2NHR7W-qmI2h7CJ.js +4507 -0
- package/dist/chunk-SS2NHR7W-qmI2h7CJ.js.map +1 -0
- package/dist/{client-CFLMKOFW.js → client-D4oO7Spw.js} +11 -11
- package/dist/{client-CFLMKOFW.js.map → client-D4oO7Spw.js.map} +1 -1
- package/dist/components/Accordion/Accordion.test.js +2 -2
- package/dist/components/AccordionCard/AccordionCard.test.js +2 -2
- package/dist/components/ActionList/ActionList.test.js +2 -2
- package/dist/components/AppStatusBar/AppStatusBar.test.js +1 -1
- package/dist/components/Attention/Attention.test.js +1 -1
- package/dist/components/Backdrop/Backdrop.test.js +1 -1
- package/dist/components/Buttons/Button.stories.js +1 -1
- package/dist/components/Buttons/Button.test.js +1 -1
- package/dist/components/Buttons/LinkButton.stories.js +1 -1
- package/dist/components/Buttons/LinkButton.test.js +1 -1
- package/dist/components/Buttons/MenuButton.stories.js +1 -1
- package/dist/components/Buttons/MenuButton.test.js +1 -1
- package/dist/components/Card/Card.test.js +1 -1
- package/dist/components/Checkbox/Checkbox.stories.js +1 -1
- package/dist/components/Checkbox/Checkbox.test.js +2 -2
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js +1 -1
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js +1 -1
- package/dist/components/CheckboxTree/CheckboxTree.js +1 -1
- package/dist/components/CheckboxTree/CheckboxTree.stories.js +111 -55
- package/dist/components/CheckboxTree/CheckboxTree.stories.js.map +1 -1
- package/dist/components/Chip/Chip.stories.js +1 -1
- package/dist/components/ControlsButton/ControlsButton.stories.js +1 -1
- package/dist/components/Drawer/Drawer.stories.js +1 -1
- package/dist/components/FeedbackBar/FeedbackBar.test.js +1 -1
- package/dist/components/FormInput/FormInput.d.ts +3 -1
- package/dist/components/FormInput/FormInput.js +26 -24
- package/dist/components/FormInput/FormInput.js.map +1 -1
- package/dist/components/FormInput/FormInput.stories.js +1 -1
- package/dist/components/IconButton/IconButton.stories.js +1 -1
- package/dist/components/InputField/InputField.stories.js +2 -2
- package/dist/components/Label/Label.test.js +1 -1
- package/dist/components/MetaDataBar/MetaDataBar.test.js +1 -1
- package/dist/components/ModalDialog/ModalDialog.stories.js +1 -1
- package/dist/components/MultiSelect/MultiSelect.js +1 -1
- package/dist/components/MultiSelect/MultiSelect.stories.js +2 -2
- package/dist/components/MultiSelect/components/MultiSelectHeader.js +1 -1
- package/dist/components/MultiSelect/index.js +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.stories.js +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.test.js +1 -1
- package/dist/components/Notification/Notification.stories.js +1 -1
- package/dist/components/Notification/Notification.test.js +1 -1
- package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js +1 -1
- package/dist/components/PeriodSelector/PeriodSelector.js +1 -1
- package/dist/components/PeriodSelector/PeriodSelector.stories.js +1 -1
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js +1 -1
- package/dist/components/RadioGroup/RadioGroup.stories.js +1 -1
- package/dist/components/RadioGroup/Radiogroup.test.js +1 -1
- package/dist/components/RadioTabSelector/RadioTabSelector.js +1 -1
- package/dist/components/RadioTabSelector/RadioTabSelector.stories.js +1 -1
- package/dist/components/RteEditor/EditorHeader/EditorHeader.js +1 -1
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +2 -2
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/AddCatalogueLinkForm.d.ts +22 -0
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/AddCatalogueLinkForm.js +108 -0
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/AddCatalogueLinkForm.js.map +1 -0
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/index.d.ts +1 -0
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/index.js +5 -0
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/index.js.map +1 -0
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.d.ts +8 -0
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js +182 -0
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js.map +1 -0
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/index.d.ts +1 -0
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/index.js +5 -0
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/index.js.map +1 -0
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +8 -8
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js +2 -2
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.d.ts +0 -2
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +112 -132
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/index.js +2 -3
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +52 -57
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js +3 -3
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.js +4 -4
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +2 -2
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +6 -6
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js +24 -23
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js.map +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.d.ts +4 -1
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +65 -52
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/index.js +8 -9
- package/dist/components/RteEditor/Providers/LanguageProvider.d.ts +2 -2
- package/dist/components/RteEditor/Providers/LanguageProvider.js +4 -4
- package/dist/components/RteEditor/Providers/LanguageProvider.js.map +1 -1
- package/dist/components/RteEditor/RteEditor.d.ts +8 -3
- package/dist/components/RteEditor/RteEditor.js +334 -309
- package/dist/components/RteEditor/RteEditor.js.map +1 -1
- package/dist/components/RteEditor/RteEditor.stories.js +69 -33
- package/dist/components/RteEditor/RteEditor.stories.js.map +1 -1
- package/dist/components/RteEditor/UvaTheme/UvaTheme.d.ts +1 -0
- package/dist/components/RteEditor/UvaTheme/UvaTheme.js +3 -2
- package/dist/components/RteEditor/UvaTheme/UvaTheme.js.map +1 -1
- package/dist/components/RteEditor/helpers.js +26 -23
- package/dist/components/RteEditor/helpers.js.map +1 -1
- package/dist/components/RteEditor/hooks/components/Flyout.js +6 -16
- package/dist/components/RteEditor/hooks/components/Flyout.js.map +1 -1
- package/dist/components/RteEditor/hooks/useTranslation.d.ts +39 -1
- package/dist/components/RteEditor/hooks/useTranslation.js +6 -6
- package/dist/components/RteEditor/hooks/useTranslation.js.map +1 -1
- package/dist/components/RteEditor/mockCatalogueSearchData.d.ts +18 -0
- package/dist/components/RteEditor/mockCatalogueSearchData.js +485 -0
- package/dist/components/RteEditor/mockCatalogueSearchData.js.map +1 -0
- package/dist/components/RteEditor/mockRteContent.d.ts +1 -1
- package/dist/components/RteEditor/mockRteContent.js +8 -6
- package/dist/components/RteEditor/mockRteContent.js.map +1 -1
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.d.ts +29 -0
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js +126 -0
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js.map +1 -0
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/index.d.ts +1 -0
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/index.js +11 -0
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/index.js.map +1 -0
- package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js +58 -52
- package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js.map +1 -1
- package/dist/components/RteEditor/nodes/index.d.ts +1 -0
- package/dist/components/RteEditor/nodes/index.js +14 -6
- package/dist/components/RteEditor/nodes/index.js.map +1 -1
- package/dist/components/RteEditor/translations.d.ts +41 -3
- package/dist/components/RteEditor/translations.js +44 -6
- package/dist/components/RteEditor/translations.js.map +1 -1
- package/dist/components/SelectListbox/SelectListBox.stories.js +1 -1
- package/dist/components/Sortable/Sortable.stories.js +1 -1
- package/dist/components/StatusBadge/StatusBadge.test.js +1 -1
- package/dist/components/TextArea/TextArea.stories.js +1 -1
- package/dist/components/TextArea/TextArea.test.js +2 -2
- package/dist/components/ToggleSwitch/ToggleSwitch.stories.js +1 -1
- package/dist/components/VarIndicator/VarIndicator.stories.js +1 -1
- package/dist/components/VarIndicator/VarIndicator.test.js +2 -2
- package/dist/components/index.js +1 -1
- package/dist/{index-DRQMriwT.js → index-B4NxQN5d.js} +8668 -10004
- package/dist/index-B4NxQN5d.js.map +1 -0
- package/dist/{index-BKK3EWVW.js → index-ZQcmo1D_.js} +2 -2
- package/dist/{index-BKK3EWVW.js.map → index-ZQcmo1D_.js.map} +1 -1
- package/dist/index.js +1 -1
- package/dist/react-18-BczhA0zC.js +41 -0
- package/dist/react-18-BczhA0zC.js.map +1 -0
- package/dist/{react.esm-BjO203QT.js → react.esm-BDo_tPxu.js} +2 -2
- package/dist/{react.esm-BjO203QT.js.map → react.esm-BDo_tPxu.js.map} +1 -1
- package/dist/storybook__react.d.js +4252 -4509
- package/dist/storybook__react.d.js.map +1 -1
- package/package.json +19 -19
- package/dist/RteEditor.module-CUi7Vqe8.js +0 -37
- package/dist/RteEditor.module-CUi7Vqe8.js.map +0 -1
- package/dist/chunk-HERDX7MO-DaYu-eWo.js +0 -11320
- package/dist/chunk-HERDX7MO-DaYu-eWo.js.map +0 -1
- package/dist/index-DRQMriwT.js.map +0 -1
- package/dist/react-18-C6foUf2n.js +0 -42
- package/dist/react-18-C6foUf2n.js.map +0 -1
|
@@ -1,89 +1,84 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { o as
|
|
3
|
-
import { k as
|
|
1
|
+
import { jsx as f } from "react/jsx-runtime";
|
|
2
|
+
import { o as x } from "../../../../LexicalComposerContext.prod-DOyoZx0P.js";
|
|
3
|
+
import { k as b, x as _, S as v, o as D, d as N, h as I, l as P } from "../../../../LexicalList.prod-DA9du3qx.js";
|
|
4
4
|
import { useState as p, useEffect as k } from "react";
|
|
5
|
-
import { c as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
5
|
+
import { c as w } from "../../../../clsx-OuTLNxxd.js";
|
|
6
|
+
import { at as z, K as O, Y as U, b as K, y as S, z as B } from "../../../../Lexical.prod-DH2XfwvA.js";
|
|
7
|
+
import { w as E } from "../../../../LexicalUtils.prod-DU4QwthB.js";
|
|
8
|
+
import { Icon as Y } from "../../../Icon/Icon.js";
|
|
9
|
+
import { s as n } from "../../../../RteEditor.module-DaBh86FK.js";
|
|
10
|
+
import { useTranslation as $ } from "../../hooks/useTranslation.js";
|
|
11
|
+
const j = {
|
|
11
12
|
bullet: "BulletList",
|
|
12
13
|
number: "NumberedList"
|
|
13
|
-
},
|
|
14
|
-
const
|
|
15
|
-
t === "number" && h !== "number" ? (e.dispatchCommand(
|
|
14
|
+
}, M = ["bullet", "number"], W = () => {
|
|
15
|
+
const m = $(), [e] = x(), [h, s] = p(null), [u, g] = p(!1), [c, L] = p(!1), y = (t) => {
|
|
16
|
+
t === "number" && h !== "number" ? (e.dispatchCommand(_, void 0), s("number")) : t === "bullet" && h !== "bullet" ? (e.dispatchCommand(v, void 0), s("bullet")) : (e.dispatchCommand(b, void 0), s(null));
|
|
16
17
|
};
|
|
17
18
|
return k(() => {
|
|
18
19
|
const t = e.registerCommand(
|
|
19
|
-
|
|
20
|
-
(o) => o.ctrlKey && o.shiftKey && o.code === "Digit7" ? (o.preventDefault(), c ? e.dispatchCommand(
|
|
21
|
-
|
|
20
|
+
z,
|
|
21
|
+
(o) => o.ctrlKey && o.shiftKey && o.code === "Digit7" ? (o.preventDefault(), c ? e.dispatchCommand(b, void 0) : e.dispatchCommand(_, void 0), !0) : o.ctrlKey && o.shiftKey && o.code === "Digit8" ? (o.preventDefault(), u ? e.dispatchCommand(b, void 0) : e.dispatchCommand(v, void 0), !0) : !1,
|
|
22
|
+
O
|
|
22
23
|
);
|
|
23
24
|
return () => {
|
|
24
25
|
t();
|
|
25
26
|
};
|
|
26
|
-
}, [e, c,
|
|
27
|
-
e.registerCommand(
|
|
28
|
-
|
|
29
|
-
(
|
|
30
|
-
const
|
|
31
|
-
if (!
|
|
27
|
+
}, [e, c, u]), k(() => {
|
|
28
|
+
const t = e.registerCommand(
|
|
29
|
+
U,
|
|
30
|
+
(d) => (d.preventDefault(), e.update(() => {
|
|
31
|
+
const i = K();
|
|
32
|
+
if (!S(i))
|
|
32
33
|
return;
|
|
33
|
-
const
|
|
34
|
-
if (!
|
|
34
|
+
const l = i.anchor.getNode(), a = l.getParent();
|
|
35
|
+
if (!D(a))
|
|
35
36
|
return;
|
|
36
|
-
const
|
|
37
|
-
if (
|
|
38
|
-
const
|
|
39
|
-
|
|
37
|
+
const r = a.getParent();
|
|
38
|
+
if (N(r)) {
|
|
39
|
+
const C = I(N(r) ? r.getListType() : "bullet");
|
|
40
|
+
a.append(C), C.append(l);
|
|
40
41
|
}
|
|
41
42
|
}), !0),
|
|
42
|
-
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
g(s === "ul"), L(s === "ol"), s === "ul" && a("bullet"), s === "ol" && a("number");
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
const i = r.getParent();
|
|
56
|
-
if (i === null) break;
|
|
57
|
-
r = i;
|
|
43
|
+
B
|
|
44
|
+
), o = e.registerUpdateListener(({ editorState: d }) => {
|
|
45
|
+
d.read(() => {
|
|
46
|
+
const i = K();
|
|
47
|
+
if (S(i)) {
|
|
48
|
+
const l = i.anchor.getNode(), a = E(l, P);
|
|
49
|
+
if (a) {
|
|
50
|
+
const r = a.getTag();
|
|
51
|
+
g(r === "ul"), L(r === "ol"), r === "ul" && s("bullet"), r === "ol" && s("number");
|
|
52
|
+
return;
|
|
58
53
|
}
|
|
59
|
-
g(!1), L(!1),
|
|
54
|
+
g(!1), L(!1), s(null);
|
|
60
55
|
}
|
|
61
56
|
return !1;
|
|
62
57
|
});
|
|
63
58
|
});
|
|
64
59
|
return () => {
|
|
65
|
-
t();
|
|
60
|
+
o(), t();
|
|
66
61
|
};
|
|
67
|
-
}, [e]), /* @__PURE__ */
|
|
62
|
+
}, [e]), /* @__PURE__ */ f("div", { className: n["editor__toolbar-button-group"], children: M.map((t) => /* @__PURE__ */ f(
|
|
68
63
|
"button",
|
|
69
64
|
{
|
|
70
|
-
onClick: () =>
|
|
71
|
-
title:
|
|
72
|
-
className:
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
t === "bullet" &&
|
|
76
|
-
t === "number" && c &&
|
|
65
|
+
onClick: () => y(t),
|
|
66
|
+
title: m.format[`${t}Tooltip`],
|
|
67
|
+
className: w(
|
|
68
|
+
n["editor__toolbar-button"],
|
|
69
|
+
n[`editor__toolbar-button--${t}`],
|
|
70
|
+
t === "bullet" && u && n["editor__toolbar-button--active"],
|
|
71
|
+
t === "number" && c && n["editor__toolbar-button--active"]
|
|
77
72
|
),
|
|
78
|
-
"aria-label":
|
|
79
|
-
"aria-keyshortcuts":
|
|
73
|
+
"aria-label": m.aria.labels[t],
|
|
74
|
+
"aria-keyshortcuts": m.aria.keyshortcuts[t],
|
|
80
75
|
type: "button",
|
|
81
|
-
children: /* @__PURE__ */
|
|
76
|
+
children: /* @__PURE__ */ f(Y, { name: j[t], size: 24 })
|
|
82
77
|
},
|
|
83
78
|
t
|
|
84
79
|
)) });
|
|
85
80
|
};
|
|
86
81
|
export {
|
|
87
|
-
|
|
82
|
+
W as ListPlugin
|
|
88
83
|
};
|
|
89
84
|
//# sourceMappingURL=ListPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListPlugin.js","sources":["../../../../../src/components/RteEditor/Plugins/ListPlugin/ListPlugin.tsx"],"sourcesContent":["import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport {\n $createListNode,\n $isListItemNode,\n $isListNode,\n INSERT_ORDERED_LIST_COMMAND,\n INSERT_UNORDERED_LIST_COMMAND,\n REMOVE_LIST_COMMAND,\n} from '@lexical/list';\nimport { useEffect, useState } from 'react';\nimport { clsx } from 'clsx';\nimport {\n $getSelection,\n $isRangeSelection,\n COMMAND_PRIORITY_EDITOR,\n COMMAND_PRIORITY_LOW,\n KEY_DOWN_COMMAND,\n KEY_TAB_COMMAND,\n} from 'lexical';\n\nimport type {
|
|
1
|
+
{"version":3,"file":"ListPlugin.js","sources":["../../../../../src/components/RteEditor/Plugins/ListPlugin/ListPlugin.tsx"],"sourcesContent":["import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport {\n $createListNode,\n $isListItemNode,\n $isListNode,\n INSERT_ORDERED_LIST_COMMAND,\n INSERT_UNORDERED_LIST_COMMAND,\n ListNode,\n REMOVE_LIST_COMMAND,\n} from '@lexical/list';\nimport { useEffect, useState } from 'react';\nimport { clsx } from 'clsx';\nimport {\n $getSelection,\n $isRangeSelection,\n COMMAND_PRIORITY_EDITOR,\n COMMAND_PRIORITY_LOW,\n KEY_DOWN_COMMAND,\n KEY_TAB_COMMAND,\n} from 'lexical';\nimport { $getNearestNodeOfType } from '@lexical/utils';\n\nimport type { RangeSelection } from 'lexical';\n\nimport { Icon } from 'components/Icon';\nimport styles from 'components/RteEditor/RteEditor.module.css';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\n\ntype ListTypesType = 'bullet' | 'number' | null;\nconst LIST_TYPE_ICONS = {\n bullet: 'BulletList',\n number: 'NumberedList',\n};\n\nconst ListTypes = ['bullet', 'number'];\n\nexport const ListPlugin = () => {\n const t = useTranslation();\n const [editor] = useLexicalComposerContext();\n const [blockType, setBlockType] = useState<ListTypesType>(null);\n const [isUList, setIsUList] = useState<boolean>(false);\n const [isOList, setIsOList] = useState<boolean>(false);\n\n const formatList = (listType: ListTypesType): void => {\n if (listType === 'number' && blockType !== 'number') {\n editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, undefined);\n setBlockType('number');\n } else if (listType === 'bullet' && blockType !== 'bullet') {\n editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, undefined);\n setBlockType('bullet');\n } else {\n editor.dispatchCommand(REMOVE_LIST_COMMAND, undefined);\n setBlockType(null);\n }\n };\n\n useEffect(() => {\n const removeKeyboardShortcut = editor.registerCommand(\n KEY_DOWN_COMMAND,\n (event: KeyboardEvent) => {\n if (event.ctrlKey && event.shiftKey && event.code === 'Digit7') {\n event.preventDefault();\n if (isOList) {\n editor.dispatchCommand(REMOVE_LIST_COMMAND, undefined);\n } else {\n editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, undefined);\n }\n return true;\n }\n if (event.ctrlKey && event.shiftKey && event.code === 'Digit8') {\n event.preventDefault();\n if (isUList) {\n editor.dispatchCommand(REMOVE_LIST_COMMAND, undefined);\n } else {\n editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, undefined);\n }\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n );\n\n return () => {\n removeKeyboardShortcut();\n };\n }, [editor, isOList, isUList]);\n\n useEffect(() => {\n const removeTabCommand = editor.registerCommand(\n KEY_TAB_COMMAND,\n (event) => {\n event.preventDefault();\n editor.update(() => {\n const selection = $getSelection() as RangeSelection;\n if (!$isRangeSelection(selection)) {\n return;\n }\n\n const currentNode = selection.anchor.getNode();\n const parent = currentNode.getParent();\n if (!$isListItemNode(parent)) {\n return;\n }\n\n const listParent = parent.getParent();\n if ($isListNode(listParent)) {\n const newList = $createListNode($isListNode(listParent) ? listParent.getListType() : 'bullet');\n parent.append(newList);\n newList.append(currentNode);\n }\n });\n return true;\n },\n COMMAND_PRIORITY_LOW\n );\n\n const removeStatusListener = editor.registerUpdateListener(({ editorState }) => {\n editorState.read(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n const anchorNode = selection.anchor.getNode();\n const listNode = $getNearestNodeOfType(anchorNode, ListNode);\n if (listNode) {\n const tag = listNode.getTag();\n setIsUList(tag === 'ul');\n setIsOList(tag === 'ol');\n if (tag === 'ul') {\n setBlockType('bullet');\n }\n if (tag === 'ol') {\n setBlockType('number');\n }\n return;\n }\n setIsUList(false);\n setIsOList(false);\n setBlockType(null);\n }\n return false;\n });\n });\n\n return () => {\n removeStatusListener();\n removeTabCommand();\n };\n }, [editor]);\n\n return (\n <div className={styles['editor__toolbar-button-group']}>\n {ListTypes.map((listType) => (\n <button\n onClick={() => formatList(listType as ListTypesType)}\n key={listType}\n title={t.format[`${listType}Tooltip` as keyof typeof t.format]}\n className={clsx(\n styles['editor__toolbar-button'],\n styles[`editor__toolbar-button--${listType}`],\n listType === 'bullet' && isUList && styles['editor__toolbar-button--active'],\n listType === 'number' && isOList && styles['editor__toolbar-button--active']\n )}\n aria-label={t.aria.labels[listType as keyof typeof t.aria.labels]}\n aria-keyshortcuts={t.aria.keyshortcuts[listType as keyof typeof t.aria.keyshortcuts]}\n type=\"button\"\n >\n <Icon name={LIST_TYPE_ICONS[listType as keyof typeof Icon]} size={24} />\n </button>\n ))}\n </div>\n );\n};\n"],"names":["LIST_TYPE_ICONS","ListTypes","ListPlugin","t","useTranslation","editor","useLexicalComposerContext","blockType","setBlockType","useState","isUList","setIsUList","isOList","setIsOList","formatList","listType","INSERT_ORDERED_LIST_COMMAND","INSERT_UNORDERED_LIST_COMMAND","REMOVE_LIST_COMMAND","useEffect","removeKeyboardShortcut","KEY_DOWN_COMMAND","event","COMMAND_PRIORITY_EDITOR","removeTabCommand","KEY_TAB_COMMAND","selection","$getSelection","$isRangeSelection","currentNode","parent","$isListItemNode","listParent","$isListNode","newList","$createListNode","COMMAND_PRIORITY_LOW","removeStatusListener","editorState","anchorNode","listNode","$getNearestNodeOfType","ListNode","tag","jsx","styles","clsx","Icon"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { o as m } from "../../../../LexicalComposerContext.prod-DOyoZx0P.js";
|
|
2
2
|
import { useEffect as c } from "react";
|
|
3
|
-
import { ad as f, ae as p, b as d } from "../../../../Lexical.prod-
|
|
4
|
-
import { L as i } from "../../../../LexicalUtils.prod-
|
|
5
|
-
import { R as u } from "../../../../LexicalClipboard.prod-
|
|
3
|
+
import { ad as f, ae as p, b as d } from "../../../../Lexical.prod-DH2XfwvA.js";
|
|
4
|
+
import { L as i } from "../../../../LexicalUtils.prod-DU4QwthB.js";
|
|
5
|
+
import { R as u } from "../../../../LexicalClipboard.prod-DTuNvXAS.js";
|
|
6
6
|
import { d as D } from "../../../../index-yEhaxKq-.js";
|
|
7
7
|
const L = () => {
|
|
8
8
|
const [e] = m(), l = (t) => {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
3
|
import "../../../../LexicalComposerContext.prod-DOyoZx0P.js";
|
|
4
|
-
import { T as b } from "../../../../TableCellResizerPlugin-
|
|
5
|
-
import "../../../../LexicalTable.prod-
|
|
6
|
-
import "../../../../LexicalUtils.prod-
|
|
7
|
-
import "../../../../Lexical.prod-
|
|
4
|
+
import { T as b } from "../../../../TableCellResizerPlugin-DRwI83s2.js";
|
|
5
|
+
import "../../../../LexicalTable.prod-RGq0GKAR.js";
|
|
6
|
+
import "../../../../LexicalUtils.prod-DU4QwthB.js";
|
|
7
|
+
import "../../../../Lexical.prod-DH2XfwvA.js";
|
|
8
8
|
import "react-dom";
|
|
9
9
|
import "../TablePlugin/helpers.js";
|
|
10
10
|
import "../../nodes/TableWrapperNode/TableWrapperNode.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { b as G } from "../../../../TablePlugin-
|
|
3
|
+
import { b as G } from "../../../../TablePlugin-DmE96vN7.js";
|
|
4
4
|
import "../../../Accordion/Accordion.js";
|
|
5
5
|
import "../../../Buttons/Button.js";
|
|
6
6
|
import "../../../Buttons/LinkButton.js";
|
|
@@ -19,11 +19,11 @@ import "../../../InputField/InputField.js";
|
|
|
19
19
|
import "react-router";
|
|
20
20
|
import "../../helpers.js";
|
|
21
21
|
import "../../hooks/useTranslation.js";
|
|
22
|
+
import "../../Providers/LanguageProvider.js";
|
|
22
23
|
import "../LinkPlugin/LinkContextMenu/LinkContextMenu.js";
|
|
23
24
|
import "../../hooks/components/Flyout.js";
|
|
24
25
|
import "react-dom";
|
|
25
26
|
import "../../../../index-yEhaxKq-.js";
|
|
26
|
-
import "../../Providers/LanguageProvider.js";
|
|
27
27
|
import "../../../SearchField/SearchField.js";
|
|
28
28
|
import "../../../SelectListbox/SelectListbox.js";
|
|
29
29
|
import "../../../SelectListbox/SelectProvider.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "../../../../LexicalComposerContext.prod-DOyoZx0P.js";
|
|
3
3
|
import "../../../../clsx-OuTLNxxd.js";
|
|
4
|
-
import "../../../../LexicalTable.prod-
|
|
5
|
-
import "../../../../Lexical.prod-
|
|
6
|
-
import "../../../../LexicalUtils.prod-
|
|
4
|
+
import "../../../../LexicalTable.prod-RGq0GKAR.js";
|
|
5
|
+
import "../../../../Lexical.prod-DH2XfwvA.js";
|
|
6
|
+
import "../../../../LexicalUtils.prod-DU4QwthB.js";
|
|
7
7
|
import "react";
|
|
8
|
-
import { T as L } from "../../../../TablePlugin-
|
|
8
|
+
import { T as L } from "../../../../TablePlugin-DmE96vN7.js";
|
|
9
9
|
import "./helpers.js";
|
|
10
10
|
import "../../nodes/TableWrapperNode/TableWrapperNode.js";
|
|
11
11
|
import "../../hooks/useFlyout.js";
|
|
@@ -24,12 +24,12 @@ import "../../../IconButton/IconButton.js";
|
|
|
24
24
|
import "../../../Input/Input.js";
|
|
25
25
|
import "../../../InputField/InputField.js";
|
|
26
26
|
import "react-router";
|
|
27
|
-
import "../../../../RteEditor.module-
|
|
27
|
+
import "../../../../RteEditor.module-DaBh86FK.js";
|
|
28
28
|
import "../../hooks/useTranslation.js";
|
|
29
|
+
import "../../Providers/LanguageProvider.js";
|
|
29
30
|
import "../LinkPlugin/LinkContextMenu/LinkContextMenu.js";
|
|
30
31
|
import "react-dom";
|
|
31
32
|
import "../../../../index-yEhaxKq-.js";
|
|
32
|
-
import "../../Providers/LanguageProvider.js";
|
|
33
33
|
import "../../../SearchField/SearchField.js";
|
|
34
34
|
import "../../../SelectListbox/SelectListbox.js";
|
|
35
35
|
import "../../../SelectListbox/SelectProvider.js";
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Q as
|
|
2
|
-
import { L } from "../../../../Lexical.prod-
|
|
1
|
+
import { Q as p, O as i, D as w, l as T, U as u, I as b, Z as E, P as D, M as g, j as I, L as R, F as x } from "../../../../LexicalTable.prod-RGq0GKAR.js";
|
|
2
|
+
import { L } from "../../../../Lexical.prod-DH2XfwvA.js";
|
|
3
3
|
import { TableWrapperNode as S } from "../../nodes/TableWrapperNode/TableWrapperNode.js";
|
|
4
|
-
|
|
4
|
+
import "react";
|
|
5
|
+
const P = 32, a = 48, N = 1, v = 200, M = 320, H = (t, e) => {
|
|
5
6
|
const n = R(0, 0, !1);
|
|
6
7
|
for (let o = 0; o < t; o++) {
|
|
7
8
|
const r = g();
|
|
@@ -12,26 +13,26 @@ const y = 32, a = 48, N = 1, P = 200, v = 320, M = (t, e) => {
|
|
|
12
13
|
n.append(r);
|
|
13
14
|
}
|
|
14
15
|
return n;
|
|
15
|
-
},
|
|
16
|
+
}, U = (t) => {
|
|
16
17
|
const e = D(t), n = e.getNextSibling() || e.getPreviousSibling(), o = e.getParentOrThrow();
|
|
17
18
|
if (o.getChildrenSize() > 1 ? e.remove() : o.remove(), n !== null) {
|
|
18
19
|
const r = n.getFirstDescendant();
|
|
19
20
|
r && r.select();
|
|
20
21
|
}
|
|
21
22
|
}, W = (t) => {
|
|
22
|
-
const e =
|
|
23
|
+
const e = p(t);
|
|
23
24
|
if (!e)
|
|
24
25
|
throw new Error("Selected node is not a TableCellNode");
|
|
25
26
|
const n = e.getParent();
|
|
26
27
|
n instanceof S ? n.remove() : e.remove();
|
|
27
|
-
},
|
|
28
|
+
}, B = (t, e) => {
|
|
28
29
|
if (!i(t))
|
|
29
30
|
throw new Error("Selected node is not a TableCellNode");
|
|
30
31
|
const n = g();
|
|
31
32
|
I(e === "insertRowBelow");
|
|
32
33
|
const o = n.getFirstDescendant();
|
|
33
34
|
o && o.select();
|
|
34
|
-
},
|
|
35
|
+
}, A = (t, e) => {
|
|
35
36
|
if (!i(t))
|
|
36
37
|
throw new Error("Selected node is not a TableCellNode");
|
|
37
38
|
const n = w(t);
|
|
@@ -48,22 +49,22 @@ const y = 32, a = 48, N = 1, P = 200, v = 320, M = (t, e) => {
|
|
|
48
49
|
n.setColWidths(C), o = e === "insertColumnLeft" ? o : o + 1;
|
|
49
50
|
const f = r[s].getChildren()[o];
|
|
50
51
|
f && f.select();
|
|
51
|
-
},
|
|
52
|
+
}, j = (t) => {
|
|
52
53
|
if (!i(t))
|
|
53
54
|
throw new Error("Selected node is not a TableCellNode");
|
|
54
|
-
(w(t).getFirstChild()?.getChildrenSize() || 0) === 1 ? W(t) :
|
|
55
|
-
},
|
|
55
|
+
(w(t).getFirstChild()?.getChildrenSize() || 0) === 1 ? W(t) : T();
|
|
56
|
+
}, z = (t) => {
|
|
56
57
|
const e = t.getRootElement();
|
|
57
58
|
if (!e || typeof window > "u") return 0;
|
|
58
59
|
const n = e.getBoundingClientRect(), o = window.getComputedStyle(e), r = parseFloat(o.paddingLeft || "0") + parseFloat(o.paddingRight || "0") + a;
|
|
59
60
|
return Math.max(0, n.width - r);
|
|
60
|
-
},
|
|
61
|
+
}, K = (t, e, n) => {
|
|
61
62
|
if (!t) return 0;
|
|
62
63
|
const o = n.getElementByKey(t.getKey());
|
|
63
64
|
if (!o) return 0;
|
|
64
65
|
const r = window.getComputedStyle(o);
|
|
65
66
|
return parseInt(r.width) - e * N - 1;
|
|
66
|
-
},
|
|
67
|
+
}, Q = (t) => {
|
|
67
68
|
const e = t.getChildren();
|
|
68
69
|
for (const n of e) {
|
|
69
70
|
const o = n.getChildren();
|
|
@@ -76,17 +77,17 @@ const y = 32, a = 48, N = 1, P = 200, v = 320, M = (t, e) => {
|
|
|
76
77
|
export {
|
|
77
78
|
N as BORDER_WIDTHS,
|
|
78
79
|
a as DEFAULT_COL_WIDTH,
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
80
|
+
M as DEFAULT_EDITOR_WIDTH,
|
|
81
|
+
P as MIN_COLUMN_WIDTH,
|
|
82
|
+
v as PREVENT_OPEN_DELAY,
|
|
83
|
+
H as createTable,
|
|
84
|
+
j as deleteColumn,
|
|
85
|
+
U as deleteRow,
|
|
85
86
|
W as deleteTable,
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
87
|
+
z as getEditorContentWidth,
|
|
88
|
+
K as getEditorParrentCellWidth,
|
|
89
|
+
A as insertColumn,
|
|
90
|
+
B as insertRow,
|
|
91
|
+
Q as tableHasContent
|
|
91
92
|
};
|
|
92
93
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../../../../../src/components/RteEditor/Plugins/TablePlugin/helpers.ts"],"sourcesContent":["import {\n $createTableNodeWithDimensions,\n $createTableRowNode,\n $createTableCellNode,\n $deleteTableColumnAtSelection,\n $isTableCellNode,\n $getTableNodeFromLexicalNodeOrThrow,\n $getTableRowNodeFromTableCellNodeOrThrow,\n $getTableRowIndexFromTableCellNode,\n $getTableColumnIndexFromTableCellNode,\n $insertTableColumnAtSelection,\n $insertTableRowAtSelection,\n $findTableNode,\n} from '@lexical/table';\nimport { $createParagraphNode } from 'lexical';\n\nimport type { TableCellNode, TableNode, TableRowNode } from '@lexical/table';\nimport type { TextNode, ElementNode, LexicalEditor } from 'lexical';\n\nimport { TableWrapperNode } from 'components/RteEditor/nodes';\n\nexport const MIN_COLUMN_WIDTH = 32;\nexport const DEFAULT_COL_WIDTH = 48;\nexport const BORDER_WIDTHS = 1;\nexport const PREVENT_OPEN_DELAY = 200;\nexport const DEFAULT_EDITOR_WIDTH = 320;\n\nexport const createTable = (nrOfRows: number, nrOfColumns: number): ElementNode => {\n const tableNode = $createTableNodeWithDimensions(0, 0, false);\n for (let rowIndex = 0; rowIndex < nrOfRows; rowIndex++) {\n const rowNode = $createTableRowNode();\n for (let colIndex = 0; colIndex < nrOfColumns; colIndex++) {\n const cellNode = $createTableCellNode(0, undefined, undefined);\n cellNode.append($createParagraphNode());\n rowNode.append(cellNode);\n }\n tableNode.append(rowNode);\n }\n return tableNode;\n};\n\nexport const deleteRow = (selectedNode: ElementNode) => {\n const currentRow = $getTableRowNodeFromTableCellNodeOrThrow(selectedNode);\n const nextRow = currentRow.getNextSibling() || currentRow.getPreviousSibling();\n const currentTable = currentRow.getParentOrThrow();\n currentTable.getChildrenSize() > 1 ? currentRow.remove() : currentTable.remove();\n\n if (nextRow !== null) {\n const firstDescendant = (nextRow as ElementNode).getFirstDescendant();\n if (firstDescendant) {\n (firstDescendant as TextNode).select();\n }\n }\n};\n\nexport const deleteTable = (selectedNode: ElementNode) => {\n const tableNode = $findTableNode(selectedNode);\n if (!tableNode) {\n throw new Error('Selected node is not a TableCellNode');\n }\n\n const wrapperNode = tableNode.getParent();\n if (wrapperNode instanceof TableWrapperNode) {\n wrapperNode.remove();\n } else {\n tableNode.remove();\n }\n};\n\nexport const insertRow = (selectedNode: ElementNode, position: 'insertRowAbove' | 'insertRowBelow') => {\n if (!$isTableCellNode(selectedNode)) {\n throw new Error('Selected node is not a TableCellNode');\n }\n const newRow = $createTableRowNode();\n\n $insertTableRowAtSelection(position === 'insertRowBelow');\n\n const firstDescendant = newRow.getFirstDescendant();\n if (firstDescendant) {\n (firstDescendant as TextNode).select();\n }\n};\n\nexport const insertColumn = (selectedNode: ElementNode, position: 'insertColumnLeft' | 'insertColumnRight') => {\n if (!$isTableCellNode(selectedNode)) {\n throw new Error('Selected node is not a TableCellNode');\n }\n const currentTable = $getTableNodeFromLexicalNodeOrThrow(selectedNode);\n let columnIndex = $getTableColumnIndexFromTableCellNode(selectedNode);\n const rowsInTable: TableCellNode[] = currentTable.getChildren();\n const rowIndex = $getTableRowIndexFromTableCellNode(selectedNode);\n const insertedCellNode = $insertTableColumnAtSelection(position === 'insertColumnLeft');\n\n if (!insertedCellNode) return;\n const insertedColumnIndex = $getTableColumnIndexFromTableCellNode(insertedCellNode);\n\n if (insertedColumnIndex === -1) return;\n const colWidths = currentTable.getColWidths();\n\n if (!colWidths) return;\n const newColWidths = colWidths.map((width, index) =>\n index === insertedColumnIndex ? DEFAULT_COL_WIDTH : width - Math.ceil(DEFAULT_COL_WIDTH / (colWidths.length - 1))\n );\n\n currentTable.setColWidths(newColWidths);\n\n columnIndex = position === 'insertColumnLeft' ? columnIndex : columnIndex + 1;\n const firstDescendant = rowsInTable[rowIndex].getChildren()[columnIndex];\n if (firstDescendant) {\n (firstDescendant as TextNode).select();\n }\n};\n\nexport const deleteColumn = (selectedNode: ElementNode) => {\n if (!$isTableCellNode(selectedNode)) {\n throw new Error('Selected node is not a TableCellNode');\n }\n const currentTable = $getTableNodeFromLexicalNodeOrThrow(selectedNode);\n const numberOfColumns = (currentTable.getFirstChild() as ElementNode)?.getChildrenSize() || 0;\n\n if (numberOfColumns === 1) {\n deleteTable(selectedNode);\n } else {\n $deleteTableColumnAtSelection();\n }\n};\n\nexport const getEditorContentWidth = (editor: LexicalEditor): number => {\n const rootEl = editor.getRootElement();\n if (!rootEl || typeof window === 'undefined') return 0;\n const rect = rootEl.getBoundingClientRect();\n const styles = window.getComputedStyle(rootEl);\n const insertX = parseFloat(styles.paddingLeft || '0') + parseFloat(styles.paddingRight || '0') + DEFAULT_COL_WIDTH;\n return Math.max(0, rect.width - insertX);\n};\n\nexport const getEditorParrentCellWidth = (\n node: TableCellNode | null,\n nrOfColumns: number,\n editor: LexicalEditor\n): number => {\n if (!node) return 0;\n\n const cell = editor.getElementByKey(node.getKey());\n if (!cell) return 0;\n\n const computedStyles = window.getComputedStyle(cell);\n return parseInt(computedStyles.width) - nrOfColumns * BORDER_WIDTHS - 1;\n};\n\nexport const tableHasContent = (tableNode: TableNode): boolean => {\n const rows = tableNode.getChildren();\n for (const row of rows) {\n const cells = (row as TableRowNode).getChildren();\n for (const cell of cells) {\n if ($isTableCellNode(cell)) {\n const cellText = cell.getTextContent().trim();\n if (cellText.length > 0) {\n return true;\n }\n }\n }\n }\n return false;\n};\n"],"names":["MIN_COLUMN_WIDTH","DEFAULT_COL_WIDTH","BORDER_WIDTHS","PREVENT_OPEN_DELAY","DEFAULT_EDITOR_WIDTH","createTable","nrOfRows","nrOfColumns","tableNode","$createTableNodeWithDimensions","rowIndex","rowNode","$createTableRowNode","colIndex","cellNode","$createTableCellNode","$createParagraphNode","deleteRow","selectedNode","currentRow","$getTableRowNodeFromTableCellNodeOrThrow","nextRow","currentTable","firstDescendant","deleteTable","$findTableNode","wrapperNode","TableWrapperNode","insertRow","position","$isTableCellNode","newRow","$insertTableRowAtSelection","insertColumn","$getTableNodeFromLexicalNodeOrThrow","columnIndex","$getTableColumnIndexFromTableCellNode","rowsInTable","$getTableRowIndexFromTableCellNode","insertedCellNode","$insertTableColumnAtSelection","insertedColumnIndex","colWidths","newColWidths","width","index","deleteColumn","$deleteTableColumnAtSelection","getEditorContentWidth","editor","rootEl","rect","styles","insertX","getEditorParrentCellWidth","node","cell","computedStyles","tableHasContent","rows","row","cells"],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../../../src/components/RteEditor/Plugins/TablePlugin/helpers.ts"],"sourcesContent":["import {\n $createTableNodeWithDimensions,\n $createTableRowNode,\n $createTableCellNode,\n $deleteTableColumnAtSelection,\n $isTableCellNode,\n $getTableNodeFromLexicalNodeOrThrow,\n $getTableRowNodeFromTableCellNodeOrThrow,\n $getTableRowIndexFromTableCellNode,\n $getTableColumnIndexFromTableCellNode,\n $insertTableColumnAtSelection,\n $insertTableRowAtSelection,\n $findTableNode,\n} from '@lexical/table';\nimport { $createParagraphNode } from 'lexical';\n\nimport type { TableCellNode, TableNode, TableRowNode } from '@lexical/table';\nimport type { TextNode, ElementNode, LexicalEditor } from 'lexical';\n\nimport { TableWrapperNode } from 'components/RteEditor/nodes';\n\nexport const MIN_COLUMN_WIDTH = 32;\nexport const DEFAULT_COL_WIDTH = 48;\nexport const BORDER_WIDTHS = 1;\nexport const PREVENT_OPEN_DELAY = 200;\nexport const DEFAULT_EDITOR_WIDTH = 320;\n\nexport const createTable = (nrOfRows: number, nrOfColumns: number): ElementNode => {\n const tableNode = $createTableNodeWithDimensions(0, 0, false);\n for (let rowIndex = 0; rowIndex < nrOfRows; rowIndex++) {\n const rowNode = $createTableRowNode();\n for (let colIndex = 0; colIndex < nrOfColumns; colIndex++) {\n const cellNode = $createTableCellNode(0, undefined, undefined);\n cellNode.append($createParagraphNode());\n rowNode.append(cellNode);\n }\n tableNode.append(rowNode);\n }\n return tableNode;\n};\n\nexport const deleteRow = (selectedNode: ElementNode) => {\n const currentRow = $getTableRowNodeFromTableCellNodeOrThrow(selectedNode);\n const nextRow = currentRow.getNextSibling() || currentRow.getPreviousSibling();\n const currentTable = currentRow.getParentOrThrow();\n currentTable.getChildrenSize() > 1 ? currentRow.remove() : currentTable.remove();\n\n if (nextRow !== null) {\n const firstDescendant = (nextRow as ElementNode).getFirstDescendant();\n if (firstDescendant) {\n (firstDescendant as TextNode).select();\n }\n }\n};\n\nexport const deleteTable = (selectedNode: ElementNode) => {\n const tableNode = $findTableNode(selectedNode);\n if (!tableNode) {\n throw new Error('Selected node is not a TableCellNode');\n }\n\n const wrapperNode = tableNode.getParent();\n if (wrapperNode instanceof TableWrapperNode) {\n wrapperNode.remove();\n } else {\n tableNode.remove();\n }\n};\n\nexport const insertRow = (selectedNode: ElementNode, position: 'insertRowAbove' | 'insertRowBelow') => {\n if (!$isTableCellNode(selectedNode)) {\n throw new Error('Selected node is not a TableCellNode');\n }\n const newRow = $createTableRowNode();\n\n $insertTableRowAtSelection(position === 'insertRowBelow');\n\n const firstDescendant = newRow.getFirstDescendant();\n if (firstDescendant) {\n (firstDescendant as TextNode).select();\n }\n};\n\nexport const insertColumn = (selectedNode: ElementNode, position: 'insertColumnLeft' | 'insertColumnRight') => {\n if (!$isTableCellNode(selectedNode)) {\n throw new Error('Selected node is not a TableCellNode');\n }\n const currentTable = $getTableNodeFromLexicalNodeOrThrow(selectedNode);\n let columnIndex = $getTableColumnIndexFromTableCellNode(selectedNode);\n const rowsInTable: TableCellNode[] = currentTable.getChildren();\n const rowIndex = $getTableRowIndexFromTableCellNode(selectedNode);\n const insertedCellNode = $insertTableColumnAtSelection(position === 'insertColumnLeft');\n\n if (!insertedCellNode) return;\n const insertedColumnIndex = $getTableColumnIndexFromTableCellNode(insertedCellNode);\n\n if (insertedColumnIndex === -1) return;\n const colWidths = currentTable.getColWidths();\n\n if (!colWidths) return;\n const newColWidths = colWidths.map((width, index) =>\n index === insertedColumnIndex ? DEFAULT_COL_WIDTH : width - Math.ceil(DEFAULT_COL_WIDTH / (colWidths.length - 1))\n );\n\n currentTable.setColWidths(newColWidths);\n\n columnIndex = position === 'insertColumnLeft' ? columnIndex : columnIndex + 1;\n const firstDescendant = rowsInTable[rowIndex].getChildren()[columnIndex];\n if (firstDescendant) {\n (firstDescendant as TextNode).select();\n }\n};\n\nexport const deleteColumn = (selectedNode: ElementNode) => {\n if (!$isTableCellNode(selectedNode)) {\n throw new Error('Selected node is not a TableCellNode');\n }\n const currentTable = $getTableNodeFromLexicalNodeOrThrow(selectedNode);\n const numberOfColumns = (currentTable.getFirstChild() as ElementNode)?.getChildrenSize() || 0;\n\n if (numberOfColumns === 1) {\n deleteTable(selectedNode);\n } else {\n $deleteTableColumnAtSelection();\n }\n};\n\nexport const getEditorContentWidth = (editor: LexicalEditor): number => {\n const rootEl = editor.getRootElement();\n if (!rootEl || typeof window === 'undefined') return 0;\n const rect = rootEl.getBoundingClientRect();\n const styles = window.getComputedStyle(rootEl);\n const insertX = parseFloat(styles.paddingLeft || '0') + parseFloat(styles.paddingRight || '0') + DEFAULT_COL_WIDTH;\n return Math.max(0, rect.width - insertX);\n};\n\nexport const getEditorParrentCellWidth = (\n node: TableCellNode | null,\n nrOfColumns: number,\n editor: LexicalEditor\n): number => {\n if (!node) return 0;\n\n const cell = editor.getElementByKey(node.getKey());\n if (!cell) return 0;\n\n const computedStyles = window.getComputedStyle(cell);\n return parseInt(computedStyles.width) - nrOfColumns * BORDER_WIDTHS - 1;\n};\n\nexport const tableHasContent = (tableNode: TableNode): boolean => {\n const rows = tableNode.getChildren();\n for (const row of rows) {\n const cells = (row as TableRowNode).getChildren();\n for (const cell of cells) {\n if ($isTableCellNode(cell)) {\n const cellText = cell.getTextContent().trim();\n if (cellText.length > 0) {\n return true;\n }\n }\n }\n }\n return false;\n};\n"],"names":["MIN_COLUMN_WIDTH","DEFAULT_COL_WIDTH","BORDER_WIDTHS","PREVENT_OPEN_DELAY","DEFAULT_EDITOR_WIDTH","createTable","nrOfRows","nrOfColumns","tableNode","$createTableNodeWithDimensions","rowIndex","rowNode","$createTableRowNode","colIndex","cellNode","$createTableCellNode","$createParagraphNode","deleteRow","selectedNode","currentRow","$getTableRowNodeFromTableCellNodeOrThrow","nextRow","currentTable","firstDescendant","deleteTable","$findTableNode","wrapperNode","TableWrapperNode","insertRow","position","$isTableCellNode","newRow","$insertTableRowAtSelection","insertColumn","$getTableNodeFromLexicalNodeOrThrow","columnIndex","$getTableColumnIndexFromTableCellNode","rowsInTable","$getTableRowIndexFromTableCellNode","insertedCellNode","$insertTableColumnAtSelection","insertedColumnIndex","colWidths","newColWidths","width","index","deleteColumn","$deleteTableColumnAtSelection","getEditorContentWidth","editor","rootEl","rect","styles","insertX","getEditorParrentCellWidth","node","cell","computedStyles","tableHasContent","rows","row","cells"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JSX } from 'react';
|
|
2
|
+
import { SearchResponse } from 'components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm';
|
|
2
3
|
export type Position = {
|
|
3
4
|
xPos: number;
|
|
4
5
|
yPos: number;
|
|
@@ -6,6 +7,8 @@ export type Position = {
|
|
|
6
7
|
};
|
|
7
8
|
interface ToolBarProps {
|
|
8
9
|
editorScrollPosition: number;
|
|
10
|
+
onCatalogueLinkSearch?: (query: string, linkType: 'course' | 'programme') => void;
|
|
11
|
+
catalogueSearchResponse?: SearchResponse;
|
|
9
12
|
}
|
|
10
|
-
export declare const ToolBarPlugin: ({ editorScrollPosition }: ToolBarProps) => JSX.Element;
|
|
13
|
+
export declare const ToolBarPlugin: ({ editorScrollPosition, onCatalogueLinkSearch, catalogueSearchResponse, }: ToolBarProps) => JSX.Element;
|
|
11
14
|
export {};
|
|
@@ -1,72 +1,85 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as C, jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import { o as L } from "../../../../LexicalComposerContext.prod-DOyoZx0P.js";
|
|
3
|
-
import { b as
|
|
4
|
-
import { useState as
|
|
5
|
-
import { B as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
3
|
+
import { b as g, y as b, a0 as E } from "../../../../Lexical.prod-DH2XfwvA.js";
|
|
4
|
+
import { useState as B, useRef as T, useCallback as N, useEffect as m } from "react";
|
|
5
|
+
import { B as w } from "../../../../LexicalTable.prod-RGq0GKAR.js";
|
|
6
|
+
import { CourseCataloguePlugin as x } from "../CourseCataloguePlugin/CourseCataloguePlugin.js";
|
|
7
|
+
import { BlockFormatPlugin as k } from "../BlockFormatPlugin/BlockFormatPlugin.js";
|
|
8
|
+
import { ListPlugin as S } from "../ListPlugin/ListPlugin.js";
|
|
9
|
+
import { LinkPlugin as z } from "../LinkPlugin/LinkPlugin.js";
|
|
10
|
+
import { HistoryPlugin as A } from "../HistoryPlugin/HistoryPlugin.js";
|
|
11
|
+
import { T as K } from "../../../../TablePlugin-DmE96vN7.js";
|
|
12
|
+
import { TableCellContextMenu as R } from "../TablePlugin/TableCellContextMenu/TableCellContextMenu.js";
|
|
12
13
|
import "react-dom";
|
|
13
14
|
import "../../../../index-yEhaxKq-.js";
|
|
14
|
-
import { s as
|
|
15
|
-
import { setScrollableContainers as
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
import { s as j } from "../../../../RteEditor.module-DaBh86FK.js";
|
|
16
|
+
import { setScrollableContainers as v, removeScrollableContainers as _ } from "../../helpers.js";
|
|
17
|
+
const $ = ({
|
|
18
|
+
editorScrollPosition: r,
|
|
19
|
+
onCatalogueLinkSearch: d,
|
|
20
|
+
catalogueSearchResponse: u
|
|
21
|
+
}) => {
|
|
22
|
+
const [n] = L(), [i, s] = B(null), p = T(null), f = N(() => {
|
|
23
|
+
const o = g();
|
|
24
|
+
if (b(o)) {
|
|
25
|
+
const l = o.anchor.getNode(), a = w(l);
|
|
26
|
+
if (a) {
|
|
27
|
+
const h = n.getElementByKey(a.getKey()), c = h ? h.getBoundingClientRect() : { right: 0, bottom: 0, height: 0 };
|
|
28
|
+
s({ xPos: c.right, yPos: c.bottom, height: c.height });
|
|
24
29
|
} else
|
|
25
|
-
|
|
30
|
+
s(null);
|
|
26
31
|
}
|
|
27
|
-
}, [
|
|
28
|
-
|
|
29
|
-
},
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
if (
|
|
33
|
-
const
|
|
34
|
-
|
|
32
|
+
}, [n]), y = (o) => {
|
|
33
|
+
p.current?.mutateTable(o);
|
|
34
|
+
}, e = () => {
|
|
35
|
+
n.update(() => {
|
|
36
|
+
const o = g();
|
|
37
|
+
if (b(o)) {
|
|
38
|
+
const l = o.anchor.getNode();
|
|
39
|
+
w(l) && (E(null), s(null));
|
|
35
40
|
}
|
|
36
41
|
});
|
|
37
42
|
};
|
|
38
|
-
return
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
43
|
+
return m(() => {
|
|
44
|
+
n.registerUpdateListener(({ editorState: o }) => {
|
|
45
|
+
o.read(() => {
|
|
46
|
+
f();
|
|
42
47
|
});
|
|
43
48
|
});
|
|
44
|
-
}, [
|
|
45
|
-
window.removeEventListener("scroll",
|
|
46
|
-
}), [
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
+
}, [n, f]), m(() => (v(e), window.addEventListener("scroll", e), window.addEventListener("resize", e), () => {
|
|
50
|
+
window.removeEventListener("scroll", e), window.removeEventListener("resize", e), _(e);
|
|
51
|
+
}), [n]), m(() => {
|
|
52
|
+
const o = () => {
|
|
53
|
+
v(e);
|
|
49
54
|
};
|
|
50
|
-
return window.addEventListener("keydown",
|
|
51
|
-
window.removeEventListener("keydown",
|
|
55
|
+
return window.addEventListener("keydown", o, { capture: !0 }), () => {
|
|
56
|
+
window.removeEventListener("keydown", o);
|
|
52
57
|
};
|
|
53
|
-
}, []), /* @__PURE__ */
|
|
54
|
-
/* @__PURE__ */
|
|
55
|
-
/* @__PURE__ */
|
|
56
|
-
/* @__PURE__ */
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
}, []), /* @__PURE__ */ C("div", { className: j.editor__toolbar, children: [
|
|
59
|
+
/* @__PURE__ */ t(k, {}),
|
|
60
|
+
/* @__PURE__ */ t(S, {}),
|
|
61
|
+
/* @__PURE__ */ t(K, { isActive: !!i, ref: p }),
|
|
62
|
+
i && /* @__PURE__ */ t(
|
|
63
|
+
R,
|
|
59
64
|
{
|
|
60
|
-
position:
|
|
61
|
-
parentScrollPosition:
|
|
62
|
-
onAction:
|
|
65
|
+
position: i,
|
|
66
|
+
parentScrollPosition: r,
|
|
67
|
+
onAction: y
|
|
63
68
|
}
|
|
64
69
|
),
|
|
65
|
-
/* @__PURE__ */
|
|
66
|
-
/* @__PURE__ */
|
|
70
|
+
/* @__PURE__ */ t(z, { parentScrollPosition: r }),
|
|
71
|
+
d && u && /* @__PURE__ */ t(
|
|
72
|
+
x,
|
|
73
|
+
{
|
|
74
|
+
parentScrollPosition: r,
|
|
75
|
+
onSearch: d,
|
|
76
|
+
searchResponse: u
|
|
77
|
+
}
|
|
78
|
+
),
|
|
79
|
+
/* @__PURE__ */ t(A, {})
|
|
67
80
|
] });
|
|
68
81
|
};
|
|
69
82
|
export {
|
|
70
|
-
|
|
83
|
+
$ as ToolBarPlugin
|
|
71
84
|
};
|
|
72
85
|
//# sourceMappingURL=ToolbarPlugin.js.map
|