@uva-glass/component-library 3.55.5 → 3.55.6

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.
Files changed (226) hide show
  1. package/dist/ActionList-O9w1hqNg.js.map +1 -1
  2. package/dist/{Lexical.prod-sbwgNRjw.js → Lexical.prod-CqPLSi0R.js} +1194 -1096
  3. package/dist/Lexical.prod-CqPLSi0R.js.map +1 -0
  4. package/dist/LexicalClipboard.prod-BVw_sFpo.js +651 -0
  5. package/dist/LexicalClipboard.prod-BVw_sFpo.js.map +1 -0
  6. package/dist/{LexicalExtension.prod-jTSDl1mh.js → LexicalExtension.prod-CUQTgbur.js} +306 -289
  7. package/dist/LexicalExtension.prod-CUQTgbur.js.map +1 -0
  8. package/dist/{LexicalLink.prod-BKLNLyu8.js → LexicalLink.prod-DMhcqD9x.js} +209 -208
  9. package/dist/LexicalLink.prod-DMhcqD9x.js.map +1 -0
  10. package/dist/{LexicalList.prod-DEtc4lSr.js → LexicalList.prod-eYlcb5Ao.js} +208 -168
  11. package/dist/LexicalList.prod-eYlcb5Ao.js.map +1 -0
  12. package/dist/{LexicalTable.prod-CpIPDW6z.js → LexicalTable.prod-DlOxUQou.js} +787 -781
  13. package/dist/LexicalTable.prod-DlOxUQou.js.map +1 -0
  14. package/dist/LexicalUtils.prod-BqcriFWV.js +343 -0
  15. package/dist/LexicalUtils.prod-BqcriFWV.js.map +1 -0
  16. package/dist/{LinkContextMenu-CTkNPiIW.js → LinkContextMenu-ePn1iZ_z.js} +2 -2
  17. package/dist/{LinkContextMenu-CTkNPiIW.js.map → LinkContextMenu-ePn1iZ_z.js.map} +1 -1
  18. package/dist/MultiSelectBox-Cuh_o-A1.js.map +1 -1
  19. package/dist/{PasteHandlerPlugin-YpQruA-w.js → PasteHandlerPlugin-BNp8ST0q.js} +5 -5
  20. package/dist/{PasteHandlerPlugin-YpQruA-w.js.map → PasteHandlerPlugin-BNp8ST0q.js.map} +1 -1
  21. package/dist/Periods-BYETtB6R.js.map +1 -1
  22. package/dist/Slider-BlLyrET9.js.map +1 -1
  23. package/dist/SortableProvider-8HYiBXJS.js.map +1 -1
  24. package/dist/{TableCellResizerPlugin-Ceof6StD.js → TableCellResizerPlugin-Bc5y-Qbx.js} +37 -37
  25. package/dist/{TableCellResizerPlugin-Ceof6StD.js.map → TableCellResizerPlugin-Bc5y-Qbx.js.map} +1 -1
  26. package/dist/{chunk-DeC0fbbY.js → chunk-3e0lkp8x.js} +1 -1
  27. package/dist/{chunk-SZQXB3JV-KiB8lSa9.js → chunk-SZQXB3JV-D6GR5B4F.js} +2 -2
  28. package/dist/chunk-SZQXB3JV-D6GR5B4F.js.map +1 -0
  29. package/dist/{client-CHQ7u_QI.js → client-8jeXrH7N.js} +2 -2
  30. package/dist/{client-CHQ7u_QI.js.map → client-8jeXrH7N.js.map} +1 -1
  31. package/dist/components/Accordion/Accordion.stories.js.map +1 -1
  32. package/dist/components/Accordion/Accordion.test.js +3 -3
  33. package/dist/components/AccordionCard/AccordionCard.stories.js.map +1 -1
  34. package/dist/components/AccordionCard/AccordionCard.test.js +3 -3
  35. package/dist/components/ActionList/ActionList.stories.js.map +1 -1
  36. package/dist/components/ActionList/ActionList.test.js +3 -3
  37. package/dist/components/AppStatusBar/AppStatusBar.stories.js.map +1 -1
  38. package/dist/components/AppStatusBar/AppStatusBar.test.js +2 -2
  39. package/dist/components/Attention/Attention.stories.js.map +1 -1
  40. package/dist/components/Attention/Attention.test.js +2 -2
  41. package/dist/components/Backdrop/Backdrop.stories.js.map +1 -1
  42. package/dist/components/Backdrop/Backdrop.test.js +2 -2
  43. package/dist/components/ButtonGroup/ButtonGroup.stories.js.map +1 -1
  44. package/dist/components/Buttons/Button.stories.js +1 -1
  45. package/dist/components/Buttons/Button.stories.js.map +1 -1
  46. package/dist/components/Buttons/Button.test.js +2 -2
  47. package/dist/components/Buttons/LinkButton.stories.js +1 -1
  48. package/dist/components/Buttons/LinkButton.stories.js.map +1 -1
  49. package/dist/components/Buttons/LinkButton.test.js +2 -2
  50. package/dist/components/Buttons/MenuButton.stories.js +1 -1
  51. package/dist/components/Buttons/MenuButton.stories.js.map +1 -1
  52. package/dist/components/Buttons/MenuButton.test.js +2 -2
  53. package/dist/components/Buttons/MenuButton.test.js.map +1 -1
  54. package/dist/components/Card/Card.stories.js.map +1 -1
  55. package/dist/components/Card/Card.test.js +2 -2
  56. package/dist/components/Checkbox/Checkbox.stories.js +1 -1
  57. package/dist/components/Checkbox/Checkbox.stories.js.map +1 -1
  58. package/dist/components/Checkbox/Checkbox.test.js +3 -3
  59. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js +1 -1
  60. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js.map +1 -1
  61. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js +2 -2
  62. package/dist/components/CheckboxTree/CheckboxTree.js +1 -1
  63. package/dist/components/CheckboxTree/CheckboxTree.stories.js +3 -3
  64. package/dist/components/CheckboxTree/CheckboxTree.stories.js.map +1 -1
  65. package/dist/components/CheckboxTree/index.js +1 -1
  66. package/dist/components/Chip/Chip.stories.js +1 -1
  67. package/dist/components/Chip/Chip.stories.js.map +1 -1
  68. package/dist/components/ControlsButton/ControlsButton.stories.js +1 -1
  69. package/dist/components/ControlsButton/ControlsButton.stories.js.map +1 -1
  70. package/dist/components/Drawer/Drawer.stories.js +1 -1
  71. package/dist/components/Drawer/Drawer.stories.js.map +1 -1
  72. package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.js.map +1 -1
  73. package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.stories.js.map +1 -1
  74. package/dist/components/FeedbackBar/FeedbackBar.stories.js.map +1 -1
  75. package/dist/components/FeedbackBar/FeedbackBar.test.js +2 -2
  76. package/dist/components/FeedbackBox/FeedbackBox.stories.js.map +1 -1
  77. package/dist/components/FieldHint/FieldHint.stories.js.map +1 -1
  78. package/dist/components/Fieldset/Fieldset.stories.js.map +1 -1
  79. package/dist/components/FormField/FormField.stories.js.map +1 -1
  80. package/dist/components/FormInput/FormInput.js +1 -1
  81. package/dist/components/FormInput/FormInput.stories.js +2 -2
  82. package/dist/components/FormInput/FormInput.stories.js.map +1 -1
  83. package/dist/components/FormInput/index.js +1 -1
  84. package/dist/components/GridRow/GridRow.stories.js.map +1 -1
  85. package/dist/components/HorizontalList/HorizontalList.stories.js.map +1 -1
  86. package/dist/components/Icon/Icon.stories.js.map +1 -1
  87. package/dist/components/IconButton/IconButton.stories.js +1 -1
  88. package/dist/components/IconButton/IconButton.stories.js.map +1 -1
  89. package/dist/components/InfoBanner/InfoBanner.stories.js.map +1 -1
  90. package/dist/components/InfoMessage/InfoMessage.stories.js.map +1 -1
  91. package/dist/components/Input/Input.stories.js.map +1 -1
  92. package/dist/components/InputField/InputField.stories.js +1 -1
  93. package/dist/components/Label/Label.stories.js.map +1 -1
  94. package/dist/components/Label/Label.test.js +2 -2
  95. package/dist/components/MenuLink/MenuLink.stories.js.map +1 -1
  96. package/dist/components/MetaDataBar/MetaDataBar.stories.js.map +1 -1
  97. package/dist/components/MetaDataBar/MetaDataBar.test.js +1 -1
  98. package/dist/components/MetaDataList/MetaDataList.stories.js.map +1 -1
  99. package/dist/components/ModalDialog/ModalDialog.stories.js +1 -1
  100. package/dist/components/ModalDialog/ModalDialog.stories.js.map +1 -1
  101. package/dist/components/MultiSelect/MultiSelect.js +1 -1
  102. package/dist/components/MultiSelect/MultiSelect.stories.js +2 -2
  103. package/dist/components/MultiSelect/MultiSelect.stories.js.map +1 -1
  104. package/dist/components/MultiSelect/components/MultiSelectHeader.js +1 -1
  105. package/dist/components/MultiSelect/index.js +1 -1
  106. package/dist/components/MultiSelectBox/MultiSelectBox.stories.js +1 -1
  107. package/dist/components/MultiSelectBox/MultiSelectBox.stories.js.map +1 -1
  108. package/dist/components/MultiSelectBox/MultiSelectBox.test.js +2 -2
  109. package/dist/components/Notification/Notification.stories.js +1 -1
  110. package/dist/components/Notification/Notification.stories.js.map +1 -1
  111. package/dist/components/Notification/Notification.test.js +2 -2
  112. package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js +1 -1
  113. package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js.map +1 -1
  114. package/dist/components/OverlayStepBar/OverlayStepBar.stories.js.map +1 -1
  115. package/dist/components/PageOverlay/PageOverlay.stories.js.map +1 -1
  116. package/dist/components/PeriodSelector/PeriodSelector.js +1 -1
  117. package/dist/components/PeriodSelector/PeriodSelector.stories.js +2 -2
  118. package/dist/components/PeriodSelector/PeriodSelector.stories.js.map +1 -1
  119. package/dist/components/PeriodSelector/index.js +1 -1
  120. package/dist/components/ProgrammeCard/ProgrammeCard.stories.js.map +1 -1
  121. package/dist/components/RadioButton/RadioButton.stories.js.map +1 -1
  122. package/dist/components/RadioGroup/RadioGroup.stories.js +1 -1
  123. package/dist/components/RadioGroup/RadioGroup.stories.js.map +1 -1
  124. package/dist/components/RadioGroup/Radiogroup.test.js +2 -2
  125. package/dist/components/RadioTabSelector/RadioTabSelector.js +1 -1
  126. package/dist/components/RadioTabSelector/RadioTabSelector.stories.js +2 -2
  127. package/dist/components/RadioTabSelector/RadioTabSelector.stories.js.map +1 -1
  128. package/dist/components/RadioTabSelector/index.js +1 -1
  129. package/dist/components/Repeater/Repeater.stories.js.map +1 -1
  130. package/dist/components/RteEditor/EditorHeader/EditorHeader.js +1 -1
  131. package/dist/components/RteEditor/EditorHeader/index.js +1 -1
  132. package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +4 -4
  133. package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js +25 -25
  134. package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js.map +1 -1
  135. package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +1 -1
  136. package/dist/components/RteEditor/Plugins/HistoryPlugin/index.js +1 -1
  137. package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js +1 -1
  138. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js +1 -1
  139. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +1 -1
  140. package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js +1 -1
  141. package/dist/components/RteEditor/Plugins/LinkPlugin/index.js +1 -1
  142. package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +15 -15
  143. package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js.map +1 -1
  144. package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js +1 -1
  145. package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/index.js +1 -1
  146. package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.js +1 -1
  147. package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/index.js +1 -1
  148. package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +1 -1
  149. package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +1 -1
  150. package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js +23 -23
  151. package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js.map +1 -1
  152. package/dist/components/RteEditor/Plugins/TablePlugin/index.js +1 -1
  153. package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +1 -1
  154. package/dist/components/RteEditor/Plugins/ToolbarPlugin/index.js +1 -1
  155. package/dist/components/RteEditor/Plugins/index.js +3 -3
  156. package/dist/components/RteEditor/RteEditor.js +1 -1
  157. package/dist/components/RteEditor/RteEditor.stories.js +1 -1
  158. package/dist/components/RteEditor/RteEditor.stories.js.map +1 -1
  159. package/dist/components/RteEditor/helpers.js +6 -6
  160. package/dist/components/RteEditor/helpers.js.map +1 -1
  161. package/dist/components/RteEditor/hooks/useFlyout.js.map +1 -1
  162. package/dist/components/RteEditor/index.js +1 -1
  163. package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js +12 -12
  164. package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js.map +1 -1
  165. package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js +19 -19
  166. package/dist/components/SearchField/SearcheField.stories.js.map +1 -1
  167. package/dist/components/SectionNotification/SectionNotification.stories.js.map +1 -1
  168. package/dist/components/SelectListbox/SelectListBox.stories.js +1 -1
  169. package/dist/components/SelectListbox/SelectListBox.stories.js.map +1 -1
  170. package/dist/components/SelectListbox/SelectProvider.js.map +1 -1
  171. package/dist/components/Slider/Slider.stories.js.map +1 -1
  172. package/dist/components/Sortable/Sortable.stories.js +1 -1
  173. package/dist/components/Sortable/Sortable.stories.js.map +1 -1
  174. package/dist/components/Spinner/Spinner.stories.js.map +1 -1
  175. package/dist/components/StatusBadge/StatusBadge.stories.js.map +1 -1
  176. package/dist/components/StatusBadge/StatusBadge.test.js +2 -2
  177. package/dist/components/StatusPill/StatusPill.stories.js.map +1 -1
  178. package/dist/components/TextArea/TextArea.stories.js +1 -1
  179. package/dist/components/TextArea/TextArea.stories.js.map +1 -1
  180. package/dist/components/TextArea/TextArea.test.js +3 -3
  181. package/dist/components/ToggleSwitch/ToggleSwitch.stories.js +1 -1
  182. package/dist/components/ToggleSwitch/ToggleSwitch.stories.js.map +1 -1
  183. package/dist/components/Tooltip/Tooltip.stories.js.map +1 -1
  184. package/dist/components/VarIndicator/VarIndicator.stories.js +1 -1
  185. package/dist/components/VarIndicator/VarIndicator.stories.js.map +1 -1
  186. package/dist/components/VarIndicator/VarIndicator.test.js +3 -3
  187. package/dist/components/WeekSelector/WeekSelector.stories.js.map +1 -1
  188. package/dist/components/index.js +1 -1
  189. package/dist/{components-DAwjkky5.js → components-BzxAULjf.js} +549 -549
  190. package/dist/components-BzxAULjf.js.map +1 -0
  191. package/dist/{dist-BIkFjHck.js → dist-V_v3kC0L.js} +3 -3
  192. package/dist/dist-V_v3kC0L.js.map +1 -0
  193. package/dist/{esm-ipAmzhQq.js → esm-BwHoYxVb.js} +3 -3
  194. package/dist/{esm-ipAmzhQq.js.map → esm-BwHoYxVb.js.map} +1 -1
  195. package/dist/{helpers-MNJmfDe_.js → helpers-B1VK8xTF.js} +2 -2
  196. package/dist/{helpers-MNJmfDe_.js.map → helpers-B1VK8xTF.js.map} +1 -1
  197. package/dist/index.js +1 -1
  198. package/dist/{lib-6BbFZdI7.js → lib-BvOQt8El.js} +2 -2
  199. package/dist/{lib-6BbFZdI7.js.map → lib-BvOQt8El.js.map} +1 -1
  200. package/dist/{react-18-Dwpebadr.js → react-18-B7MZmX_Z.js} +3 -3
  201. package/dist/{react-18-Dwpebadr.js.map → react-18-B7MZmX_Z.js.map} +1 -1
  202. package/dist/{react.esm-R7eBXTUI.js → react.esm-D_F72rY1.js} +5 -5
  203. package/dist/react.esm-D_F72rY1.js.map +1 -0
  204. package/dist/setupTests.js +2 -2
  205. package/dist/setupTests.js.map +1 -1
  206. package/dist/storybook__react.d.js +5 -5
  207. package/dist/storybook__react.d.js.map +1 -1
  208. package/dist/{test-Cr_l59hN.js → test-Pa9Lwbsq.js} +2 -2
  209. package/dist/test-Pa9Lwbsq.js.map +1 -0
  210. package/dist/{test-utils-BSs0eZfL.js → test-utils-Cmn06m_x.js} +2 -2
  211. package/dist/{test-utils-BSs0eZfL.js.map → test-utils-Cmn06m_x.js.map} +1 -1
  212. package/package.json +15 -15
  213. package/dist/Lexical.prod-sbwgNRjw.js.map +0 -1
  214. package/dist/LexicalClipboard.prod-DdImsyd1.js +0 -248
  215. package/dist/LexicalClipboard.prod-DdImsyd1.js.map +0 -1
  216. package/dist/LexicalExtension.prod-jTSDl1mh.js.map +0 -1
  217. package/dist/LexicalLink.prod-BKLNLyu8.js.map +0 -1
  218. package/dist/LexicalList.prod-DEtc4lSr.js.map +0 -1
  219. package/dist/LexicalTable.prod-CpIPDW6z.js.map +0 -1
  220. package/dist/LexicalUtils.prod-DjjGkphN.js +0 -360
  221. package/dist/LexicalUtils.prod-DjjGkphN.js.map +0 -1
  222. package/dist/chunk-SZQXB3JV-KiB8lSa9.js.map +0 -1
  223. package/dist/components-DAwjkky5.js.map +0 -1
  224. package/dist/dist-BIkFjHck.js.map +0 -1
  225. package/dist/react.esm-R7eBXTUI.js.map +0 -1
  226. package/dist/test-Cr_l59hN.js.map +0 -1
@@ -0,0 +1,343 @@
1
+ import { $ as e, $n as t, At as n, Bn as r, Bt as i, Dn as a, Ft as o, G as s, Gt as c, It as l, Kt as u, Ln as d, Mt as f, P as p, Pt as m, S as h, St as g, Wt as _, Z as v, _ as y, _n as b, en as x, hn as S, kn as C, lt as ee, o as w, ot as T, pt as E, qt as te, rn as ne, rt as D, st as O, t as k, u as A, ut as re, v as j, vt as M, wn as N } from "./Lexical.prod-CqPLSi0R.js";
2
+ //#region node_modules/@lexical/selection/LexicalSelection.prod.mjs
3
+ function P(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 = l().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(M(e) ? e : e.getParentOrThrow());
25
+ }
26
+ function ie(e) {
27
+ let t = I(e);
28
+ return t !== null && t.direction === "rtl";
29
+ }
30
+ function ae(e, n, r = "self") {
31
+ let i = e.getStartEndPoints();
32
+ if (n.isSelected(e) && !p(n) && i !== null) {
33
+ let [a, o] = i, s = e.isBackward(), c = a.getNode(), l = o.getNode(), u = n.is(c), d = n.is(l);
34
+ if (u || d) {
35
+ let [i, a] = t(e), o = c.is(l), u = n.is(s ? l : c), d = n.is(s ? c : l), f, p = 0;
36
+ o ? (p = i > a ? a : i, f = i > a ? i : a) : u ? (p = s ? a : i, f = void 0) : d && (p = 0, f = s ? i : a);
37
+ let m = n.__text.slice(p, f);
38
+ m !== n.__text && (r === "clone" && (n = b(n)), n.__text = m);
39
+ }
40
+ }
41
+ return n;
42
+ }
43
+ var oe = () => {};
44
+ function se(e, t) {
45
+ let n = e.getFormatType(), r = e.getIndent();
46
+ n !== t.getFormatType() && t.setFormat(n), r !== t.getIndent() && t.setIndent(r);
47
+ }
48
+ function ce(e, t, n = se) {
49
+ if (e === null) return;
50
+ let r = e.getStartEndPoints(), i = /* @__PURE__ */ new Map(), o = null;
51
+ if (r) {
52
+ let [e, t] = r;
53
+ o = a(), o.anchor.set(e.key, e.offset, e.type), o.focus.set(t.key, t.offset, t.type);
54
+ let n = _(e.getNode(), O), s = _(t.getNode(), O);
55
+ g(n) && i.set(n.getKey(), n), g(s) && i.set(s.getKey(), s);
56
+ }
57
+ for (let t of e.getNodes()) if (g(t) && O(t)) i.set(t.getKey(), t);
58
+ else if (r === null) {
59
+ let e = _(t, O);
60
+ g(e) && i.set(e.getKey(), e);
61
+ }
62
+ for (let [e, r] of i) {
63
+ let i = t();
64
+ n(r, i), r.replace(i, !0), o && (e === o.anchor.key && o.anchor.set(i.getKey(), o.anchor.offset, o.anchor.type), e === o.focus.key && o.focus.set(i.getKey(), o.focus.offset, o.focus.type));
65
+ }
66
+ o && e.is(T()) && u(o);
67
+ }
68
+ function L(e) {
69
+ let t = R(e);
70
+ return t !== null && t.writingMode === "vertical-rl";
71
+ }
72
+ function R(e) {
73
+ let t = e.anchor.getNode();
74
+ return g(t) ? F(t) : I(t);
75
+ }
76
+ function z(e, t) {
77
+ let n = L(e) ? !t : t;
78
+ V(e) && (n = !n);
79
+ let r = N(e.focus, n ? "previous" : "next");
80
+ if (x(r)) return !1;
81
+ for (let e of ee(r)) {
82
+ if (v(e)) return !e.origin.isInline();
83
+ if (!g(e.origin)) {
84
+ if (ne(e.origin)) return !0;
85
+ break;
86
+ }
87
+ }
88
+ return !1;
89
+ }
90
+ function B(e, t, n, r) {
91
+ e.modify(t ? "extend" : "move", n, r);
92
+ }
93
+ function V(e) {
94
+ let t = R(e);
95
+ return t !== null && t.direction === "rtl";
96
+ }
97
+ function H(e, t, n) {
98
+ let r = V(e), i;
99
+ i = L(e) || r ? !n : n, B(e, t, i, "character");
100
+ }
101
+ //#endregion
102
+ //#region node_modules/@lexical/utils/LexicalUtils.prod.mjs
103
+ function U(e, ...t) {
104
+ let n = new URL("https://lexical.dev/docs/error"), r = new URLSearchParams();
105
+ r.append("code", e);
106
+ for (let e of t) r.append("v", e);
107
+ 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.`);
108
+ }
109
+ var W = typeof window < "u" && window.document !== void 0 && window.document.createElement !== void 0, G = W && "documentMode" in document ? document.documentMode : null;
110
+ W && /Mac|iPod|iPhone|iPad/.test(navigator.platform);
111
+ var le = W && /^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);
112
+ !(!W || !("InputEvent" in window) || G) && "getTargetRanges" in new window.InputEvent("input"), W && /iPad|iPhone|iPod/.test(navigator.userAgent) && window.MSStream, W && /Android/.test(navigator.userAgent), W && /Version\/[\d.]+.*Safari/.test(navigator.userAgent), W && /^(?=.*Chrome).*/i.test(navigator.userAgent), W && /AppleWebKit\/[\d.]+/.test(navigator.userAgent);
113
+ function K(e) {
114
+ return `${e}px`;
115
+ }
116
+ var ue = {
117
+ attributes: !0,
118
+ characterData: !0,
119
+ childList: !0,
120
+ subtree: !0
121
+ };
122
+ function de(e, t, r) {
123
+ let i = null, a = null, o = null, s = [], c = document.createElement("div");
124
+ function l() {
125
+ i === null && U(182), a === null && U(183);
126
+ let { left: n, top: o } = a.getBoundingClientRect(), l = P(e, t);
127
+ var u, d;
128
+ c.isConnected || (d = c, (u = a).insertBefore(d, u.firstChild));
129
+ let f = !1;
130
+ for (let e = 0; e < l.length; e++) {
131
+ let t = l[e], r = s[e] || document.createElement("div"), i = r.style;
132
+ i.position !== "absolute" && (i.position = "absolute", f = !0);
133
+ let a = K(t.left - n);
134
+ i.left !== a && (i.left = a, f = !0);
135
+ let u = K(t.top - o);
136
+ i.top !== u && (r.style.top = u, f = !0);
137
+ let d = K(t.width);
138
+ i.width !== d && (r.style.width = d, f = !0);
139
+ let p = K(t.height);
140
+ i.height !== p && (r.style.height = p, f = !0), r.parentNode !== c && (c.append(r), f = !0), s[e] = r;
141
+ }
142
+ for (; s.length > l.length;) s.pop();
143
+ f && r(s);
144
+ }
145
+ function u() {
146
+ a = null, i = null, o !== null && o.disconnect(), o = null, c.remove();
147
+ for (let e of s) e.remove();
148
+ s = [];
149
+ }
150
+ c.style.position = "relative";
151
+ let d = e.registerRootListener(function t() {
152
+ let r = e.getRootElement();
153
+ if (r === null) return u();
154
+ let s = r.parentElement;
155
+ if (!n(s)) return u();
156
+ u(), i = r, a = s, o = new MutationObserver((n) => {
157
+ let r = e.getRootElement(), o = r && r.parentElement;
158
+ if (r !== i || o !== a) return t();
159
+ for (let e of n) if (!c.contains(e.target)) return l();
160
+ }), o.observe(s, ue), l();
161
+ });
162
+ return () => {
163
+ d(), u();
164
+ };
165
+ }
166
+ function q(e, t, n) {
167
+ if (e.type !== "text" && g(t)) {
168
+ let r = l(), i = d(r).$getDOMSlot(t, n, r);
169
+ return [i.element, i.getFirstChildOffset() + e.offset];
170
+ }
171
+ return [re(n) || n, e.offset];
172
+ }
173
+ function fe(e) {
174
+ for (let t of e) {
175
+ let e = t.style;
176
+ 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));
177
+ }
178
+ }
179
+ function pe(e, t = fe) {
180
+ let n = null, r = null, i = null, a = null, o = null, s = null, c = () => {};
181
+ function l(l) {
182
+ l.read(() => {
183
+ let l = T();
184
+ if (!j(l)) return n = null, i = null, a = null, s = null, c(), void (c = () => {});
185
+ let [u, d] = function(e) {
186
+ let t = e.getStartEndPoints();
187
+ return e.isBackward() ? [t[1], t[0]] : t;
188
+ }(l), f = u.getNode(), p = f.getKey(), m = u.offset, h = d.getNode(), g = h.getKey(), _ = d.offset, v = e.getElementByKey(p), y = e.getElementByKey(g), b = n === null || v !== r || m !== i || p !== n.getKey(), x = a === null || y !== o || _ !== s || g !== a.getKey();
189
+ if ((b || x) && v !== null && y !== null) {
190
+ let n = function(e, t, n, r, i, a, o) {
191
+ let s = (e._window ? e._window.document : document).createRange();
192
+ return s.setStart(...q(t, n, r)), s.setEnd(...q(i, a, o)), s;
193
+ }(e, u, f, v, d, h, y);
194
+ c(), c = de(e, n, t);
195
+ }
196
+ n = f, r = v, i = m, a = h, o = y, s = _;
197
+ });
198
+ }
199
+ return l(e.getEditorState()), A(e.registerUpdateListener(({ editorState: e }) => l(e)), () => {
200
+ c();
201
+ });
202
+ }
203
+ function me(e, t) {
204
+ let n = null, r = () => {
205
+ let r = getSelection(), i = r && r.anchorNode, a = e.getRootElement();
206
+ i !== null && a !== null && a.contains(i) ? n !== null && (n(), n = null) : n === null && (n = pe(e, t));
207
+ };
208
+ return e.registerRootListener((e) => {
209
+ if (e) {
210
+ let t = e.ownerDocument;
211
+ return t.addEventListener("selectionchange", r), r(), () => {
212
+ n !== null && n(), t.removeEventListener("selectionchange", r);
213
+ };
214
+ }
215
+ });
216
+ }
217
+ var he = W, ge = le;
218
+ function _e(e, t) {
219
+ return Array.from(ve(e, t));
220
+ }
221
+ function ve(e, t) {
222
+ return ye("next", e, t);
223
+ }
224
+ function J(t, n) {
225
+ let r = i(e(t, n));
226
+ return r && r[0];
227
+ }
228
+ function ye(t, n, r) {
229
+ let a = m(), o = n || a, c = g(o) ? D(o, t) : e(o, t), l = be(o), u = r ? s(y(e(r, t))) || J(r, t) : J(o, t), d = l;
230
+ return k({
231
+ hasNext: (e) => e !== null,
232
+ initial: c,
233
+ map: (e) => ({
234
+ depth: d,
235
+ node: e.origin
236
+ }),
237
+ step: (e) => {
238
+ if (e.isSameNodeCaret(u)) return null;
239
+ v(e) && d++;
240
+ let t = i(e);
241
+ return !t || t[0].isSameNodeCaret(u) ? null : (d += t[1], t[0]);
242
+ }
243
+ });
244
+ }
245
+ function be(e) {
246
+ let t = -1;
247
+ for (let n = e; n !== null; n = n.getParent()) t++;
248
+ return t;
249
+ }
250
+ function xe(e, t) {
251
+ let n = e;
252
+ for (; n != null;) {
253
+ if (n instanceof t) return n;
254
+ n = n.getParent();
255
+ }
256
+ return null;
257
+ }
258
+ function Y(e) {
259
+ let t = _(e, (e) => g(e) && !e.isInline());
260
+ return g(t) || U(4, e.__key), t;
261
+ }
262
+ function Se(t) {
263
+ let n = T() || o(), r;
264
+ if (j(n)) r = N(n.focus, "next");
265
+ else {
266
+ if (n != null) {
267
+ let t = n.getNodes(), i = t[t.length - 1];
268
+ i && (r = e(i, "next"));
269
+ }
270
+ r ||= D(m(), "previous").getFlipped().insert(c());
271
+ }
272
+ let i = X(t, r), a = s(i);
273
+ return h(w(v(a) ? C(a) : i)), t.getLatest();
274
+ }
275
+ function X(t, n, i) {
276
+ let a = S(n, "next");
277
+ r(a) && (a.offset === 0 ? a = e(a.origin, "previous").getFlipped() : a.offset === a.origin.getTextContentSize() && (a = e(a.origin, "next"))), a.origin.is(t) && (E(a) || U(342, t.getKey(), t.getType()), a = f(a)), (t.is(a.getNodeAtCaret()) || t.is(a.getFlipped().getNodeAtCaret())) && t.remove(!0);
278
+ for (let e = a; e; e = te(e, i)) a = e;
279
+ return r(a) && U(283), a.insert(t.isInline() ? c().append(t) : t), S(e(t.getLatest(), "next"), n.direction);
280
+ }
281
+ function Ce(e, t) {
282
+ return e !== null && Object.getPrototypeOf(e).constructor.name === t.name;
283
+ }
284
+ function we(e) {
285
+ let t = T();
286
+ if (!j(t)) return !1;
287
+ let n = /* @__PURE__ */ new Set(), r = t.getNodes();
288
+ for (let t = 0; t < r.length; t++) {
289
+ let i = r[t], a = i.getKey();
290
+ if (n.has(a)) continue;
291
+ let o = _(i, (e) => g(e) && !e.isInline());
292
+ if (o === null) continue;
293
+ let s = o.getKey();
294
+ o.canIndent() && !n.has(s) && (n.add(s), e(o));
295
+ }
296
+ return n.size > 0;
297
+ }
298
+ function Te(e, t) {
299
+ D(e, "next").insert(t);
300
+ }
301
+ var Z = !(ge || !he) && void 0;
302
+ function Ee(e, t = !1) {
303
+ let n = 1;
304
+ if (function() {
305
+ if (Z === void 0) {
306
+ let e = document.createElement("div");
307
+ e.style.position = "absolute", e.style.opacity = "0", e.style.width = "100px", e.style.left = "-1000px", document.body.appendChild(e);
308
+ let t = e.getBoundingClientRect();
309
+ e.style.setProperty("zoom", "2"), Z = e.getBoundingClientRect().width === t.width, document.body.removeChild(e);
310
+ }
311
+ return Z;
312
+ }() || t) for (; e;) n *= Number(window.getComputedStyle(e).getPropertyValue("zoom")), e = e.parentElement;
313
+ return n;
314
+ }
315
+ function De(e, t) {
316
+ return Q(e, t, null);
317
+ }
318
+ function Q(e, t, n) {
319
+ let r = !1;
320
+ for (let i of $(e)) t(i) ? n !== null && n(i) : (r = !0, g(i) && Q(i, t, n || ((e) => i.insertAfter(e))), i.remove());
321
+ return r;
322
+ }
323
+ function Oe(e, t) {
324
+ let n = [], r = Array.from(e).reverse();
325
+ for (let e = r.pop(); e !== void 0; e = r.pop()) if (t(e)) n.push(e);
326
+ else if (g(e)) for (let t of $(e)) r.push(t);
327
+ return n;
328
+ }
329
+ function $(e) {
330
+ return ke(D(e, "previous"));
331
+ }
332
+ function ke(e) {
333
+ return k({
334
+ hasNext: E,
335
+ initial: e.getAdjacentCaret(),
336
+ map: (e) => e.origin.getLatest(),
337
+ step: (e) => e.getAdjacentCaret()
338
+ });
339
+ }
340
+ //#endregion
341
+ export { ae as _, Oe as a, Se as c, me as d, _e as f, z as g, ie as h, Ee as i, X as l, oe as m, xe as n, Y as o, ce as p, Ce as r, De as s, Te as t, we as u, H as v };
342
+
343
+ //# sourceMappingURL=LexicalUtils.prod-BqcriFWV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LexicalUtils.prod-BqcriFWV.js","names":["t","z","n","O","s","c","f","U","H","p","h","y","i","o","m","G","J","Q","S","x","T","N","C","Y","Z","k","t","r","l","s","i","n","o","e","d","f","C","u","A","a","K","c","x","E","S","y","L","N","b","P","R","M","v","h"],"sources":["../node_modules/@lexical/selection/LexicalSelection.prod.mjs","../node_modules/@lexical/utils/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 s,$isElementNode as i,$getCharacterOffsets as c,$cloneWithPropertiesEphemeral as f,$getNodeByKey as u,$getPreviousSelection as g,$createTextNode as a,getStyleObjectFromCSS as d,$createRangeSelection as p,$findMatchingParent as h,INTERNAL_$isBlock as y,$setSelection as m,$caretFromPoint as S,$isExtendableTextPointCaret as x,$extendCaretToRange as T,$isChildCaret as N,$isDecoratorNode as C,$isRootOrShadowRoot as w,$hasAncestor as v,$isLeafNode as K}from\"lexical\";export{$cloneWithProperties,$selectAll}from\"lexical\";function E(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 P(e){let t=e;for(;null!=t;){if(t.nodeType===Node.TEXT_NODE)return t;t=t.firstChild}return null}function k(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 s=n.getKey(),i=l.getKey(),c=document.createRange();let f=t.getElementByKey(s),u=t.getElementByKey(i),g=o,a=r;if(e(n)&&(f=P(f)),e(l)&&(u=P(u)),void 0===n||void 0===l||null===f||null===u)return null;\"BR\"===f.nodeName&&([f,g]=k(f)),\"BR\"===u.nodeName&&([u,a]=k(u));const d=f.firstChild;f===u&&null!=d&&\"BR\"===d.nodeName&&0===g&&0===a&&(a=1);try{c.setStart(f,g),c.setEnd(u,a)}catch(e){return null}return!c.collapsed||g===a&&s===i||(c.setStart(u,a),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),s=Array.from(t.getClientRects());let i,c=s.length;s.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=s[e],n=i&&i.top<=t.top&&i.top+i.height>t.top&&i.left+i.width>t.left,l=t.width+r===o.width;n||l?(s.splice(e--,1),c--):i=t}return s}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 z(e){return b(n(e)?e:e.getParentOrThrow())}function O(e){const t=z(e);return null!==t&&\"rtl\"===t.direction}function R(e,t,n=\"self\"){const o=e.getStartEndPoints();if(t.isSelected(e)&&!s(t)&&null!==o){const[l,r]=o,s=e.isBackward(),i=l.getNode(),u=r.getNode(),g=t.is(i),a=t.is(u);if(g||a){const[o,l]=c(e),r=i.is(u),g=t.is(s?u:i),a=t.is(s?i:u);let d,p=0;if(r)p=o>l?l:o,d=o>l?o:l;else if(g){p=s?l:o,d=void 0}else if(a){p=0,d=s?o:l}const h=t.__text.slice(p,d);h!==t.__text&&(\"clone\"===n&&(t=f(t)),t.__text=h)}}return t}function A(e){if(\"text\"===e.type)return e.offset===e.getNode().getTextContentSize();const t=e.getNode();return i(t)||E(177),e.offset===t.getChildrenSize()}function _(t,o,r){let s=o.getNode(),c=r;if(i(s)){const e=s.getDescendantByIndex(o.offset);null!==e&&(s=e)}for(;c>0&&null!==s;){if(i(s)){const e=s.getLastDescendant();null!==e&&(s=e)}let r=s.getPreviousSibling(),f=0;if(null===r){let e=s.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 d=s.getTextContent();\"\"===d&&i(s)&&!s.isInline()&&(d=\"\\n\\n\");const p=d.length;if(!e(s)||c>=p){const e=s.getParent();s.remove(),null==e||0!==e.getChildrenSize()||n(e)||e.remove(),c-=p+f,s=r}else{const n=s.getKey(),r=t.getEditorState().read(()=>{const t=u(n);return e(t)&&t.isSimpleText()?t.getTextContent():null}),i=p-c,f=d.slice(0,i);if(null!==r&&r!==d){const e=g();let t=s;if(s.isSimpleText())s.setTextContent(r);else{const e=a(r);s.replace(e),t=e}if(l(e)&&e.isCollapsed()){const n=e.anchor.offset;t.select(n,n)}}else if(s.isSimpleText()){const e=o.key===n;let t=o.offset;t<c&&(t=p);const l=e?t-c:0,r=e?t:i;if(e&&0===l){const[e]=s.splitText(l,r);e.remove()}else{const[,e]=s.splitText(l,r);e.remove()}}else{const e=a(f);s.replace(e)}c=0}}}const L=()=>{};function M(t,n){(l(t)?t.isCollapsed():e(t)||i(t))||E(280);const o=d(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 $(e,t){if(l(e)&&e.isCollapsed()){M(e,t);const n=e.anchor.getNode();i(n)&&n.isEmpty()&&M(n,t)}D(e=>{M(e,t)});const n=e.getNodes();if(n.length>0){const e=new Set;for(const o of n){if(!i(o)||!o.canBeEmpty()||0!==o.getChildrenSize())continue;const n=o.getKey();e.has(n)||(e.add(n),M(o,t))}}}function D(t){const n=o();if(!n)return;const i=new Map,c=e=>i.get(e.getKey())||[0,e.getTextContentSize()];if(l(n))for(const e of r(n).getTextSlices())e&&i.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(s(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&&j(n)}function j(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 U(e,t){const n=e.getFormatType(),o=e.getIndent();n!==t.getFormatType()&&t.setFormat(n),o!==t.getIndent()&&t.setIndent(o)}function H(e,t,n=U){if(null===e)return;const l=e.getStartEndPoints(),r=new Map;let s=null;if(l){const[e,t]=l;s=p(),s.anchor.set(e.key,e.offset,e.type),s.focus.set(t.key,t.offset,t.type);const n=h(e.getNode(),y),o=h(t.getNode(),y);i(n)&&r.set(n.getKey(),n),i(o)&&r.set(o.getKey(),o)}for(const t of e.getNodes())if(i(t)&&y(t))r.set(t.getKey(),t);else if(null===l){const e=h(t,y);i(e)&&r.set(e.getKey(),e)}for(const[e,o]of r){const l=t();n(o,l),o.replace(l,!0),s&&(e===s.anchor.key&&s.anchor.set(l.getKey(),s.anchor.offset,s.anchor.type),e===s.focus.key&&s.focus.set(l.getKey(),s.focus.offset,s.focus.type))}s&&e.is(o())&&m(s)}function V(e){return e.getNode().isAttached()}function W(e){let t=e;for(;null!==t&&!w(t);){const e=t.getLatest(),n=t.getParent();0===e.getChildrenSize()&&t.remove(!0),t=n}}function X(e,t,n=null){const o=e.getStartEndPoints(),l=o?o[0]:null,r=e.getNodes(),s=r.length;if(null!==l&&(0===s||1===s&&\"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 i=null,c=[];for(let o=0;o<s;o++){const l=r[o];w(l)?(q(e,c,c.length,t,n),c=[],i=l):null===i||null!==i&&v(l,i)?c.push(l):(q(e,c,c.length,t,n),c=[l])}q(e,c,c.length,t,n)}function q(e,t,n,o,r=null){if(0===t.length)return;const s=t[0],c=new Map,f=[];let u=i(s)?s:s.getParentOrThrow();u.isInline()&&(u=u.getParentOrThrow());let a=!1;for(;null!==u;){const e=u.getPreviousSibling();if(null!==e){u=e,a=!0;break}if(u=u.getParentOrThrow(),w(u))break}const d=new Set;for(let e=0;e<n;e++){const n=t[e];i(n)&&0===n.getChildrenSize()&&d.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&&K(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),l.getChildren().forEach(e=>{t.append(e),p.add(e.getKey()),i(e)&&e.getChildrenKeys().forEach(e=>p.add(e))}),W(l)}}else if(d.has(n.getKey())){i(n)||E(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(w(u))if(a)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(i(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)&&V(y.anchor)&&V(y.focus)?m(y.clone()):null!==h?h.selectEnd():e.dirty=!0}function G(e){const t=J(e);return null!==t&&\"vertical-rl\"===t.writingMode}function J(e){const t=e.anchor.getNode();return i(t)?b(t):z(t)}function Q(e,t){let n=G(e)?!t:t;Z(e)&&(n=!n);const o=S(e.focus,n?\"previous\":\"next\");if(x(o))return!1;for(const e of T(o)){if(N(e))return!e.origin.isInline();if(!i(e.origin)){if(C(e.origin))return!0;break}}return!1}function Y(e,t,n,o){e.modify(t?\"extend\":\"move\",n,o)}function Z(e){const t=J(e);return null!==t&&\"rtl\"===t.direction}function ee(e,t,n){const o=Z(e);let l;l=G(e)||o?!n:n,Y(e,t,l,\"character\")}function te(e,t,n){const o=e.getStyle(),l=d(o);return null!==l&&l[t]||n}function ne(t,n,o=\"\"){let r=null;const s=t.getNodes(),i=t.anchor,c=t.focus,f=t.isBackward(),u=f?c.getNode():i.getNode(),g=f?i.getNode():c.getNode(),a=f?c.offset:i.offset,p=f?i.offset:c.offset;if(l(t)&&t.isCollapsed()&&\"\"!==t.style){const e=t.style,o=d(e);if(null!==o&&n in o)return o[n]}for(let t=0;t<s.length;t++){const l=s[t];if((0!==t||!l.is(u)||!e(l)||a!==l.getTextContentSize())&&((0===t||!l.is(g)||0!==p)&&e(l))){const e=te(l,n,o);if(null===r)r=e;else if(r!==e){r=\"\";break}}}return null===r?o:r}const oe=d,le=_;export{L as $addNodeStyle,U as $copyBlockFormatIndent,j as $ensureForwardRangeSelection,D as $forEachSelectedTextNode,b as $getComputedStyleForElement,z as $getComputedStyleForParent,ne as $getSelectionStyleValueForProperty,A as $isAtNodeEnd,Z as $isParentElementRTL,O as $isParentRTL,Y as $moveCaretSelection,ee as $moveCharacter,$ as $patchStyleText,H as $setBlocksType,Q as $shouldOverrideDefaultCharacterSelection,R as $sliceSelectedTextNodeContent,_ as $trimTextContentFromAnchor,X as $wrapNodes,I as createDOMRange,B as createRectsFromDOMRange,F as getCSSFromStyleObject,oe as getStyleObjectFromCSS,le 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,getDOMTextNode as i,$getEditor as l,$getEditorDOMRenderConfig as s,$getChildCaret as u,$findMatchingParent as c,$getChildCaretOrSelf as a,$getSiblingCaret as f,$getAdjacentSiblingOrParentSiblingCaret as d,$caretRangeFromSelection as g,$getCaretRangeInDirection as p,$removeTextFromCaretRange as m,$isTextPointCaret as h,$splitAtPointCaretNext as v,$setSelectionFromCaretRange as y,$getCaretRange as w,$getPreviousSelection as x,$caretFromPoint as E,$getRoot as C,$createParagraphNode as S,$getAdjacentChildCaret as A,$isChildCaret as N,$normalizeCaret as b,$getCollapsedCaretRange as L,$getCaretInDirection as P,$isSiblingCaret as R,$rewindSiblingCaret as M,$cloneWithProperties as T,$setSelection as B,makeStepwiseIterator as K,$getState as _,$setState as $}from\"lexical\";export{$findMatchingParent,$getAdjacentSiblingOrParentSiblingCaret,$splitNode,addClassNamesToElement,isBlockDomNode,isHTMLAnchorElement,isHTMLElement,isInlineDomNode,mergeRegister,removeClassNamesFromElement}from\"lexical\";import{createRectsFromDOMRange as k}from\"@lexical/selection\";function F(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.`)}const I=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,O=I&&\"documentMode\"in document?document.documentMode:null,D=I&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),H=I&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),j=!(!I||!(\"InputEvent\"in window)||O)&&\"getTargetRanges\"in new window.InputEvent(\"input\"),z=I&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,U=I&&/Android/.test(navigator.userAgent),V=I&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent)&&!U,W=I&&/^(?=.*Chrome).*/i.test(navigator.userAgent),G=I&&U&&W,q=I&&/AppleWebKit\\/[\\d.]+/.test(navigator.userAgent)&&D&&!W;function J(t){return`${t}px`}const Q={attributes:!0,characterData:!0,childList:!0,subtree:!0};function X(e,n,o){let r=null,i=null,l=null,s=[];const u=document.createElement(\"div\");function c(){null===r&&F(182),null===i&&F(183);const{left:t,top:l}=i.getBoundingClientRect(),c=k(e,n);var a,f;u.isConnected||(f=u,(a=i).insertBefore(f,a.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=J(n.left-t);r.left!==i&&(r.left=i,d=!0);const a=J(n.top-l);r.top!==a&&(o.style.top=a,d=!0);const f=J(n.width);r.width!==f&&(o.style.width=f,d=!0);const g=J(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 a(){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 f=e.registerRootListener(function n(){const o=e.getRootElement();if(null===o)return a();const s=o.parentElement;if(!t(s))return a();a(),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,Q),c()});return()=>{f(),a()}}function Y(t,e,n){if(\"text\"!==t.type&&r(e)){const o=l(),r=s(o).$getDOMSlot(e,n,o);return[r.element,r.getFirstChildOffset()+t.offset]}return[i(n)||n,t.offset]}function Z(t){for(const e of t){const t=e.style;\"Highlight\"!==t.background&&(t.background=\"Highlight\"),\"HighlightText\"!==t.color&&(t.color=\"HighlightText\"),t.marginTop!==J(-1.5)&&(t.marginTop=J(-1.5)),t.paddingTop!==J(4)&&(t.paddingTop=J(4)),t.paddingBottom!==J(0)&&(t.paddingBottom=J(0))}}function tt(t,r=Z){let i=null,l=null,s=null,u=null,c=null,a=null,f=()=>{};function d(e){e.read(()=>{const e=n();if(!o(e))return i=null,s=null,u=null,a=null,f(),void(f=()=>{});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,v=g.getNode(),y=v.getKey(),w=g.offset,x=t.getElementByKey(m),E=t.getElementByKey(y),C=null===i||x!==l||h!==s||m!==i.getKey(),S=null===u||E!==c||w!==a||y!==u.getKey();if((C||S)&&null!==x&&null!==E){const e=function(t,e,n,o,r,i,l){const s=(t._window?t._window.document:document).createRange();return s.setStart(...Y(e,n,o)),s.setEnd(...Y(r,i,l)),s}(t,d,p,x,g,v,E);f(),f=X(t,e,r)}i=p,l=x,s=h,u=v,c=E,a=w})}return d(t.getEditorState()),e(t.registerUpdateListener(({editorState:t})=>d(t)),()=>{f()})}function et(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=tt(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)}}})}const nt=j,ot=I,rt=U,it=G,lt=D,st=q,ut=W,ct=H,at=z,ft=V;function dt(t,e){for(const n of e)if(t.type.startsWith(n))return!0;return!1}function gt(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()}),dt(s,e)?u.readAsDataURL(s):i()};i()})}function pt(t,e){return Array.from(vt(t,e))}function mt(t){return t?t.getAdjacentCaret():null}function ht(t,e){return Array.from(St(t,e))}function vt(t,e){return wt(\"next\",t,e)}function yt(t,e){const n=d(f(t,e));return n&&n[0]}function wt(t,e,n){const o=C(),i=e||o,l=r(i)?u(i,t):f(i,t),s=Et(i),c=n?A(a(f(n,t)))||yt(n,t):yt(i,t);let g=s;return K({hasNext:t=>null!==t,initial:l,map:t=>({depth:g,node:t.origin}),step:t=>{if(t.isSameNodeCaret(c))return null;N(t)&&g++;const e=d(t);return!e||e[0].isSameNodeCaret(c)?null:(g+=e[1],e[0])}})}function xt(t){const e=d(f(t,\"next\"));return e&&[e[0].origin,e[1]]}function Et(t){let e=-1;for(let n=t;null!==n;n=n.getParent())e++;return e}function Ct(t){const e=a(f(t,\"previous\")),n=d(e,\"root\");return n&&n[0].origin}function St(t,e){return wt(\"previous\",t,e)}function At(t,e){let n=t;for(;null!=n;){if(n instanceof e)return n;n=n.getParent()}return null}function Nt(t){const e=c(t,t=>r(t)&&!t.isInline());return r(e)||F(4,t.__key),e}function bt(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 Lt(t,e){const n=new Map,o=t._pendingEditorState;for(const[t,o]of e._nodeMap)n.set(t,T(o));o&&(o._nodeMap=n),t._dirtyType=2;const r=e._selection;B(null===r?null:r.clone())}function Pt(t){const e=n()||x();let r;if(o(e))r=E(e.focus,\"next\");else{if(null!=e){const t=e.getNodes(),n=t[t.length-1];n&&(r=f(n,\"next\"))}r=r||u(C(),\"previous\").getFlipped().insert(S())}const i=Rt(t,r),l=A(i),s=N(l)?b(l):i;return y(L(s)),t.getLatest()}function Rt(t,e,n){let o=P(e,\"next\");h(o)&&(0===o.offset?o=f(o.origin,\"previous\").getFlipped():o.offset===o.origin.getTextContentSize()&&(o=f(o.origin,\"next\"))),o.origin.is(t)&&(R(o)||F(342,t.getKey(),t.getType()),o=M(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 h(o)&&F(283),o.insert(t.isInline()?S().append(t):t),P(f(t.getLatest(),\"next\"),e.direction)}function Mt(t){const e=n();if(!o(e))return void(e&&e.insertNodes([t]));const r=g(e);let i=p(m(r),\"next\").anchor;if(h(i)){const t=v(i);if(!t)return;i=t}const l=i.getFlipped();l.insert(t),y(w(l,l))}function Tt(t,e){const n=e();return t.replace(n),n.append(t),n}function Bt(t,e){return null!==t&&Object.getPrototypeOf(t).constructor.name===e.name}function Kt(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 _t(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=c(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 $t(t,e){u(t,\"next\").insert(e)}let kt=!(ct||!ot)&&void 0;function Ft(t,e=!1){let n=1;if(function(){if(void 0===kt){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\"),kt=t.getBoundingClientRect().width===e.width,document.body.removeChild(t)}return kt}()||e)for(;t;)n*=Number(window.getComputedStyle(t).getPropertyValue(\"zoom\")),t=t.parentElement;return n}function It(t){return null!==t._parentEditor}function Ot(t,e){return Dt(t,e,null)}function Dt(t,e,n){let o=!1;for(const i of zt(t))e(i)?null!==n&&n(i):(o=!0,r(i)&&Dt(i,e,n||(t=>i.insertAfter(t))),i.remove());return o}function Ht(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 zt(t))o.push(e);return n}function jt(t){return Ut(u(t,\"next\"))}function zt(t){return Ut(u(t,\"previous\"))}function Ut(t){return K({hasNext:R,initial:t.getAdjacentCaret(),map:t=>t.origin.getLatest(),step:t=>t.getAdjacentCaret()})}function Vt(t){M(f(t,\"next\")).splice(1,t.getChildren())}function Wt(t){const e=e=>_(e,t),n=(e,n)=>$(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{Ht as $descendantsMatching,pt as $dfs,vt as $dfsIterator,Kt as $filter,jt as $firstToLastIterator,mt as $getAdjacentCaret,Et as $getDepth,Nt as $getNearestBlockElementAncestorOrThrow,At as $getNearestNodeOfType,Ct as $getNextRightPreorderNode,xt as $getNextSiblingOrParentSibling,_t as $handleIndentAndOutdent,$t as $insertFirst,Mt as $insertNodeIntoLeaf,Pt as $insertNodeToNearestRoot,Rt as $insertNodeToNearestRootAtCaret,It as $isEditorIsNestedEditor,zt as $lastToFirstIterator,Lt as $restoreEditorState,ht as $reverseDfs,St as $reverseDfsIterator,Ot as $unwrapAndFilterDescendants,Vt as $unwrapNode,Tt as $wrapNodeInElement,nt as CAN_USE_BEFORE_INPUT,ot as CAN_USE_DOM,rt as IS_ANDROID,it as IS_ANDROID_CHROME,lt as IS_APPLE,st as IS_APPLE_WEBKIT,ut as IS_CHROME,ct as IS_FIREFOX,at as IS_IOS,ft as IS_SAFARI,Ft as calculateZoomLevel,dt as isMimeType,Wt as makeStateWrapper,tt as markSelection,gt as mediaFileReader,Bt as objectKlassEquals,X as positionNodeOnRange,bt as registerNestedElementResolver,et as selectionAlwaysOnDisplay};\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Icon as e } from "./components/Icon/Icon.js";
2
2
  import { Button as t } from "./components/Buttons/Button.js";
3
- import { n } from "./helpers-MNJmfDe_.js";
3
+ import { n } from "./helpers-B1VK8xTF.js";
4
4
  import { useTranslation as r } from "./components/RteEditor/hooks/useTranslation.js";
5
5
  import { forwardRef as i, useImperativeHandle as a, useLayoutEffect as o, useRef as s, useState as c } from "react";
6
6
  import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
@@ -98,4 +98,4 @@ var f = {
98
98
  //#endregion
99
99
  export { p as t };
100
100
 
101
- //# sourceMappingURL=LinkContextMenu-CTkNPiIW.js.map
101
+ //# sourceMappingURL=LinkContextMenu-ePn1iZ_z.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkContextMenu-CTkNPiIW.js","names":[],"sources":["../src/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.module.css","../src/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.tsx"],"sourcesContent":[".link-context-menu__wrapper {\n align-items: center;\n display: flex;\n justify-content: flex-start;\n}\n\n.link-context-menu__input {\n appearance: none;\n background-color: transparent;\n border: 2px solid var(--color-navy-600);\n border-radius: 0.5rem;\n color: var(--color-uva-black);\n font-family: inherit;\n font-size: inherit;\n height: 2.5rem;\n margin: 0 0.5rem 0 0;\n min-width: 20rem;\n padding: 0 0.5rem;\n}\n\n.link-context-menu__input:disabled {\n border-color: transparent;\n}\n\n.link-context-menu__button {\n aspect-ratio: 1;\n background-color: transparent;\n border: none;\n border-radius: 0.5rem;\n color: var(--color-uva-black);\n cursor: pointer;\n font-size: inherit;\n height: 2.5rem;\n}\n\n.link-context-menu__actions {\n align-items: center;\n display: flex;\n gap: 0.5rem;\n justify-content: flex-end;\n margin-top: 1rem;\n}\n","import { forwardRef, useImperativeHandle, useLayoutEffect, useRef, useState } from 'react';\n\nimport styles from './LinkContextMenu.module.css';\n\nimport { ensureHttps } from 'components/RteEditor/Plugins/LinkPlugin/helpers';\nimport { Icon } from 'components/Icon';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\nimport { Button } from 'components/Buttons';\n\ninterface LinkContextMenuProps {\n url: string;\n onSave: (url: string) => void;\n onDelete: () => void;\n onClose: () => void;\n}\n\nexport interface linkFormMethods {\n clearForm: () => void;\n}\n\nexport const LinkContextMenu = forwardRef(({ url, onSave, onDelete, onClose }: LinkContextMenuProps, ref) => {\n const t = useTranslation();\n const [link, setLink] = useState(url);\n const [editable, setEditable] = useState(false);\n const linkRef = useRef<HTMLInputElement>(null);\n\n const reset = () => {\n setLink(url);\n setEditable(false);\n linkRef.current?.blur();\n };\n\n const handleSave = () => {\n onSave(link);\n reset();\n };\n\n const handleDelete = () => {\n onDelete();\n setLink('');\n reset();\n };\n\n const handleClose = () => {\n reset();\n onClose();\n };\n\n const handlePreview = () => {\n window.open(ensureHttps(url), '_blank');\n };\n\n useImperativeHandle(ref, () => ({\n clearForm: reset,\n }));\n\n useLayoutEffect(() => {\n setLink(url);\n\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.ctrlKey && event.shiftKey && event.key === 'L') {\n event.preventDefault();\n setEditable(true);\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n\n if (event.ctrlKey && event.shiftKey && event.code === 'Digit1') {\n event.preventDefault();\n handlePreview();\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n\n if (event.ctrlKey && event.shiftKey && event.key === 'Q') {\n event.preventDefault();\n handleDelete();\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n };\n\n window.addEventListener('keydown', handleKeydown);\n\n return () => {\n window.removeEventListener('keydown', handleKeydown);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url]);\n\n return (\n <>\n <div className={styles['link-context-menu__wrapper']}>\n <input\n type=\"text\"\n value={link}\n onChange={(event) => setLink(event.target.value)}\n className={styles['link-context-menu__input']}\n disabled={!editable}\n ref={linkRef}\n />\n {!editable && (\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={() => setEditable(true)}\n title={t.links.linkEdittip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.editlink}\n >\n <Icon name=\"Pencil\" size={20} />\n </button>\n )}\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={handlePreview}\n title={t.links.linkTesttip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.testlink}\n >\n <Icon name=\"ArrowTopRightOnSquare\" size={20} />\n </button>\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={handleDelete}\n title={t.links.linkDeletetip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.deletelink}\n >\n <Icon name=\"LinkSlash\" size={20} />\n </button>\n </div>\n {editable && (\n <div className={styles['link-context-menu__actions']}>\n <Button variant={'secondary'} onClick={handleClose} aria-label={t.common.cancel} type=\"button\">\n {t.common.cancel}\n </Button>\n <Button variant={'primary'} onClick={handleSave} aria-label={t.aria.labels.linkOkButton} type=\"button\">\n {t.links.addLink}\n </Button>\n </div>\n )}\n </>\n );\n});\n"],"mappings":";;;;;;;;;;;;GCoBa,IAAkB,GAAY,EAAE,QAAK,WAAQ,aAAU,cAAiC,MAAQ;CAC3G,IAAM,IAAI,GAAgB,EACpB,CAAC,GAAM,KAAW,EAAS,EAAI,EAC/B,CAAC,GAAU,KAAe,EAAS,GAAM,EACzC,IAAU,EAAyB,KAAK,EAExC,UAAc;AAGlB,EAFA,EAAQ,EAAI,EACZ,EAAY,GAAM,EAClB,EAAQ,SAAS,MAAM;IAGnB,UAAmB;AAEvB,EADA,EAAO,EAAK,EACZ,GAAO;IAGH,UAAqB;AAGzB,EAFA,GAAU,EACV,EAAQ,GAAG,EACX,GAAO;IAGH,UAAoB;AAExB,EADA,GAAO,EACP,GAAS;IAGL,UAAsB;AAC1B,SAAO,KAAK,EAAY,EAAI,EAAE,SAAS;;AAsCzC,QAnCA,EAAoB,UAAY,EAC9B,WAAW,GACZ,EAAE,EAEH,QAAsB;AACpB,IAAQ,EAAI;EAEZ,IAAM,KAAiB,MAAyB;AAa9C,GAZI,EAAM,WAAW,EAAM,YAAY,EAAM,QAAQ,QACnD,EAAM,gBAAgB,EACtB,EAAY,GAAK,EACjB,iBAAiB,EAAQ,SAAS,OAAO,EAAE,EAAE,GAG3C,EAAM,WAAW,EAAM,YAAY,EAAM,SAAS,aACpD,EAAM,gBAAgB,EACtB,GAAe,EACf,iBAAiB,EAAQ,SAAS,OAAO,EAAE,EAAE,GAG3C,EAAM,WAAW,EAAM,YAAY,EAAM,QAAQ,QACnD,EAAM,gBAAgB,EACtB,GAAc,EACd,iBAAiB,EAAQ,SAAS,OAAO,EAAE,EAAE;;AAMjD,SAFA,OAAO,iBAAiB,WAAW,EAAc,QAEpC;AACX,UAAO,oBAAoB,WAAW,EAAc;;IAGrD,CAAC,EAAI,CAAC,EAGP,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB;GACE,kBAAC,SAAD;IACE,MAAK;IACL,OAAO;IACP,WAAW,MAAU,EAAQ,EAAM,OAAO,MAAM;IAChD,WAAW,EAAO;IAClB,UAAU,CAAC;IACX,KAAK;IACL,CAAA;GACD,CAAC,KACA,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,eAAe,EAAY,GAAK;IAChC,OAAO,EAAE,MAAM;IACf,cAAY,EAAE,KAAK,OAAO;IAC1B,qBAAmB,EAAE,KAAK,aAAa;cAEvC,kBAAC,GAAD;KAAM,MAAK;KAAS,MAAM;KAAM,CAAA;IACzB,CAAA;GAEX,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,SAAS;IACT,OAAO,EAAE,MAAM;IACf,cAAY,EAAE,KAAK,OAAO;IAC1B,qBAAmB,EAAE,KAAK,aAAa;cAEvC,kBAAC,GAAD;KAAM,MAAK;KAAwB,MAAM;KAAM,CAAA;IACxC,CAAA;GACT,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,SAAS;IACT,OAAO,EAAE,MAAM;IACf,cAAY,EAAE,KAAK,OAAO;IAC1B,qBAAmB,EAAE,KAAK,aAAa;cAEvC,kBAAC,GAAD;KAAM,MAAK;KAAY,MAAM;KAAM,CAAA;IAC5B,CAAA;GACL;KACL,KACC,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB,CACE,kBAAC,GAAD;GAAQ,SAAS;GAAa,SAAS;GAAa,cAAY,EAAE,OAAO;GAAQ,MAAK;aACnF,EAAE,OAAO;GACH,CAAA,EACT,kBAAC,GAAD;GAAQ,SAAS;GAAW,SAAS;GAAY,cAAY,EAAE,KAAK,OAAO;GAAc,MAAK;aAC3F,EAAE,MAAM;GACF,CAAA,CACL;IAEP,EAAA,CAAA;EAEL"}
1
+ {"version":3,"file":"LinkContextMenu-ePn1iZ_z.js","names":[],"sources":["../src/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.module.css","../src/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.tsx"],"sourcesContent":[".link-context-menu__wrapper {\n align-items: center;\n display: flex;\n justify-content: flex-start;\n}\n\n.link-context-menu__input {\n appearance: none;\n background-color: transparent;\n border: 2px solid var(--color-navy-600);\n border-radius: 0.5rem;\n color: var(--color-uva-black);\n font-family: inherit;\n font-size: inherit;\n height: 2.5rem;\n margin: 0 0.5rem 0 0;\n min-width: 20rem;\n padding: 0 0.5rem;\n}\n\n.link-context-menu__input:disabled {\n border-color: transparent;\n}\n\n.link-context-menu__button {\n aspect-ratio: 1;\n background-color: transparent;\n border: none;\n border-radius: 0.5rem;\n color: var(--color-uva-black);\n cursor: pointer;\n font-size: inherit;\n height: 2.5rem;\n}\n\n.link-context-menu__actions {\n align-items: center;\n display: flex;\n gap: 0.5rem;\n justify-content: flex-end;\n margin-top: 1rem;\n}\n","import { forwardRef, useImperativeHandle, useLayoutEffect, useRef, useState } from 'react';\n\nimport styles from './LinkContextMenu.module.css';\n\nimport { ensureHttps } from 'components/RteEditor/Plugins/LinkPlugin/helpers';\nimport { Icon } from 'components/Icon';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\nimport { Button } from 'components/Buttons';\n\ninterface LinkContextMenuProps {\n url: string;\n onSave: (url: string) => void;\n onDelete: () => void;\n onClose: () => void;\n}\n\nexport interface linkFormMethods {\n clearForm: () => void;\n}\n\nexport const LinkContextMenu = forwardRef(({ url, onSave, onDelete, onClose }: LinkContextMenuProps, ref) => {\n const t = useTranslation();\n const [link, setLink] = useState(url);\n const [editable, setEditable] = useState(false);\n const linkRef = useRef<HTMLInputElement>(null);\n\n const reset = () => {\n setLink(url);\n setEditable(false);\n linkRef.current?.blur();\n };\n\n const handleSave = () => {\n onSave(link);\n reset();\n };\n\n const handleDelete = () => {\n onDelete();\n setLink('');\n reset();\n };\n\n const handleClose = () => {\n reset();\n onClose();\n };\n\n const handlePreview = () => {\n window.open(ensureHttps(url), '_blank');\n };\n\n useImperativeHandle(ref, () => ({\n clearForm: reset,\n }));\n\n useLayoutEffect(() => {\n setLink(url);\n\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.ctrlKey && event.shiftKey && event.key === 'L') {\n event.preventDefault();\n setEditable(true);\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n\n if (event.ctrlKey && event.shiftKey && event.code === 'Digit1') {\n event.preventDefault();\n handlePreview();\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n\n if (event.ctrlKey && event.shiftKey && event.key === 'Q') {\n event.preventDefault();\n handleDelete();\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n };\n\n window.addEventListener('keydown', handleKeydown);\n\n return () => {\n window.removeEventListener('keydown', handleKeydown);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url]);\n\n return (\n <>\n <div className={styles['link-context-menu__wrapper']}>\n <input\n type=\"text\"\n value={link}\n onChange={(event) => setLink(event.target.value)}\n className={styles['link-context-menu__input']}\n disabled={!editable}\n ref={linkRef}\n />\n {!editable && (\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={() => setEditable(true)}\n title={t.links.linkEdittip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.editlink}\n >\n <Icon name=\"Pencil\" size={20} />\n </button>\n )}\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={handlePreview}\n title={t.links.linkTesttip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.testlink}\n >\n <Icon name=\"ArrowTopRightOnSquare\" size={20} />\n </button>\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={handleDelete}\n title={t.links.linkDeletetip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.deletelink}\n >\n <Icon name=\"LinkSlash\" size={20} />\n </button>\n </div>\n {editable && (\n <div className={styles['link-context-menu__actions']}>\n <Button variant={'secondary'} onClick={handleClose} aria-label={t.common.cancel} type=\"button\">\n {t.common.cancel}\n </Button>\n <Button variant={'primary'} onClick={handleSave} aria-label={t.aria.labels.linkOkButton} type=\"button\">\n {t.links.addLink}\n </Button>\n </div>\n )}\n </>\n );\n});\n"],"mappings":";;;;;;;;;;;;GCoBa,IAAkB,GAAY,EAAE,QAAK,WAAQ,aAAU,cAAiC,MAAQ;CAC3G,IAAM,IAAI,GAAgB,EACpB,CAAC,GAAM,KAAW,EAAS,EAAI,EAC/B,CAAC,GAAU,KAAe,EAAS,GAAM,EACzC,IAAU,EAAyB,KAAK,EAExC,UAAc;AAGlB,EAFA,EAAQ,EAAI,EACZ,EAAY,GAAM,EAClB,EAAQ,SAAS,MAAM;IAGnB,UAAmB;AAEvB,EADA,EAAO,EAAK,EACZ,GAAO;IAGH,UAAqB;AAGzB,EAFA,GAAU,EACV,EAAQ,GAAG,EACX,GAAO;IAGH,UAAoB;AAExB,EADA,GAAO,EACP,GAAS;IAGL,UAAsB;AAC1B,SAAO,KAAK,EAAY,EAAI,EAAE,SAAS;;AAsCzC,QAnCA,EAAoB,UAAY,EAC9B,WAAW,GACZ,EAAE,EAEH,QAAsB;AACpB,IAAQ,EAAI;EAEZ,IAAM,KAAiB,MAAyB;AAa9C,GAZI,EAAM,WAAW,EAAM,YAAY,EAAM,QAAQ,QACnD,EAAM,gBAAgB,EACtB,EAAY,GAAK,EACjB,iBAAiB,EAAQ,SAAS,OAAO,EAAE,EAAE,GAG3C,EAAM,WAAW,EAAM,YAAY,EAAM,SAAS,aACpD,EAAM,gBAAgB,EACtB,GAAe,EACf,iBAAiB,EAAQ,SAAS,OAAO,EAAE,EAAE,GAG3C,EAAM,WAAW,EAAM,YAAY,EAAM,QAAQ,QACnD,EAAM,gBAAgB,EACtB,GAAc,EACd,iBAAiB,EAAQ,SAAS,OAAO,EAAE,EAAE;;AAMjD,SAFA,OAAO,iBAAiB,WAAW,EAAc,QAEpC;AACX,UAAO,oBAAoB,WAAW,EAAc;;IAGrD,CAAC,EAAI,CAAC,EAGP,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB;GACE,kBAAC,SAAD;IACE,MAAK;IACL,OAAO;IACP,WAAW,MAAU,EAAQ,EAAM,OAAO,MAAM;IAChD,WAAW,EAAO;IAClB,UAAU,CAAC;IACX,KAAK;IACL,CAAA;GACD,CAAC,KACA,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,eAAe,EAAY,GAAK;IAChC,OAAO,EAAE,MAAM;IACf,cAAY,EAAE,KAAK,OAAO;IAC1B,qBAAmB,EAAE,KAAK,aAAa;cAEvC,kBAAC,GAAD;KAAM,MAAK;KAAS,MAAM;KAAM,CAAA;IACzB,CAAA;GAEX,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,SAAS;IACT,OAAO,EAAE,MAAM;IACf,cAAY,EAAE,KAAK,OAAO;IAC1B,qBAAmB,EAAE,KAAK,aAAa;cAEvC,kBAAC,GAAD;KAAM,MAAK;KAAwB,MAAM;KAAM,CAAA;IACxC,CAAA;GACT,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,SAAS;IACT,OAAO,EAAE,MAAM;IACf,cAAY,EAAE,KAAK,OAAO;IAC1B,qBAAmB,EAAE,KAAK,aAAa;cAEvC,kBAAC,GAAD;KAAM,MAAK;KAAY,MAAM;KAAM,CAAA;IAC5B,CAAA;GACL;KACL,KACC,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB,CACE,kBAAC,GAAD;GAAQ,SAAS;GAAa,SAAS;GAAa,cAAY,EAAE,OAAO;GAAQ,MAAK;aACnF,EAAE,OAAO;GACH,CAAA,EACT,kBAAC,GAAD;GAAQ,SAAS;GAAW,SAAS;GAAY,cAAY,EAAE,KAAK,OAAO;GAAc,MAAK;aAC3F,EAAE,MAAM;GACF,CAAA,CACL;IAEP,EAAA,CAAA;EAEL"}
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectBox-Cuh_o-A1.js","names":[],"sources":["../src/components/MultiSelectBox/MultiSelectBox.module.css","../src/components/MultiSelectBox/MultiSelectBox.tsx"],"sourcesContent":[".multi-select-box-wrapper {\n position: relative;\n}\n\n.multi-select-box-trigger {\n align-items: center;\n background-color: var(--color-uva-white);\n border: 1px solid var(--color-grey-500);\n border-radius: 0.5rem;\n cursor: pointer;\n display: flex;\n font: inherit;\n height: 2.75rem;\n justify-content: space-between;\n line-height: inherit;\n overflow: hidden;\n padding: 0.4rem 2rem 0.4rem 1rem;\n position: relative;\n width: 100%;\n}\n\n.multi-select-box-trigger--darkBorder {\n border-color: var(--color-uva-black);\n}\n\n.multi-select-box-trigger--not-valid {\n border-color: var(--color-red-600);\n}\n\n.multi-select-box-trigger:focus-visible {\n background-color: var(--color-grey-300);\n outline: 1px solid var(--color-grey-300);\n}\n\n.multi-select-box-trigger:focus-visible,\n.multi-select-box-trigger:hover {\n background-color: var(--color-grey-300);\n}\n\n.multi-select-box-trigger-label {\n min-height: 0.65rem;\n overflow: hidden;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n}\n\n.multi-select-box-trigger:disabled:hover {\n background-color: var(--color-uva-white);\n cursor: not-allowed;\n}\n\n.multi-select-box-trigger-icon {\n position: absolute;\n right: 0.875rem;\n}\n\n.multi-select-box-trigger-icon--open {\n transform: rotate(180deg);\n}\n\n.multi-select-box-listbox--wrapper {\n border-radius: 0.5rem;\n box-shadow: 0 0 0.25rem 0 rgba(0 0 0 / 25%);\n display: flex;\n height: auto;\n margin: 0.25rem 0;\n overflow: hidden;\n position: fixed;\n width: auto;\n z-index: 20;\n}\n\n.multi-select-box-listbox {\n background-color: var(--color-uva-white);\n border-radius: var(--border-radius);\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n list-style: none;\n margin: 0;\n min-width: 100%;\n overflow-y: auto;\n padding: 0.25rem;\n white-space: nowrap;\n width: fit-content;\n}\n\n.multi-select-box-listbox-option {\n border-radius: 0.25rem;\n cursor: pointer;\n display: flex;\n height: 2.5rem;\n justify-content: flex-start;\n position: relative;\n user-select: none;\n width: 100%;\n}\n\n.multi-select-box-listbox-option--active,\n.multi-select-box-listbox-option:hover {\n background-color: var(--color-grey-300);\n box-shadow: 0 0 0 1px var(--color-uva-white);\n}\n\n.multi-select-box-listbox-option:focus-visible,\n.multi-select-box-listbox-option:hover {\n background-color: var(--color-grey-300);\n}\n\n.multi-select-box-listbox-option-content {\n align-items: center;\n cursor: pointer;\n display: flex;\n gap: 1rem;\n padding: 0.75rem;\n width: 100%;\n}\n\n.multi-select-box-listbox-option:focus-visible {\n background-color: var(--color-grey-300);\n outline: 1px solid var(--color-grey-700);\n}\n\n.multi-select-box-listbox-option--disabled {\n cursor: not-allowed;\n opacity: 0.5;\n pointer-events: none;\n user-select: none;\n}\n","import { useRef, useState, useId, useEffect, useCallback } from 'react';\nimport { clsx } from 'clsx';\n\nimport type { KeyboardEvent, ChangeEvent, MouseEvent } from 'react';\n\nimport styles from './MultiSelectBox.module.css';\n\nimport { Icon } from 'components/Icon';\nimport { Checkbox } from 'components/Checkbox';\nimport { usePositionedFloaters } from 'components/hooks/usePositionedFloaters';\n\nexport type MultiSelectData = {\n label: string;\n value: string | number;\n disabled?: boolean;\n};\n\nexport interface MultiSelectBoxProps {\n /** Array of label, values pairs */\n selectData: MultiSelectData[];\n /** Retuns selected label, values */\n onChange: (values: MultiSelectData[]) => void;\n /** Array of label, value pairs that should be check by default */\n defaultSelectedItems?: MultiSelectData[];\n /** Suffix label in the selectbutton '[count] selected' */\n labelSuffix?: string;\n /** Disables the multiselect */\n disabled?: boolean;\n /** If true sets the option dropdown min-width to the width of the select button. */\n fullWidth?: boolean;\n /** Dark border. */\n darkBorder?: boolean;\n /** `true` to color border red to show not valid; otherwise, `false`. */\n notValid?: boolean;\n /** The max height of the options. */\n maxOptionHeight?: `${number}${'px' | 'rem'}`;\n /** `true` to align the right side of the options with the select box; otherwise, `false` to align on the left side. */\n optionPositionRight?: boolean;\n}\n\nexport const MultiSelectBox = ({\n selectData,\n onChange,\n defaultSelectedItems,\n labelSuffix = 'geselecteerd',\n disabled = false,\n fullWidth = false,\n darkBorder = false,\n notValid = false,\n maxOptionHeight,\n optionPositionRight,\n}: MultiSelectBoxProps) => {\n const multiselectboxId = useId();\n const [selectedItems, setSelectedItems] = useState<MultiSelectData[]>(defaultSelectedItems || []);\n const [selectedItemsCount, setSelectedItemsCount] = useState(defaultSelectedItems?.length || 0);\n const [isOpen, setIsOpen] = useState(false);\n const [activeIndex, setActiveIndex] = useState(-1);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const optionListRef = useRef<HTMLUListElement>(null);\n\n const [positionElement, setPositionElement] = useState<HTMLElement | null>(null);\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement | null>(null);\n const { style: positionStyle, updatePosition } = usePositionedFloaters(positionElement, referenceElement, {\n mouseEvent: 'click',\n position: 'bottomLeft',\n offset: 4,\n maxFixedHeight: maxOptionHeight,\n horizontalPosition: optionPositionRight ? 'right' : 'left',\n mobileBreakpoint: '28rem',\n fullWidth,\n });\n\n const onMouseEventOutside = useCallback(\n ({ target }: Event | MouseEvent) => {\n if (!target || !wrapperRef.current) return;\n\n if (!wrapperRef.current.contains(target as Node)) {\n setIsOpen(false);\n }\n },\n [setIsOpen]\n );\n\n const onTriggerKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>) => {\n switch (event.key) {\n case 'Enter':\n event.preventDefault();\n setIsOpen(true);\n break;\n case 'Escape':\n if (isOpen) {\n event.stopPropagation();\n setIsOpen(false);\n }\n break;\n default:\n break;\n }\n },\n [isOpen]\n );\n\n const onOptionKeyDown = useCallback(\n (event: KeyboardEvent<HTMLLIElement>) => {\n if (!isOpen) return;\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n setActiveIndex((prev) => {\n let nextIndex = prev;\n do {\n nextIndex = nextIndex < selectData.length - 1 ? nextIndex + 1 : 0;\n } while (selectData[nextIndex]?.disabled);\n return nextIndex;\n });\n break;\n case 'ArrowUp':\n event.preventDefault();\n setActiveIndex((prev) => {\n let nextIndex = prev;\n do {\n nextIndex = nextIndex <= 0 ? selectData.length - 1 : nextIndex - 1;\n } while (selectData[nextIndex]?.disabled);\n return nextIndex;\n });\n break;\n case 'Enter': {\n event.preventDefault();\n const selectedItem = selectData[activeIndex];\n if (!selectedItem || selectedItem.disabled) break;\n const isAlreadySelected = selectedItems.some((item) => item.value === selectedItem.value);\n const updatedSelectedItems = isAlreadySelected\n ? selectedItems.filter((item) => item.value !== selectedItem.value)\n : [...selectedItems, selectedItem];\n\n setSelectedItems(updatedSelectedItems);\n setSelectedItemsCount(updatedSelectedItems.length);\n onChange(updatedSelectedItems);\n break;\n }\n case 'Tab':\n event.preventDefault();\n setIsOpen(false);\n break;\n case 'Escape':\n event.stopPropagation();\n setIsOpen(false);\n break;\n default:\n break;\n }\n },\n [activeIndex, isOpen, selectData, selectedItems, onChange]\n );\n\n const onOptionClick = (event: MouseEvent<HTMLLIElement>, option: MultiSelectData) => {\n if (option.disabled) return;\n\n // Prevent toggle if click originated from the checkbox\n if ((event.target as HTMLElement).tagName === 'INPUT') return;\n\n const isAlreadySelected = selectedItems.some((item) => item.value === option.value);\n const updatedSelectedItems = isAlreadySelected\n ? selectedItems.filter((item) => item.value !== option.value)\n : [...selectedItems, option];\n\n setSelectedItems(updatedSelectedItems);\n setSelectedItemsCount(updatedSelectedItems.length);\n onChange(updatedSelectedItems);\n updatePosition();\n };\n\n const handleSelect = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const { checked, value } = event.target;\n let updatedSelectedItems = [...selectedItems];\n\n if (checked) {\n const selectedItem = selectData.find((item) => item.value === value);\n if (selectedItem) {\n updatedSelectedItems.push(selectedItem);\n }\n } else {\n updatedSelectedItems = updatedSelectedItems.filter((item) => item.value !== value);\n }\n\n setSelectedItems(updatedSelectedItems);\n setSelectedItemsCount(updatedSelectedItems.length);\n onChange(updatedSelectedItems);\n updatePosition();\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectData, selectedItems, onChange]\n );\n\n useEffect(() => {\n if (isOpen) {\n setActiveIndex(0);\n }\n }, [isOpen]);\n\n useEffect(() => {\n const activeOption = optionListRef.current?.children[activeIndex] as HTMLElement;\n activeOption?.focus();\n }, [activeIndex]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n document.addEventListener('click', onMouseEventOutside, true);\n document.addEventListener('scroll', onMouseEventOutside, true);\n\n return () => {\n document.removeEventListener('click', onMouseEventOutside, true);\n document.removeEventListener('scroll', onMouseEventOutside, true);\n };\n }, [onMouseEventOutside, isOpen]);\n\n return (\n <div className={styles['multi-select-box-wrapper']} ref={wrapperRef}>\n <button\n className={clsx(styles['multi-select-box-trigger'], {\n [styles['multi-select-box-trigger--darkBorder']]: darkBorder,\n [styles['multi-select-box-trigger--not-valid']]: notValid,\n })}\n type=\"button\"\n onClick={() => {\n setIsOpen(!isOpen);\n }}\n onKeyDown={onTriggerKeyDown}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-label={`${selectedItemsCount} ${labelSuffix}`}\n disabled={disabled}\n {...(isOpen && { 'aria-controls': multiselectboxId })}\n ref={setReferenceElement}\n >\n <span className={styles['multi-select-box-trigger-label']}>\n {selectedItemsCount} {labelSuffix}\n </span>\n <Icon\n className={clsx(styles['multi-select-box-trigger-icon'], {\n [styles['multi-select-box-trigger-icon--open']]: isOpen,\n })}\n name=\"CheveronDown\"\n size={16}\n />\n </button>\n\n <div\n id={multiselectboxId}\n className={clsx(styles['multi-select-box-listbox--wrapper'])}\n style={{ ...positionStyle.style, visibility: isOpen ? 'visible' : 'hidden' }}\n role=\"listbox\"\n ref={setPositionElement}\n >\n <ul className={styles['multi-select-box-listbox']} ref={optionListRef}>\n {selectData.map(({ label, value, disabled }, index) => (\n <li\n className={clsx(styles['multi-select-box-listbox-option'], {\n [styles['multi-select-box-listbox-option--active']]: index === activeIndex,\n [styles['multi-select-box-listbox-option--disabled']]: disabled,\n })}\n key={value}\n role=\"option\"\n onKeyDown={onOptionKeyDown}\n onClick={(event) => onOptionClick(event, { label, value, disabled })}\n onMouseOver={() => setActiveIndex(index)}\n onFocus={() => setActiveIndex(index)}\n tabIndex={0}\n aria-selected={selectedItems.some((item) => item.value === value)}\n >\n <label htmlFor={label} className={styles['multi-select-box-listbox-option-content']} tabIndex={-1}>\n <Checkbox\n id={`${label}-${multiselectboxId}`}\n onChange={handleSelect}\n value={value}\n tabIndex={-1}\n disabled={disabled}\n checked={selectedItems.some((item) => item.value === value)}\n />\n <span>{label}</span>\n </label>\n </li>\n ))}\n </ul>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"MultiSelectBox-Cuh_o-A1.js","names":[],"sources":["../src/components/MultiSelectBox/MultiSelectBox.module.css","../src/components/MultiSelectBox/MultiSelectBox.tsx"],"sourcesContent":[".multi-select-box-wrapper {\n position: relative;\n}\n\n.multi-select-box-trigger {\n align-items: center;\n background-color: var(--color-uva-white);\n border: 1px solid var(--color-grey-500);\n border-radius: 0.5rem;\n cursor: pointer;\n display: flex;\n font: inherit;\n height: 2.75rem;\n justify-content: space-between;\n line-height: inherit;\n overflow: hidden;\n padding: 0.4rem 2rem 0.4rem 1rem;\n position: relative;\n width: 100%;\n}\n\n.multi-select-box-trigger--darkBorder {\n border-color: var(--color-uva-black);\n}\n\n.multi-select-box-trigger--not-valid {\n border-color: var(--color-red-600);\n}\n\n.multi-select-box-trigger:focus-visible {\n background-color: var(--color-grey-300);\n outline: 1px solid var(--color-grey-300);\n}\n\n.multi-select-box-trigger:focus-visible,\n.multi-select-box-trigger:hover {\n background-color: var(--color-grey-300);\n}\n\n.multi-select-box-trigger-label {\n min-height: 0.65rem;\n overflow: hidden;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n}\n\n.multi-select-box-trigger:disabled:hover {\n background-color: var(--color-uva-white);\n cursor: not-allowed;\n}\n\n.multi-select-box-trigger-icon {\n position: absolute;\n right: 0.875rem;\n}\n\n.multi-select-box-trigger-icon--open {\n transform: rotate(180deg);\n}\n\n.multi-select-box-listbox--wrapper {\n border-radius: 0.5rem;\n box-shadow: 0 0 0.25rem 0 rgba(0 0 0 / 25%);\n display: flex;\n height: auto;\n margin: 0.25rem 0;\n overflow: hidden;\n position: fixed;\n width: auto;\n z-index: 20;\n}\n\n.multi-select-box-listbox {\n background-color: var(--color-uva-white);\n border-radius: var(--border-radius);\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n list-style: none;\n margin: 0;\n min-width: 100%;\n overflow-y: auto;\n padding: 0.25rem;\n white-space: nowrap;\n width: fit-content;\n}\n\n.multi-select-box-listbox-option {\n border-radius: 0.25rem;\n cursor: pointer;\n display: flex;\n height: 2.5rem;\n justify-content: flex-start;\n position: relative;\n user-select: none;\n width: 100%;\n}\n\n.multi-select-box-listbox-option--active,\n.multi-select-box-listbox-option:hover {\n background-color: var(--color-grey-300);\n box-shadow: 0 0 0 1px var(--color-uva-white);\n}\n\n.multi-select-box-listbox-option:focus-visible,\n.multi-select-box-listbox-option:hover {\n background-color: var(--color-grey-300);\n}\n\n.multi-select-box-listbox-option-content {\n align-items: center;\n cursor: pointer;\n display: flex;\n gap: 1rem;\n padding: 0.75rem;\n width: 100%;\n}\n\n.multi-select-box-listbox-option:focus-visible {\n background-color: var(--color-grey-300);\n outline: 1px solid var(--color-grey-700);\n}\n\n.multi-select-box-listbox-option--disabled {\n cursor: not-allowed;\n opacity: 0.5;\n pointer-events: none;\n user-select: none;\n}\n","import { useRef, useState, useId, useEffect, useCallback } from 'react';\nimport { clsx } from 'clsx';\n\nimport type { KeyboardEvent, ChangeEvent, MouseEvent } from 'react';\n\nimport styles from './MultiSelectBox.module.css';\n\nimport { Icon } from 'components/Icon';\nimport { Checkbox } from 'components/Checkbox';\nimport { usePositionedFloaters } from 'components/hooks/usePositionedFloaters';\n\nexport type MultiSelectData = {\n label: string;\n value: string | number;\n disabled?: boolean;\n};\n\nexport interface MultiSelectBoxProps {\n /** Array of label, values pairs */\n selectData: MultiSelectData[];\n /** Retuns selected label, values */\n onChange: (values: MultiSelectData[]) => void;\n /** Array of label, value pairs that should be check by default */\n defaultSelectedItems?: MultiSelectData[];\n /** Suffix label in the selectbutton '[count] selected' */\n labelSuffix?: string;\n /** Disables the multiselect */\n disabled?: boolean;\n /** If true sets the option dropdown min-width to the width of the select button. */\n fullWidth?: boolean;\n /** Dark border. */\n darkBorder?: boolean;\n /** `true` to color border red to show not valid; otherwise, `false`. */\n notValid?: boolean;\n /** The max height of the options. */\n maxOptionHeight?: `${number}${'px' | 'rem'}`;\n /** `true` to align the right side of the options with the select box; otherwise, `false` to align on the left side. */\n optionPositionRight?: boolean;\n}\n\nexport const MultiSelectBox = ({\n selectData,\n onChange,\n defaultSelectedItems,\n labelSuffix = 'geselecteerd',\n disabled = false,\n fullWidth = false,\n darkBorder = false,\n notValid = false,\n maxOptionHeight,\n optionPositionRight,\n}: MultiSelectBoxProps) => {\n const multiselectboxId = useId();\n const [selectedItems, setSelectedItems] = useState<MultiSelectData[]>(defaultSelectedItems || []);\n const [selectedItemsCount, setSelectedItemsCount] = useState(defaultSelectedItems?.length || 0);\n const [isOpen, setIsOpen] = useState(false);\n const [activeIndex, setActiveIndex] = useState(-1);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const optionListRef = useRef<HTMLUListElement>(null);\n\n const [positionElement, setPositionElement] = useState<HTMLElement | null>(null);\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement | null>(null);\n const { style: positionStyle, updatePosition } = usePositionedFloaters(positionElement, referenceElement, {\n mouseEvent: 'click',\n position: 'bottomLeft',\n offset: 4,\n maxFixedHeight: maxOptionHeight,\n horizontalPosition: optionPositionRight ? 'right' : 'left',\n mobileBreakpoint: '28rem',\n fullWidth,\n });\n\n const onMouseEventOutside = useCallback(\n ({ target }: Event | MouseEvent) => {\n if (!target || !wrapperRef.current) return;\n\n if (!wrapperRef.current.contains(target as Node)) {\n setIsOpen(false);\n }\n },\n [setIsOpen]\n );\n\n const onTriggerKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>) => {\n switch (event.key) {\n case 'Enter':\n event.preventDefault();\n setIsOpen(true);\n break;\n case 'Escape':\n if (isOpen) {\n event.stopPropagation();\n setIsOpen(false);\n }\n break;\n default:\n break;\n }\n },\n [isOpen]\n );\n\n const onOptionKeyDown = useCallback(\n (event: KeyboardEvent<HTMLLIElement>) => {\n if (!isOpen) return;\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n setActiveIndex((prev) => {\n let nextIndex = prev;\n do {\n nextIndex = nextIndex < selectData.length - 1 ? nextIndex + 1 : 0;\n } while (selectData[nextIndex]?.disabled);\n return nextIndex;\n });\n break;\n case 'ArrowUp':\n event.preventDefault();\n setActiveIndex((prev) => {\n let nextIndex = prev;\n do {\n nextIndex = nextIndex <= 0 ? selectData.length - 1 : nextIndex - 1;\n } while (selectData[nextIndex]?.disabled);\n return nextIndex;\n });\n break;\n case 'Enter': {\n event.preventDefault();\n const selectedItem = selectData[activeIndex];\n if (!selectedItem || selectedItem.disabled) break;\n const isAlreadySelected = selectedItems.some((item) => item.value === selectedItem.value);\n const updatedSelectedItems = isAlreadySelected\n ? selectedItems.filter((item) => item.value !== selectedItem.value)\n : [...selectedItems, selectedItem];\n\n setSelectedItems(updatedSelectedItems);\n setSelectedItemsCount(updatedSelectedItems.length);\n onChange(updatedSelectedItems);\n break;\n }\n case 'Tab':\n event.preventDefault();\n setIsOpen(false);\n break;\n case 'Escape':\n event.stopPropagation();\n setIsOpen(false);\n break;\n default:\n break;\n }\n },\n [activeIndex, isOpen, selectData, selectedItems, onChange]\n );\n\n const onOptionClick = (event: MouseEvent<HTMLLIElement>, option: MultiSelectData) => {\n if (option.disabled) return;\n\n // Prevent toggle if click originated from the checkbox\n if ((event.target as HTMLElement).tagName === 'INPUT') return;\n\n const isAlreadySelected = selectedItems.some((item) => item.value === option.value);\n const updatedSelectedItems = isAlreadySelected\n ? selectedItems.filter((item) => item.value !== option.value)\n : [...selectedItems, option];\n\n setSelectedItems(updatedSelectedItems);\n setSelectedItemsCount(updatedSelectedItems.length);\n onChange(updatedSelectedItems);\n updatePosition();\n };\n\n const handleSelect = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const { checked, value } = event.target;\n let updatedSelectedItems = [...selectedItems];\n\n if (checked) {\n const selectedItem = selectData.find((item) => item.value === value);\n if (selectedItem) {\n updatedSelectedItems.push(selectedItem);\n }\n } else {\n updatedSelectedItems = updatedSelectedItems.filter((item) => item.value !== value);\n }\n\n setSelectedItems(updatedSelectedItems);\n setSelectedItemsCount(updatedSelectedItems.length);\n onChange(updatedSelectedItems);\n updatePosition();\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectData, selectedItems, onChange]\n );\n\n useEffect(() => {\n if (isOpen) {\n setActiveIndex(0);\n }\n }, [isOpen]);\n\n useEffect(() => {\n const activeOption = optionListRef.current?.children[activeIndex] as HTMLElement;\n activeOption?.focus();\n }, [activeIndex]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n document.addEventListener('click', onMouseEventOutside, true);\n document.addEventListener('scroll', onMouseEventOutside, true);\n\n return () => {\n document.removeEventListener('click', onMouseEventOutside, true);\n document.removeEventListener('scroll', onMouseEventOutside, true);\n };\n }, [onMouseEventOutside, isOpen]);\n\n return (\n <div className={styles['multi-select-box-wrapper']} ref={wrapperRef}>\n <button\n className={clsx(styles['multi-select-box-trigger'], {\n [styles['multi-select-box-trigger--darkBorder']]: darkBorder,\n [styles['multi-select-box-trigger--not-valid']]: notValid,\n })}\n type=\"button\"\n onClick={() => {\n setIsOpen(!isOpen);\n }}\n onKeyDown={onTriggerKeyDown}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-label={`${selectedItemsCount} ${labelSuffix}`}\n disabled={disabled}\n {...(isOpen && { 'aria-controls': multiselectboxId })}\n ref={setReferenceElement}\n >\n <span className={styles['multi-select-box-trigger-label']}>\n {selectedItemsCount} {labelSuffix}\n </span>\n <Icon\n className={clsx(styles['multi-select-box-trigger-icon'], {\n [styles['multi-select-box-trigger-icon--open']]: isOpen,\n })}\n name=\"CheveronDown\"\n size={16}\n />\n </button>\n\n <div\n id={multiselectboxId}\n className={clsx(styles['multi-select-box-listbox--wrapper'])}\n style={{ ...positionStyle.style, visibility: isOpen ? 'visible' : 'hidden' }}\n role=\"listbox\"\n ref={setPositionElement}\n >\n <ul className={styles['multi-select-box-listbox']} ref={optionListRef}>\n {selectData.map(({ label, value, disabled }, index) => (\n <li\n className={clsx(styles['multi-select-box-listbox-option'], {\n [styles['multi-select-box-listbox-option--active']]: index === activeIndex,\n [styles['multi-select-box-listbox-option--disabled']]: disabled,\n })}\n key={value}\n role=\"option\"\n onKeyDown={onOptionKeyDown}\n onClick={(event) => onOptionClick(event, { label, value, disabled })}\n onMouseOver={() => setActiveIndex(index)}\n onFocus={() => setActiveIndex(index)}\n tabIndex={0}\n aria-selected={selectedItems.some((item) => item.value === value)}\n >\n <label htmlFor={label} className={styles['multi-select-box-listbox-option-content']} tabIndex={-1}>\n <Checkbox\n id={`${label}-${multiselectboxId}`}\n onChange={handleSelect}\n value={value}\n tabIndex={-1}\n disabled={disabled}\n checked={selectedItems.some((item) => item.value === value)}\n />\n <span>{label}</span>\n </label>\n </li>\n ))}\n </ul>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { t as e } from "./chunk-DeC0fbbY.js";
1
+ import { t as e } from "./chunk-3e0lkp8x.js";
2
2
  import { t } from "./LexicalComposerContext.prod-Ca-YN_fj.js";
3
- import { Jt as n, r } from "./Lexical.prod-sbwgNRjw.js";
4
- import { o as i } from "./LexicalUtils.prod-DjjGkphN.js";
5
- import { n as a } from "./LexicalClipboard.prod-DdImsyd1.js";
3
+ import { Rt as n, ot as r } from "./Lexical.prod-CqPLSi0R.js";
4
+ import { r as i } from "./LexicalUtils.prod-BqcriFWV.js";
5
+ import { n as a } from "./LexicalClipboard.prod-BVw_sFpo.js";
6
6
  import { useEffect as o } from "react";
7
7
  //#region node_modules/@staartwind.nl/lexical-paste-from-word/dist/normalizer.js
8
8
  var s = /* @__PURE__ */ e(((e) => {
@@ -232,4 +232,4 @@ var s = /* @__PURE__ */ e(((e) => {
232
232
  //#endregion
233
233
  export { l as t };
234
234
 
235
- //# sourceMappingURL=PasteHandlerPlugin-YpQruA-w.js.map
235
+ //# sourceMappingURL=PasteHandlerPlugin-BNp8ST0q.js.map