@uva-glass/component-library 3.57.1 → 3.57.3
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/ActionList-D2GC2qPX.js.map +1 -1
- package/dist/AddCatalogueLinkForm-Di0xm7Ep.js.map +1 -1
- package/dist/ClipboardButton-Cg6LGUiD.js.map +1 -1
- package/dist/ControlsButton-Byx4XQtB.js.map +1 -1
- package/dist/CopyableText-BKsM-TuS.js.map +1 -1
- package/dist/DataTable-Cgn_RKTA.js.map +1 -1
- package/dist/{Lexical.prod-nAj5fF96.js → Lexical.prod-Dy5aDppc.js} +2449 -1794
- package/dist/Lexical.prod-Dy5aDppc.js.map +1 -0
- package/dist/LexicalClipboard.prod-CS8a49uL.js +398 -0
- package/dist/LexicalClipboard.prod-CS8a49uL.js.map +1 -0
- package/dist/{LexicalComposerContext.prod-DumMmRBt.js → LexicalComposerContext.prod-D4HOlWII.js} +3 -3
- package/dist/LexicalComposerContext.prod-D4HOlWII.js.map +1 -0
- package/dist/LexicalHtml.prod-BtzosUOH.js +1611 -0
- package/dist/LexicalHtml.prod-BtzosUOH.js.map +1 -0
- package/dist/LexicalLink.prod-DzgwWhQM.js +646 -0
- package/dist/LexicalLink.prod-DzgwWhQM.js.map +1 -0
- package/dist/LexicalList.prod-icY8mpm6.js +710 -0
- package/dist/LexicalList.prod-icY8mpm6.js.map +1 -0
- package/dist/{LexicalTable.prod-BpHQYpBM.js → LexicalTable.prod-Bf0is-op.js} +674 -750
- package/dist/LexicalTable.prod-Bf0is-op.js.map +1 -0
- package/dist/LexicalUtils.prod-CjGUKarD.js +259 -0
- package/dist/LexicalUtils.prod-CjGUKarD.js.map +1 -0
- package/dist/{LinkContextMenu-Byu3AEqp.js → LinkContextMenu-C8ehPbP8.js} +2 -2
- package/dist/{LinkContextMenu-Byu3AEqp.js.map → LinkContextMenu-C8ehPbP8.js.map} +1 -1
- package/dist/MenuLink-sK2_W2zs.js.map +1 -1
- package/dist/MetaDataList-Co9WCexh.js.map +1 -1
- package/dist/MultiSelectBox-D34qAgzc.js.map +1 -1
- package/dist/OverlayStepBar-BiC06Itd.js.map +1 -1
- package/dist/{PasteHandlerPlugin-DyTXcFsj.js → PasteHandlerPlugin-CSo_lOE8.js} +6 -6
- package/dist/{PasteHandlerPlugin-DyTXcFsj.js.map → PasteHandlerPlugin-CSo_lOE8.js.map} +1 -1
- package/dist/Periods-B4ms3N24.js.map +1 -1
- package/dist/SortableProvider-D-6Ttz0h.js.map +1 -1
- package/dist/{TableCellContextMenu--4IdoKAU.js → TableCellContextMenu-Cu5iXYSJ.js} +2 -2
- package/dist/{TableCellContextMenu--4IdoKAU.js.map → TableCellContextMenu-Cu5iXYSJ.js.map} +1 -1
- package/dist/{TableCellResizerPlugin-Dn8Ks2Lm.js → TableCellResizerPlugin-Bb2blXnq.js} +43 -43
- package/dist/TableCellResizerPlugin-Bb2blXnq.js.map +1 -0
- package/dist/VarIndicator-D0cnlcIf.js.map +1 -1
- package/dist/__mocks__/reactRouterMock.d.ts +27 -0
- package/dist/__mocks__/reactRouterMock.js +17 -0
- package/dist/__mocks__/reactRouterMock.js.map +1 -0
- package/dist/{chunk-5WKL7XVT-3IraU-Ja.js → chunk-5WKL7XVT-CvOIS3NE.js} +15 -15
- package/dist/{chunk-5WKL7XVT-3IraU-Ja.js.map → chunk-5WKL7XVT-CvOIS3NE.js.map} +1 -1
- package/dist/{client-BcEWjSJP.js → client-CXlG3hNo.js} +956 -957
- package/dist/{client-BcEWjSJP.js.map → client-CXlG3hNo.js.map} +1 -1
- package/dist/components/Accordion/Accordion.test.js +3 -3
- package/dist/components/Accordion/Accordion.test.js.map +1 -1
- package/dist/components/AccordionCard/AccordionCard.stories.js.map +1 -1
- package/dist/components/AccordionCard/AccordionCard.test.js +3 -3
- package/dist/components/AccordionCard/AccordionCard.test.js.map +1 -1
- package/dist/components/ActionList/ActionList.test.js +3 -3
- package/dist/components/ActionList/ActionList.test.js.map +1 -1
- package/dist/components/AppStatusBar/AppStatusBar.test.js +2 -2
- package/dist/components/AppStatusBar/AppStatusBar.test.js.map +1 -1
- package/dist/components/Attention/Attention.stories.js.map +1 -1
- package/dist/components/Attention/Attention.test.js +2 -2
- package/dist/components/Attention/Attention.test.js.map +1 -1
- package/dist/components/Backdrop/Backdrop.stories.js.map +1 -1
- package/dist/components/Backdrop/Backdrop.test.js +2 -2
- package/dist/components/Backdrop/Backdrop.test.js.map +1 -1
- package/dist/components/Buttons/Button.stories.js +1 -1
- package/dist/components/Buttons/Button.test.js +2 -2
- package/dist/components/Buttons/Button.test.js.map +1 -1
- package/dist/components/Buttons/LinkButton.stories.js +1 -1
- package/dist/components/Buttons/LinkButton.test.js +2 -2
- package/dist/components/Buttons/LinkButton.test.js.map +1 -1
- package/dist/components/Buttons/MenuButton.stories.js +1 -1
- package/dist/components/Buttons/MenuButton.test.js +2 -2
- package/dist/components/Buttons/MenuButton.test.js.map +1 -1
- package/dist/components/Card/Card.test.js +2 -2
- package/dist/components/Card/Card.test.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.stories.js +1 -1
- package/dist/components/Checkbox/Checkbox.stories.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.test.js +3 -3
- package/dist/components/Checkbox/Checkbox.test.js.map +1 -1
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js +1 -1
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js +2 -2
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js.map +1 -1
- package/dist/components/CheckboxTree/CheckboxTree.js +1 -1
- package/dist/components/CheckboxTree/CheckboxTree.stories.js +3 -3
- package/dist/components/CheckboxTree/CheckboxTree.stories.js.map +1 -1
- package/dist/components/CheckboxTree/index.js +1 -1
- package/dist/components/Chip/Chip.stories.js +1 -1
- package/dist/components/ControlsButton/ControlsButton.stories.js +1 -1
- package/dist/components/CopyableText/CopyableText.stories.js.map +1 -1
- package/dist/components/DataTable/DataTable.stories.js +2 -2
- package/dist/components/DataTable/DataTable.stories.js.map +1 -1
- package/dist/components/Drawer/Drawer.stories.js +1 -1
- package/dist/components/Drawer/Drawer.stories.js.map +1 -1
- package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.js.map +1 -1
- package/dist/components/FeedbackBar/FeedbackBar.stories.js.map +1 -1
- package/dist/components/FeedbackBar/FeedbackBar.test.js +2 -2
- package/dist/components/FeedbackBar/FeedbackBar.test.js.map +1 -1
- package/dist/components/FormInput/FormInput.js +1 -1
- package/dist/components/FormInput/FormInput.stories.js +2 -2
- package/dist/components/FormInput/index.js +1 -1
- package/dist/components/GridRow/GridRow.stories.js.map +1 -1
- package/dist/components/Icon/Icon.stories.js.map +1 -1
- package/dist/components/Icon/index.d.ts +1 -0
- package/dist/components/Icon/index.js +3 -2
- package/dist/components/IconButton/IconButton.stories.js +1 -1
- package/dist/components/IconButton/IconButton.stories.js.map +1 -1
- package/dist/components/InfoBanner/InfoBanner.stories.js.map +1 -1
- package/dist/components/InfoMessage/InfoMessage.stories.js.map +1 -1
- package/dist/components/InputField/InputField.stories.js +1 -1
- package/dist/components/InputField/InputField.stories.js.map +1 -1
- package/dist/components/Label/Label.test.js +2 -2
- package/dist/components/Label/Label.test.js.map +1 -1
- package/dist/components/MenuLink/MenuLink.stories.js.map +1 -1
- package/dist/components/MetaDataBar/MetaDataBar.stories.js.map +1 -1
- package/dist/components/MetaDataBar/MetaDataBar.test.js +1 -1
- package/dist/components/MetaDataBar/MetaDataBar.test.js.map +1 -1
- package/dist/components/MetaDataList/MetaDataList.stories.js.map +1 -1
- package/dist/components/ModalDialog/ModalDialog.stories.js +1 -1
- package/dist/components/ModalDialog/ModalDialog.stories.js.map +1 -1
- package/dist/components/MultiSelect/MultiSelect.js +1 -1
- package/dist/components/MultiSelect/MultiSelect.stories.js +2 -2
- package/dist/components/MultiSelect/MultiSelect.stories.js.map +1 -1
- 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.stories.js.map +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.test.js +2 -2
- package/dist/components/MultiSelectBox/MultiSelectBox.test.js.map +1 -1
- package/dist/components/Notification/Notification.stories.js +1 -1
- package/dist/components/Notification/Notification.test.js +2 -2
- package/dist/components/Notification/Notification.test.js.map +1 -1
- package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js +1 -1
- package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js.map +1 -1
- package/dist/components/PageOverlay/PageOverlay.stories.js.map +1 -1
- package/dist/components/PeriodSelector/PeriodSelector.js +1 -1
- package/dist/components/PeriodSelector/PeriodSelector.stories.js +2 -2
- package/dist/components/PeriodSelector/PeriodSelector.stories.js.map +1 -1
- package/dist/components/PeriodSelector/index.js +1 -1
- package/dist/components/Periods/Periods.stories.js.map +1 -1
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js.map +1 -1
- package/dist/components/RadioButton/RadioButton.stories.js.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.stories.js +1 -1
- package/dist/components/RadioGroup/RadioGroup.stories.js.map +1 -1
- package/dist/components/RadioGroup/Radiogroup.test.js +2 -2
- package/dist/components/RadioGroup/Radiogroup.test.js.map +1 -1
- package/dist/components/RadioTabSelector/RadioTabSelector.js +1 -1
- package/dist/components/RadioTabSelector/RadioTabSelector.stories.js +2 -2
- package/dist/components/RadioTabSelector/index.js +1 -1
- package/dist/components/Repeater/Repeater.stories.js.map +1 -1
- package/dist/components/RteEditor/EditorHeader/EditorHeader.js +1 -1
- package/dist/components/RteEditor/EditorHeader/index.js +1 -1
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +4 -4
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js +35 -35
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/HistoryPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +15 -15
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/index.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js +33 -33
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js.map +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/index.js +2 -2
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/index.js +4 -4
- package/dist/components/RteEditor/RteEditor.js +1 -1
- package/dist/components/RteEditor/RteEditor.stories.js +1 -1
- package/dist/components/RteEditor/RteEditor.stories.js.map +1 -1
- package/dist/components/RteEditor/helpers.js +7 -7
- package/dist/components/RteEditor/helpers.js.map +1 -1
- package/dist/components/RteEditor/index.js +1 -1
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js +18 -18
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js.map +1 -1
- package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js +22 -22
- package/dist/components/SearchField/SearcheField.stories.js.map +1 -1
- package/dist/components/SectionNotification/SectionNotification.stories.js.map +1 -1
- package/dist/components/SelectListbox/SelectListBox.stories.js +1 -1
- package/dist/components/SelectListbox/SelectListBox.stories.js.map +1 -1
- package/dist/components/SelectListbox/SelectProvider.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectButton.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectOption.js.map +1 -1
- package/dist/components/Slider/Slider.stories.js.map +1 -1
- package/dist/components/Sortable/Sortable.stories.js +1 -1
- package/dist/components/Sortable/Sortable.stories.js.map +1 -1
- package/dist/components/Spinner/Spinner.stories.js.map +1 -1
- package/dist/components/StatusBadge/StatusBadge.test.js +2 -2
- package/dist/components/StatusBadge/StatusBadge.test.js.map +1 -1
- package/dist/components/StatusPill/StatusPill.stories.js.map +1 -1
- package/dist/components/TextArea/TextArea.stories.js +1 -1
- package/dist/components/TextArea/TextArea.test.js +3 -3
- package/dist/components/TextArea/TextArea.test.js.map +1 -1
- package/dist/components/ToggleSwitch/ToggleSwitch.stories.js +1 -1
- package/dist/components/Tooltip/Tooltip.stories.js.map +1 -1
- package/dist/components/VarIndicator/VarIndicator.stories.js +1 -1
- package/dist/components/VarIndicator/VarIndicator.test.js +3 -3
- package/dist/components/VarIndicator/VarIndicator.test.js.map +1 -1
- package/dist/components/WeekSelector/WeekSelector.js.map +1 -1
- package/dist/components/WeekSelector/WeekSelector.stories.js.map +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorOption.js.map +1 -1
- package/dist/components/hooks/useOnClickOutside.js.map +1 -1
- package/dist/components/hooks/usePositionedFloaters.js.map +1 -1
- package/dist/components/hooks/useResponsive.js.map +1 -1
- package/dist/components/index.js +64 -63
- package/dist/components-CgBF6db6.js +2013 -0
- package/dist/components-CgBF6db6.js.map +1 -0
- package/dist/{dist-C6Ar8a59.js → dist-oLwM--0y.js} +14 -14
- package/dist/{dist-C6Ar8a59.js.map → dist-oLwM--0y.js.map} +1 -1
- package/dist/{esm-B6Pg-v2v.js → esm-BXzGXYWZ.js} +3 -3
- package/dist/{esm-B6Pg-v2v.js.map → esm-BXzGXYWZ.js.map} +1 -1
- package/dist/{helpers-BzYayeT-.js → helpers-MMNO9vlK.js} +9 -9
- package/dist/helpers-MMNO9vlK.js.map +1 -0
- package/dist/index.js +64 -63
- package/dist/{react-18-DbbN8Pdb.js → react-18-BwdnKC48.js} +3 -3
- package/dist/react-18-BwdnKC48.js.map +1 -0
- package/dist/{react.esm-56DGmlLk.js → react.esm-DwWzhs9e.js} +17 -17
- package/dist/react.esm-DwWzhs9e.js.map +1 -0
- package/dist/setupTests.js +2 -2
- package/dist/setupTests.js.map +1 -1
- package/dist/storybook__react.d.js +266 -266
- package/dist/storybook__react.d.js.map +1 -1
- package/dist/{test-WxLxsxwA.js → test-Gtly6H2f.js} +7 -5
- package/dist/{test-WxLxsxwA.js.map → test-Gtly6H2f.js.map} +1 -1
- package/dist/{test-utils-CMrZ33U0.js → test-utils-BVa31HVj.js} +2 -2
- package/dist/{test-utils-CMrZ33U0.js.map → test-utils-BVa31HVj.js.map} +1 -1
- package/package.json +24 -25
- package/dist/Lexical.prod-nAj5fF96.js.map +0 -1
- package/dist/LexicalClipboard.prod-B9sWgdS2.js +0 -348
- package/dist/LexicalClipboard.prod-B9sWgdS2.js.map +0 -1
- package/dist/LexicalComposerContext.prod-DumMmRBt.js.map +0 -1
- package/dist/LexicalHtml.prod-RCMsF0qt.js +0 -2139
- package/dist/LexicalHtml.prod-RCMsF0qt.js.map +0 -1
- package/dist/LexicalLink.prod-BcBNTFEb.js +0 -707
- package/dist/LexicalLink.prod-BcBNTFEb.js.map +0 -1
- package/dist/LexicalList.prod-THQt9B32.js +0 -890
- package/dist/LexicalList.prod-THQt9B32.js.map +0 -1
- package/dist/LexicalTable.prod-BpHQYpBM.js.map +0 -1
- package/dist/LexicalUtils.prod-7S6iuu9A.js +0 -347
- package/dist/LexicalUtils.prod-7S6iuu9A.js.map +0 -1
- package/dist/TableCellResizerPlugin-Dn8Ks2Lm.js.map +0 -1
- package/dist/components-KU0q76JR.js +0 -2150
- package/dist/components-KU0q76JR.js.map +0 -1
- package/dist/helpers-BzYayeT-.js.map +0 -1
- package/dist/react-18-DbbN8Pdb.js.map +0 -1
- package/dist/react.esm-56DGmlLk.js.map +0 -1
- /package/dist/{chunk-CWhphoD1.js → rolldown-runtime-CWhphoD1.js} +0 -0
|
@@ -1,347 +0,0 @@
|
|
|
1
|
-
import { Bn as e, C as t, In as n, It as r, J as i, Kn as a, Kt as o, Ln as s, O as c, P as l, Qn as u, V as d, Wt as f, X as p, Y as m, Z as h, Zn as g, b as _, bt as v, cr as y, f as b, gt as x, i as S, ir as C, j as w, jn as ee, kn as T, l as E, ln as D, m as te, nn as ne, nt as re, o as O, ot as k, rn as A, rr as j, ur as M, yn as N, z as ie, zt as P } from "./Lexical.prod-nAj5fF96.js";
|
|
2
|
-
//#region node_modules/.pnpm/@lexical+selection@0.45.0/node_modules/@lexical/selection/dist/LexicalSelection.prod.mjs
|
|
3
|
-
function ae(e, t) {
|
|
4
|
-
let n = e.getRootElement();
|
|
5
|
-
if (n === null) return [];
|
|
6
|
-
let r = n.getBoundingClientRect(), i = getComputedStyle(n), a = parseFloat(i.paddingLeft) + parseFloat(i.paddingRight), o = Array.from(t.getClientRects()), s, c = o.length;
|
|
7
|
-
o.sort((e, t) => {
|
|
8
|
-
let n = e.top - t.top;
|
|
9
|
-
return Math.abs(n) <= 3 ? e.left - t.left : n;
|
|
10
|
-
});
|
|
11
|
-
for (let e = 0; e < c; e++) {
|
|
12
|
-
let t = o[e], n = s && s.top <= t.top && s.top + s.height > t.top && s.left + s.width > t.left, i = t.width + a === r.width;
|
|
13
|
-
n || i ? (o.splice(e--, 1), c--) : s = t;
|
|
14
|
-
}
|
|
15
|
-
return o;
|
|
16
|
-
}
|
|
17
|
-
function F(e) {
|
|
18
|
-
let t = p().getElementByKey(e.getKey());
|
|
19
|
-
if (t === null) return null;
|
|
20
|
-
let n = t.ownerDocument.defaultView;
|
|
21
|
-
return n === null ? null : n.getComputedStyle(t);
|
|
22
|
-
}
|
|
23
|
-
function I(e) {
|
|
24
|
-
return F(te(e) ? e : e.getParentOrThrow());
|
|
25
|
-
}
|
|
26
|
-
function oe(e) {
|
|
27
|
-
let t = I(e);
|
|
28
|
-
return t !== null && t.direction === "rtl";
|
|
29
|
-
}
|
|
30
|
-
function se(e, t, n = "self") {
|
|
31
|
-
let r = e.getStartEndPoints();
|
|
32
|
-
if (t.isSelected(e) && !f(t) && r !== null) {
|
|
33
|
-
let [i, a] = r, o = e.isBackward(), s = i.getNode(), c = a.getNode(), l = t.is(s), u = t.is(c);
|
|
34
|
-
if (l || u) {
|
|
35
|
-
let [r, i] = C(e), a = s.is(c), l = t.is(o ? c : s), u = t.is(o ? s : c), f, p = 0;
|
|
36
|
-
a ? (p = r > i ? i : r, f = r > i ? r : i) : l ? (p = o ? i : r, f = void 0) : u && (p = 0, f = o ? r : i);
|
|
37
|
-
let m = t.__text.slice(p, f);
|
|
38
|
-
m !== t.__text && (n === "clone" && (t = d(t)), t.__text = m);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return t;
|
|
42
|
-
}
|
|
43
|
-
function L(e, t) {
|
|
44
|
-
let n = e.getFormatType(), r = e.getIndent();
|
|
45
|
-
n !== t.getFormatType() && t.setFormat(n), r !== t.getIndent() && t.setIndent(r);
|
|
46
|
-
}
|
|
47
|
-
function R(e, t, n = L) {
|
|
48
|
-
if (!e) return;
|
|
49
|
-
let r = e.getStartEndPoints(), i = !1, a = null, o = /* @__PURE__ */ new Map();
|
|
50
|
-
if (r) {
|
|
51
|
-
let [e, t] = r, n = w(e.getNode(), _);
|
|
52
|
-
a = w(t.getNode(), _), i = P(a) && !a.is(n) && function(e, t) {
|
|
53
|
-
if (e.offset !== 0) return !1;
|
|
54
|
-
let n = e.getNode();
|
|
55
|
-
if (P(n) && n.isEmpty()) return !1;
|
|
56
|
-
for (; !n.is(t);) {
|
|
57
|
-
if (n.getPreviousSibling() !== null) return !1;
|
|
58
|
-
let e = n.getParent();
|
|
59
|
-
if (e === null) return !1;
|
|
60
|
-
n = e;
|
|
61
|
-
}
|
|
62
|
-
return !0;
|
|
63
|
-
}(t, a), P(n) && o.set(n.getKey(), n), P(a) && !i && o.set(a.getKey(), a);
|
|
64
|
-
}
|
|
65
|
-
for (let t of e.getNodes()) if (P(t) && _(t)) {
|
|
66
|
-
if (i && t.is(a)) continue;
|
|
67
|
-
o.set(t.getKey(), t);
|
|
68
|
-
} else if (!r) {
|
|
69
|
-
let e = w(t, _);
|
|
70
|
-
P(e) && o.set(e.getKey(), e);
|
|
71
|
-
}
|
|
72
|
-
for (let e of o.values()) {
|
|
73
|
-
let r = t();
|
|
74
|
-
n(e, r), e.replace(r, !0);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
function z(e) {
|
|
78
|
-
let t = B(e);
|
|
79
|
-
return t !== null && t.writingMode === "vertical-rl";
|
|
80
|
-
}
|
|
81
|
-
function B(e) {
|
|
82
|
-
let t = e.anchor.getNode();
|
|
83
|
-
return P(t) ? F(t) : I(t);
|
|
84
|
-
}
|
|
85
|
-
function V(e, t) {
|
|
86
|
-
let n = z(e) ? !t : t;
|
|
87
|
-
U(e) && (n = !n);
|
|
88
|
-
let r = m(e.focus, n ? "previous" : "next");
|
|
89
|
-
if (E(r)) return !1;
|
|
90
|
-
for (let e of b(r)) {
|
|
91
|
-
if (g(e)) return !e.origin.isInline();
|
|
92
|
-
if (!P(e.origin)) {
|
|
93
|
-
if (T(e.origin)) return !0;
|
|
94
|
-
break;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return !1;
|
|
98
|
-
}
|
|
99
|
-
function H(e, t, n, r) {
|
|
100
|
-
e.modify(t ? "extend" : "move", n, r);
|
|
101
|
-
}
|
|
102
|
-
function U(e) {
|
|
103
|
-
let t = B(e);
|
|
104
|
-
return t !== null && t.direction === "rtl";
|
|
105
|
-
}
|
|
106
|
-
function W(e, t, n) {
|
|
107
|
-
let r = U(e), i;
|
|
108
|
-
i = z(e) || r ? !n : n, H(e, t, i, "character");
|
|
109
|
-
}
|
|
110
|
-
//#endregion
|
|
111
|
-
//#region node_modules/.pnpm/@lexical+utils@0.45.0/node_modules/@lexical/utils/dist/LexicalUtils.prod.mjs
|
|
112
|
-
function G(e, ...t) {
|
|
113
|
-
let n = new URL("https://lexical.dev/docs/error"), r = new URLSearchParams();
|
|
114
|
-
r.append("code", e);
|
|
115
|
-
for (let e of t) r.append("v", e);
|
|
116
|
-
throw n.search = r.toString(), Error(`Minified Lexical error #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`);
|
|
117
|
-
}
|
|
118
|
-
function K(e) {
|
|
119
|
-
return `${e}px`;
|
|
120
|
-
}
|
|
121
|
-
var ce = {
|
|
122
|
-
attributes: !0,
|
|
123
|
-
characterData: !0,
|
|
124
|
-
childList: !0,
|
|
125
|
-
subtree: !0
|
|
126
|
-
};
|
|
127
|
-
function le(e, t, n) {
|
|
128
|
-
let r = null, i = null, a = null, o = [], s = document.createElement("div");
|
|
129
|
-
function c() {
|
|
130
|
-
r === null && G(182), i === null && G(183);
|
|
131
|
-
let { left: a, top: c } = i.getBoundingClientRect(), l = ae(e, t);
|
|
132
|
-
var u, d;
|
|
133
|
-
s.isConnected || (d = s, (u = i).insertBefore(d, u.firstChild));
|
|
134
|
-
let f = !1;
|
|
135
|
-
for (let e = 0; e < l.length; e++) {
|
|
136
|
-
let t = l[e], n = o[e] || document.createElement("div"), r = n.style;
|
|
137
|
-
r.position !== "absolute" && (r.position = "absolute", f = !0);
|
|
138
|
-
let i = K(t.left - a);
|
|
139
|
-
r.left !== i && (r.left = i, f = !0);
|
|
140
|
-
let u = K(t.top - c);
|
|
141
|
-
r.top !== u && (n.style.top = u, f = !0);
|
|
142
|
-
let d = K(t.width);
|
|
143
|
-
r.width !== d && (n.style.width = d, f = !0);
|
|
144
|
-
let p = K(t.height);
|
|
145
|
-
r.height !== p && (n.style.height = p, f = !0), n.parentNode !== s && (s.append(n), f = !0), o[e] = n;
|
|
146
|
-
}
|
|
147
|
-
for (; o.length > l.length;) o.pop();
|
|
148
|
-
f && n(o);
|
|
149
|
-
}
|
|
150
|
-
function l() {
|
|
151
|
-
i = null, r = null, a !== null && a.disconnect(), a = null, s.remove();
|
|
152
|
-
for (let e of o) e.remove();
|
|
153
|
-
o = [];
|
|
154
|
-
}
|
|
155
|
-
s.style.position = "relative";
|
|
156
|
-
let u = e.registerRootListener(function t() {
|
|
157
|
-
let n = e.getRootElement();
|
|
158
|
-
if (n === null) return l();
|
|
159
|
-
let o = n.parentElement;
|
|
160
|
-
if (!M(o)) return l();
|
|
161
|
-
l(), r = n, i = o, a = new MutationObserver((n) => {
|
|
162
|
-
let a = e.getRootElement(), o = a && a.parentElement;
|
|
163
|
-
if (a !== r || o !== i) return t();
|
|
164
|
-
for (let e of n) if (!s.contains(e.target)) return c();
|
|
165
|
-
}), a.observe(o, ce), c();
|
|
166
|
-
});
|
|
167
|
-
return () => {
|
|
168
|
-
u(), l();
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
function q(e, t, n, r) {
|
|
172
|
-
if (t.type !== "text" && P(n)) {
|
|
173
|
-
let i = O(n, r, e);
|
|
174
|
-
return [i.element, i.getFirstChildOffset() + t.offset];
|
|
175
|
-
}
|
|
176
|
-
return [(c(n) ? re(n, r, e) : ne(r)) || r, t.offset];
|
|
177
|
-
}
|
|
178
|
-
function ue(e) {
|
|
179
|
-
for (let t of e) {
|
|
180
|
-
let e = t.style;
|
|
181
|
-
e.background !== "Highlight" && (e.background = "Highlight"), e.color !== "HighlightText" && (e.color = "HighlightText"), e.marginTop !== K(-1.5) && (e.marginTop = K(-1.5)), e.paddingTop !== K(4) && (e.paddingTop = K(4)), e.paddingBottom !== K(0) && (e.paddingBottom = K(0));
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
function de(e, t = ue) {
|
|
185
|
-
let n = null, r = null, i = null, a = null, o = null, s = null, c = () => {};
|
|
186
|
-
function l(l) {
|
|
187
|
-
l.read(() => {
|
|
188
|
-
let l = x();
|
|
189
|
-
if (!u(l)) return n = null, i = null, a = null, s = null, c(), void (c = () => {});
|
|
190
|
-
let [d, f] = function(e) {
|
|
191
|
-
let t = e.getStartEndPoints();
|
|
192
|
-
return e.isBackward() ? [t[1], t[0]] : t;
|
|
193
|
-
}(l), p = d.getNode(), m = p.getKey(), h = d.offset, g = f.getNode(), _ = g.getKey(), v = f.offset, y = e.getElementByKey(m), b = e.getElementByKey(_), S = n === null || y !== r || h !== i || m !== n.getKey(), C = a === null || b !== o || v !== s || _ !== a.getKey();
|
|
194
|
-
if ((S || C) && y !== null && b !== null) {
|
|
195
|
-
let n = function(e, t, n, r, i, a, o) {
|
|
196
|
-
let s = (e._window ? e._window.document : document).createRange();
|
|
197
|
-
return s.setStart(...q(e, t, n, r)), s.setEnd(...q(e, i, a, o)), s;
|
|
198
|
-
}(e, d, p, y, f, g, b);
|
|
199
|
-
c(), c = le(e, n, t);
|
|
200
|
-
}
|
|
201
|
-
n = p, r = y, i = h, a = g, o = b, s = v;
|
|
202
|
-
}, { editor: e });
|
|
203
|
-
}
|
|
204
|
-
return l(e.getEditorState()), A(e.registerUpdateListener(({ editorState: e }) => l(e)), () => {
|
|
205
|
-
c();
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
function fe(e, t) {
|
|
209
|
-
let n = null, r = () => {
|
|
210
|
-
let r = getSelection(), i = r && r.anchorNode, a = e.getRootElement();
|
|
211
|
-
i !== null && a !== null && a.contains(i) ? n !== null && (n(), n = null) : n === null && (n = de(e, t));
|
|
212
|
-
};
|
|
213
|
-
return e.registerRootListener((e) => {
|
|
214
|
-
if (e) {
|
|
215
|
-
let t = e.ownerDocument;
|
|
216
|
-
return t.addEventListener("selectionchange", r), r(), () => {
|
|
217
|
-
n !== null && n(), t.removeEventListener("selectionchange", r);
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
function pe(e, t) {
|
|
223
|
-
return Array.from(me(e, t));
|
|
224
|
-
}
|
|
225
|
-
function me(e, t) {
|
|
226
|
-
return he("next", e, t);
|
|
227
|
-
}
|
|
228
|
-
function J(e, t) {
|
|
229
|
-
let n = l(j(e, t));
|
|
230
|
-
return n && n[0];
|
|
231
|
-
}
|
|
232
|
-
function he(t, n, a) {
|
|
233
|
-
let o = i(), s = n || o, c = P(s) ? D(s, t) : j(s, t), u = ge(s), d = a ? e(r(j(a, t))) || J(a, t) : J(s, t), f = u;
|
|
234
|
-
return N({
|
|
235
|
-
hasNext: (e) => e !== null,
|
|
236
|
-
initial: c,
|
|
237
|
-
map: (e) => ({
|
|
238
|
-
depth: f,
|
|
239
|
-
node: e.origin
|
|
240
|
-
}),
|
|
241
|
-
step: (e) => {
|
|
242
|
-
if (e.isSameNodeCaret(d)) return null;
|
|
243
|
-
g(e) && f++;
|
|
244
|
-
let t = l(e);
|
|
245
|
-
return !t || t[0].isSameNodeCaret(d) ? null : (f += t[1], t[0]);
|
|
246
|
-
}
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
function ge(e) {
|
|
250
|
-
let t = -1;
|
|
251
|
-
for (let n = e; n !== null; n = n.getParent()) t++;
|
|
252
|
-
return t;
|
|
253
|
-
}
|
|
254
|
-
function _e(e, t) {
|
|
255
|
-
let n = e;
|
|
256
|
-
for (; n != null;) {
|
|
257
|
-
if (n instanceof t) return n;
|
|
258
|
-
n = n.getParent();
|
|
259
|
-
}
|
|
260
|
-
return null;
|
|
261
|
-
}
|
|
262
|
-
function ve(e) {
|
|
263
|
-
let t = w(e, (e) => P(e) && !e.isInline());
|
|
264
|
-
return P(t) || G(4, e.__key), t;
|
|
265
|
-
}
|
|
266
|
-
function ye(t) {
|
|
267
|
-
let n = x() || o(), r;
|
|
268
|
-
if (u(n)) r = m(n.focus, "next");
|
|
269
|
-
else {
|
|
270
|
-
if (n != null) {
|
|
271
|
-
let e = n.getNodes(), t = e[e.length - 1];
|
|
272
|
-
t && (r = j(t, "next"));
|
|
273
|
-
}
|
|
274
|
-
r ||= D(i(), "previous").getFlipped().insert(h());
|
|
275
|
-
}
|
|
276
|
-
let a = Y(t, r), s = e(a);
|
|
277
|
-
return S(y(g(s) ? ie(s) : a)), t.getLatest();
|
|
278
|
-
}
|
|
279
|
-
function Y(e, n, r) {
|
|
280
|
-
let i = k(n, "next");
|
|
281
|
-
a(i) && (i.offset === 0 ? i = j(i.origin, "previous").getFlipped() : i.offset === i.origin.getTextContentSize() && (i = j(i.origin, "next"))), i.origin.is(e) && (s(i) || G(342, e.getKey(), e.getType()), i = t(i)), (e.is(i.getNodeAtCaret()) || e.is(i.getFlipped().getNodeAtCaret())) && e.remove(!0);
|
|
282
|
-
for (let e = i; e; e = v(e, r)) i = e;
|
|
283
|
-
return a(i) && G(283), i.insert(e.isInline() ? h().append(e) : e), k(j(e.getLatest(), "next"), n.direction);
|
|
284
|
-
}
|
|
285
|
-
function be(e, t) {
|
|
286
|
-
return e !== null && Object.getPrototypeOf(e).constructor.name === t.name;
|
|
287
|
-
}
|
|
288
|
-
function xe(e) {
|
|
289
|
-
let t = x();
|
|
290
|
-
if (!u(t)) return !1;
|
|
291
|
-
let n = /* @__PURE__ */ new Set(), r = t.getNodes();
|
|
292
|
-
for (let t = 0; t < r.length; t++) {
|
|
293
|
-
let i = r[t], a = i.getKey();
|
|
294
|
-
if (n.has(a)) continue;
|
|
295
|
-
let o = w(i, (e) => P(e) && !e.isInline());
|
|
296
|
-
if (o === null) continue;
|
|
297
|
-
let s = o.getKey();
|
|
298
|
-
o.canIndent() && !n.has(s) && (n.add(s), e(o));
|
|
299
|
-
}
|
|
300
|
-
return n.size > 0;
|
|
301
|
-
}
|
|
302
|
-
function Se(e, t) {
|
|
303
|
-
D(e, "next").insert(t);
|
|
304
|
-
}
|
|
305
|
-
var X = !(n || !ee) && void 0;
|
|
306
|
-
function Z(e, t = !1) {
|
|
307
|
-
let n = 1;
|
|
308
|
-
if (function() {
|
|
309
|
-
if (X === void 0) {
|
|
310
|
-
let e = document.createElement("div");
|
|
311
|
-
e.style.position = "absolute", e.style.opacity = "0", e.style.width = "100px", e.style.left = "-1000px", document.body.appendChild(e);
|
|
312
|
-
let t = e.getBoundingClientRect();
|
|
313
|
-
e.style.setProperty("zoom", "2"), X = e.getBoundingClientRect().width === t.width, document.body.removeChild(e);
|
|
314
|
-
}
|
|
315
|
-
return X;
|
|
316
|
-
}() || t) for (; e;) n *= Number(window.getComputedStyle(e).getPropertyValue("zoom")), e = e.parentElement;
|
|
317
|
-
return n;
|
|
318
|
-
}
|
|
319
|
-
function Ce(e, t) {
|
|
320
|
-
return Q(e, t, null);
|
|
321
|
-
}
|
|
322
|
-
function Q(e, t, n) {
|
|
323
|
-
let r = !1;
|
|
324
|
-
for (let i of $(e)) t(i) ? n !== null && n(i) : (r = !0, P(i) && Q(i, t, n || ((e) => i.insertAfter(e))), i.remove());
|
|
325
|
-
return r;
|
|
326
|
-
}
|
|
327
|
-
function we(e, t) {
|
|
328
|
-
let n = [], r = Array.from(e).reverse();
|
|
329
|
-
for (let e = r.pop(); e !== void 0; e = r.pop()) if (t(e)) n.push(e);
|
|
330
|
-
else if (P(e)) for (let t of $(e)) r.push(t);
|
|
331
|
-
return n;
|
|
332
|
-
}
|
|
333
|
-
function $(e) {
|
|
334
|
-
return Te(D(e, "previous"));
|
|
335
|
-
}
|
|
336
|
-
function Te(e) {
|
|
337
|
-
return N({
|
|
338
|
-
hasNext: s,
|
|
339
|
-
initial: e.getAdjacentCaret(),
|
|
340
|
-
map: (e) => e.origin.getLatest(),
|
|
341
|
-
step: (e) => e.getAdjacentCaret()
|
|
342
|
-
});
|
|
343
|
-
}
|
|
344
|
-
//#endregion
|
|
345
|
-
export { oe as _, we as a, be as c, Se as d, xe as f, W as g, R as h, fe as i, _e as l, se as m, pe as n, ye as o, V as p, Z as r, Y as s, Ce as t, ve as u };
|
|
346
|
-
|
|
347
|
-
//# sourceMappingURL=LexicalUtils.prod-7S6iuu9A.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LexicalUtils.prod-7S6iuu9A.js","names":["t","k","n","z","i","c","f","j","U","p","h","s","G","y","m","S","x","N","Q","$","t","r","u","i","l","s","n","o","e","g","d","N","c","w","a","M","f","x","C","_","E","I","A","R","L","b","P","v","y","K","H"],"sources":["../node_modules/.pnpm/@lexical+selection@0.45.0/node_modules/@lexical/selection/dist/LexicalSelection.prod.mjs","../node_modules/.pnpm/@lexical+utils@0.45.0/node_modules/@lexical/utils/dist/LexicalUtils.prod.mjs"],"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{$isTextNode as e,$getEditor as t,$isRootNode as n,$getSelection as o,$isRangeSelection as l,$caretRangeFromSelection as r,$isTokenOrSegmented as i,$isElementNode as s,$getCharacterOffsets as c,$cloneWithPropertiesEphemeral as f,$getNodeByKey as u,$getPreviousSelection as g,$createTextNode as d,getStyleObjectFromCSS as a,$findMatchingParent as p,INTERNAL_$isBlock as h,$caretFromPoint as y,$isExtendableTextPointCaret as m,$extendCaretToRange as S,$isChildCaret as x,$isDecoratorNode as N,$isRootOrShadowRoot as T,$hasAncestor as C,$isLeafNode as v,$setSelection as w}from\"lexical\";export{$cloneWithProperties,$selectAll}from\"lexical\";function P(e,...t){const n=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",e);for(const e of t)o.append(\"v\",e);throw n.search=o.toString(),Error(`Minified Lexical error #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}function K(e){let t=e;for(;null!=t;){if(t.nodeType===Node.TEXT_NODE)return t;t=t.firstChild}return null}function E(e){const t=e.parentNode;if(null==t)throw new Error(\"Should never happen\");return[t,Array.from(t.childNodes).indexOf(e)]}function I(t,n,o,l,r){const i=n.getKey(),s=l.getKey(),c=document.createRange();let f=t.getElementByKey(i),u=t.getElementByKey(s),g=o,d=r;if(e(n)&&(f=K(f)),e(l)&&(u=K(u)),void 0===n||void 0===l||null===f||null===u)return null;\"BR\"===f.nodeName&&([f,g]=E(f)),\"BR\"===u.nodeName&&([u,d]=E(u));const a=f.firstChild;f===u&&null!=a&&\"BR\"===a.nodeName&&0===g&&0===d&&(d=1);try{c.setStart(f,g),c.setEnd(u,d)}catch(e){return null}return!c.collapsed||g===d&&i===s||(c.setStart(u,d),c.setEnd(f,g)),c}function B(e,t){const n=e.getRootElement();if(null===n)return[];const o=n.getBoundingClientRect(),l=getComputedStyle(n),r=parseFloat(l.paddingLeft)+parseFloat(l.paddingRight),i=Array.from(t.getClientRects());let s,c=i.length;i.sort((e,t)=>{const n=e.top-t.top;return Math.abs(n)<=3?e.left-t.left:n});for(let e=0;e<c;e++){const t=i[e],n=s&&s.top<=t.top&&s.top+s.height>t.top&&s.left+s.width>t.left,l=t.width+r===o.width;n||l?(i.splice(e--,1),c--):s=t}return i}function F(e){let t=\"\";for(const n in e)n&&(t+=`${n}: ${e[n]};`);return t}function b(e){const n=t().getElementByKey(e.getKey());if(null===n)return null;const o=n.ownerDocument.defaultView;return null===o?null:o.getComputedStyle(n)}function k(e){return b(n(e)?e:e.getParentOrThrow())}function z(e){const t=k(e);return null!==t&&\"rtl\"===t.direction}function O(e,t,n=\"self\"){const o=e.getStartEndPoints();if(t.isSelected(e)&&!i(t)&&null!==o){const[l,r]=o,i=e.isBackward(),s=l.getNode(),u=r.getNode(),g=t.is(s),d=t.is(u);if(g||d){const[o,l]=c(e),r=s.is(u),g=t.is(i?u:s),d=t.is(i?s:u);let a,p=0;if(r)p=o>l?l:o,a=o>l?o:l;else if(g){p=i?l:o,a=void 0}else if(d){p=0,a=i?o:l}const h=t.__text.slice(p,a);h!==t.__text&&(\"clone\"===n&&(t=f(t)),t.__text=h)}}return t}function R(e){if(\"text\"===e.type)return e.offset===e.getNode().getTextContentSize();const t=e.getNode();return s(t)||P(177),e.offset===t.getChildrenSize()}function A(t,o,r){let i=o.getNode(),c=r;if(s(i)){const e=i.getDescendantByIndex(o.offset);null!==e&&(i=e)}for(;c>0&&null!==i;){if(s(i)){const e=i.getLastDescendant();null!==e&&(i=e)}let r=i.getPreviousSibling(),f=0;if(null===r){let e=i.getParentOrThrow(),t=e.getPreviousSibling();for(;null===t;){if(e=e.getParent(),null===e){r=null;break}t=e.getPreviousSibling()}null!==e&&(f=e.isInline()?0:2,r=t)}let a=i.getTextContent();\"\"===a&&s(i)&&!i.isInline()&&(a=\"\\n\\n\");const p=a.length;if(!e(i)||c>=p){const e=i.getParent();i.remove(),null==e||0!==e.getChildrenSize()||n(e)||e.remove(),c-=p+f,i=r}else{const n=i.getKey(),r=t.getEditorState().read(()=>{const t=u(n);return e(t)&&t.isSimpleText()?t.getTextContent():null}),s=p-c,f=a.slice(0,s);if(null!==r&&r!==a){const e=g();let t=i;if(i.isSimpleText())i.setTextContent(r);else{const e=d(r);i.replace(e),t=e}if(l(e)&&e.isCollapsed()){const n=e.anchor.offset;t.select(n,n)}}else if(i.isSimpleText()){const e=o.key===n;let t=o.offset;t<c&&(t=p);const l=e?t-c:0,r=e?t:s;if(e&&0===l){const[e]=i.splitText(l,r);e.remove()}else{const[,e]=i.splitText(l,r);e.remove()}}else{const e=d(f);i.replace(e)}c=0}}}const _=()=>{};function L(t,n){(l(t)?t.isCollapsed():e(t)||s(t))||P(280);const o=a(l(t)?t.style:e(t)?t.getStyle():t.getTextStyle()),r=F(Object.entries(n).reduce((e,[n,l])=>(\"function\"==typeof l?e[n]=l(o[n],t):null===l?delete e[n]:e[n]=l,e),{...o}));l(t)||e(t)?t.setStyle(r):t.setTextStyle(r)}function M(e,t){if(l(e)&&e.isCollapsed()){L(e,t);const n=e.anchor.getNode();s(n)&&n.isEmpty()&&L(n,t)}$(e=>{L(e,t)});const n=e.getNodes();if(n.length>0){const e=new Set;for(const o of n){if(!s(o)||!o.canBeEmpty()||0!==o.getChildrenSize())continue;const n=o.getKey();e.has(n)||(e.add(n),L(o,t))}}}function $(t){const n=o();if(!n)return;const s=new Map,c=e=>s.get(e.getKey())||[0,e.getTextContentSize()];if(l(n))for(const e of r(n).getTextSlices())e&&s.set(e.caret.origin.getKey(),e.getSliceIndices());const f=n.getNodes();for(const n of f){if(!e(n)||!n.canHaveFormat())continue;const[o,l]=c(n);if(l!==o)if(i(n)||0===o&&l===n.getTextContentSize())t(n);else{t(n.splitText(o,l)[0===o?0:1])}}l(n)&&\"text\"===n.anchor.type&&\"text\"===n.focus.type&&n.anchor.key===n.focus.key&&D(n)}function D(e){if(e.isBackward()){const{anchor:t,focus:n}=e,{key:o,offset:l,type:r}=t;t.set(n.key,n.offset,n.type),n.set(o,l,r)}}function j(e,t){const n=e.getFormatType(),o=e.getIndent();n!==t.getFormatType()&&t.setFormat(n),o!==t.getIndent()&&t.setIndent(o)}function U(e,t,n=j){if(!e)return;const o=e.getStartEndPoints();let l=!1,r=null;const i=new Map;if(o){const[e,t]=o,n=p(e.getNode(),h);r=p(t.getNode(),h),l=s(r)&&!r.is(n)&&function(e,t){if(0!==e.offset)return!1;let n=e.getNode();if(s(n)&&n.isEmpty())return!1;for(;!n.is(t);){if(null!==n.getPreviousSibling())return!1;const e=n.getParent();if(null===e)return!1;n=e}return!0}(t,r),s(n)&&i.set(n.getKey(),n),s(r)&&!l&&i.set(r.getKey(),r)}for(const t of e.getNodes())if(s(t)&&h(t)){if(l&&t.is(r))continue;i.set(t.getKey(),t)}else if(!o){const e=p(t,h);s(e)&&i.set(e.getKey(),e)}for(const e of i.values()){const o=t();n(e,o),e.replace(o,!0)}}function H(e){return e.getNode().isAttached()}function V(e){let t=e;for(;null!==t&&!T(t);){const e=t.getLatest(),n=t.getParent();0===e.getChildrenSize()&&t.remove(!0),t=n}}function W(e,t,n=null){const o=e.getStartEndPoints(),l=o?o[0]:null,r=e.getNodes(),i=r.length;if(null!==l&&(0===i||1===i&&\"element\"===l.type&&0===l.getNode().getChildrenSize())){const e=\"text\"===l.type?l.getNode().getParentOrThrow():l.getNode(),o=e.getChildren();let r=t();return r.setFormat(e.getFormatType()),r.setIndent(e.getIndent()),o.forEach(e=>r.append(e)),n&&(r=n.append(r)),void e.replace(r)}let s=null,c=[];for(let o=0;o<i;o++){const l=r[o];T(l)?(X(e,c,c.length,t,n),c=[],s=l):null===s||null!==s&&C(l,s)?c.push(l):(X(e,c,c.length,t,n),c=[l])}X(e,c,c.length,t,n)}function X(e,t,n,o,r=null){if(0===t.length)return;const i=t[0],c=new Map,f=[];let u=s(i)?i:i.getParentOrThrow();u.isInline()&&(u=u.getParentOrThrow());let d=!1;for(;null!==u;){const e=u.getPreviousSibling();if(null!==e){u=e,d=!0;break}if(u=u.getParentOrThrow(),T(u))break}const a=new Set;for(let e=0;e<n;e++){const n=t[e];s(n)&&0===n.getChildrenSize()&&a.add(n.getKey())}const p=new Set;for(let e=0;e<n;e++){const n=t[e];let l=n.getParent();if(null!==l&&l.isInline()&&(l=l.getParent()),null!==l&&v(n)&&!p.has(n.getKey())){const e=l.getKey();if(void 0===c.get(e)){const t=o();t.setFormat(l.getFormatType()),t.setIndent(l.getIndent()),f.push(t),c.set(e,t);const n=l.getChildren();t.splice(t.getChildrenSize(),0,n);for(const e of n)if(p.add(e.getKey()),s(e))for(const t of e.getChildrenKeys())p.add(t);V(l)}}else if(a.has(n.getKey())){s(n)||P(179);const e=o();e.setFormat(n.getFormatType()),e.setIndent(n.getIndent()),f.push(e),n.remove(!0)}}if(null!==r)for(let e=0;e<f.length;e++){const t=f[e];r.append(t)}let h=null;if(T(u))if(d)if(null!==r)u.insertAfter(r);else for(let e=f.length-1;e>=0;e--){const t=f[e];u.insertAfter(t)}else{const e=u.getFirstChild();if(s(e)&&(u=e),null===e)if(r)u.append(r);else for(let e=0;e<f.length;e++){const t=f[e];u.append(t),h=t}else if(null!==r)e.insertBefore(r);else for(let t=0;t<f.length;t++){const n=f[t];e.insertBefore(n),h=n}}else if(r)u.insertAfter(r);else for(let e=f.length-1;e>=0;e--){const t=f[e];u.insertAfter(t),h=t}const y=g();l(y)&&H(y.anchor)&&H(y.focus)?w(y.clone()):null!==h?h.selectEnd():e.dirty=!0}function q(e){const t=G(e);return null!==t&&\"vertical-rl\"===t.writingMode}function G(e){const t=e.anchor.getNode();return s(t)?b(t):k(t)}function J(e,t){let n=q(e)?!t:t;Y(e)&&(n=!n);const o=y(e.focus,n?\"previous\":\"next\");if(m(o))return!1;for(const e of S(o)){if(x(e))return!e.origin.isInline();if(!s(e.origin)){if(N(e.origin))return!0;break}}return!1}function Q(e,t,n,o){e.modify(t?\"extend\":\"move\",n,o)}function Y(e){const t=G(e);return null!==t&&\"rtl\"===t.direction}function Z(e,t,n){const o=Y(e);let l;l=q(e)||o?!n:n,Q(e,t,l,\"character\")}function ee(e,t,n){const o=e.getStyle(),l=a(o);return null!==l&&l[t]||n}function te(t,n,o=\"\"){let r=null;const i=t.getNodes();let s,c;if(l(t)){if(t.isCollapsed()&&\"\"!==t.style){const e=a(t.style);if(null!==e&&n in e)return e[n]}const{anchor:o,focus:l}=t,r=t.isBackward(),i=r?l.getNode():o.getNode(),f=r?o.getNode():l.getNode(),u=r?l.offset:o.offset,g=r?o.offset:l.offset;e(i)&&u===i.getTextContentSize()&&(s=i),0===g&&(c=f)}for(let t=0;t<i.length;t++){const l=i[t];if(e(l)&&!l.is(0===t?s:c)){const e=ee(l,n,o);if(null===r)r=e;else if(r!==e){r=\"\";break}}}return null===r?o:r}const ne=a,oe=A;export{_ as $addNodeStyle,j as $copyBlockFormatIndent,D as $ensureForwardRangeSelection,$ as $forEachSelectedTextNode,b as $getComputedStyleForElement,k as $getComputedStyleForParent,te as $getSelectionStyleValueForProperty,R as $isAtNodeEnd,Y as $isParentElementRTL,z as $isParentRTL,Q as $moveCaretSelection,Z as $moveCharacter,M as $patchStyleText,U as $setBlocksType,J as $shouldOverrideDefaultCharacterSelection,O as $sliceSelectedTextNodeContent,A as $trimTextContentFromAnchor,W as $wrapNodes,I as createDOMRange,B as createRectsFromDOMRange,F as getCSSFromStyleObject,ne as getStyleObjectFromCSS,oe as trimTextContentFromAnchor};\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{isHTMLElement as t,mergeRegister as e,$getSelection as n,$isRangeSelection as o,$isElementNode as r,$isTextNode as i,$getDOMTextNode as l,getDOMTextNode as s,$getDOMSlot as u,$getChildCaret as c,$findMatchingParent as f,$getChildCaretOrSelf as a,$getSiblingCaret as d,$getAdjacentSiblingOrParentSiblingCaret as g,$caretRangeFromSelection as p,$getCaretRangeInDirection as m,$removeTextFromCaretRange as h,$isTextPointCaret as y,$splitAtPointCaretNext as v,$setSelectionFromCaretRange as E,$getCaretRange as S,$getPreviousSelection as x,$caretFromPoint as C,$getRoot as N,$createParagraphNode as _,$getAdjacentChildCaret as w,$isChildCaret as A,$normalizeCaret as R,$getCollapsedCaretRange as I,$getCaretInDirection as L,$isSiblingCaret as b,$rewindSiblingCaret as P,$cloneWithProperties as O,$fullReconcile as T,$setSelection as B,makeStepwiseIterator as M,$getState as F,$setState as D,IS_FIREFOX as K,CAN_USE_DOM as H}from\"lexical\";export{$findMatchingParent,$getAdjacentSiblingOrParentSiblingCaret,$splitNode,CAN_USE_BEFORE_INPUT,CAN_USE_DOM,IS_ANDROID,IS_ANDROID_CHROME,IS_APPLE,IS_APPLE_WEBKIT,IS_CHROME,IS_FIREFOX,IS_IOS,IS_SAFARI,addClassNamesToElement,isBlockDomNode,isHTMLAnchorElement,isHTMLElement,isInlineDomNode,mergeRegister,removeClassNamesFromElement}from\"lexical\";import{createRectsFromDOMRange as $}from\"@lexical/selection\";function k(t,...e){const n=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",t);for(const t of e)o.append(\"v\",t);throw n.search=o.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}function U(t){return`${t}px`}const j={attributes:!0,characterData:!0,childList:!0,subtree:!0};function z(e,n,o){let r=null,i=null,l=null,s=[];const u=document.createElement(\"div\");function c(){null===r&&k(182),null===i&&k(183);const{left:t,top:l}=i.getBoundingClientRect(),c=$(e,n);var f,a;u.isConnected||(a=u,(f=i).insertBefore(a,f.firstChild));let d=!1;for(let e=0;e<c.length;e++){const n=c[e],o=s[e]||document.createElement(\"div\"),r=o.style;\"absolute\"!==r.position&&(r.position=\"absolute\",d=!0);const i=U(n.left-t);r.left!==i&&(r.left=i,d=!0);const f=U(n.top-l);r.top!==f&&(o.style.top=f,d=!0);const a=U(n.width);r.width!==a&&(o.style.width=a,d=!0);const g=U(n.height);r.height!==g&&(o.style.height=g,d=!0),o.parentNode!==u&&(u.append(o),d=!0),s[e]=o}for(;s.length>c.length;)s.pop();d&&o(s)}function f(){i=null,r=null,null!==l&&l.disconnect(),l=null,u.remove();for(const t of s)t.remove();s=[]}u.style.position=\"relative\";const a=e.registerRootListener(function n(){const o=e.getRootElement();if(null===o)return f();const s=o.parentElement;if(!t(s))return f();f(),r=o,i=s,l=new MutationObserver(t=>{const o=e.getRootElement(),l=o&&o.parentElement;if(o!==r||l!==i)return n();for(const e of t)if(!u.contains(e.target))return c()}),l.observe(s,j),c()});return()=>{a(),f()}}function W(t,e,n,o){if(\"text\"!==e.type&&r(n)){const r=u(n,o,t);return[r.element,r.getFirstChildOffset()+e.offset]}return[(i(n)?l(n,o,t):s(o))||o,e.offset]}function G(t){for(const e of t){const t=e.style;\"Highlight\"!==t.background&&(t.background=\"Highlight\"),\"HighlightText\"!==t.color&&(t.color=\"HighlightText\"),t.marginTop!==U(-1.5)&&(t.marginTop=U(-1.5)),t.paddingTop!==U(4)&&(t.paddingTop=U(4)),t.paddingBottom!==U(0)&&(t.paddingBottom=U(0))}}function V(t,r=G){let i=null,l=null,s=null,u=null,c=null,f=null,a=()=>{};function d(e){e.read(()=>{const e=n();if(!o(e))return i=null,s=null,u=null,f=null,a(),void(a=()=>{});const[d,g]=function(t){const e=t.getStartEndPoints();return t.isBackward()?[e[1],e[0]]:e}(e),p=d.getNode(),m=p.getKey(),h=d.offset,y=g.getNode(),v=y.getKey(),E=g.offset,S=t.getElementByKey(m),x=t.getElementByKey(v),C=null===i||S!==l||h!==s||m!==i.getKey(),N=null===u||x!==c||E!==f||v!==u.getKey();if((C||N)&&null!==S&&null!==x){const e=function(t,e,n,o,r,i,l){const s=(t._window?t._window.document:document).createRange();return s.setStart(...W(t,e,n,o)),s.setEnd(...W(t,r,i,l)),s}(t,d,p,S,g,y,x);a(),a=z(t,e,r)}i=p,l=S,s=h,u=y,c=x,f=E},{editor:t})}return d(t.getEditorState()),e(t.registerUpdateListener(({editorState:t})=>d(t)),()=>{a()})}function X(t,e){let n=null;const o=()=>{const o=getSelection(),r=o&&o.anchorNode,i=t.getRootElement();null!==r&&null!==i&&i.contains(r)?null!==n&&(n(),n=null):null===n&&(n=V(t,e))};return t.registerRootListener(t=>{if(t){const e=t.ownerDocument;return e.addEventListener(\"selectionchange\",o),o(),()=>{null!==n&&n(),e.removeEventListener(\"selectionchange\",o)}}})}function q(t,e){for(const n of e)if(t.type.startsWith(n))return!0;return!1}function J(t,e){const n=t[Symbol.iterator]();return new Promise((t,o)=>{const r=[],i=()=>{const{done:l,value:s}=n.next();if(l)return t(r);const u=new FileReader;u.addEventListener(\"error\",o),u.addEventListener(\"load\",()=>{const t=u.result;\"string\"==typeof t&&r.push({file:s,result:t}),i()}),q(s,e)?u.readAsDataURL(s):i()};i()})}function Q(t,e){return Array.from(tt(t,e))}function Y(t){return t?t.getAdjacentCaret():null}function Z(t,e){return Array.from(lt(t,e))}function tt(t,e){return nt(\"next\",t,e)}function et(t,e){const n=g(d(t,e));return n&&n[0]}function nt(t,e,n){const o=N(),i=e||o,l=r(i)?c(i,t):d(i,t),s=rt(i),u=n?w(a(d(n,t)))||et(n,t):et(i,t);let f=s;return M({hasNext:t=>null!==t,initial:l,map:t=>({depth:f,node:t.origin}),step:t=>{if(t.isSameNodeCaret(u))return null;A(t)&&f++;const e=g(t);return!e||e[0].isSameNodeCaret(u)?null:(f+=e[1],e[0])}})}function ot(t){const e=g(d(t,\"next\"));return e&&[e[0].origin,e[1]]}function rt(t){let e=-1;for(let n=t;null!==n;n=n.getParent())e++;return e}function it(t){const e=a(d(t,\"previous\")),n=g(e,\"root\");return n&&n[0].origin}function lt(t,e){return nt(\"previous\",t,e)}function st(t,e){let n=t;for(;null!=n;){if(n instanceof e)return n;n=n.getParent()}return null}function ut(t){const e=f(t,t=>r(t)&&!t.isInline());return r(e)||k(4,t.__key),e}function ct(t,e,n,o){const r=t=>t instanceof e;return t.registerNodeTransform(e,t=>{const e=(t=>{const e=t.getChildren();for(let t=0;t<e.length;t++){const n=e[t];if(r(n))return null}let n=t,o=t;for(;null!==n;)if(o=n,n=n.getParent(),r(n))return{child:o,parent:n};return null})(t);if(null!==e){const{child:r,parent:i}=e;if(r.is(t)){o(i,t);const e=r.getNextSiblings(),l=e.length;if(i.insertAfter(r),0!==l){const t=n(i);r.insertAfter(t);for(let n=0;n<l;n++)t.append(e[n])}i.canBeEmpty()||0!==i.getChildrenSize()||i.remove()}}})}function ft(t,e){const n=new Map,o=t._pendingEditorState;for(const[t,o]of e._nodeMap)n.set(t,O(o));o&&(o._nodeMap=n),T();const r=e._selection;B(null===r?null:r.clone())}function at(t){const e=n()||x();let r;if(o(e))r=C(e.focus,\"next\");else{if(null!=e){const t=e.getNodes(),n=t[t.length-1];n&&(r=d(n,\"next\"))}r=r||c(N(),\"previous\").getFlipped().insert(_())}const i=dt(t,r),l=w(i),s=A(l)?R(l):i;return E(I(s)),t.getLatest()}function dt(t,e,n){let o=L(e,\"next\");y(o)&&(0===o.offset?o=d(o.origin,\"previous\").getFlipped():o.offset===o.origin.getTextContentSize()&&(o=d(o.origin,\"next\"))),o.origin.is(t)&&(b(o)||k(342,t.getKey(),t.getType()),o=P(o)),(t.is(o.getNodeAtCaret())||t.is(o.getFlipped().getNodeAtCaret()))&&t.remove(!0);for(let t=o;t;t=v(t,n))o=t;return y(o)&&k(283),o.insert(t.isInline()?_().append(t):t),L(d(t.getLatest(),\"next\"),e.direction)}function gt(t){const e=n();if(!o(e))return void(e&&e.insertNodes([t]));const r=p(e);let i=m(h(r),\"next\").anchor;if(y(i)){const t=v(i);if(!t)return;i=t}const l=i.getFlipped();l.insert(t),E(S(l,l))}function pt(t,e){const n=e();return t.replace(n),n.append(t),n}function mt(t,e){return null!==t&&Object.getPrototypeOf(t).constructor.name===e.name}function ht(t,e){const n=[];for(let o=0;o<t.length;o++){const r=e(t[o]);null!==r&&n.push(r)}return n}function yt(t){const e=n();if(!o(e))return!1;const i=new Set,l=e.getNodes();for(let e=0;e<l.length;e++){const n=l[e],o=n.getKey();if(i.has(o))continue;const s=f(n,t=>r(t)&&!t.isInline());if(null===s)continue;const u=s.getKey();s.canIndent()&&!i.has(u)&&(i.add(u),t(s))}return i.size>0}function vt(t,e){c(t,\"next\").insert(e)}let Et=!(K||!H)&&void 0;function St(t,e=!1){let n=1;if(function(){if(void 0===Et){const t=document.createElement(\"div\");t.style.position=\"absolute\",t.style.opacity=\"0\",t.style.width=\"100px\",t.style.left=\"-1000px\",document.body.appendChild(t);const e=t.getBoundingClientRect();t.style.setProperty(\"zoom\",\"2\"),Et=t.getBoundingClientRect().width===e.width,document.body.removeChild(t)}return Et}()||e)for(;t;)n*=Number(window.getComputedStyle(t).getPropertyValue(\"zoom\")),t=t.parentElement;return n}function xt(t){return null!==t._parentEditor}function Ct(t,e){return Nt(t,e,null)}function Nt(t,e,n){let o=!1;for(const i of At(t))e(i)?null!==n&&n(i):(o=!0,r(i)&&Nt(i,e,n||(t=>i.insertAfter(t))),i.remove());return o}function _t(t,e){const n=[],o=Array.from(t).reverse();for(let t=o.pop();void 0!==t;t=o.pop())if(e(t))n.push(t);else if(r(t))for(const e of At(t))o.push(e);return n}function wt(t){return Rt(c(t,\"next\"))}function At(t){return Rt(c(t,\"previous\"))}function Rt(t){return M({hasNext:b,initial:t.getAdjacentCaret(),map:t=>t.origin.getLatest(),step:t=>t.getAdjacentCaret()})}function It(t){P(d(t,\"next\")).splice(1,t.getChildren())}function Lt(t){const e=e=>F(e,t),n=(e,n)=>D(e,t,n);return{$get:e,$set:n,accessors:[e,n],makeGetterMethod:()=>function(){return e(this)},makeSetterMethod:()=>function(t){return n(this,t)},stateConfig:t}}export{_t as $descendantsMatching,Q as $dfs,tt as $dfsIterator,ht as $filter,wt as $firstToLastIterator,Y as $getAdjacentCaret,rt as $getDepth,ut as $getNearestBlockElementAncestorOrThrow,st as $getNearestNodeOfType,it as $getNextRightPreorderNode,ot as $getNextSiblingOrParentSibling,yt as $handleIndentAndOutdent,vt as $insertFirst,gt as $insertNodeIntoLeaf,at as $insertNodeToNearestRoot,dt as $insertNodeToNearestRootAtCaret,xt as $isEditorIsNestedEditor,At as $lastToFirstIterator,ft as $restoreEditorState,Z as $reverseDfs,lt as $reverseDfsIterator,Ct as $unwrapAndFilterDescendants,It as $unwrapNode,pt as $wrapNodeInElement,St as calculateZoomLevel,q as isMimeType,Lt as makeStateWrapper,V as markSelection,J as mediaFileReader,mt as objectKlassEquals,z as positionNodeOnRange,ct as registerNestedElementResolver,X as selectionAlwaysOnDisplay};\n"],"x_google_ignoreList":[0,1],"mappings":";;AAQ4qD,SAAS,GAAE,GAAE,GAAE;CAAC,IAAM,IAAE,EAAE,eAAe;CAAE,IAAU,MAAP,MAAS,OAAM,CAAC;CAAE,IAAM,IAAE,EAAE,sBAAsB,GAAE,IAAE,iBAAiB,CAAC,GAAE,IAAE,WAAW,EAAE,WAAW,IAAE,WAAW,EAAE,YAAY,GAAE,IAAE,MAAM,KAAK,EAAE,eAAe,CAAC,GAAM,GAAE,IAAE,EAAE;CAAO,EAAE,MAAM,GAAE,MAAI;EAAC,IAAM,IAAE,EAAE,MAAI,EAAE;EAAI,OAAO,KAAK,IAAI,CAAC,KAAG,IAAE,EAAE,OAAK,EAAE,OAAK;CAAC,CAAC;CAAE,KAAI,IAAI,IAAE,GAAE,IAAE,GAAE,KAAI;EAAC,IAAM,IAAE,EAAE,IAAG,IAAE,KAAG,EAAE,OAAK,EAAE,OAAK,EAAE,MAAI,EAAE,SAAO,EAAE,OAAK,EAAE,OAAK,EAAE,QAAM,EAAE,MAAK,IAAE,EAAE,QAAM,MAAI,EAAE;EAAM,KAAG,KAAG,EAAE,OAAO,KAAI,CAAC,GAAE,OAAK,IAAE;CAAC;CAAC,OAAO;AAAC;AAA2E,SAAS,EAAE,GAAE;CAAC,IAAM,IAAEA,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC;CAAE,IAAU,MAAP,MAAS,OAAO;CAAK,IAAM,IAAE,EAAE,cAAc;CAAY,OAAc,MAAP,OAAS,OAAK,EAAE,iBAAiB,CAAC;AAAC;AAAC,SAASC,EAAE,GAAE;CAAC,OAAO,EAAEC,GAAE,CAAC,IAAE,IAAE,EAAE,iBAAiB,CAAC;AAAC;AAAC,SAASC,GAAE,GAAE;CAAC,IAAM,IAAEF,EAAE,CAAC;CAAE,OAAc,MAAP,QAAkB,EAAE,cAAV;AAAmB;AAAC,SAAS,GAAE,GAAE,GAAE,IAAE,QAAO;CAAC,IAAM,IAAE,EAAE,kBAAkB;CAAE,IAAG,EAAE,WAAW,CAAC,KAAG,CAACG,EAAE,CAAC,KAAU,MAAP,MAAS;EAAC,IAAK,CAAC,GAAE,KAAG,GAAE,IAAE,EAAE,WAAW,GAAE,IAAE,EAAE,QAAQ,GAAE,IAAE,EAAE,QAAQ,GAAE,IAAE,EAAE,GAAG,CAAC,GAAE,IAAE,EAAE,GAAG,CAAC;EAAE,IAAG,KAAG,GAAE;GAAC,IAAK,CAAC,GAAE,KAAGC,EAAE,CAAC,GAAE,IAAE,EAAE,GAAG,CAAC,GAAE,IAAE,EAAE,GAAG,IAAE,IAAE,CAAC,GAAE,IAAE,EAAE,GAAG,IAAE,IAAE,CAAC,GAAM,GAAE,IAAE;GAAE,AAAG,KAAE,IAAE,IAAE,IAAE,IAAE,GAAE,IAAE,IAAE,IAAE,IAAE,KAAU,KAAG,IAAE,IAAE,IAAE,GAAE,IAAE,KAAK,KAAU,MAAG,IAAE,GAAE,IAAE,IAAE,IAAE;GAAE,IAAM,IAAE,EAAE,OAAO,MAAM,GAAE,CAAC;GAAE,MAAI,EAAE,WAAmB,MAAV,YAAc,IAAEC,EAAE,CAAC,IAAG,EAAE,SAAO;EAAE;CAAC;CAAC,OAAO;AAAC;AAA07E,SAASC,EAAE,GAAE,GAAE;CAAC,IAAM,IAAE,EAAE,cAAc,GAAE,IAAE,EAAE,UAAU;CAAE,MAAI,EAAE,cAAc,KAAG,EAAE,UAAU,CAAC,GAAE,MAAI,EAAE,UAAU,KAAG,EAAE,UAAU,CAAC;AAAC;AAAC,SAASC,EAAE,GAAE,GAAE,IAAED,GAAE;CAAC,IAAG,CAAC,GAAE;CAAO,IAAM,IAAE,EAAE,kBAAkB,GAAM,IAAE,CAAC,GAAE,IAAE,MAAW,oBAAE,IAAI,IAAE;CAAE,IAAG,GAAE;EAAC,IAAK,CAAC,GAAE,KAAG,GAAE,IAAEE,EAAE,EAAE,QAAQ,GAAEC,CAAC;EAAE,IAAED,EAAE,EAAE,QAAQ,GAAEC,CAAC,GAAE,IAAEC,EAAE,CAAC,KAAG,CAAC,EAAE,GAAG,CAAC,KAAG,SAAS,GAAE,GAAE;GAAC,IAAO,EAAE,WAAN,GAAa,OAAM,CAAC;GAAE,IAAI,IAAE,EAAE,QAAQ;GAAE,IAAGA,EAAE,CAAC,KAAG,EAAE,QAAQ,GAAE,OAAM,CAAC;GAAE,OAAK,CAAC,EAAE,GAAG,CAAC,IAAG;IAAC,IAAU,EAAE,mBAAmB,MAA5B,MAA8B,OAAM,CAAC;IAAE,IAAM,IAAE,EAAE,UAAU;IAAE,IAAU,MAAP,MAAS,OAAM,CAAC;IAAE,IAAE;GAAC;GAAC,OAAM,CAAC;EAAC,EAAE,GAAE,CAAC,GAAEA,EAAE,CAAC,KAAG,EAAE,IAAI,EAAE,OAAO,GAAE,CAAC,GAAEA,EAAE,CAAC,KAAG,CAAC,KAAG,EAAE,IAAI,EAAE,OAAO,GAAE,CAAC;CAAC;CAAC,KAAI,IAAM,KAAK,EAAE,SAAS,GAAE,IAAGA,EAAE,CAAC,KAAGD,EAAE,CAAC,GAAE;EAAC,IAAG,KAAG,EAAE,GAAG,CAAC,GAAE;EAAS,EAAE,IAAI,EAAE,OAAO,GAAE,CAAC;CAAC,OAAM,IAAG,CAAC,GAAE;EAAC,IAAM,IAAED,EAAE,GAAEC,CAAC;EAAE,EAAE,CAAC,KAAG,EAAE,IAAI,EAAE,OAAO,GAAE,CAAC;CAAC;CAAC,KAAI,IAAM,KAAK,EAAE,OAAO,GAAE;EAAC,IAAM,IAAE,EAAE;EAAE,EAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,GAAE,CAAC,CAAC;CAAC;AAAC;AAAmvE,SAAS,EAAE,GAAE;CAAC,IAAM,IAAEE,EAAE,CAAC;CAAE,OAAc,MAAP,QAA0B,EAAE,gBAAlB;AAA6B;AAAC,SAASA,EAAE,GAAE;CAAC,IAAM,IAAE,EAAE,OAAO,QAAQ;CAAE,OAAOD,EAAE,CAAC,IAAE,EAAE,CAAC,IAAEV,EAAE,CAAC;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE;CAAC,IAAI,IAAE,EAAE,CAAC,IAAE,CAAC,IAAE;CAAE,EAAE,CAAC,MAAI,IAAE,CAAC;CAAG,IAAM,IAAEY,EAAE,EAAE,OAAM,IAAE,aAAW,MAAM;CAAE,IAAGC,EAAE,CAAC,GAAE,OAAM,CAAC;CAAE,KAAI,IAAM,KAAKC,EAAE,CAAC,GAAE;EAAC,IAAGC,EAAE,CAAC,GAAE,OAAM,CAAC,EAAE,OAAO,SAAS;EAAE,IAAG,CAACL,EAAE,EAAE,MAAM,GAAE;GAAC,IAAGM,EAAE,EAAE,MAAM,GAAE,OAAM,CAAC;GAAE;EAAK;CAAC;CAAC,OAAM,CAAC;AAAC;AAAC,SAASC,EAAE,GAAE,GAAE,GAAE,GAAE;CAAC,EAAE,OAAO,IAAE,WAAS,QAAO,GAAE,CAAC;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,IAAM,IAAEN,EAAE,CAAC;CAAE,OAAc,MAAP,QAAkB,EAAE,cAAV;AAAmB;AAAC,SAAS,EAAE,GAAE,GAAE,GAAE;CAAC,IAAM,IAAE,EAAE,CAAC,GAAM;CAAE,IAAE,EAAE,CAAC,KAAG,IAAE,CAAC,IAAE,GAAEM,EAAE,GAAE,GAAE,GAAE,WAAW;AAAC;;;ACAt+O,SAAS,EAAE,GAAE,GAAG,GAAE;CAAC,IAAM,IAAE,IAAI,IAAI,gCAAgC,GAAE,IAAE,IAAI,gBAAc;CAAE,EAAE,OAAO,QAAO,CAAC;CAAE,KAAI,IAAM,KAAK,GAAE,EAAE,OAAO,KAAI,CAAC;CAAE,MAAM,EAAE,SAAO,EAAE,SAAS,GAAE,MAAM,2BAA2B,EAAE,UAAU,EAAE,SAAS,EAAE,+GAA+G;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,OAAM,GAAG,EAAE;AAAG;AAAC,IAAM,KAAE;CAAC,YAAW,CAAC;CAAE,eAAc,CAAC;CAAE,WAAU,CAAC;CAAE,SAAQ,CAAC;AAAC;AAAE,SAAS,GAAE,GAAE,GAAE,GAAE;CAAC,IAAI,IAAE,MAAK,IAAE,MAAK,IAAE,MAAK,IAAE,CAAC,GAAQ,IAAE,SAAS,cAAc,KAAK;CAAE,SAAS,IAAG;EAAC,AAAO,MAAP,QAAU,EAAE,GAAG,GAAS,MAAP,QAAU,EAAE,GAAG;EAAE,IAAK,EAAC,MAAK,GAAE,KAAI,MAAG,EAAE,sBAAsB,GAAE,IAAEC,GAAE,GAAE,CAAC;EAAE,IAAI,GAAE;EAAE,EAAE,gBAAc,IAAE,IAAG,IAAE,GAAG,aAAa,GAAE,EAAE,UAAU;EAAG,IAAI,IAAE,CAAC;EAAE,KAAI,IAAI,IAAE,GAAE,IAAE,EAAE,QAAO,KAAI;GAAC,IAAM,IAAE,EAAE,IAAG,IAAE,EAAE,MAAI,SAAS,cAAc,KAAK,GAAE,IAAE,EAAE;GAAM,AAAa,EAAE,aAAf,eAA0B,EAAE,WAAS,YAAW,IAAE,CAAC;GAAG,IAAM,IAAE,EAAE,EAAE,OAAK,CAAC;GAAE,EAAE,SAAO,MAAI,EAAE,OAAK,GAAE,IAAE,CAAC;GAAG,IAAM,IAAE,EAAE,EAAE,MAAI,CAAC;GAAE,EAAE,QAAM,MAAI,EAAE,MAAM,MAAI,GAAE,IAAE,CAAC;GAAG,IAAM,IAAE,EAAE,EAAE,KAAK;GAAE,EAAE,UAAQ,MAAI,EAAE,MAAM,QAAM,GAAE,IAAE,CAAC;GAAG,IAAM,IAAE,EAAE,EAAE,MAAM;GAAE,EAAE,WAAS,MAAI,EAAE,MAAM,SAAO,GAAE,IAAE,CAAC,IAAG,EAAE,eAAa,MAAI,EAAE,OAAO,CAAC,GAAE,IAAE,CAAC,IAAG,EAAE,KAAG;EAAC;EAAC,OAAK,EAAE,SAAO,EAAE,SAAQ,EAAE,IAAI;EAAE,KAAG,EAAE,CAAC;CAAC;CAAC,SAAS,IAAG;EAAC,IAAE,MAAK,IAAE,MAAY,MAAP,QAAU,EAAE,WAAW,GAAE,IAAE,MAAK,EAAE,OAAO;EAAE,KAAI,IAAM,KAAK,GAAE,EAAE,OAAO;EAAE,IAAE,CAAC;CAAC;CAAC,EAAE,MAAM,WAAS;CAAW,IAAM,IAAE,EAAE,qBAAqB,SAAS,IAAG;EAAC,IAAM,IAAE,EAAE,eAAe;EAAE,IAAU,MAAP,MAAS,OAAO,EAAE;EAAE,IAAM,IAAE,EAAE;EAAc,IAAG,CAACC,EAAE,CAAC,GAAE,OAAO,EAAE;EAAE,EAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,IAAI,kBAAiB,MAAG;GAAC,IAAM,IAAE,EAAE,eAAe,GAAE,IAAE,KAAG,EAAE;GAAc,IAAG,MAAI,KAAG,MAAI,GAAE,OAAO,EAAE;GAAE,KAAI,IAAM,KAAK,GAAE,IAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAE,OAAO,EAAE;EAAC,CAAC,GAAE,EAAE,QAAQ,GAAE,EAAC,GAAE,EAAE;CAAC,CAAC;CAAE,aAAU;EAAC,EAAE,GAAE,EAAE;CAAC;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE,GAAE,GAAE;CAAC,IAAY,EAAE,SAAX,UAAiBC,EAAE,CAAC,GAAE;EAAC,IAAM,IAAEC,EAAE,GAAE,GAAE,CAAC;EAAE,OAAM,CAAC,EAAE,SAAQ,EAAE,oBAAoB,IAAE,EAAE,MAAM;CAAC;CAAC,OAAM,EAAEC,EAAE,CAAC,IAAEC,GAAE,GAAE,GAAE,CAAC,IAAEC,GAAE,CAAC,MAAI,GAAE,EAAE,MAAM;AAAC;AAAC,SAAS,GAAE,GAAE;CAAC,KAAI,IAAM,KAAK,GAAE;EAAC,IAAM,IAAE,EAAE;EAAM,AAAc,EAAE,eAAhB,gBAA6B,EAAE,aAAW,cAA+B,EAAE,UAApB,oBAA4B,EAAE,QAAM,kBAAiB,EAAE,cAAY,EAAE,IAAI,MAAI,EAAE,YAAU,EAAE,IAAI,IAAG,EAAE,eAAa,EAAE,CAAC,MAAI,EAAE,aAAW,EAAE,CAAC,IAAG,EAAE,kBAAgB,EAAE,CAAC,MAAI,EAAE,gBAAc,EAAE,CAAC;CAAE;AAAC;AAAC,SAAS,GAAE,GAAE,IAAE,IAAE;CAAC,IAAI,IAAE,MAAK,IAAE,MAAK,IAAE,MAAK,IAAE,MAAK,IAAE,MAAK,IAAE,MAAK,UAAM,CAAC;CAAE,SAAS,EAAE,GAAE;EAAC,EAAE,WAAS;GAAC,IAAM,IAAEC,EAAE;GAAE,IAAG,CAACC,EAAE,CAAC,GAAE,OAAO,IAAE,MAAK,IAAE,MAAK,IAAE,MAAK,IAAE,MAAK,EAAE,GAAE,MAAK,UAAM,CAAC;GAAG,IAAK,CAAC,GAAE,KAAG,SAAS,GAAE;IAAC,IAAM,IAAE,EAAE,kBAAkB;IAAE,OAAO,EAAE,WAAW,IAAE,CAAC,EAAE,IAAG,EAAE,EAAE,IAAE;GAAC,EAAE,CAAC,GAAE,IAAE,EAAE,QAAQ,GAAE,IAAE,EAAE,OAAO,GAAE,IAAE,EAAE,QAAO,IAAE,EAAE,QAAQ,GAAE,IAAE,EAAE,OAAO,GAAE,IAAE,EAAE,QAAO,IAAE,EAAE,gBAAgB,CAAC,GAAE,IAAE,EAAE,gBAAgB,CAAC,GAAE,IAAS,MAAP,QAAU,MAAI,KAAG,MAAI,KAAG,MAAI,EAAE,OAAO,GAAE,IAAS,MAAP,QAAU,MAAI,KAAG,MAAI,KAAG,MAAI,EAAE,OAAO;GAAE,KAAI,KAAG,MAAW,MAAP,QAAiB,MAAP,MAAS;IAAC,IAAM,IAAE,SAAS,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE;KAAC,IAAM,KAAG,EAAE,UAAQ,EAAE,QAAQ,WAAS,UAAU,YAAY;KAAE,OAAO,EAAE,SAAS,GAAG,EAAE,GAAE,GAAE,GAAE,CAAC,CAAC,GAAE,EAAE,OAAO,GAAG,EAAE,GAAE,GAAE,GAAE,CAAC,CAAC,GAAE;IAAC,EAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC;IAAE,EAAE,GAAE,IAAE,GAAE,GAAE,GAAE,CAAC;GAAC;GAAC,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE;EAAC,GAAE,EAAC,QAAO,EAAC,CAAC;CAAC;CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,GAAEC,EAAE,EAAE,wBAAwB,EAAC,aAAY,QAAK,EAAE,CAAC,CAAC,SAAM;EAAC,EAAE;CAAC,CAAC;AAAC;AAAC,SAAS,GAAE,GAAE,GAAE;CAAC,IAAI,IAAE,MAAW,UAAM;EAAC,IAAM,IAAE,aAAa,GAAE,IAAE,KAAG,EAAE,YAAW,IAAE,EAAE,eAAe;EAAE,AAAO,MAAP,QAAiB,MAAP,QAAU,EAAE,SAAS,CAAC,IAAS,MAAP,SAAW,EAAE,GAAE,IAAE,QAAa,MAAP,SAAW,IAAE,GAAE,GAAE,CAAC;CAAE;CAAE,OAAO,EAAE,sBAAqB,MAAG;EAAC,IAAG,GAAE;GAAC,IAAM,IAAE,EAAE;GAAc,OAAO,EAAE,iBAAiB,mBAAkB,CAAC,GAAE,EAAE,SAAM;IAAC,AAAO,MAAP,QAAU,EAAE,GAAE,EAAE,oBAAoB,mBAAkB,CAAC;GAAC;EAAC;CAAC,CAAC;AAAC;AAAoZ,SAAS,GAAE,GAAE,GAAE;CAAC,OAAO,MAAM,KAAK,GAAG,GAAE,CAAC,CAAC;AAAC;AAA6F,SAAS,GAAG,GAAE,GAAE;CAAC,OAAO,GAAG,QAAO,GAAE,CAAC;AAAC;AAAC,SAAS,EAAG,GAAE,GAAE;CAAC,IAAM,IAAEC,EAAEC,EAAE,GAAE,CAAC,CAAC;CAAE,OAAO,KAAG,EAAE;AAAE;AAAC,SAAS,GAAG,GAAE,GAAE,GAAE;CAAC,IAAM,IAAEC,EAAE,GAAE,IAAE,KAAG,GAAE,IAAEV,EAAE,CAAC,IAAEW,EAAE,GAAE,CAAC,IAAEF,EAAE,GAAE,CAAC,GAAE,IAAE,GAAG,CAAC,GAAE,IAAE,IAAEG,EAAEC,EAAEJ,EAAE,GAAE,CAAC,CAAC,CAAC,KAAG,EAAG,GAAE,CAAC,IAAE,EAAG,GAAE,CAAC,GAAM,IAAE;CAAE,OAAOK,EAAE;EAAC,UAAQ,MAAU,MAAP;EAAS,SAAQ;EAAE,MAAI,OAAI;GAAC,OAAM;GAAE,MAAK,EAAE;EAAM;EAAG,OAAK,MAAG;GAAC,IAAG,EAAE,gBAAgB,CAAC,GAAE,OAAO;GAAK,EAAE,CAAC,KAAG;GAAI,IAAM,IAAEN,EAAE,CAAC;GAAE,OAAM,CAAC,KAAG,EAAE,GAAG,gBAAgB,CAAC,IAAE,QAAM,KAAG,EAAE,IAAG,EAAE;EAAG;CAAC,CAAC;AAAC;AAAoE,SAAS,GAAG,GAAE;CAAC,IAAI,IAAE;CAAG,KAAI,IAAI,IAAE,GAAS,MAAP,MAAS,IAAE,EAAE,UAAU,GAAE;CAAI,OAAO;AAAC;AAA0H,SAAS,GAAG,GAAE,GAAE;CAAC,IAAI,IAAE;CAAE,OAAW,KAAN,OAAS;EAAC,IAAG,aAAa,GAAE,OAAO;EAAE,IAAE,EAAE,UAAU;CAAC;CAAC,OAAO;AAAI;AAAC,SAAS,GAAG,GAAE;CAAC,IAAM,IAAEO,EAAE,IAAE,MAAGf,EAAE,CAAC,KAAG,CAAC,EAAE,SAAS,CAAC;CAAE,OAAOA,EAAE,CAAC,KAAG,EAAE,GAAE,EAAE,KAAK,GAAE;AAAC;AAAsrB,SAAS,GAAG,GAAE;CAAC,IAAM,IAAEK,EAAE,KAAGW,EAAE,GAAM;CAAE,IAAGV,EAAE,CAAC,GAAE,IAAEW,EAAE,EAAE,OAAM,MAAM;MAAM;EAAC,IAAS,KAAN,MAAQ;GAAC,IAAM,IAAE,EAAE,SAAS,GAAE,IAAE,EAAE,EAAE,SAAO;GAAG,MAAI,IAAER,EAAE,GAAE,MAAM;EAAE;EAAC,MAAKE,EAAED,EAAE,GAAE,UAAU,EAAE,WAAW,EAAE,OAAOQ,EAAE,CAAC;CAAC;CAAC,IAAM,IAAE,EAAG,GAAE,CAAC,GAAE,IAAEN,EAAE,CAAC;CAAgB,OAAOO,EAAEC,EAArBC,EAAE,CAAC,IAAEC,GAAE,CAAC,IAAE,CAAc,CAAC,GAAE,EAAE,UAAU;AAAC;AAAC,SAAS,EAAG,GAAE,GAAE,GAAE;CAAC,IAAI,IAAEC,EAAE,GAAE,MAAM;CAAE,EAAE,CAAC,MAAQ,EAAE,WAAN,IAAa,IAAEd,EAAE,EAAE,QAAO,UAAU,EAAE,WAAW,IAAE,EAAE,WAAS,EAAE,OAAO,mBAAmB,MAAI,IAAEA,EAAE,EAAE,QAAO,MAAM,KAAI,EAAE,OAAO,GAAG,CAAC,MAAIe,EAAE,CAAC,KAAG,EAAE,KAAI,EAAE,OAAO,GAAE,EAAE,QAAQ,CAAC,GAAE,IAAEC,EAAE,CAAC,KAAI,EAAE,GAAG,EAAE,eAAe,CAAC,KAAG,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,CAAC,MAAI,EAAE,OAAO,CAAC,CAAC;CAAE,KAAI,IAAI,IAAE,GAAE,GAAE,IAAEC,EAAE,GAAE,CAAC,GAAE,IAAE;CAAE,OAAOC,EAAE,CAAC,KAAG,EAAE,GAAG,GAAE,EAAE,OAAO,EAAE,SAAS,IAAET,EAAE,EAAE,OAAO,CAAC,IAAE,CAAC,GAAEK,EAAEd,EAAE,EAAE,UAAU,GAAE,MAAM,GAAE,EAAE,SAAS;AAAC;AAAoQ,SAAS,GAAG,GAAE,GAAE;CAAC,OAAc,MAAP,QAAU,OAAO,eAAe,CAAC,EAAE,YAAY,SAAO,EAAE;AAAI;AAAsG,SAAS,GAAG,GAAE;CAAC,IAAM,IAAEJ,EAAE;CAAE,IAAG,CAACC,EAAE,CAAC,GAAE,OAAM,CAAC;CAAE,IAAM,oBAAE,IAAI,IAAE,GAAE,IAAE,EAAE,SAAS;CAAE,KAAI,IAAI,IAAE,GAAE,IAAE,EAAE,QAAO,KAAI;EAAC,IAAM,IAAE,EAAE,IAAG,IAAE,EAAE,OAAO;EAAE,IAAG,EAAE,IAAI,CAAC,GAAE;EAAS,IAAM,IAAES,EAAE,IAAE,MAAGf,EAAE,CAAC,KAAG,CAAC,EAAE,SAAS,CAAC;EAAE,IAAU,MAAP,MAAS;EAAS,IAAM,IAAE,EAAE,OAAO;EAAE,EAAE,UAAU,KAAG,CAAC,EAAE,IAAI,CAAC,MAAI,EAAE,IAAI,CAAC,GAAE,EAAE,CAAC;CAAE;CAAC,OAAO,EAAE,OAAK;AAAC;AAAC,SAAS,GAAG,GAAE,GAAE;CAAC,EAAE,GAAE,MAAM,EAAE,OAAO,CAAC;AAAC;AAAC,IAAI,IAAG,EAAE4B,KAAG,CAACC,OAAI,KAAK;AAAE,SAAS,EAAG,GAAE,IAAE,CAAC,GAAE;CAAC,IAAI,IAAE;CAAE,IAAG,WAAU;EAAC,IAAY,MAAT,KAAK,GAAO;GAAC,IAAM,IAAE,SAAS,cAAc,KAAK;GAAE,EAAE,MAAM,WAAS,YAAW,EAAE,MAAM,UAAQ,KAAI,EAAE,MAAM,QAAM,SAAQ,EAAE,MAAM,OAAK,WAAU,SAAS,KAAK,YAAY,CAAC;GAAE,IAAM,IAAE,EAAE,sBAAsB;GAAE,EAAE,MAAM,YAAY,QAAO,GAAG,GAAE,IAAG,EAAE,sBAAsB,EAAE,UAAQ,EAAE,OAAM,SAAS,KAAK,YAAY,CAAC;EAAC;EAAC,OAAO;CAAE,EAAE,KAAG,GAAE,OAAK,IAAG,KAAG,OAAO,OAAO,iBAAiB,CAAC,EAAE,iBAAiB,MAAM,CAAC,GAAE,IAAE,EAAE;CAAc,OAAO;AAAC;AAA8C,SAAS,GAAG,GAAE,GAAE;CAAC,OAAO,EAAG,GAAE,GAAE,IAAI;AAAC;AAAC,SAAS,EAAG,GAAE,GAAE,GAAE;CAAC,IAAI,IAAE,CAAC;CAAE,KAAI,IAAM,KAAK,EAAG,CAAC,GAAE,EAAE,CAAC,IAAS,MAAP,QAAU,EAAE,CAAC,KAAG,IAAE,CAAC,GAAE7B,EAAE,CAAC,KAAG,EAAG,GAAE,GAAE,OAAI,MAAG,EAAE,YAAY,CAAC,EAAE,GAAE,EAAE,OAAO;CAAG,OAAO;AAAC;AAAC,SAAS,GAAG,GAAE,GAAE;CAAC,IAAM,IAAE,CAAC,GAAE,IAAE,MAAM,KAAK,CAAC,EAAE,QAAQ;CAAE,KAAI,IAAI,IAAE,EAAE,IAAI,GAAW,MAAT,KAAK,GAAM,IAAE,EAAE,IAAI,GAAE,IAAG,EAAE,CAAC,GAAE,EAAE,KAAK,CAAC;MAAO,IAAGA,EAAE,CAAC,GAAE,KAAI,IAAM,KAAK,EAAG,CAAC,GAAE,EAAE,KAAK,CAAC;CAAE,OAAO;AAAC;AAAuC,SAAS,EAAG,GAAE;CAAC,OAAO,GAAGW,EAAE,GAAE,UAAU,CAAC;AAAC;AAAC,SAAS,GAAG,GAAE;CAAC,OAAOG,EAAE;EAAC,SAAQU;EAAE,SAAQ,EAAE,iBAAiB;EAAE,MAAI,MAAG,EAAE,OAAO,UAAU;EAAE,OAAK,MAAG,EAAE,iBAAiB;CAAC,CAAC;AAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableCellResizerPlugin-Dn8Ks2Lm.js","names":["o","t","e","r","i","n","c"],"sources":["../node_modules/.pnpm/@lexical+react@0.45.0_react-dom@19.2.7_react@19.2.7__react@19.2.7_yjs@13.6.31/node_modules/@lexical/react/dist/useLexicalEditable.prod.mjs","../src/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.module.css","../src/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.tsx"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as r}from\"@lexical/react/LexicalComposerContext\";import{useLayoutEffect as t,useEffect as e,useMemo as i,useState as n,useRef as c}from\"react\";import{CAN_USE_DOM as o}from\"lexical\";const u=o?t:e;function a(r){return{initialValueFn:()=>r.isEditable(),subscribe:t=>r.registerEditableListener(t)}}function l(){return function(t){const[e]=r(),o=i(()=>t(e),[e,t]),[a,l]=n(()=>o.initialValueFn()),s=c(a);return u(()=>{const{initialValueFn:r,subscribe:t}=o,e=r();return s.current!==e&&(s.current=e,l(e)),t(r=>{s.current=r,l(r)})},[o,t]),a}(a)}export{l as useLexicalEditable};\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n *\r\n */\n\n.table-cell-resizer__resizer {\n position: absolute;\n}\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\r\n/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n * Modified from original to fit project needs wim jurriaans.\r\n *\r\n *\r\n */\r\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\r\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\r\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable';\r\nimport {\r\n $computeTableMapSkipCellCheck,\r\n $getTableNodeFromLexicalNodeOrThrow,\r\n $getTableRowIndexFromTableCellNode,\r\n $isTableCellNode,\r\n $isTableRowNode,\r\n TableNode,\r\n getDOMCellFromTarget,\r\n getTableElement,\r\n TableCellNode,\r\n} from '@lexical/table';\r\nimport { $getNearestNodeOfType, calculateZoomLevel } from '@lexical/utils';\r\nimport { $getNearestNodeFromDOMNode, isHTMLElement } from 'lexical';\r\nimport { createPortal } from 'react-dom';\r\n\r\nimport type { LexicalEditor } from 'lexical';\r\nimport type { TableDOMCell, TableMapType, TableRowNode } from '@lexical/table';\r\nimport type { JSX, MouseEventHandler, ReactPortal } from 'react';\r\n\r\nimport styles from './TableCellResizerPlugin.module.css';\r\n\r\nimport {\r\n getEditorContentWidth,\r\n getEditorParrentCellWidth,\r\n tableHasContent,\r\n} from 'components/RteEditor/Plugins/TablePlugin/helpers';\r\nimport { $createTableWrapperNode, TableWrapperNode } from 'components/RteEditor/nodes';\r\n\r\ntype MousePosition = {\r\n x: number;\r\n y: number;\r\n};\r\n\r\ntype MouseDraggingDirection = 'right' | 'bottom';\r\n\r\nconst MIN_ROW_HEIGHT = 33;\r\nconst MIN_COLUMN_WIDTH = 32;\r\nconst HALF = 2;\r\n\r\nfunction TableCellResizer({ editor }: { editor: LexicalEditor }): JSX.Element {\r\n const targetRef = useRef<HTMLElement | null>(null);\r\n const resizerRef = useRef<HTMLDivElement | null>(null);\r\n const tableRectRef = useRef<DOMRect | null>(null);\r\n\r\n const mouseStartPosRef = useRef<MousePosition | null>(null);\r\n const [mouseCurrentPos, updateMouseCurrentPos] = useState<MousePosition | null>(null);\r\n\r\n const [activeCell, updateActiveCell] = useState<TableDOMCell | null>(null);\r\n const [isMouseDown, updateIsMouseDown] = useState<boolean>(false);\r\n const [draggingDirection, updateDraggingDirection] = useState<MouseDraggingDirection | null>(null);\r\n\r\n const resetState = useCallback(() => {\r\n updateActiveCell(null);\r\n targetRef.current = null;\r\n updateDraggingDirection(null);\r\n mouseStartPosRef.current = null;\r\n tableRectRef.current = null;\r\n }, []);\r\n\r\n const isMouseDownOnEvent = (event: MouseEvent) => {\r\n return (event.buttons & 1) === 1;\r\n };\r\n\r\n useEffect(() => {\r\n return editor.registerNodeTransform(TableNode, (tableNode) => {\r\n // modification: set default column widths if not defined or table cells of imported tables has the width set\r\n if (!tableNode.getColWidths()) {\r\n const tableRows = tableNode.getChildren();\r\n const columnCount = tableNode.getColumnCount();\r\n const colWidths = new Array(columnCount).fill(undefined);\r\n\r\n const firstRow = tableRows[0] as TableRowNode;\r\n const cells = firstRow.getChildren();\r\n cells.forEach((cell, colIdx) => {\r\n const domCell = editor.getElementByKey(cell.getKey());\r\n if (domCell && domCell.style.width) {\r\n colWidths[colIdx] = parseInt(domCell.style.width, 10);\r\n domCell.style.width = '';\r\n } else if (tableHasContent(tableNode)) {\r\n const isNested = tableNode ? $getNearestNodeOfType(tableNode, TableCellNode) : null;\r\n\r\n const availableWidth = isNested\r\n ? getEditorParrentCellWidth(isNested, columnCount, editor)\r\n : getEditorContentWidth(editor);\r\n const newColWidth = availableWidth / columnCount;\r\n colWidths[colIdx] = Math.max(newColWidth, MIN_COLUMN_WIDTH);\r\n } else {\r\n colWidths[colIdx] = MIN_COLUMN_WIDTH;\r\n }\r\n });\r\n\r\n tableNode.setColWidths(colWidths);\r\n }\r\n\r\n // modification: wrap table node in a wrapper node if there is no wrapper node present\r\n if (tableNode && !(tableNode.getParent() instanceof TableWrapperNode)) {\r\n const wrapperNode = $createTableWrapperNode();\r\n tableNode.replace(wrapperNode);\r\n wrapperNode.append(tableNode);\r\n }\r\n\r\n return tableNode;\r\n });\r\n }, [editor]);\r\n\r\n useEffect(() => {\r\n const onMouseMove = (event: MouseEvent) => {\r\n const target = event.target;\r\n if (!isHTMLElement(target)) {\r\n return;\r\n }\r\n\r\n if (draggingDirection) {\r\n updateMouseCurrentPos({\r\n x: event.clientX,\r\n y: event.clientY,\r\n });\r\n return;\r\n }\r\n updateIsMouseDown(isMouseDownOnEvent(event));\r\n if (resizerRef.current && resizerRef.current.contains(target)) {\r\n return;\r\n }\r\n\r\n if (targetRef.current !== target) {\r\n targetRef.current = target;\r\n const cell = getDOMCellFromTarget(target);\r\n\r\n if (cell && activeCell !== cell) {\r\n editor.getEditorState().read(\r\n () => {\r\n const tableCellNode = $getNearestNodeFromDOMNode(cell.elem);\r\n if (!tableCellNode) {\r\n throw new Error('TableCellResizer: Table cell node not found.');\r\n }\r\n\r\n const tableNode = $getTableNodeFromLexicalNodeOrThrow(tableCellNode);\r\n const tableElement = getTableElement(tableNode, editor.getElementByKey(tableNode.getKey()));\r\n\r\n if (!tableElement) {\r\n throw new Error('TableCellResizer: Table element not found.');\r\n }\r\n\r\n targetRef.current = target;\r\n tableRectRef.current = tableElement.getBoundingClientRect();\r\n updateActiveCell(cell);\r\n },\r\n { editor }\r\n );\r\n } else if (cell == null) {\r\n resetState();\r\n }\r\n }\r\n };\r\n\r\n const onMouseDown = () => {\r\n updateIsMouseDown(true);\r\n };\r\n\r\n const onMouseUp = () => {\r\n updateIsMouseDown(false);\r\n };\r\n\r\n const removeRootListener = editor.registerRootListener((rootElement, prevRootElement) => {\r\n prevRootElement?.removeEventListener('mousemove', onMouseMove);\r\n prevRootElement?.removeEventListener('mousedown', onMouseDown);\r\n prevRootElement?.removeEventListener('mouseup', onMouseUp);\r\n rootElement?.addEventListener('mousemove', onMouseMove);\r\n rootElement?.addEventListener('mousedown', onMouseDown);\r\n rootElement?.addEventListener('mouseup', onMouseUp);\r\n });\r\n\r\n return () => {\r\n removeRootListener();\r\n };\r\n }, [activeCell, draggingDirection, editor, resetState]);\r\n\r\n const isHeightChanging = (direction: MouseDraggingDirection) => {\r\n if (direction === 'bottom') {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n const updateRowHeight = useCallback(\r\n (heightChange: number) => {\r\n if (!activeCell) {\r\n throw new Error('TableCellResizer: Expected active cell.');\r\n }\r\n\r\n editor.update(\r\n () => {\r\n const tableCellNode = $getNearestNodeFromDOMNode(activeCell.elem);\r\n if (!$isTableCellNode(tableCellNode)) {\r\n throw new Error('TableCellResizer: Table cell node not found.');\r\n }\r\n\r\n const tableNode = $getTableNodeFromLexicalNodeOrThrow(tableCellNode);\r\n\r\n const tableRowIndex = $getTableRowIndexFromTableCellNode(tableCellNode) + tableCellNode.getRowSpan() - 1;\r\n\r\n const tableRows = tableNode.getChildren();\r\n\r\n if (tableRowIndex >= tableRows.length || tableRowIndex < 0) {\r\n throw new Error('Expected table cell to be inside of table row.');\r\n }\r\n\r\n const tableRow = tableRows[tableRowIndex];\r\n\r\n if (!$isTableRowNode(tableRow)) {\r\n throw new Error('Expected table row');\r\n }\r\n\r\n let height = tableRow.getHeight();\r\n if (height === undefined) {\r\n const rowCells = tableRow.getChildren<TableCellNode>();\r\n height = Math.min(...rowCells.map((cell) => getCellNodeHeight(cell, editor) ?? Infinity));\r\n }\r\n\r\n const newHeight = Math.max(height + heightChange, MIN_ROW_HEIGHT);\r\n tableRow.setHeight(newHeight);\r\n },\r\n { tag: 'skip-scroll-into-view' }\r\n );\r\n },\r\n [activeCell, editor]\r\n );\r\n\r\n const getCellNodeHeight = (cell: TableCellNode, activeEditor: LexicalEditor): number | undefined => {\r\n const domCellNode = activeEditor.getElementByKey(cell.getKey());\r\n return domCellNode?.clientHeight;\r\n };\r\n\r\n const getCellColumnIndex = (tableCellNode: TableCellNode, tableMap: TableMapType) => {\r\n for (let row = 0; row < tableMap.length; row++) {\r\n for (let column = 0; column < tableMap[row].length; column++) {\r\n if (tableMap[row][column].cell === tableCellNode) {\r\n return column;\r\n }\r\n }\r\n }\r\n return -1;\r\n };\r\n\r\n const updateColumnWidth = useCallback(\r\n (widthChange: number) => {\r\n if (!activeCell) {\r\n throw new Error('TableCellResizer: Expected active cell.');\r\n }\r\n editor.update(\r\n () => {\r\n const tableCellNode = $getNearestNodeFromDOMNode(activeCell.elem);\r\n if (!$isTableCellNode(tableCellNode)) {\r\n throw new Error('TableCellResizer: Table cell node not found.');\r\n }\r\n\r\n const tableNode = $getTableNodeFromLexicalNodeOrThrow(tableCellNode);\r\n const [tableMap] = $computeTableMapSkipCellCheck(tableNode, null, null);\r\n const columnIndex = getCellColumnIndex(tableCellNode, tableMap);\r\n if (columnIndex === undefined) {\r\n throw new Error('TableCellResizer: Table column not found.');\r\n }\r\n\r\n const colWidths = tableNode.getColWidths();\r\n if (!colWidths) {\r\n return;\r\n }\r\n const width = colWidths[columnIndex];\r\n if (width === undefined) {\r\n return;\r\n }\r\n const newColWidths = [...colWidths];\r\n const newWidth = Math.max(width + widthChange, MIN_COLUMN_WIDTH);\r\n newColWidths[columnIndex] = newWidth;\r\n tableNode.setColWidths(newColWidths);\r\n\r\n // modification: when resizing a column, also resize the next column so the table doesn't overflow\r\n if (columnIndex < tableNode.getColumnCount() - 1) {\r\n const nextColWidths = tableNode.getColWidths();\r\n if (!nextColWidths) {\r\n return;\r\n }\r\n const newNextColWidths = [...nextColWidths];\r\n const newColumnIndex = columnIndex + 1;\r\n const newNextWidth = nextColWidths[newColumnIndex];\r\n const nextWidth = Math.max(newNextWidth - widthChange, MIN_COLUMN_WIDTH);\r\n newNextColWidths[newColumnIndex] = nextWidth;\r\n tableNode.setColWidths(newNextColWidths);\r\n }\r\n },\r\n { tag: 'skip-scroll-into-view' }\r\n );\r\n },\r\n [activeCell, editor]\r\n );\r\n\r\n const mouseUpHandler = useCallback(\r\n (direction: MouseDraggingDirection) => {\r\n const handler = (event: MouseEvent) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (!activeCell) {\r\n throw new Error('TableCellResizer: Expected active cell.');\r\n }\r\n\r\n if (mouseStartPosRef.current) {\r\n const { x, y } = mouseStartPosRef.current;\r\n\r\n if (activeCell === null) {\r\n return;\r\n }\r\n const zoom = calculateZoomLevel(event.target as Element);\r\n\r\n if (isHeightChanging(direction)) {\r\n const heightChange = (event.clientY - y) / zoom;\r\n updateRowHeight(heightChange);\r\n } else {\r\n const widthChange = (event.clientX - x) / zoom;\r\n updateColumnWidth(widthChange);\r\n }\r\n\r\n resetState();\r\n document.removeEventListener('mouseup', handler);\r\n }\r\n };\r\n return handler;\r\n },\r\n [activeCell, resetState, updateColumnWidth, updateRowHeight]\r\n );\r\n\r\n const toggleResize = useCallback(\r\n (direction: MouseDraggingDirection): MouseEventHandler<HTMLDivElement> =>\r\n (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (!activeCell) {\r\n throw new Error('TableCellResizer: Expected active cell.');\r\n }\r\n\r\n mouseStartPosRef.current = {\r\n x: event.clientX,\r\n y: event.clientY,\r\n };\r\n updateMouseCurrentPos(mouseStartPosRef.current);\r\n updateDraggingDirection(direction);\r\n\r\n document.addEventListener('mouseup', mouseUpHandler(direction));\r\n },\r\n [activeCell, mouseUpHandler]\r\n );\r\n\r\n const getResizers = useCallback(() => {\r\n if (activeCell) {\r\n const { height, width, top, left } = activeCell.elem.getBoundingClientRect();\r\n const zoom = calculateZoomLevel(activeCell.elem);\r\n const zoneWidth = 10; // Pixel width of the zone where you can drag the edge\r\n const styles = {\r\n bottom: {\r\n backgroundColor: 'none',\r\n cursor: 'ns-resize',\r\n height: `${zoneWidth}px`,\r\n left: `${window.pageXOffset + left}px`,\r\n top: `${window.pageYOffset + top + height - zoneWidth / HALF}px`,\r\n width: `${width}px`,\r\n zIndex: 5000,\r\n },\r\n right: {\r\n backgroundColor: 'none',\r\n cursor: 'ew-resize',\r\n height: `${height}px`,\r\n left: `${window.pageXOffset + left + width - zoneWidth / HALF}px`,\r\n top: `${window.pageYOffset + top}px`,\r\n width: `${zoneWidth}px`,\r\n zIndex: 5000,\r\n },\r\n };\r\n\r\n const tableRect = tableRectRef.current;\r\n\r\n if (draggingDirection && mouseCurrentPos && tableRect) {\r\n if (isHeightChanging(draggingDirection)) {\r\n styles[draggingDirection].left = `${window.pageXOffset + tableRect.left}px`;\r\n styles[draggingDirection].top = `${window.pageYOffset + mouseCurrentPos.y / zoom}px`;\r\n styles[draggingDirection].height = '3px';\r\n styles[draggingDirection].width = `${tableRect.width}px`;\r\n } else {\r\n styles[draggingDirection].top = `${window.pageYOffset + tableRect.top}px`;\r\n styles[draggingDirection].left = `${window.pageXOffset + mouseCurrentPos.x / zoom}px`;\r\n styles[draggingDirection].width = '3px';\r\n styles[draggingDirection].height = `${tableRect.height}px`;\r\n }\r\n\r\n styles[draggingDirection].backgroundColor = '#adf';\r\n }\r\n\r\n return styles;\r\n }\r\n\r\n return {\r\n bottom: null,\r\n left: null,\r\n right: null,\r\n top: null,\r\n };\r\n }, [activeCell, draggingDirection, mouseCurrentPos]);\r\n\r\n const resizerStyles = getResizers();\r\n\r\n return (\r\n <div ref={resizerRef}>\r\n {activeCell != null && !isMouseDown && (\r\n <>\r\n <div\r\n className={styles['table-cell-resizer__resizer']}\r\n style={resizerStyles.right || undefined}\r\n onMouseDown={toggleResize('right')}\r\n />\r\n <div\r\n className={styles['table-cell-resizer__resizer']}\r\n style={resizerStyles.bottom || undefined}\r\n onMouseDown={toggleResize('bottom')}\r\n />\r\n </>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport const TableCellResizerPlugin = (): null | ReactPortal => {\r\n const [editor] = useLexicalComposerContext();\r\n const isEditable = useLexicalEditable();\r\n\r\n return useMemo(\r\n () => (isEditable ? createPortal(<TableCellResizer editor={editor} />, document.body) : null),\r\n [editor, isEditable]\r\n );\r\n};\r\n"],"x_google_ignoreList":[0],"mappings":"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"}
|