@uva-glass/component-library 3.55.1 → 3.55.2

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 (921) hide show
  1. package/dist/Accordion-BpnBHYIx.js +69 -0
  2. package/dist/Accordion-BpnBHYIx.js.map +1 -0
  3. package/dist/AccordionCard-BXy-plB7.js +43 -0
  4. package/dist/AccordionCard-BXy-plB7.js.map +1 -0
  5. package/dist/ActionList-O9w1hqNg.js +95 -0
  6. package/dist/ActionList-O9w1hqNg.js.map +1 -0
  7. package/dist/AddCatalogueLinkForm-Cy6fPNvN.js +117 -0
  8. package/dist/AddCatalogueLinkForm-Cy6fPNvN.js.map +1 -0
  9. package/dist/AppStatusBar-Bca0KFDR.js +20 -0
  10. package/dist/AppStatusBar-Bca0KFDR.js.map +1 -0
  11. package/dist/Attention-Bq5UU9I8.js +13 -0
  12. package/dist/Attention-Bq5UU9I8.js.map +1 -0
  13. package/dist/Backdrop-D8AHeuBn.js +10 -0
  14. package/dist/Backdrop-D8AHeuBn.js.map +1 -0
  15. package/dist/Button.module-DJlNwQUj.js +16 -0
  16. package/dist/Button.module-DJlNwQUj.js.map +1 -0
  17. package/dist/ButtonGroup-DR80lTLz.js +21 -0
  18. package/dist/ButtonGroup-DR80lTLz.js.map +1 -0
  19. package/dist/Card-DMFyuTmy.js +32 -0
  20. package/dist/Card-DMFyuTmy.js.map +1 -0
  21. package/dist/Checkbox-D6-b_4dC.js +12 -0
  22. package/dist/Checkbox-D6-b_4dC.js.map +1 -0
  23. package/dist/CheckboxButtonBar-CalU0IYK.js +79 -0
  24. package/dist/CheckboxButtonBar-CalU0IYK.js.map +1 -0
  25. package/dist/Chip-DJHvFToV.js +22 -0
  26. package/dist/Chip-DJHvFToV.js.map +1 -0
  27. package/dist/ClipboardButton-geHjMl2J.js +43 -0
  28. package/dist/ClipboardButton-geHjMl2J.js.map +1 -0
  29. package/dist/Column-BwKEOOuL.js +84 -0
  30. package/dist/Column-BwKEOOuL.js.map +1 -0
  31. package/dist/Container-BLjtYDqq.js +31 -0
  32. package/dist/Container-BLjtYDqq.js.map +1 -0
  33. package/dist/ControlsButton-zemVxTlg.js +64 -0
  34. package/dist/ControlsButton-zemVxTlg.js.map +1 -0
  35. package/dist/CopyableText-DkyhZ6wk.js +57 -0
  36. package/dist/CopyableText-DkyhZ6wk.js.map +1 -0
  37. package/dist/Drawer-Ggofac6y.js +77 -0
  38. package/dist/Drawer-Ggofac6y.js.map +1 -0
  39. package/dist/EmptyStateDataDisplay-D0QiI8nE.js +46 -0
  40. package/dist/EmptyStateDataDisplay-D0QiI8nE.js.map +1 -0
  41. package/dist/ExpandableInfoPanel-CnBVVNlJ.js +58 -0
  42. package/dist/ExpandableInfoPanel-CnBVVNlJ.js.map +1 -0
  43. package/dist/FeedbackBar-ByKp32HE.js +43 -0
  44. package/dist/FeedbackBar-ByKp32HE.js.map +1 -0
  45. package/dist/FeedbackBox-Bu7uB9DP.js +29 -0
  46. package/dist/FeedbackBox-Bu7uB9DP.js.map +1 -0
  47. package/dist/FieldHint-D0HtbTnt.js +16 -0
  48. package/dist/FieldHint-D0HtbTnt.js.map +1 -0
  49. package/dist/Fieldset-CoNu_Owa.js +23 -0
  50. package/dist/Fieldset-CoNu_Owa.js.map +1 -0
  51. package/dist/Flyout-DEpzfZOC.js +18 -0
  52. package/dist/Flyout-DEpzfZOC.js.map +1 -0
  53. package/dist/FormField-BZSoQdp9.js +21 -0
  54. package/dist/FormField-BZSoQdp9.js.map +1 -0
  55. package/dist/HorizontalList-C22DaDz-.js +20 -0
  56. package/dist/HorizontalList-C22DaDz-.js.map +1 -0
  57. package/dist/IconButton-CWCMH9uf.js +24 -0
  58. package/dist/IconButton-CWCMH9uf.js.map +1 -0
  59. package/dist/InfoBanner-DyznQLGr.js +13 -0
  60. package/dist/InfoBanner-DyznQLGr.js.map +1 -0
  61. package/dist/InfoMessage-I-VlwxVc.js +19 -0
  62. package/dist/InfoMessage-I-VlwxVc.js.map +1 -0
  63. package/dist/Input-Bn-arMaC.js +25 -0
  64. package/dist/Input-Bn-arMaC.js.map +1 -0
  65. package/dist/InputField-BWAy19w9.js +51 -0
  66. package/dist/InputField-BWAy19w9.js.map +1 -0
  67. package/dist/Label-o0BcWTUS.js +21 -0
  68. package/dist/Label-o0BcWTUS.js.map +1 -0
  69. package/dist/Lexical.prod-DCGjHGxG.js +5235 -0
  70. package/dist/Lexical.prod-DCGjHGxG.js.map +1 -0
  71. package/dist/LexicalClipboard.prod-CGG14aoP.js +248 -0
  72. package/dist/LexicalClipboard.prod-CGG14aoP.js.map +1 -0
  73. package/dist/LexicalComposerContext.prod-Ca-YN_fj.js +22 -0
  74. package/dist/LexicalComposerContext.prod-Ca-YN_fj.js.map +1 -0
  75. package/dist/LexicalExtension.prod-DWt1IjPF.js +854 -0
  76. package/dist/LexicalExtension.prod-DWt1IjPF.js.map +1 -0
  77. package/dist/LexicalLink.prod-Dy1gE75H.js +665 -0
  78. package/dist/LexicalLink.prod-Dy1gE75H.js.map +1 -0
  79. package/dist/LexicalList.prod-D9R0L7cu.js +760 -0
  80. package/dist/LexicalList.prod-D9R0L7cu.js.map +1 -0
  81. package/dist/LexicalTable.prod-C2FP47Lm.js +1991 -0
  82. package/dist/LexicalTable.prod-C2FP47Lm.js.map +1 -0
  83. package/dist/LexicalUtils.prod-BzrjMu6t.js +242 -0
  84. package/dist/LexicalUtils.prod-BzrjMu6t.js.map +1 -0
  85. package/dist/LinkContextMenu-DZlKfbg1.js +101 -0
  86. package/dist/LinkContextMenu-DZlKfbg1.js.map +1 -0
  87. package/dist/MenuLink-Cm1yZO_5.js +21 -0
  88. package/dist/MenuLink-Cm1yZO_5.js.map +1 -0
  89. package/dist/MetaDataBar-C4QO9oBV.js +23 -0
  90. package/dist/MetaDataBar-C4QO9oBV.js.map +1 -0
  91. package/dist/MetaDataList-CAR1HTYs.js +24 -0
  92. package/dist/MetaDataList-CAR1HTYs.js.map +1 -0
  93. package/dist/ModalDialog-HUkDdAJ-.js +114 -0
  94. package/dist/ModalDialog-HUkDdAJ-.js.map +1 -0
  95. package/dist/MultiSelectBox-Cuh_o-A1.js +189 -0
  96. package/dist/MultiSelectBox-Cuh_o-A1.js.map +1 -0
  97. package/dist/MultiSelectItem-BF5xRjz5.js +36 -0
  98. package/dist/MultiSelectItem-BF5xRjz5.js.map +1 -0
  99. package/dist/Notification-CIhsHuF0.js +68 -0
  100. package/dist/Notification-CIhsHuF0.js.map +1 -0
  101. package/dist/OverlayCloseButton-rttFbAM_.js +22 -0
  102. package/dist/OverlayCloseButton-rttFbAM_.js.map +1 -0
  103. package/dist/OverlayStepBar-CjaoYdsh.js +45 -0
  104. package/dist/OverlayStepBar-CjaoYdsh.js.map +1 -0
  105. package/dist/PageOverlay-D_wG2oie.js +108 -0
  106. package/dist/PageOverlay-D_wG2oie.js.map +1 -0
  107. package/dist/PasteHandlerPlugin-DUdocSHB.js +235 -0
  108. package/dist/PasteHandlerPlugin-DUdocSHB.js.map +1 -0
  109. package/dist/Periods-BYETtB6R.js +40 -0
  110. package/dist/Periods-BYETtB6R.js.map +1 -0
  111. package/dist/ProgrammeCard-76gG7ksx.js +27 -0
  112. package/dist/ProgrammeCard-76gG7ksx.js.map +1 -0
  113. package/dist/RadioButton-Bto2p5B9.js +35 -0
  114. package/dist/RadioButton-Bto2p5B9.js.map +1 -0
  115. package/dist/RadioGroup-JeTjVp5B.js +50 -0
  116. package/dist/RadioGroup-JeTjVp5B.js.map +1 -0
  117. package/dist/Repeater-BhkTEUai.js +22 -0
  118. package/dist/Repeater-BhkTEUai.js.map +1 -0
  119. package/dist/RteEditor.module-Jk80F1FA.js +42 -0
  120. package/dist/RteEditor.module-Jk80F1FA.js.map +1 -0
  121. package/dist/SearchField.module-BgxjHaPG.js +19 -0
  122. package/dist/SearchField.module-BgxjHaPG.js.map +1 -0
  123. package/dist/SectionNotification-CQqwPTqP.js +14 -0
  124. package/dist/SectionNotification-CQqwPTqP.js.map +1 -0
  125. package/dist/SelectListbox.module-HaPs1CLD.js +30 -0
  126. package/dist/SelectListbox.module-HaPs1CLD.js.map +1 -0
  127. package/dist/Slider-BlLyrET9.js +102 -0
  128. package/dist/Slider-BlLyrET9.js.map +1 -0
  129. package/dist/Sortable.module-BTUOSbOU.js +27 -0
  130. package/dist/Sortable.module-BTUOSbOU.js.map +1 -0
  131. package/dist/SortableProvider-Dc7hwkb5.js +147 -0
  132. package/dist/SortableProvider-Dc7hwkb5.js.map +1 -0
  133. package/dist/Spinner-D8tWqg9j.js +31 -0
  134. package/dist/Spinner-D8tWqg9j.js.map +1 -0
  135. package/dist/StatusBage-DQDOF5-U.js +13 -0
  136. package/dist/StatusBage-DQDOF5-U.js.map +1 -0
  137. package/dist/StatusPill-DM7n3I4W.js +30 -0
  138. package/dist/StatusPill-DM7n3I4W.js.map +1 -0
  139. package/dist/TableCellContextMenu-D0IMQr3E.js +119 -0
  140. package/dist/TableCellContextMenu-D0IMQr3E.js.map +1 -0
  141. package/dist/TableCellResizerPlugin-BGolbi44.js +208 -0
  142. package/dist/TableCellResizerPlugin-BGolbi44.js.map +1 -0
  143. package/dist/TextArea-DqKIpOfT.js +68 -0
  144. package/dist/TextArea-DqKIpOfT.js.map +1 -0
  145. package/dist/ToggleSwitch-C7z7JVtx.js +51 -0
  146. package/dist/ToggleSwitch-C7z7JVtx.js.map +1 -0
  147. package/dist/Tooltip-BzB3jznk.js +80 -0
  148. package/dist/Tooltip-BzB3jznk.js.map +1 -0
  149. package/dist/VarIndicator-C-GueOZD.js +50 -0
  150. package/dist/VarIndicator-C-GueOZD.js.map +1 -0
  151. package/dist/WeekSelector.module-BLPrVYgn.js +18 -0
  152. package/dist/WeekSelector.module-BLPrVYgn.js.map +1 -0
  153. package/dist/__mocks__/svgrMock.js +12 -9
  154. package/dist/__mocks__/svgrMock.js.map +1 -1
  155. package/dist/assets/Accordion.css +1 -1
  156. package/dist/assets/AccordionCard.css +1 -1
  157. package/dist/assets/ActionList.css +1 -1
  158. package/dist/assets/AddCatalogueLinkForm.css +1 -1
  159. package/dist/assets/AppStatusBar.css +1 -1
  160. package/dist/assets/Attention.css +1 -1
  161. package/dist/assets/Backdrop.css +1 -1
  162. package/dist/assets/Backdrop2.css +1 -1
  163. package/dist/assets/Button.css +1 -1
  164. package/dist/assets/ButtonGroup.css +1 -1
  165. package/dist/assets/Card.css +1 -1
  166. package/dist/assets/Checkbox.css +1 -1
  167. package/dist/assets/CheckboxButtonBar.css +1 -1
  168. package/dist/assets/Chip.css +1 -1
  169. package/dist/assets/ClipboardButton.css +1 -1
  170. package/dist/assets/Column.css +1 -1
  171. package/dist/assets/Container.css +1 -1
  172. package/dist/assets/ControlsButton.css +1 -1
  173. package/dist/assets/CopyableText.css +1 -1
  174. package/dist/assets/Drawer.css +1 -1
  175. package/dist/assets/EmptyStateDataDisplay.css +1 -1
  176. package/dist/assets/ExpandableInfoPanel.css +1 -1
  177. package/dist/assets/FeedbackBar.css +1 -1
  178. package/dist/assets/FeedbackBox.css +1 -1
  179. package/dist/assets/Fieldset.css +1 -1
  180. package/dist/assets/Flyout.css +1 -1
  181. package/dist/assets/FormField.css +1 -1
  182. package/dist/assets/GridRow.css +1 -1
  183. package/dist/assets/HorizontalList.css +1 -1
  184. package/dist/assets/Icon.css +1 -1
  185. package/dist/assets/IconButton.css +1 -1
  186. package/dist/assets/InfoBanner.css +1 -1
  187. package/dist/assets/InfoMessage.css +1 -1
  188. package/dist/assets/Input.css +1 -1
  189. package/dist/assets/InputField.css +1 -1
  190. package/dist/assets/Label.css +1 -1
  191. package/dist/assets/LinkContextMenu.css +1 -1
  192. package/dist/assets/MenuLink.css +1 -1
  193. package/dist/assets/MenuLink2.css +1 -1
  194. package/dist/assets/MetaDataBar.css +1 -1
  195. package/dist/assets/MetaDataList.css +1 -1
  196. package/dist/assets/ModalDialog.css +1 -1
  197. package/dist/assets/MultiSelectBox.css +1 -1
  198. package/dist/assets/MultiSelectItem.css +1 -1
  199. package/dist/assets/Notification.css +1 -1
  200. package/dist/assets/OverlayCloseButton.css +1 -1
  201. package/dist/assets/OverlayStepBar.css +1 -1
  202. package/dist/assets/PageOverlay.css +1 -1
  203. package/dist/assets/Periods.css +1 -1
  204. package/dist/assets/ProgrammeCard.css +1 -1
  205. package/dist/assets/RadioButton.css +1 -1
  206. package/dist/assets/RadioButton2.css +1 -1
  207. package/dist/assets/RadioGroup.css +1 -1
  208. package/dist/assets/RteEditor.css +1 -1
  209. package/dist/assets/SearchField.css +1 -1
  210. package/dist/assets/SectionNotification.css +1 -1
  211. package/dist/assets/SelectListbox.css +1 -1
  212. package/dist/assets/Slider.css +1 -1
  213. package/dist/assets/Sortable.css +1 -1
  214. package/dist/assets/Spinner.css +1 -1
  215. package/dist/assets/StatusBage.css +1 -1
  216. package/dist/assets/StatusPill.css +1 -1
  217. package/dist/assets/TableCellContextMenu.css +1 -1
  218. package/dist/assets/TextArea.css +1 -1
  219. package/dist/assets/ToggleSwitch.css +1 -1
  220. package/dist/assets/Tooltip.css +1 -1
  221. package/dist/assets/VarIndicator.css +1 -1
  222. package/dist/assets/WeekSelector.css +1 -1
  223. package/dist/assets/components.css +1 -0
  224. package/dist/chunk-DeC0fbbY.js +23 -0
  225. package/dist/chunk-OPOZOKLO-CXKdjnjn.js +8448 -0
  226. package/dist/chunk-OPOZOKLO-CXKdjnjn.js.map +1 -0
  227. package/dist/client-C0JVBgoR.js +18953 -0
  228. package/dist/client-C0JVBgoR.js.map +1 -0
  229. package/dist/clsx-BD2qMUU1.js +18 -0
  230. package/dist/clsx-BD2qMUU1.js.map +1 -0
  231. package/dist/components/Accordion/Accordion.js +2 -94
  232. package/dist/components/Accordion/Accordion.stories.js +30 -32
  233. package/dist/components/Accordion/Accordion.stories.js.map +1 -1
  234. package/dist/components/Accordion/Accordion.test.js +49 -27
  235. package/dist/components/Accordion/Accordion.test.js.map +1 -1
  236. package/dist/components/Accordion/index.js +2 -5
  237. package/dist/components/AccordionCard/AccordionCard.js +2 -58
  238. package/dist/components/AccordionCard/AccordionCard.stories.js +31 -32
  239. package/dist/components/AccordionCard/AccordionCard.stories.js.map +1 -1
  240. package/dist/components/AccordionCard/AccordionCard.test.js +54 -31
  241. package/dist/components/AccordionCard/AccordionCard.test.js.map +1 -1
  242. package/dist/components/AccordionCard/index.js +2 -5
  243. package/dist/components/ActionList/ActionList.js +2 -83
  244. package/dist/components/ActionList/ActionList.stories.js +49 -38
  245. package/dist/components/ActionList/ActionList.stories.js.map +1 -1
  246. package/dist/components/ActionList/ActionList.test.js +97 -57
  247. package/dist/components/ActionList/ActionList.test.js.map +1 -1
  248. package/dist/components/ActionList/index.js +2 -5
  249. package/dist/components/AppStatusBar/AppStatusBar.js +2 -13
  250. package/dist/components/AppStatusBar/AppStatusBar.stories.js +25 -26
  251. package/dist/components/AppStatusBar/AppStatusBar.stories.js.map +1 -1
  252. package/dist/components/AppStatusBar/AppStatusBar.test.js +17 -8
  253. package/dist/components/AppStatusBar/AppStatusBar.test.js.map +1 -1
  254. package/dist/components/AppStatusBar/index.js +2 -5
  255. package/dist/components/Attention/Attention.js +2 -12
  256. package/dist/components/Attention/Attention.stories.js +18 -16
  257. package/dist/components/Attention/Attention.stories.js.map +1 -1
  258. package/dist/components/Attention/Attention.test.js +14 -8
  259. package/dist/components/Attention/Attention.test.js.map +1 -1
  260. package/dist/components/Attention/index.js +2 -5
  261. package/dist/components/Backdrop/Backdrop.js +2 -8
  262. package/dist/components/Backdrop/Backdrop.stories.js +32 -28
  263. package/dist/components/Backdrop/Backdrop.stories.js.map +1 -1
  264. package/dist/components/Backdrop/Backdrop.test.js +13 -7
  265. package/dist/components/Backdrop/Backdrop.test.js.map +1 -1
  266. package/dist/components/Backdrop/index.js +2 -5
  267. package/dist/components/ButtonGroup/ButtonGroup.js +2 -26
  268. package/dist/components/ButtonGroup/ButtonGroup.stories.js +29 -39
  269. package/dist/components/ButtonGroup/ButtonGroup.stories.js.map +1 -1
  270. package/dist/components/ButtonGroup/index.js +2 -5
  271. package/dist/components/Buttons/Button.js +16 -22
  272. package/dist/components/Buttons/Button.js.map +1 -1
  273. package/dist/components/Buttons/Button.stories.js +43 -56
  274. package/dist/components/Buttons/Button.stories.js.map +1 -1
  275. package/dist/components/Buttons/Button.test.js +60 -33
  276. package/dist/components/Buttons/Button.test.js.map +1 -1
  277. package/dist/components/Buttons/LinkButton.js +14 -11
  278. package/dist/components/Buttons/LinkButton.js.map +1 -1
  279. package/dist/components/Buttons/LinkButton.stories.js +41 -57
  280. package/dist/components/Buttons/LinkButton.stories.js.map +1 -1
  281. package/dist/components/Buttons/LinkButton.test.js +71 -65
  282. package/dist/components/Buttons/LinkButton.test.js.map +1 -1
  283. package/dist/components/Buttons/MenuButton.js +18 -15
  284. package/dist/components/Buttons/MenuButton.js.map +1 -1
  285. package/dist/components/Buttons/MenuButton.stories.js +45 -61
  286. package/dist/components/Buttons/MenuButton.stories.js.map +1 -1
  287. package/dist/components/Buttons/MenuButton.test.js +70 -64
  288. package/dist/components/Buttons/MenuButton.test.js.map +1 -1
  289. package/dist/components/Buttons/index.js +4 -9
  290. package/dist/components/Card/Card.js +2 -39
  291. package/dist/components/Card/Card.stories.js +42 -49
  292. package/dist/components/Card/Card.stories.js.map +1 -1
  293. package/dist/components/Card/Card.test.js +14 -8
  294. package/dist/components/Card/Card.test.js.map +1 -1
  295. package/dist/components/Card/index.js +2 -5
  296. package/dist/components/Checkbox/Checkbox.js +2 -9
  297. package/dist/components/Checkbox/Checkbox.stories.js +44 -41
  298. package/dist/components/Checkbox/Checkbox.stories.js.map +1 -1
  299. package/dist/components/Checkbox/Checkbox.test.js +21 -15
  300. package/dist/components/Checkbox/Checkbox.test.js.map +1 -1
  301. package/dist/components/Checkbox/index.js +2 -5
  302. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.js +2 -114
  303. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js +277 -310
  304. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js.map +1 -1
  305. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js +71 -85
  306. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js.map +1 -1
  307. package/dist/components/CheckboxButtonBar/index.js +2 -5
  308. package/dist/components/CheckboxTree/CheckboxTree.js +3 -172
  309. package/dist/components/CheckboxTree/CheckboxTree.stories.js +89 -139
  310. package/dist/components/CheckboxTree/CheckboxTree.stories.js.map +1 -1
  311. package/dist/components/CheckboxTree/index.js +3 -5
  312. package/dist/components/Chip/Chip.js +2 -14
  313. package/dist/components/Chip/Chip.stories.js +24 -28
  314. package/dist/components/Chip/Chip.stories.js.map +1 -1
  315. package/dist/components/Chip/index.js +2 -5
  316. package/dist/components/ControlsButton/ControlsButton.js +2 -82
  317. package/dist/components/ControlsButton/ControlsButton.stories.js +98 -122
  318. package/dist/components/ControlsButton/ControlsButton.stories.js.map +1 -1
  319. package/dist/components/ControlsButton/index.js +2 -5
  320. package/dist/components/CopyableText/CopyableText.js +2 -64
  321. package/dist/components/CopyableText/CopyableText.stories.js +36 -35
  322. package/dist/components/CopyableText/CopyableText.stories.js.map +1 -1
  323. package/dist/components/CopyableText/index.js +2 -5
  324. package/dist/components/Drawer/Drawer.js +2 -62
  325. package/dist/components/Drawer/Drawer.stories.js +49 -68
  326. package/dist/components/Drawer/Drawer.stories.js.map +1 -1
  327. package/dist/components/Drawer/index.js +2 -5
  328. package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.js +2 -50
  329. package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.js +17 -18
  330. package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.js.map +1 -1
  331. package/dist/components/EmptyStateDataDisplay/index.js +2 -5
  332. package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.js +2 -57
  333. package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.stories.js +57 -50
  334. package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.stories.js.map +1 -1
  335. package/dist/components/ExpandableInfoPanel/index.js +2 -5
  336. package/dist/components/FeedbackBar/FeedbackBar.js +2 -30
  337. package/dist/components/FeedbackBar/FeedbackBar.stories.js +30 -33
  338. package/dist/components/FeedbackBar/FeedbackBar.stories.js.map +1 -1
  339. package/dist/components/FeedbackBar/FeedbackBar.test.js +18 -12
  340. package/dist/components/FeedbackBar/FeedbackBar.test.js.map +1 -1
  341. package/dist/components/FeedbackBar/index.js +2 -5
  342. package/dist/components/FeedbackBox/FeedbackBox.js +2 -31
  343. package/dist/components/FeedbackBox/FeedbackBox.stories.js +30 -34
  344. package/dist/components/FeedbackBox/FeedbackBox.stories.js.map +1 -1
  345. package/dist/components/FeedbackBox/index.js +2 -5
  346. package/dist/components/FieldHint/FieldHint.js +2 -15
  347. package/dist/components/FieldHint/FieldHint.stories.js +27 -35
  348. package/dist/components/FieldHint/FieldHint.stories.js.map +1 -1
  349. package/dist/components/FieldHint/index.js +2 -5
  350. package/dist/components/Fieldset/Fieldset.js +2 -32
  351. package/dist/components/Fieldset/Fieldset.stories.js +40 -46
  352. package/dist/components/Fieldset/Fieldset.stories.js.map +1 -1
  353. package/dist/components/Fieldset/index.js +2 -5
  354. package/dist/components/FormField/FormField.js +2 -23
  355. package/dist/components/FormField/FormField.stories.js +40 -45
  356. package/dist/components/FormField/FormField.stories.js.map +1 -1
  357. package/dist/components/FormField/index.js +2 -5
  358. package/dist/components/FormInput/FormInput.js +3 -79
  359. package/dist/components/FormInput/FormInput.stories.js +60 -40
  360. package/dist/components/FormInput/FormInput.stories.js.map +1 -1
  361. package/dist/components/FormInput/index.js +3 -5
  362. package/dist/components/GridRow/Column/Column.js +2 -7
  363. package/dist/components/GridRow/Column/index.js +2 -5
  364. package/dist/components/GridRow/GridRow.js +27 -38
  365. package/dist/components/GridRow/GridRow.js.map +1 -1
  366. package/dist/components/GridRow/GridRow.stories.js +198 -95
  367. package/dist/components/GridRow/GridRow.stories.js.map +1 -1
  368. package/dist/components/GridRow/index.js +2 -5
  369. package/dist/components/HorizontalList/HorizontalList.js +2 -13
  370. package/dist/components/HorizontalList/HorizontalList.stories.js +44 -46
  371. package/dist/components/HorizontalList/HorizontalList.stories.js.map +1 -1
  372. package/dist/components/HorizontalList/index.js +2 -5
  373. package/dist/components/Icon/Icon.js +16 -9
  374. package/dist/components/Icon/Icon.js.map +1 -1
  375. package/dist/components/Icon/Icon.stories.js +47 -50
  376. package/dist/components/Icon/Icon.stories.js.map +1 -1
  377. package/dist/components/Icon/icons/index.js +2 -672
  378. package/dist/components/Icon/index.js +2 -5
  379. package/dist/components/IconButton/IconButton.js +2 -28
  380. package/dist/components/IconButton/IconButton.stories.js +55 -58
  381. package/dist/components/IconButton/IconButton.stories.js.map +1 -1
  382. package/dist/components/IconButton/index.js +2 -5
  383. package/dist/components/InfoBanner/InfoBanner.js +2 -12
  384. package/dist/components/InfoBanner/InfoBanner.stories.js +18 -22
  385. package/dist/components/InfoBanner/InfoBanner.stories.js.map +1 -1
  386. package/dist/components/InfoBanner/index.js +2 -5
  387. package/dist/components/InfoMessage/InfoMessage.js +2 -23
  388. package/dist/components/InfoMessage/InfoMessage.stories.js +21 -26
  389. package/dist/components/InfoMessage/InfoMessage.stories.js.map +1 -1
  390. package/dist/components/InfoMessage/index.js +2 -5
  391. package/dist/components/Input/Input.js +2 -28
  392. package/dist/components/Input/Input.stories.js +31 -50
  393. package/dist/components/Input/Input.stories.js.map +1 -1
  394. package/dist/components/Input/index.js +2 -5
  395. package/dist/components/InputField/InputField.js +2 -70
  396. package/dist/components/InputField/InputField.stories.js +81 -109
  397. package/dist/components/InputField/InputField.stories.js.map +1 -1
  398. package/dist/components/InputField/index.js +2 -5
  399. package/dist/components/Label/Label.js +2 -24
  400. package/dist/components/Label/Label.stories.js +26 -37
  401. package/dist/components/Label/Label.stories.js.map +1 -1
  402. package/dist/components/Label/Label.test.js +35 -20
  403. package/dist/components/Label/Label.test.js.map +1 -1
  404. package/dist/components/Label/index.js +2 -5
  405. package/dist/components/MenuLink/MenuLink.js +2 -25
  406. package/dist/components/MenuLink/MenuLink.stories.js +64 -27
  407. package/dist/components/MenuLink/MenuLink.stories.js.map +1 -1
  408. package/dist/components/MenuLink/index.js +2 -5
  409. package/dist/components/MetaDataBar/MetaDataBar.js +2 -13
  410. package/dist/components/MetaDataBar/MetaDataBar.stories.js +20 -20
  411. package/dist/components/MetaDataBar/MetaDataBar.stories.js.map +1 -1
  412. package/dist/components/MetaDataBar/MetaDataBar.test.js +26 -16
  413. package/dist/components/MetaDataBar/MetaDataBar.test.js.map +1 -1
  414. package/dist/components/MetaDataBar/index.js +2 -5
  415. package/dist/components/MetaDataList/MetaDataList.js +2 -14
  416. package/dist/components/MetaDataList/MetaDataList.stories.js +21 -23
  417. package/dist/components/MetaDataList/MetaDataList.stories.js.map +1 -1
  418. package/dist/components/MetaDataList/index.js +2 -5
  419. package/dist/components/ModalDialog/ModalDialog.js +2 -130
  420. package/dist/components/ModalDialog/ModalDialog.stories.js +80 -93
  421. package/dist/components/ModalDialog/ModalDialog.stories.js.map +1 -1
  422. package/dist/components/ModalDialog/index.js +2 -5
  423. package/dist/components/MultiSelect/MultiSelect.js +3 -8
  424. package/dist/components/MultiSelect/MultiSelect.stories.js +83 -93
  425. package/dist/components/MultiSelect/MultiSelect.stories.js.map +1 -1
  426. package/dist/components/MultiSelect/components/MultiSelectHeader.js +3 -34
  427. package/dist/components/MultiSelect/components/MultiSelectItem.js +2 -9
  428. package/dist/components/MultiSelect/index.js +3 -5
  429. package/dist/components/MultiSelectBox/MultiSelectBox.js +2 -207
  430. package/dist/components/MultiSelectBox/MultiSelectBox.stories.js +101 -70
  431. package/dist/components/MultiSelectBox/MultiSelectBox.stories.js.map +1 -1
  432. package/dist/components/MultiSelectBox/MultiSelectBox.test.js +54 -29
  433. package/dist/components/MultiSelectBox/MultiSelectBox.test.js.map +1 -1
  434. package/dist/components/MultiSelectBox/index.js +2 -5
  435. package/dist/components/Notification/Notification.js +2 -58
  436. package/dist/components/Notification/Notification.stories.js +43 -40
  437. package/dist/components/Notification/Notification.stories.js.map +1 -1
  438. package/dist/components/Notification/Notification.test.js +24 -10
  439. package/dist/components/Notification/Notification.test.js.map +1 -1
  440. package/dist/components/Notification/index.js +2 -5
  441. package/dist/components/OverlayCloseButton/OverlayCloseButton.js +2 -25
  442. package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js +30 -29
  443. package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js.map +1 -1
  444. package/dist/components/OverlayCloseButton/index.js +2 -5
  445. package/dist/components/OverlayStepBar/OverlayStepBar.js +2 -57
  446. package/dist/components/OverlayStepBar/OverlayStepBar.stories.js +44 -49
  447. package/dist/components/OverlayStepBar/OverlayStepBar.stories.js.map +1 -1
  448. package/dist/components/OverlayStepBar/index.js +2 -5
  449. package/dist/components/PageOverlay/PageOverlay.js +2 -114
  450. package/dist/components/PageOverlay/PageOverlay.stories.js +155 -163
  451. package/dist/components/PageOverlay/PageOverlay.stories.js.map +1 -1
  452. package/dist/components/PageOverlay/index.js +2 -5
  453. package/dist/components/PeriodSelector/PeriodSelector.js +3 -96
  454. package/dist/components/PeriodSelector/PeriodSelector.stories.js +27 -24
  455. package/dist/components/PeriodSelector/PeriodSelector.stories.js.map +1 -1
  456. package/dist/components/PeriodSelector/index.js +3 -5
  457. package/dist/components/Periods/Periods.js +2 -46
  458. package/dist/components/Periods/Periods.stories.js +53 -60
  459. package/dist/components/Periods/Periods.stories.js.map +1 -1
  460. package/dist/components/Periods/index.js +2 -5
  461. package/dist/components/ProgrammeCard/ProgrammeCard.js +2 -29
  462. package/dist/components/ProgrammeCard/ProgrammeCard.stories.js +71 -80
  463. package/dist/components/ProgrammeCard/ProgrammeCard.stories.js.map +1 -1
  464. package/dist/components/ProgrammeCard/index.js +2 -5
  465. package/dist/components/RadioButton/RadioButton.js +2 -26
  466. package/dist/components/RadioButton/RadioButton.stories.js +30 -40
  467. package/dist/components/RadioButton/RadioButton.stories.js.map +1 -1
  468. package/dist/components/RadioButton/index.js +2 -5
  469. package/dist/components/RadioGroup/RadioGroup.js +2 -52
  470. package/dist/components/RadioGroup/RadioGroup.stories.js +39 -46
  471. package/dist/components/RadioGroup/RadioGroup.stories.js.map +1 -1
  472. package/dist/components/RadioGroup/Radiogroup.test.js +46 -22
  473. package/dist/components/RadioGroup/Radiogroup.test.js.map +1 -1
  474. package/dist/components/RadioGroup/index.js +2 -5
  475. package/dist/components/RadioTabSelector/RadioTabSelector.js +3 -94
  476. package/dist/components/RadioTabSelector/RadioTabSelector.stories.js +76 -74
  477. package/dist/components/RadioTabSelector/RadioTabSelector.stories.js.map +1 -1
  478. package/dist/components/RadioTabSelector/index.js +3 -5
  479. package/dist/components/Repeater/Repeater.js +2 -19
  480. package/dist/components/Repeater/Repeater.stories.js +32 -42
  481. package/dist/components/Repeater/Repeater.stories.js.map +1 -1
  482. package/dist/components/Repeater/index.js +2 -5
  483. package/dist/components/RteEditor/EditorHeader/EditorHeader.js +3 -43
  484. package/dist/components/RteEditor/EditorHeader/index.js +3 -5
  485. package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +45 -47
  486. package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js.map +1 -1
  487. package/dist/components/RteEditor/Plugins/BlockFormatPlugin/index.js +2 -5
  488. package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/AddCatalogueLinkForm.js +2 -108
  489. package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/index.js +2 -5
  490. package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js +150 -194
  491. package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js.map +1 -1
  492. package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/index.js +2 -5
  493. package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +3 -81
  494. package/dist/components/RteEditor/Plugins/HistoryPlugin/index.js +3 -5
  495. package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js +3 -38
  496. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js +2 -95
  497. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +3 -217
  498. package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js +2 -12
  499. package/dist/components/RteEditor/Plugins/LinkPlugin/index.js +3 -5
  500. package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +75 -83
  501. package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js.map +1 -1
  502. package/dist/components/RteEditor/Plugins/ListPlugin/index.js +2 -5
  503. package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js +2 -31
  504. package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/index.js +2 -5
  505. package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.js +2 -14
  506. package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/index.js +2 -5
  507. package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +3 -36
  508. package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js +2 -133
  509. package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/index.js +2 -5
  510. package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +3 -42
  511. package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js +69 -92
  512. package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js.map +1 -1
  513. package/dist/components/RteEditor/Plugins/TablePlugin/index.js +4 -7
  514. package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +3 -90
  515. package/dist/components/RteEditor/Plugins/ToolbarPlugin/index.js +3 -5
  516. package/dist/components/RteEditor/Plugins/index.js +7 -21
  517. package/dist/components/RteEditor/Providers/LanguageProvider.js +22 -17
  518. package/dist/components/RteEditor/Providers/LanguageProvider.js.map +1 -1
  519. package/dist/components/RteEditor/RteEditor.js +3 -871
  520. package/dist/components/RteEditor/RteEditor.stories.js +160 -207
  521. package/dist/components/RteEditor/RteEditor.stories.js.map +1 -1
  522. package/dist/components/RteEditor/UvaTheme/UvaTheme.js +41 -40
  523. package/dist/components/RteEditor/UvaTheme/UvaTheme.js.map +1 -1
  524. package/dist/components/RteEditor/UvaTheme/index.js +2 -5
  525. package/dist/components/RteEditor/helpers.js +33 -40
  526. package/dist/components/RteEditor/helpers.js.map +1 -1
  527. package/dist/components/RteEditor/hooks/components/Flyout.js +2 -11
  528. package/dist/components/RteEditor/hooks/useFlyout.js +35 -23
  529. package/dist/components/RteEditor/hooks/useFlyout.js.map +1 -1
  530. package/dist/components/RteEditor/hooks/useTranslation.js +9 -8
  531. package/dist/components/RteEditor/hooks/useTranslation.js.map +1 -1
  532. package/dist/components/RteEditor/index.js +3 -6
  533. package/dist/components/RteEditor/mockCatalogueSearchData.js +484 -484
  534. package/dist/components/RteEditor/mockCatalogueSearchData.js.map +1 -1
  535. package/dist/components/RteEditor/mockRteContent.js +6 -100
  536. package/dist/components/RteEditor/mockRteContent.js.map +1 -1
  537. package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js +98 -122
  538. package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js.map +1 -1
  539. package/dist/components/RteEditor/nodes/CourseCatalogueNode/index.js +2 -11
  540. package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js +58 -72
  541. package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js.map +1 -1
  542. package/dist/components/RteEditor/nodes/TableWrapperNode/index.js +2 -10
  543. package/dist/components/RteEditor/nodes/index.js +3 -18
  544. package/dist/components/RteEditor/translations.js +216 -215
  545. package/dist/components/RteEditor/translations.js.map +1 -1
  546. package/dist/components/SearchField/SearchField.js +104 -105
  547. package/dist/components/SearchField/SearchField.js.map +1 -1
  548. package/dist/components/SearchField/SearcheField.stories.js +89 -118
  549. package/dist/components/SearchField/SearcheField.stories.js.map +1 -1
  550. package/dist/components/SearchField/components/ResultOptionBox.js +19 -12
  551. package/dist/components/SearchField/components/ResultOptionBox.js.map +1 -1
  552. package/dist/components/SearchField/components/ResultsOption.js +50 -55
  553. package/dist/components/SearchField/components/ResultsOption.js.map +1 -1
  554. package/dist/components/SearchField/index.js +2 -5
  555. package/dist/components/SearchField/mockData.js +136 -135
  556. package/dist/components/SearchField/mockData.js.map +1 -1
  557. package/dist/components/SectionNotification/SectionNotification.js +2 -18
  558. package/dist/components/SectionNotification/SectionNotification.stories.js +21 -24
  559. package/dist/components/SectionNotification/SectionNotification.stories.js.map +1 -1
  560. package/dist/components/SectionNotification/index.js +2 -5
  561. package/dist/components/SelectListbox/SelectListBox.stories.js +3415 -248
  562. package/dist/components/SelectListbox/SelectListBox.stories.js.map +1 -1
  563. package/dist/components/SelectListbox/SelectListbox.js +45 -56
  564. package/dist/components/SelectListbox/SelectListbox.js.map +1 -1
  565. package/dist/components/SelectListbox/SelectProvider.js +42 -43
  566. package/dist/components/SelectListbox/SelectProvider.js.map +1 -1
  567. package/dist/components/SelectListbox/components/SelectButton.js +63 -77
  568. package/dist/components/SelectListbox/components/SelectButton.js.map +1 -1
  569. package/dist/components/SelectListbox/components/SelectContainer.js +22 -21
  570. package/dist/components/SelectListbox/components/SelectContainer.js.map +1 -1
  571. package/dist/components/SelectListbox/components/SelectOption.js +69 -66
  572. package/dist/components/SelectListbox/components/SelectOption.js.map +1 -1
  573. package/dist/components/SelectListbox/components/SelectOptionBox.js +28 -30
  574. package/dist/components/SelectListbox/components/SelectOptionBox.js.map +1 -1
  575. package/dist/components/SelectListbox/index.js +2 -5
  576. package/dist/components/Slider/Slider.js +2 -113
  577. package/dist/components/Slider/Slider.stories.js +59 -38
  578. package/dist/components/Slider/Slider.stories.js.map +1 -1
  579. package/dist/components/Slider/index.js +2 -5
  580. package/dist/components/Sortable/Sortable.js +25 -41
  581. package/dist/components/Sortable/Sortable.js.map +1 -1
  582. package/dist/components/Sortable/Sortable.stories.js +79 -59
  583. package/dist/components/Sortable/Sortable.stories.js.map +1 -1
  584. package/dist/components/Sortable/SortableProvider.js +2 -10
  585. package/dist/components/Sortable/actions.js +24 -32
  586. package/dist/components/Sortable/actions.js.map +1 -1
  587. package/dist/components/Sortable/components/SortableContainer.js +2 -9
  588. package/dist/components/Sortable/components/SortableHandle.js +13 -9
  589. package/dist/components/Sortable/components/SortableHandle.js.map +1 -1
  590. package/dist/components/Sortable/components/SortableItem.js +103 -113
  591. package/dist/components/Sortable/components/SortableItem.js.map +1 -1
  592. package/dist/components/Sortable/constants.js +6 -14
  593. package/dist/components/Sortable/constants.js.map +1 -1
  594. package/dist/components/Sortable/index.js +1 -4
  595. package/dist/components/Sortable/sortableReducer.js +76 -90
  596. package/dist/components/Sortable/sortableReducer.js.map +1 -1
  597. package/dist/components/Spinner/Spinner.js +2 -22
  598. package/dist/components/Spinner/Spinner.stories.js +21 -26
  599. package/dist/components/Spinner/Spinner.stories.js.map +1 -1
  600. package/dist/components/Spinner/index.js +2 -5
  601. package/dist/components/StatusBadge/StatusBadge.stories.js +18 -21
  602. package/dist/components/StatusBadge/StatusBadge.stories.js.map +1 -1
  603. package/dist/components/StatusBadge/StatusBadge.test.js +19 -10
  604. package/dist/components/StatusBadge/StatusBadge.test.js.map +1 -1
  605. package/dist/components/StatusBadge/StatusBage.js +2 -10
  606. package/dist/components/StatusBadge/index.js +2 -5
  607. package/dist/components/StatusPill/StatusPill.js +2 -35
  608. package/dist/components/StatusPill/StatusPill.stories.js +20 -20
  609. package/dist/components/StatusPill/StatusPill.stories.js.map +1 -1
  610. package/dist/components/StatusPill/index.js +2 -5
  611. package/dist/components/TextArea/TextArea.js +2 -65
  612. package/dist/components/TextArea/TextArea.stories.js +30 -31
  613. package/dist/components/TextArea/TextArea.stories.js.map +1 -1
  614. package/dist/components/TextArea/TextArea.test.js +38 -22
  615. package/dist/components/TextArea/TextArea.test.js.map +1 -1
  616. package/dist/components/TextArea/index.js +2 -5
  617. package/dist/components/ToggleSwitch/ToggleSwitch.js +2 -66
  618. package/dist/components/ToggleSwitch/ToggleSwitch.stories.js +20 -26
  619. package/dist/components/ToggleSwitch/ToggleSwitch.stories.js.map +1 -1
  620. package/dist/components/ToggleSwitch/index.js +2 -5
  621. package/dist/components/Tooltip/Tooltip.js +2 -75
  622. package/dist/components/Tooltip/Tooltip.stories.js +27 -32
  623. package/dist/components/Tooltip/Tooltip.stories.js.map +1 -1
  624. package/dist/components/Tooltip/index.js +2 -5
  625. package/dist/components/VarIndicator/VarIndicator.js +2 -62
  626. package/dist/components/VarIndicator/VarIndicator.stories.js +31 -30
  627. package/dist/components/VarIndicator/VarIndicator.stories.js.map +1 -1
  628. package/dist/components/VarIndicator/VarIndicator.test.js +72 -54
  629. package/dist/components/VarIndicator/VarIndicator.test.js.map +1 -1
  630. package/dist/components/VarIndicator/index.js +2 -5
  631. package/dist/components/WeekSelector/WeekSelector.js +89 -97
  632. package/dist/components/WeekSelector/WeekSelector.js.map +1 -1
  633. package/dist/components/WeekSelector/WeekSelector.stories.js +146 -191
  634. package/dist/components/WeekSelector/WeekSelector.stories.js.map +1 -1
  635. package/dist/components/WeekSelector/components/WeekSelectorButton.js +20 -22
  636. package/dist/components/WeekSelector/components/WeekSelectorButton.js.map +1 -1
  637. package/dist/components/WeekSelector/components/WeekSelectorOption.js +72 -85
  638. package/dist/components/WeekSelector/components/WeekSelectorOption.js.map +1 -1
  639. package/dist/components/WeekSelector/components/WeekSelectorOptionContainer.js +30 -17
  640. package/dist/components/WeekSelector/components/WeekSelectorOptionContainer.js.map +1 -1
  641. package/dist/components/WeekSelector/index.js +2 -5
  642. package/dist/components/WeekSelector/mockdata.js +470 -469
  643. package/dist/components/WeekSelector/mockdata.js.map +1 -1
  644. package/dist/components/hooks/useDebounce.js +17 -16
  645. package/dist/components/hooks/useDebounce.js.map +1 -1
  646. package/dist/components/hooks/useOnClickOutside.js +15 -14
  647. package/dist/components/hooks/useOnClickOutside.js.map +1 -1
  648. package/dist/components/hooks/usePositionedFloaters.js +66 -71
  649. package/dist/components/hooks/usePositionedFloaters.js.map +1 -1
  650. package/dist/components/hooks/useResponsive.js +36 -32
  651. package/dist/components/hooks/useResponsive.js.map +1 -1
  652. package/dist/components/index.js +64 -139
  653. package/dist/components-DVUYdcHS.js +1992 -0
  654. package/dist/components-DVUYdcHS.js.map +1 -0
  655. package/dist/dist-D6qYwmKD.js +2005 -0
  656. package/dist/dist-D6qYwmKD.js.map +1 -0
  657. package/dist/esm-Cmy7DlsJ.js +2781 -0
  658. package/dist/esm-Cmy7DlsJ.js.map +1 -0
  659. package/dist/helpers-DcFTH1J1.js +34 -0
  660. package/dist/helpers-DcFTH1J1.js.map +1 -0
  661. package/dist/icons-TRhI-4V6.js +2681 -0
  662. package/dist/icons-TRhI-4V6.js.map +1 -0
  663. package/dist/index.js +64 -139
  664. package/dist/lib-6BbFZdI7.js +5595 -0
  665. package/dist/lib-6BbFZdI7.js.map +1 -0
  666. package/dist/react-18-PI4Gvl2f.js +43 -0
  667. package/dist/react-18-PI4Gvl2f.js.map +1 -0
  668. package/dist/react.esm-Cev8dB-E.js +3297 -0
  669. package/dist/react.esm-Cev8dB-E.js.map +1 -0
  670. package/dist/setupTests.js +1226 -36
  671. package/dist/setupTests.js.map +1 -1
  672. package/dist/storyComponents/ClipboardButton/ClipboardButton.js +2 -45
  673. package/dist/storyComponents/ClipboardButton/index.js +2 -5
  674. package/dist/storyComponents/Container/Container.js +2 -40
  675. package/dist/storyComponents/Container/index.js +2 -5
  676. package/dist/storybook__react.d.js +6939 -7524
  677. package/dist/storybook__react.d.js.map +1 -1
  678. package/dist/test-CPFNM-bL.js +21586 -0
  679. package/dist/test-CPFNM-bL.js.map +1 -0
  680. package/dist/test-utils-BSs0eZfL.js +21 -0
  681. package/dist/test-utils-BSs0eZfL.js.map +1 -0
  682. package/dist/types/UserInterface.js +0 -2
  683. package/dist/vite-env.d.js +0 -2
  684. package/package.json +22 -22
  685. package/dist/Button.module-S1-6tV9o.js +0 -16
  686. package/dist/Button.module-S1-6tV9o.js.map +0 -1
  687. package/dist/Column-BL3dsYxn.js +0 -101
  688. package/dist/Column-BL3dsYxn.js.map +0 -1
  689. package/dist/Lexical.prod-o6Eq_uLx.js +0 -5202
  690. package/dist/Lexical.prod-o6Eq_uLx.js.map +0 -1
  691. package/dist/LexicalClipboard.prod-CnUrf2_p.js +0 -265
  692. package/dist/LexicalClipboard.prod-CnUrf2_p.js.map +0 -1
  693. package/dist/LexicalComposerContext.prod-DOyoZx0P.js +0 -22
  694. package/dist/LexicalComposerContext.prod-DOyoZx0P.js.map +0 -1
  695. package/dist/LexicalExtension.prod-CanXuzFO.js +0 -551
  696. package/dist/LexicalExtension.prod-CanXuzFO.js.map +0 -1
  697. package/dist/LexicalLink.prod-DAVbKER8.js +0 -561
  698. package/dist/LexicalLink.prod-DAVbKER8.js.map +0 -1
  699. package/dist/LexicalList.prod-C6cknPBV.js +0 -632
  700. package/dist/LexicalList.prod-C6cknPBV.js.map +0 -1
  701. package/dist/LexicalSelection.prod-B8GGrzJ3.js +0 -116
  702. package/dist/LexicalSelection.prod-B8GGrzJ3.js.map +0 -1
  703. package/dist/LexicalTable.prod-upbwOtcE.js +0 -1892
  704. package/dist/LexicalTable.prod-upbwOtcE.js.map +0 -1
  705. package/dist/LexicalUtils.prod-CF7x-KWm.js +0 -134
  706. package/dist/LexicalUtils.prod-CF7x-KWm.js.map +0 -1
  707. package/dist/MultiSelectItem-BzBmsKof.js +0 -24
  708. package/dist/MultiSelectItem-BzBmsKof.js.map +0 -1
  709. package/dist/RteEditor.module-CoTOIw5i.js +0 -41
  710. package/dist/RteEditor.module-CoTOIw5i.js.map +0 -1
  711. package/dist/SearchField.module-CMUEgX7d.js +0 -17
  712. package/dist/SearchField.module-CMUEgX7d.js.map +0 -1
  713. package/dist/SelectListbox.module-CXqMuXRB.js +0 -29
  714. package/dist/SelectListbox.module-CXqMuXRB.js.map +0 -1
  715. package/dist/Sortable.module-DCVXxKnw.js +0 -26
  716. package/dist/Sortable.module-DCVXxKnw.js.map +0 -1
  717. package/dist/SortableProvider-BbwlEPIr.js +0 -160
  718. package/dist/SortableProvider-BbwlEPIr.js.map +0 -1
  719. package/dist/TableCellResizerPlugin-qMtSAoKT.js +0 -248
  720. package/dist/TableCellResizerPlugin-qMtSAoKT.js.map +0 -1
  721. package/dist/TablePlugin-BRZcXq73.js +0 -308
  722. package/dist/TablePlugin-BRZcXq73.js.map +0 -1
  723. package/dist/WeekSelector.module-Clco7jTs.js +0 -17
  724. package/dist/WeekSelector.module-Clco7jTs.js.map +0 -1
  725. package/dist/_commonjsHelpers-DaMA6jEr.js +0 -9
  726. package/dist/_commonjsHelpers-DaMA6jEr.js.map +0 -1
  727. package/dist/assets/CheckboxTree.css +0 -1
  728. package/dist/assets/EditorHeader.css +0 -1
  729. package/dist/assets/FormInput.css +0 -1
  730. package/dist/assets/PeriodSelector.css +0 -1
  731. package/dist/assets/RadioTabSelector.css +0 -1
  732. package/dist/assets/TablePlugin.css +0 -1
  733. package/dist/chunk-OPOZOKLO-nJkI9rUN.js +0 -4508
  734. package/dist/chunk-OPOZOKLO-nJkI9rUN.js.map +0 -1
  735. package/dist/client-D5eE1v54.js +0 -27222
  736. package/dist/client-D5eE1v54.js.map +0 -1
  737. package/dist/clsx-OuTLNxxd.js +0 -17
  738. package/dist/clsx-OuTLNxxd.js.map +0 -1
  739. package/dist/components/Accordion/Accordion.js.map +0 -1
  740. package/dist/components/Accordion/index.js.map +0 -1
  741. package/dist/components/AccordionCard/AccordionCard.js.map +0 -1
  742. package/dist/components/AccordionCard/index.js.map +0 -1
  743. package/dist/components/ActionList/ActionList.js.map +0 -1
  744. package/dist/components/ActionList/index.js.map +0 -1
  745. package/dist/components/AppStatusBar/AppStatusBar.js.map +0 -1
  746. package/dist/components/AppStatusBar/index.js.map +0 -1
  747. package/dist/components/Attention/Attention.js.map +0 -1
  748. package/dist/components/Attention/index.js.map +0 -1
  749. package/dist/components/Backdrop/Backdrop.js.map +0 -1
  750. package/dist/components/Backdrop/index.js.map +0 -1
  751. package/dist/components/ButtonGroup/ButtonGroup.js.map +0 -1
  752. package/dist/components/ButtonGroup/index.js.map +0 -1
  753. package/dist/components/Buttons/index.js.map +0 -1
  754. package/dist/components/Card/Card.js.map +0 -1
  755. package/dist/components/Card/index.js.map +0 -1
  756. package/dist/components/Checkbox/Checkbox.js.map +0 -1
  757. package/dist/components/Checkbox/index.js.map +0 -1
  758. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.js.map +0 -1
  759. package/dist/components/CheckboxButtonBar/index.js.map +0 -1
  760. package/dist/components/CheckboxTree/CheckboxTree.js.map +0 -1
  761. package/dist/components/CheckboxTree/index.js.map +0 -1
  762. package/dist/components/Chip/Chip.js.map +0 -1
  763. package/dist/components/Chip/index.js.map +0 -1
  764. package/dist/components/ControlsButton/ControlsButton.js.map +0 -1
  765. package/dist/components/ControlsButton/index.js.map +0 -1
  766. package/dist/components/CopyableText/CopyableText.js.map +0 -1
  767. package/dist/components/CopyableText/index.js.map +0 -1
  768. package/dist/components/Drawer/Drawer.js.map +0 -1
  769. package/dist/components/Drawer/index.js.map +0 -1
  770. package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.js.map +0 -1
  771. package/dist/components/EmptyStateDataDisplay/index.js.map +0 -1
  772. package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.js.map +0 -1
  773. package/dist/components/ExpandableInfoPanel/index.js.map +0 -1
  774. package/dist/components/FeedbackBar/FeedbackBar.js.map +0 -1
  775. package/dist/components/FeedbackBar/index.js.map +0 -1
  776. package/dist/components/FeedbackBox/FeedbackBox.js.map +0 -1
  777. package/dist/components/FeedbackBox/index.js.map +0 -1
  778. package/dist/components/FieldHint/FieldHint.js.map +0 -1
  779. package/dist/components/FieldHint/index.js.map +0 -1
  780. package/dist/components/Fieldset/Fieldset.js.map +0 -1
  781. package/dist/components/Fieldset/index.js.map +0 -1
  782. package/dist/components/FormField/FormField.js.map +0 -1
  783. package/dist/components/FormField/index.js.map +0 -1
  784. package/dist/components/FormInput/FormInput.js.map +0 -1
  785. package/dist/components/FormInput/index.js.map +0 -1
  786. package/dist/components/GridRow/Column/Column.js.map +0 -1
  787. package/dist/components/GridRow/Column/index.js.map +0 -1
  788. package/dist/components/GridRow/index.js.map +0 -1
  789. package/dist/components/HorizontalList/HorizontalList.js.map +0 -1
  790. package/dist/components/HorizontalList/index.js.map +0 -1
  791. package/dist/components/Icon/icons/index.js.map +0 -1
  792. package/dist/components/Icon/index.js.map +0 -1
  793. package/dist/components/IconButton/IconButton.js.map +0 -1
  794. package/dist/components/IconButton/index.js.map +0 -1
  795. package/dist/components/InfoBanner/InfoBanner.js.map +0 -1
  796. package/dist/components/InfoBanner/index.js.map +0 -1
  797. package/dist/components/InfoMessage/InfoMessage.js.map +0 -1
  798. package/dist/components/InfoMessage/index.js.map +0 -1
  799. package/dist/components/Input/Input.js.map +0 -1
  800. package/dist/components/Input/index.js.map +0 -1
  801. package/dist/components/InputField/InputField.js.map +0 -1
  802. package/dist/components/InputField/index.js.map +0 -1
  803. package/dist/components/Label/Label.js.map +0 -1
  804. package/dist/components/Label/index.js.map +0 -1
  805. package/dist/components/MenuLink/MenuLink.js.map +0 -1
  806. package/dist/components/MenuLink/index.js.map +0 -1
  807. package/dist/components/MetaDataBar/MetaDataBar.js.map +0 -1
  808. package/dist/components/MetaDataBar/index.js.map +0 -1
  809. package/dist/components/MetaDataList/MetaDataList.js.map +0 -1
  810. package/dist/components/MetaDataList/index.js.map +0 -1
  811. package/dist/components/ModalDialog/ModalDialog.js.map +0 -1
  812. package/dist/components/ModalDialog/index.js.map +0 -1
  813. package/dist/components/MultiSelect/MultiSelect.js.map +0 -1
  814. package/dist/components/MultiSelect/components/MultiSelectHeader.js.map +0 -1
  815. package/dist/components/MultiSelect/components/MultiSelectItem.js.map +0 -1
  816. package/dist/components/MultiSelect/index.js.map +0 -1
  817. package/dist/components/MultiSelectBox/MultiSelectBox.js.map +0 -1
  818. package/dist/components/MultiSelectBox/index.js.map +0 -1
  819. package/dist/components/Notification/Notification.js.map +0 -1
  820. package/dist/components/Notification/index.js.map +0 -1
  821. package/dist/components/OverlayCloseButton/OverlayCloseButton.js.map +0 -1
  822. package/dist/components/OverlayCloseButton/index.js.map +0 -1
  823. package/dist/components/OverlayStepBar/OverlayStepBar.js.map +0 -1
  824. package/dist/components/OverlayStepBar/index.js.map +0 -1
  825. package/dist/components/PageOverlay/PageOverlay.js.map +0 -1
  826. package/dist/components/PageOverlay/index.js.map +0 -1
  827. package/dist/components/PeriodSelector/PeriodSelector.js.map +0 -1
  828. package/dist/components/PeriodSelector/index.js.map +0 -1
  829. package/dist/components/Periods/Periods.js.map +0 -1
  830. package/dist/components/Periods/index.js.map +0 -1
  831. package/dist/components/ProgrammeCard/ProgrammeCard.js.map +0 -1
  832. package/dist/components/ProgrammeCard/index.js.map +0 -1
  833. package/dist/components/RadioButton/RadioButton.js.map +0 -1
  834. package/dist/components/RadioButton/index.js.map +0 -1
  835. package/dist/components/RadioGroup/RadioGroup.js.map +0 -1
  836. package/dist/components/RadioGroup/index.js.map +0 -1
  837. package/dist/components/RadioTabSelector/RadioTabSelector.js.map +0 -1
  838. package/dist/components/RadioTabSelector/index.js.map +0 -1
  839. package/dist/components/Repeater/Repeater.js.map +0 -1
  840. package/dist/components/Repeater/index.js.map +0 -1
  841. package/dist/components/RteEditor/EditorHeader/EditorHeader.js.map +0 -1
  842. package/dist/components/RteEditor/EditorHeader/index.js.map +0 -1
  843. package/dist/components/RteEditor/Plugins/BlockFormatPlugin/index.js.map +0 -1
  844. package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/AddCatalogueLinkForm.js.map +0 -1
  845. package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/index.js.map +0 -1
  846. package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/index.js.map +0 -1
  847. package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js.map +0 -1
  848. package/dist/components/RteEditor/Plugins/HistoryPlugin/index.js.map +0 -1
  849. package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js.map +0 -1
  850. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js.map +0 -1
  851. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js.map +0 -1
  852. package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js.map +0 -1
  853. package/dist/components/RteEditor/Plugins/LinkPlugin/index.js.map +0 -1
  854. package/dist/components/RteEditor/Plugins/ListPlugin/index.js.map +0 -1
  855. package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js.map +0 -1
  856. package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/index.js.map +0 -1
  857. package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.js.map +0 -1
  858. package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/index.js.map +0 -1
  859. package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js.map +0 -1
  860. package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js.map +0 -1
  861. package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/index.js.map +0 -1
  862. package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js.map +0 -1
  863. package/dist/components/RteEditor/Plugins/TablePlugin/index.js.map +0 -1
  864. package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js.map +0 -1
  865. package/dist/components/RteEditor/Plugins/ToolbarPlugin/index.js.map +0 -1
  866. package/dist/components/RteEditor/Plugins/index.js.map +0 -1
  867. package/dist/components/RteEditor/RteEditor.js.map +0 -1
  868. package/dist/components/RteEditor/UvaTheme/index.js.map +0 -1
  869. package/dist/components/RteEditor/hooks/components/Flyout.js.map +0 -1
  870. package/dist/components/RteEditor/index.js.map +0 -1
  871. package/dist/components/RteEditor/nodes/CourseCatalogueNode/index.js.map +0 -1
  872. package/dist/components/RteEditor/nodes/TableWrapperNode/index.js.map +0 -1
  873. package/dist/components/RteEditor/nodes/index.js.map +0 -1
  874. package/dist/components/SearchField/index.js.map +0 -1
  875. package/dist/components/SectionNotification/SectionNotification.js.map +0 -1
  876. package/dist/components/SectionNotification/index.js.map +0 -1
  877. package/dist/components/SelectListbox/index.js.map +0 -1
  878. package/dist/components/Slider/Slider.js.map +0 -1
  879. package/dist/components/Slider/index.js.map +0 -1
  880. package/dist/components/Sortable/SortableProvider.js.map +0 -1
  881. package/dist/components/Sortable/components/SortableContainer.js.map +0 -1
  882. package/dist/components/Sortable/index.js.map +0 -1
  883. package/dist/components/Spinner/Spinner.js.map +0 -1
  884. package/dist/components/Spinner/index.js.map +0 -1
  885. package/dist/components/StatusBadge/StatusBage.js.map +0 -1
  886. package/dist/components/StatusBadge/index.js.map +0 -1
  887. package/dist/components/StatusPill/StatusPill.js.map +0 -1
  888. package/dist/components/StatusPill/index.js.map +0 -1
  889. package/dist/components/TextArea/TextArea.js.map +0 -1
  890. package/dist/components/TextArea/index.js.map +0 -1
  891. package/dist/components/ToggleSwitch/ToggleSwitch.js.map +0 -1
  892. package/dist/components/ToggleSwitch/index.js.map +0 -1
  893. package/dist/components/Tooltip/Tooltip.js.map +0 -1
  894. package/dist/components/Tooltip/index.js.map +0 -1
  895. package/dist/components/VarIndicator/VarIndicator.js.map +0 -1
  896. package/dist/components/VarIndicator/index.js.map +0 -1
  897. package/dist/components/WeekSelector/index.js.map +0 -1
  898. package/dist/components/index.js.map +0 -1
  899. package/dist/index-B_q_4aBT.js +0 -24946
  900. package/dist/index-B_q_4aBT.js.map +0 -1
  901. package/dist/index-CULNJwuI.js +0 -2355
  902. package/dist/index-CULNJwuI.js.map +0 -1
  903. package/dist/index-D6WVIfcJ.js +0 -6039
  904. package/dist/index-D6WVIfcJ.js.map +0 -1
  905. package/dist/index-YdDr6J97.js +0 -3099
  906. package/dist/index-YdDr6J97.js.map +0 -1
  907. package/dist/index-yEhaxKq-.js +0 -238
  908. package/dist/index-yEhaxKq-.js.map +0 -1
  909. package/dist/index.js.map +0 -1
  910. package/dist/react-18-CxCoNkIN.js +0 -41
  911. package/dist/react-18-CxCoNkIN.js.map +0 -1
  912. package/dist/react.esm-C68fQMAi.js +0 -4237
  913. package/dist/react.esm-C68fQMAi.js.map +0 -1
  914. package/dist/storyComponents/ClipboardButton/ClipboardButton.js.map +0 -1
  915. package/dist/storyComponents/ClipboardButton/index.js.map +0 -1
  916. package/dist/storyComponents/Container/Container.js.map +0 -1
  917. package/dist/storyComponents/Container/index.js.map +0 -1
  918. package/dist/test-utils-BcpWLsLH.js +0 -56
  919. package/dist/test-utils-BcpWLsLH.js.map +0 -1
  920. package/dist/types/UserInterface.js.map +0 -1
  921. package/dist/vite-env.d.js.map +0 -1
@@ -1,108 +1,2 @@
1
- import { jsxs as i, jsx as e } from "react/jsx-runtime";
2
- import { useId as F, useRef as g, useEffect as L } from "react";
3
- import { Button as v } from "../../../../Buttons/Button.js";
4
- import "../../../../Buttons/LinkButton.js";
5
- import "@react-aria/button";
6
- import { FormField as C } from "../../../../FormField/FormField.js";
7
- import { Label as E } from "../../../../Label/Label.js";
8
- import { useTranslation as y } from "../../../hooks/useTranslation.js";
9
- import { InputField as x } from "../../../../InputField/InputField.js";
10
- import { useLanguage as P } from "../../../Providers/LanguageProvider.js";
11
- import { Repeater as A } from "../../../../Repeater/Repeater.js";
12
- import '../../../../../assets/AddCatalogueLinkForm.css';const I = "_courselinkform_16a4f_1", K = "_courselinkform__footer_16a4f_13", $ = "_courselinkform__results_16a4f_20", o = {
13
- courselinkform: I,
14
- "courselinkform__input-field": "_courselinkform__input-field_16a4f_7",
15
- courselinkform__footer: K,
16
- "courselinkform__results-wrapper": "_courselinkform__results-wrapper_16a4f_20",
17
- "courselinkform__results-header": "_courselinkform__results-header_16a4f_24",
18
- courselinkform__results: $,
19
- "courselinkform__result-message": "_courselinkform__result-message_16a4f_41",
20
- "courselinkform__result-item": "_courselinkform__result-item_16a4f_51"
21
- }, W = ({
22
- linkType: n,
23
- onCloseHandler: h,
24
- onSearchHandler: f,
25
- searchResponse: t,
26
- onSelect: u
27
- }) => {
28
- const s = y(), p = `search_${F()}`, c = g(null), k = g(null), { currentLanguage: m } = P(), b = (r) => {
29
- const l = r.target.value;
30
- f && f(l, n);
31
- }, _ = () => {
32
- h();
33
- }, w = (r) => {
34
- r.key === "ArrowDown" && (r.preventDefault(), k.current?.querySelector("button")?.focus());
35
- }, D = (r, l, a, d) => {
36
- switch (r.key) {
37
- case "Escape":
38
- r.preventDefault(), r.stopPropagation(), _();
39
- break;
40
- case "Enter":
41
- r.preventDefault(), u && u(l, a, d);
42
- break;
43
- case "ArrowDown": {
44
- r.preventDefault(), r.stopPropagation(), r.currentTarget.nextElementSibling?.focus();
45
- break;
46
- }
47
- case "ArrowUp": {
48
- r.preventDefault(), r.stopPropagation(), r.currentTarget.previousElementSibling?.focus();
49
- break;
50
- }
51
- case "Tab":
52
- r.preventDefault(), _();
53
- break;
54
- default:
55
- r.preventDefault();
56
- break;
57
- }
58
- };
59
- return L(() => {
60
- c.current && (f("", n), c.current.value = "", c.current.focus());
61
- }, []), /* @__PURE__ */ i("div", { className: o.courselinkform, children: [
62
- /* @__PURE__ */ i(A, { gap: "050", children: [
63
- /* @__PURE__ */ i(C, { className: o["courselinkform__input-field"], children: [
64
- /* @__PURE__ */ e(E, { htmlFor: p, children: s.cataloguelinks[n === "course" ? "searchCourseFieldLabel" : "searchProgrammeFieldLabel"] }),
65
- /* @__PURE__ */ e("div", { className: o["linkform__input-url-wrapper"], children: /* @__PURE__ */ e(
66
- x,
67
- {
68
- id: p,
69
- placeholder: s.cataloguelinks.searchFieldPlaceholder,
70
- onChange: b,
71
- onKeyDown: w,
72
- ref: c,
73
- "aria-label": s.aria.labels.searchField
74
- }
75
- ) })
76
- ] }),
77
- t && t.state === "pending" && /* @__PURE__ */ e("div", { className: o["courselinkform__result-message"], children: s.cataloguelinks.loading }),
78
- t && t.results.length === 0 && t.state === "ready" && /* @__PURE__ */ e("div", { className: o["courselinkform__result-message"], children: s.cataloguelinks.noResults }),
79
- t && t.results.length > 0 && /* @__PURE__ */ i("div", { className: o["courselinkform__results-wrapper"], children: [
80
- /* @__PURE__ */ i("div", { className: o["courselinkform__results-header"], children: [
81
- /* @__PURE__ */ e("span", { children: s.cataloguelinks[n === "course" ? "resultCourseListCatalogNumber" : "resultProgrammeListCatalogNumber"] }),
82
- /* @__PURE__ */ e("span", { children: s.cataloguelinks.resultListName })
83
- ] }),
84
- /* @__PURE__ */ e("div", { className: o.courselinkform__results, ref: k, children: t.results.map(({ id: r, code: l, name: a }) => /* @__PURE__ */ i(
85
- "button",
86
- {
87
- type: "button",
88
- className: o["courselinkform__result-item"],
89
- onClick: () => u && u(l, a[m], n),
90
- onKeyDown: (d) => D(d, l, a[m], n),
91
- tabIndex: 0,
92
- "aria-label": `${l} ${a[m]}`,
93
- children: [
94
- /* @__PURE__ */ e("span", { children: l }),
95
- /* @__PURE__ */ e("span", { children: a[m] })
96
- ]
97
- },
98
- r
99
- )) })
100
- ] })
101
- ] }),
102
- /* @__PURE__ */ e("div", { className: o.courselinkform__footer, children: /* @__PURE__ */ e(v, { variant: "secondary", onClick: _, "aria-label": s.common.cancel, type: "button", children: s.common.cancel }) })
103
- ] });
104
- };
105
- export {
106
- W as AddCatalogueLinkForm
107
- };
108
- //# sourceMappingURL=AddCatalogueLinkForm.js.map
1
+ import { t as e } from "../../../../../AddCatalogueLinkForm-Cy6fPNvN.js";
2
+ export { e as AddCatalogueLinkForm };
@@ -1,5 +1,2 @@
1
- import { AddCatalogueLinkForm as a } from "./AddCatalogueLinkForm.js";
2
- export {
3
- a as AddCatalogueLinkForm
4
- };
5
- //# sourceMappingURL=index.js.map
1
+ import { t as e } from "../../../../../AddCatalogueLinkForm-Cy6fPNvN.js";
2
+ export { e as AddCatalogueLinkForm };
@@ -1,195 +1,151 @@
1
- import { jsx as y, jsxs as U } from "react/jsx-runtime";
2
- import { useState as k, useRef as _, useEffect as x } from "react";
3
- import { c as z } from "../../../../clsx-OuTLNxxd.js";
4
- import { o as X } from "../../../../LexicalComposerContext.prod-DOyoZx0P.js";
5
- import { ap as S, aq as H, $ as A, w as E, y as P, p as D, aP as Y, H as F, e as Z, ag as ee, m as te } from "../../../../Lexical.prod-o6Eq_uLx.js";
6
- import { v as K } from "../../../../LexicalUtils.prod-CF7x-KWm.js";
7
- import { AddCatalogueLinkForm as oe } from "./AddCatalogueLinkForm/AddCatalogueLinkForm.js";
8
- import { s as c } from "../../../../RteEditor.module-CoTOIw5i.js";
9
- import { useTranslation as re } from "../../hooks/useTranslation.js";
10
- import { CourseCatalogueNode as b, $getLinkTypeFromNode as $, REMOVE_COURSE_CATALOGUE_LINK as se, INSERT_COURSE_CATALOGUE_LINK as ne } from "../../nodes/CourseCatalogueNode/CourseCatalogueNode.js";
11
- import { useOnClickOutside as ae } from "../../../hooks/useOnClickOutside.js";
12
- const Ce = ({
13
- onSearch: R,
14
- searchResponse: j,
15
- parentScrollPosition: G
16
- }) => {
17
- const [s] = X(), f = re(), [M, h] = k(!1), [V, L] = k(!1), B = _(null), w = _(null), O = _(null), [m, N] = k(null), [v, W] = k("course"), q = _(m !== null), C = (n) => {
18
- W(n);
19
- const l = n === "course" ? B.current?.getBoundingClientRect() : w.current?.getBoundingClientRect();
20
- l && N({ top: l.bottom, left: l.left });
21
- }, d = () => {
22
- R("", v), N(null);
23
- };
24
- x(() => {
25
- const n = s.registerCommand(
26
- S,
27
- (e) => e.ctrlKey && e.shiftKey && e.altKey && e.key === "C" ? (e.preventDefault(), C("course"), !0) : e.ctrlKey && e.shiftKey && e.altKey && e.key === "P" ? (e.preventDefault(), C("programme"), !0) : !1,
28
- H
29
- ), l = s.registerUpdateListener(({ editorState: e }) => {
30
- e.read(() => {
31
- const r = A();
32
- if (E(r)) {
33
- const t = r.anchor.getNode(), a = r.anchor.offset;
34
- if (P(t) && a === t.getTextContentSize() && t.getNextSibling() instanceof b) {
35
- const o = t.getNextSibling();
36
- if (o) {
37
- const g = $(o);
38
- h(g === "course"), L(g === "programme");
39
- return;
40
- }
41
- }
42
- const i = K(t, b);
43
- if (i) {
44
- const o = $(i);
45
- h(o === "course"), L(o === "programme");
46
- return;
47
- }
48
- h(!1), L(!1);
49
- }
50
- });
51
- }), p = (e) => {
52
- const r = ee(), t = e.getTextContentSize();
53
- r.setTextNodeRange(e, t, e, t), te(r);
54
- }, T = (e, r) => P(e) && r === e.getTextContentSize() && e.getNextSibling() instanceof b, J = s.registerCommand(
55
- S,
56
- (e) => {
57
- const r = A();
58
- if (E(r)) {
59
- const t = e.key, a = r.anchor.getNode(), i = r.anchor.offset;
60
- let o = K(a, b);
61
- if (T(a, i) && (o = a.getNextSibling()), !o)
62
- return !1;
63
- const g = o?.getTextContentSize();
64
- if (o && e.key === "Enter")
65
- return e.preventDefault(), s.update(() => {
66
- if (T(a, i)) {
67
- const u = D(`
68
- `);
69
- o.insertBefore(u);
70
- }
71
- if (i === g) {
72
- const u = D(`
73
- `);
74
- o.insertAfter(u), p(u);
75
- }
76
- }), !0;
77
- if (o && (t === " " || e.code === "Space"))
78
- return e.preventDefault(), s.update(() => {
79
- const u = D(" ");
80
- T(a, i) && (o.insertBefore(u), p(u)), i === g && (o.insertAfter(u), p(u));
81
- }), !0;
82
- if (o && (t === "Backspace" || t === "Delete"))
83
- return e.preventDefault(), s.update(
84
- () => {
85
- s.dispatchCommand(se, void 0);
86
- },
87
- { discrete: !0 }
88
- ), !0;
89
- if (o && t !== "ArrowLeft" && t !== "ArrowRight" && t !== "ArrowUp" && t !== "ArrowDown" && t !== "Home" && t !== "End" && !(e.ctrlKey && (t.toLowerCase() === "z" || t.toLowerCase() === "y")) && !(e.ctrlKey && t.toLowerCase() === "c"))
90
- return e.preventDefault(), !0;
91
- }
92
- return !1;
93
- },
94
- H
95
- ), Q = s.registerCommand(
96
- Y,
97
- (e) => {
98
- const r = A();
99
- if (E(r)) {
100
- const t = r.anchor.getNode(), a = K(t, b);
101
- if (a) {
102
- e.preventDefault();
103
- const i = s.getElementByKey(a.getKey());
104
- return i && (e.clipboardData?.setData("text/html", i.outerHTML), e.clipboardData?.setData("text/plain", a.getTextContent())), !0;
105
- }
106
- }
107
- return !1;
108
- },
109
- F
110
- );
111
- return () => {
112
- n(), l(), J(), Q();
113
- };
114
- }, [s]), ae(O, () => N(null));
115
- const I = () => {
116
- d();
117
- };
118
- return x(() => Z(
119
- s.registerCommand(
120
- S,
121
- (n) => n.key === "Escape" && q.current ? (n.preventDefault(), d(), !0) : !1,
122
- F
123
- ),
124
- s.registerRootListener((n, l) => {
125
- l && l.removeEventListener("scroll", I), n && n.addEventListener("scroll", I);
126
- })
127
- ), [s]), x(() => {
128
- m && d();
129
- }, [G]), /* @__PURE__ */ y("div", { className: c["editor__toolbar-button-group"], children: /* @__PURE__ */ U("div", { className: c["editor__toolbar-button-flyoutwrapper"], children: [
130
- /* @__PURE__ */ U("div", { className: c["editor__toolbar-button-group--text"], children: [
131
- /* @__PURE__ */ y(
132
- "button",
133
- {
134
- onClick: () => C("course"),
135
- title: f.cataloguelinks.courseTooltip,
136
- className: z(
137
- c["editor__toolbar-button"],
138
- c["editor__toolbar-button--text"],
139
- M && c["editor__toolbar-button--active"]
140
- ),
141
- "aria-label": f.aria.labels.courselink,
142
- "aria-keyshortcuts": f.aria.keyshortcuts.courselink,
143
- type: "button",
144
- ref: B,
145
- children: f.cataloguelinks.courseButtonLabel
146
- }
147
- ),
148
- /* @__PURE__ */ y(
149
- "button",
150
- {
151
- onClick: () => C("programme"),
152
- title: f.cataloguelinks.programmeTooltip,
153
- className: z(
154
- c["editor__toolbar-button"],
155
- c["editor__toolbar-button--text"],
156
- V && c["editor__toolbar-button--active"]
157
- ),
158
- "aria-label": f.aria.labels.programmelink,
159
- "aria-keyshortcuts": f.aria.keyshortcuts.programmelink,
160
- type: "button",
161
- ref: w,
162
- children: f.cataloguelinks.programmeButtonLabel
163
- }
164
- )
165
- ] }),
166
- m && /* @__PURE__ */ y(
167
- "div",
168
- {
169
- className: c["editor__toolbar-flyout-wrapper"],
170
- style: { top: m.top, left: m.left },
171
- ref: O,
172
- children: /* @__PURE__ */ y(
173
- oe,
174
- {
175
- linkType: v,
176
- onCloseHandler: d,
177
- onSearchHandler: R,
178
- searchResponse: j,
179
- onSelect: (n, l, p) => {
180
- s.dispatchCommand(ne, {
181
- linkType: p,
182
- code: n,
183
- label: l
184
- }), d();
185
- }
186
- }
187
- )
188
- }
189
- )
190
- ] }) });
1
+ import { t as e } from "../../../../clsx-BD2qMUU1.js";
2
+ import { t } from "../../../../LexicalComposerContext.prod-Ca-YN_fj.js";
3
+ import { Ct as n, Hn as r, Ln as i, N as a, Vt as o, hn as s, jn as c, n as l, ot as u } from "../../../../Lexical.prod-DCGjHGxG.js";
4
+ import { l as d } from "../../../../LexicalUtils.prod-BzrjMu6t.js";
5
+ import { $getLinkTypeFromNode as f, CourseCatalogueNode as p, INSERT_COURSE_CATALOGUE_LINK as m, REMOVE_COURSE_CATALOGUE_LINK as h } from "../../nodes/CourseCatalogueNode/CourseCatalogueNode.js";
6
+ import { t as g } from "../../../../RteEditor.module-Jk80F1FA.js";
7
+ import { t as _ } from "../../../../AddCatalogueLinkForm-Cy6fPNvN.js";
8
+ import { useTranslation as v } from "../../hooks/useTranslation.js";
9
+ import { useOnClickOutside as y } from "../../../hooks/useOnClickOutside.js";
10
+ import { useEffect as b, useRef as x, useState as S } from "react";
11
+ import { jsx as C, jsxs as w } from "react/jsx-runtime";
12
+ //#region src/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.tsx
13
+ var T = ({ onSearch: T, searchResponse: E, parentScrollPosition: D }) => {
14
+ let [O] = t(), k = v(), [A, j] = S(!1), [M, N] = S(!1), P = x(null), F = x(null), I = x(null), [L, R] = S(null), [z, B] = S("course"), V = x(L !== null), H = (e) => {
15
+ B(e);
16
+ let t = e === "course" ? P.current?.getBoundingClientRect() : F.current?.getBoundingClientRect();
17
+ t && R({
18
+ top: t.bottom,
19
+ left: t.left
20
+ });
21
+ }, U = () => {
22
+ T("", z), R(null);
23
+ };
24
+ b(() => {
25
+ let e = O.registerCommand(u, (e) => e.ctrlKey && e.shiftKey && e.altKey && e.key === "C" ? (e.preventDefault(), H("course"), !0) : e.ctrlKey && e.shiftKey && e.altKey && e.key === "P" ? (e.preventDefault(), H("programme"), !0) : !1, 4), t = O.registerUpdateListener(({ editorState: e }) => {
26
+ e.read(() => {
27
+ let e = l();
28
+ if (c(e)) {
29
+ let t = e.anchor.getNode(), n = e.anchor.offset;
30
+ if (i(t) && n === t.getTextContentSize() && t.getNextSibling() instanceof p) {
31
+ let e = t.getNextSibling();
32
+ if (e) {
33
+ let t = f(e);
34
+ j(t === "course"), N(t === "programme");
35
+ return;
36
+ }
37
+ }
38
+ let r = d(t, p);
39
+ if (r) {
40
+ let e = f(r);
41
+ j(e === "course"), N(e === "programme");
42
+ return;
43
+ }
44
+ j(!1), N(!1);
45
+ }
46
+ });
47
+ }), o = (e) => {
48
+ let t = n(), i = e.getTextContentSize();
49
+ t.setTextNodeRange(e, i, e, i), r(t);
50
+ }, m = (e, t) => i(e) && t === e.getTextContentSize() && e.getNextSibling() instanceof p, g = O.registerCommand(u, (e) => {
51
+ let t = l();
52
+ if (c(t)) {
53
+ let n = e.key, r = t.anchor.getNode(), i = t.anchor.offset, a = d(r, p);
54
+ if (m(r, i) && (a = r.getNextSibling()), !a) return !1;
55
+ let c = a?.getTextContentSize();
56
+ if (a && e.key === "Enter") return e.preventDefault(), O.update(() => {
57
+ if (m(r, i)) {
58
+ let e = s("\n");
59
+ a.insertBefore(e);
60
+ }
61
+ if (i === c) {
62
+ let e = s("\n");
63
+ a.insertAfter(e), o(e);
64
+ }
65
+ }), !0;
66
+ if (a && (n === " " || e.code === "Space")) return e.preventDefault(), O.update(() => {
67
+ let e = s(" ");
68
+ m(r, i) && (a.insertBefore(e), o(e)), i === c && (a.insertAfter(e), o(e));
69
+ }), !0;
70
+ if (a && (n === "Backspace" || n === "Delete")) return e.preventDefault(), O.update(() => {
71
+ O.dispatchCommand(h, void 0);
72
+ }, { discrete: !0 }), !0;
73
+ if (a && n !== "ArrowLeft" && n !== "ArrowRight" && n !== "ArrowUp" && n !== "ArrowDown" && n !== "Home" && n !== "End" && !(e.ctrlKey && (n.toLowerCase() === "z" || n.toLowerCase() === "y")) && !(e.ctrlKey && n.toLowerCase() === "c")) return e.preventDefault(), !0;
74
+ }
75
+ return !1;
76
+ }, 4), _ = O.registerCommand(a, (e) => {
77
+ let t = l();
78
+ if (c(t)) {
79
+ let n = d(t.anchor.getNode(), p);
80
+ if (n) {
81
+ e.preventDefault();
82
+ let t = O.getElementByKey(n.getKey());
83
+ return t && (e.clipboardData?.setData("text/html", t.outerHTML), e.clipboardData?.setData("text/plain", n.getTextContent())), !0;
84
+ }
85
+ }
86
+ return !1;
87
+ }, 1);
88
+ return () => {
89
+ e(), t(), g(), _();
90
+ };
91
+ }, [O]), y(I, () => R(null));
92
+ let W = () => {
93
+ U();
94
+ };
95
+ return b(() => o(O.registerCommand(u, (e) => e.key === "Escape" && V.current ? (e.preventDefault(), U(), !0) : !1, 1), O.registerRootListener((e, t) => {
96
+ t && t.removeEventListener("scroll", W), e && e.addEventListener("scroll", W);
97
+ })), [O]), b(() => {
98
+ L && U();
99
+ }, [D]), /* @__PURE__ */ C("div", {
100
+ className: g["editor__toolbar-button-group"],
101
+ children: /* @__PURE__ */ w("div", {
102
+ className: g["editor__toolbar-button-flyoutwrapper"],
103
+ children: [/* @__PURE__ */ w("div", {
104
+ className: g["editor__toolbar-button-group--text"],
105
+ children: [/* @__PURE__ */ C("button", {
106
+ onClick: () => H("course"),
107
+ title: k.cataloguelinks.courseTooltip,
108
+ className: e(g["editor__toolbar-button"], g["editor__toolbar-button--text"], A && g["editor__toolbar-button--active"]),
109
+ "aria-label": k.aria.labels.courselink,
110
+ "aria-keyshortcuts": k.aria.keyshortcuts.courselink,
111
+ type: "button",
112
+ ref: P,
113
+ children: k.cataloguelinks.courseButtonLabel
114
+ }), /* @__PURE__ */ C("button", {
115
+ onClick: () => H("programme"),
116
+ title: k.cataloguelinks.programmeTooltip,
117
+ className: e(g["editor__toolbar-button"], g["editor__toolbar-button--text"], M && g["editor__toolbar-button--active"]),
118
+ "aria-label": k.aria.labels.programmelink,
119
+ "aria-keyshortcuts": k.aria.keyshortcuts.programmelink,
120
+ type: "button",
121
+ ref: F,
122
+ children: k.cataloguelinks.programmeButtonLabel
123
+ })]
124
+ }), L && /* @__PURE__ */ C("div", {
125
+ className: g["editor__toolbar-flyout-wrapper"],
126
+ style: {
127
+ top: L.top,
128
+ left: L.left
129
+ },
130
+ ref: I,
131
+ children: /* @__PURE__ */ C(_, {
132
+ linkType: z,
133
+ onCloseHandler: U,
134
+ onSearchHandler: T,
135
+ searchResponse: E,
136
+ onSelect: (e, t, n) => {
137
+ O.dispatchCommand(m, {
138
+ linkType: n,
139
+ code: e,
140
+ label: t
141
+ }), U();
142
+ }
143
+ })
144
+ })]
145
+ })
146
+ });
191
147
  };
192
- export {
193
- Ce as CourseCataloguePlugin
194
- };
195
- //# sourceMappingURL=CourseCataloguePlugin.js.map
148
+ //#endregion
149
+ export { T as CourseCataloguePlugin };
150
+
151
+ //# sourceMappingURL=CourseCataloguePlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CourseCataloguePlugin.js","sources":["../../../../../src/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\nimport { clsx } from 'clsx';\r\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\r\nimport {\r\n $createRangeSelection,\r\n $createTextNode,\r\n $getSelection,\r\n $isRangeSelection,\r\n $isTextNode,\r\n $setSelection,\r\n COMMAND_PRIORITY_CRITICAL,\r\n COMMAND_PRIORITY_LOW,\r\n COPY_COMMAND,\r\n KEY_DOWN_COMMAND,\r\n mergeRegister,\r\n} from 'lexical';\r\nimport { $getNearestNodeOfType } from '@lexical/utils';\r\n\r\nimport type { RefObject } from 'react';\r\nimport type { LexicalNode, TextNode } from 'lexical';\r\nimport type { SearchResponse } from './AddCatalogueLinkForm';\r\n\r\nimport { AddCatalogueLinkForm } from './AddCatalogueLinkForm';\r\n\r\nimport styles from 'components/RteEditor/RteEditor.module.css';\r\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\r\nimport {\r\n $getLinkTypeFromNode,\r\n CourseCatalogueNode,\r\n INSERT_COURSE_CATALOGUE_LINK,\r\n REMOVE_COURSE_CATALOGUE_LINK,\r\n} from 'components/RteEditor/nodes/CourseCatalogueNode';\r\nimport { useOnClickOutside } from 'components/hooks/useOnClickOutside';\r\n\r\ninterface CourseCataloguePluginProps {\r\n onSearch: (query: string, linkType: 'course' | 'programme') => void;\r\n searchResponse: SearchResponse;\r\n parentScrollPosition: number;\r\n}\r\n\r\nexport const CourseCataloguePlugin = ({\r\n onSearch,\r\n searchResponse,\r\n parentScrollPosition,\r\n}: CourseCataloguePluginProps) => {\r\n const [editor] = useLexicalComposerContext();\r\n const t = useTranslation();\r\n const [courseIsActive, setCourseIsActive] = useState(false);\r\n const [programmeIsActive, setProgrammeIsActive] = useState(false);\r\n const courseButtonRef = useRef<HTMLButtonElement>(null);\r\n const programmeButtonRef = useRef<HTMLButtonElement>(null);\r\n const flyoutRef = useRef<HTMLDivElement>(null);\r\n const [flyoutPosition, setFlyoutPosition] = useState<{ top: number; left: number } | null>(null);\r\n const [type, setType] = useState<'course' | 'programme'>('course');\r\n const isVisibleRef = useRef(flyoutPosition !== null);\r\n\r\n const openFlyout = (type: 'course' | 'programme') => {\r\n setType(type);\r\n const rect =\r\n type === 'course'\r\n ? courseButtonRef.current?.getBoundingClientRect()\r\n : programmeButtonRef.current?.getBoundingClientRect();\r\n if (rect) {\r\n setFlyoutPosition({ top: rect.bottom, left: rect.left });\r\n }\r\n };\r\n\r\n const closeFlyout = () => {\r\n onSearch('', type);\r\n setFlyoutPosition(null);\r\n };\r\n\r\n useEffect(() => {\r\n const removeKeyboardShortcut = editor.registerCommand(\r\n KEY_DOWN_COMMAND,\r\n (event: KeyboardEvent) => {\r\n if (event.ctrlKey && event.shiftKey && event.altKey && event.key === 'C') {\r\n event.preventDefault();\r\n openFlyout('course');\r\n return true;\r\n }\r\n if (event.ctrlKey && event.shiftKey && event.altKey && event.key === 'P') {\r\n event.preventDefault();\r\n openFlyout('programme');\r\n return true;\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_CRITICAL\r\n );\r\n\r\n const removeStatusListener = editor.registerUpdateListener(({ editorState }) => {\r\n editorState.read(() => {\r\n const selection = $getSelection();\r\n if ($isRangeSelection(selection)) {\r\n const anchorNode = selection.anchor.getNode();\r\n const offset = selection.anchor.offset;\r\n\r\n if (\r\n $isTextNode(anchorNode) &&\r\n offset === anchorNode.getTextContentSize() &&\r\n anchorNode.getNextSibling() instanceof CourseCatalogueNode\r\n ) {\r\n // Cursor staat aan het begin van de link!\r\n const courseCatalogueLink = anchorNode.getNextSibling();\r\n if (courseCatalogueLink) {\r\n const linkType = $getLinkTypeFromNode(courseCatalogueLink);\r\n setCourseIsActive(linkType === 'course');\r\n setProgrammeIsActive(linkType === 'programme');\r\n return;\r\n }\r\n }\r\n\r\n const courseCatalogueLink = $getNearestNodeOfType(anchorNode, CourseCatalogueNode);\r\n if (courseCatalogueLink) {\r\n const linkType = $getLinkTypeFromNode(courseCatalogueLink);\r\n setCourseIsActive(linkType === 'course');\r\n setProgrammeIsActive(linkType === 'programme');\r\n return;\r\n }\r\n setCourseIsActive(false);\r\n setProgrammeIsActive(false);\r\n }\r\n });\r\n });\r\n\r\n const moveToEndOfWhiteSpace = (whiteSpace: TextNode) => {\r\n const selection = $createRangeSelection();\r\n const endOffset = whiteSpace.getTextContentSize();\r\n selection.setTextNodeRange(whiteSpace, endOffset, whiteSpace, endOffset);\r\n $setSelection(selection);\r\n };\r\n\r\n const isCursorBeforeLink = (anchorNode: LexicalNode, offset: number) =>\r\n $isTextNode(anchorNode) &&\r\n offset === anchorNode.getTextContentSize() &&\r\n anchorNode.getNextSibling() instanceof CourseCatalogueNode;\r\n\r\n const removeUnEditable = editor.registerCommand(\r\n KEY_DOWN_COMMAND,\r\n (event: KeyboardEvent) => {\r\n const selection = $getSelection();\r\n if ($isRangeSelection(selection)) {\r\n const key = event.key;\r\n const anchorNode = selection.anchor.getNode();\r\n const offset = selection.anchor.offset;\r\n let courseCatalogueLink = $getNearestNodeOfType(anchorNode, CourseCatalogueNode);\r\n\r\n // Detect if cursor is right before the link\r\n if (isCursorBeforeLink(anchorNode, offset)) {\r\n courseCatalogueLink = anchorNode.getNextSibling();\r\n }\r\n\r\n if (!courseCatalogueLink) {\r\n return false;\r\n }\r\n\r\n const nodeLength = courseCatalogueLink?.getTextContentSize();\r\n\r\n // Prevent Enter if in the middle of the link, allow only at start or end\r\n if (courseCatalogueLink && event.key === 'Enter') {\r\n event.preventDefault();\r\n editor.update(() => {\r\n if (isCursorBeforeLink(anchorNode, offset)) {\r\n const brNode = $createTextNode('\\n');\r\n courseCatalogueLink.insertBefore(brNode);\r\n }\r\n if (offset === nodeLength) {\r\n const brNode = $createTextNode('\\n');\r\n courseCatalogueLink.insertAfter(brNode);\r\n moveToEndOfWhiteSpace(brNode);\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n // Allow add space before or after the link\r\n if (courseCatalogueLink && (key === ' ' || event.code === 'Space')) {\r\n event.preventDefault();\r\n editor.update(() => {\r\n const spaceToAdd = $createTextNode(' ');\r\n if (isCursorBeforeLink(anchorNode, offset)) {\r\n courseCatalogueLink.insertBefore(spaceToAdd);\r\n moveToEndOfWhiteSpace(spaceToAdd);\r\n }\r\n if (offset === nodeLength) {\r\n courseCatalogueLink.insertAfter(spaceToAdd);\r\n moveToEndOfWhiteSpace(spaceToAdd);\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n // Delete link if selected and Backspace or Del is pressed\r\n if (courseCatalogueLink && (key === 'Backspace' || key === 'Delete')) {\r\n event.preventDefault();\r\n editor.update(\r\n () => {\r\n editor.dispatchCommand(REMOVE_COURSE_CATALOGUE_LINK, undefined);\r\n },\r\n { discrete: true }\r\n );\r\n return true;\r\n }\r\n\r\n // Allow Home, End and Arrow navigation\r\n if (\r\n courseCatalogueLink &&\r\n key !== 'ArrowLeft' &&\r\n key !== 'ArrowRight' &&\r\n key !== 'ArrowUp' &&\r\n key !== 'ArrowDown' &&\r\n key !== 'Home' &&\r\n key !== 'End' &&\r\n !(event.ctrlKey && (key.toLowerCase() === 'z' || key.toLowerCase() === 'y')) &&\r\n !(event.ctrlKey && key.toLowerCase() === 'c')\r\n ) {\r\n event.preventDefault();\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_CRITICAL\r\n );\r\n\r\n const removeCopy = editor.registerCommand(\r\n COPY_COMMAND,\r\n (event: ClipboardEvent) => {\r\n const selection = $getSelection();\r\n if ($isRangeSelection(selection)) {\r\n const anchorNode = selection.anchor.getNode();\r\n const courseCatalogueLink = $getNearestNodeOfType(anchorNode, CourseCatalogueNode);\r\n if (courseCatalogueLink) {\r\n event.preventDefault();\r\n const domElement = editor.getElementByKey(courseCatalogueLink.getKey());\r\n if (domElement) {\r\n event.clipboardData?.setData('text/html', domElement.outerHTML);\r\n event.clipboardData?.setData('text/plain', courseCatalogueLink.getTextContent());\r\n }\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_LOW\r\n );\r\n return () => {\r\n removeKeyboardShortcut();\r\n removeStatusListener();\r\n removeUnEditable();\r\n removeCopy();\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [editor]);\r\n\r\n useOnClickOutside(flyoutRef as RefObject<HTMLElement>, () => setFlyoutPosition(null));\r\n\r\n const handleOnScroll = () => {\r\n closeFlyout();\r\n };\r\n\r\n useEffect(() => {\r\n return mergeRegister(\r\n editor.registerCommand(\r\n KEY_DOWN_COMMAND,\r\n (event: KeyboardEvent) => {\r\n if (event.key === 'Escape' && isVisibleRef.current) {\r\n event.preventDefault();\r\n closeFlyout();\r\n return true;\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_LOW\r\n ),\r\n\r\n editor.registerRootListener((rootElement, prevRootElement) => {\r\n if (prevRootElement) {\r\n prevRootElement.removeEventListener('scroll', handleOnScroll);\r\n }\r\n\r\n if (rootElement) {\r\n rootElement.addEventListener('scroll', handleOnScroll);\r\n }\r\n })\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [editor]);\r\n\r\n useEffect(() => {\r\n if (flyoutPosition) {\r\n closeFlyout();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [parentScrollPosition]);\r\n\r\n return (\r\n <div className={styles['editor__toolbar-button-group']}>\r\n <div className={styles['editor__toolbar-button-flyoutwrapper']}>\r\n <div className={styles['editor__toolbar-button-group--text']}>\r\n <button\r\n onClick={() => openFlyout('course')}\r\n title={t.cataloguelinks.courseTooltip}\r\n className={clsx(\r\n styles['editor__toolbar-button'],\r\n styles['editor__toolbar-button--text'],\r\n courseIsActive && styles[`editor__toolbar-button--active`]\r\n )}\r\n aria-label={t.aria.labels.courselink}\r\n aria-keyshortcuts={t.aria.keyshortcuts.courselink}\r\n type=\"button\"\r\n ref={courseButtonRef}\r\n >\r\n {t.cataloguelinks.courseButtonLabel}\r\n </button>\r\n <button\r\n onClick={() => openFlyout('programme')}\r\n title={t.cataloguelinks.programmeTooltip}\r\n className={clsx(\r\n styles['editor__toolbar-button'],\r\n styles['editor__toolbar-button--text'],\r\n programmeIsActive && styles[`editor__toolbar-button--active`]\r\n )}\r\n aria-label={t.aria.labels.programmelink}\r\n aria-keyshortcuts={t.aria.keyshortcuts.programmelink}\r\n type=\"button\"\r\n ref={programmeButtonRef}\r\n >\r\n {t.cataloguelinks.programmeButtonLabel}\r\n </button>\r\n </div>\r\n {flyoutPosition && (\r\n <div\r\n className={styles['editor__toolbar-flyout-wrapper']}\r\n style={{ top: flyoutPosition.top, left: flyoutPosition.left }}\r\n ref={flyoutRef}\r\n >\r\n <AddCatalogueLinkForm\r\n linkType={type}\r\n onCloseHandler={closeFlyout}\r\n onSearchHandler={onSearch}\r\n searchResponse={searchResponse}\r\n onSelect={(code, label, linkType) => {\r\n editor.dispatchCommand(INSERT_COURSE_CATALOGUE_LINK, {\r\n linkType,\r\n code,\r\n label,\r\n });\r\n closeFlyout();\r\n }}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n"],"names":["CourseCataloguePlugin","onSearch","searchResponse","parentScrollPosition","editor","useLexicalComposerContext","t","useTranslation","courseIsActive","setCourseIsActive","useState","programmeIsActive","setProgrammeIsActive","courseButtonRef","useRef","programmeButtonRef","flyoutRef","flyoutPosition","setFlyoutPosition","type","setType","isVisibleRef","openFlyout","rect","closeFlyout","useEffect","removeKeyboardShortcut","KEY_DOWN_COMMAND","event","COMMAND_PRIORITY_CRITICAL","removeStatusListener","editorState","selection","$getSelection","$isRangeSelection","anchorNode","offset","$isTextNode","CourseCatalogueNode","courseCatalogueLink","linkType","$getLinkTypeFromNode","$getNearestNodeOfType","moveToEndOfWhiteSpace","whiteSpace","$createRangeSelection","endOffset","$setSelection","isCursorBeforeLink","removeUnEditable","key","nodeLength","brNode","$createTextNode","spaceToAdd","REMOVE_COURSE_CATALOGUE_LINK","removeCopy","COPY_COMMAND","domElement","COMMAND_PRIORITY_LOW","useOnClickOutside","handleOnScroll","mergeRegister","rootElement","prevRootElement","jsx","styles","jsxs","clsx","AddCatalogueLinkForm","code","label","INSERT_COURSE_CATALOGUE_LINK"],"mappings":"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"}
1
+ {"version":3,"file":"CourseCataloguePlugin.js","names":[],"sources":["../../../../../src/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\nimport { clsx } from 'clsx';\r\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\r\nimport {\r\n $createRangeSelection,\r\n $createTextNode,\r\n $getSelection,\r\n $isRangeSelection,\r\n $isTextNode,\r\n $setSelection,\r\n COMMAND_PRIORITY_CRITICAL,\r\n COMMAND_PRIORITY_LOW,\r\n COPY_COMMAND,\r\n KEY_DOWN_COMMAND,\r\n mergeRegister,\r\n} from 'lexical';\r\nimport { $getNearestNodeOfType } from '@lexical/utils';\r\n\r\nimport type { RefObject } from 'react';\r\nimport type { LexicalNode, TextNode } from 'lexical';\r\nimport type { SearchResponse } from './AddCatalogueLinkForm';\r\n\r\nimport { AddCatalogueLinkForm } from './AddCatalogueLinkForm';\r\n\r\nimport styles from 'components/RteEditor/RteEditor.module.css';\r\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\r\nimport {\r\n $getLinkTypeFromNode,\r\n CourseCatalogueNode,\r\n INSERT_COURSE_CATALOGUE_LINK,\r\n REMOVE_COURSE_CATALOGUE_LINK,\r\n} from 'components/RteEditor/nodes/CourseCatalogueNode';\r\nimport { useOnClickOutside } from 'components/hooks/useOnClickOutside';\r\n\r\ninterface CourseCataloguePluginProps {\r\n onSearch: (query: string, linkType: 'course' | 'programme') => void;\r\n searchResponse: SearchResponse;\r\n parentScrollPosition: number;\r\n}\r\n\r\nexport const CourseCataloguePlugin = ({\r\n onSearch,\r\n searchResponse,\r\n parentScrollPosition,\r\n}: CourseCataloguePluginProps) => {\r\n const [editor] = useLexicalComposerContext();\r\n const t = useTranslation();\r\n const [courseIsActive, setCourseIsActive] = useState(false);\r\n const [programmeIsActive, setProgrammeIsActive] = useState(false);\r\n const courseButtonRef = useRef<HTMLButtonElement>(null);\r\n const programmeButtonRef = useRef<HTMLButtonElement>(null);\r\n const flyoutRef = useRef<HTMLDivElement>(null);\r\n const [flyoutPosition, setFlyoutPosition] = useState<{ top: number; left: number } | null>(null);\r\n const [type, setType] = useState<'course' | 'programme'>('course');\r\n const isVisibleRef = useRef(flyoutPosition !== null);\r\n\r\n const openFlyout = (type: 'course' | 'programme') => {\r\n setType(type);\r\n const rect =\r\n type === 'course'\r\n ? courseButtonRef.current?.getBoundingClientRect()\r\n : programmeButtonRef.current?.getBoundingClientRect();\r\n if (rect) {\r\n setFlyoutPosition({ top: rect.bottom, left: rect.left });\r\n }\r\n };\r\n\r\n const closeFlyout = () => {\r\n onSearch('', type);\r\n setFlyoutPosition(null);\r\n };\r\n\r\n useEffect(() => {\r\n const removeKeyboardShortcut = editor.registerCommand(\r\n KEY_DOWN_COMMAND,\r\n (event: KeyboardEvent) => {\r\n if (event.ctrlKey && event.shiftKey && event.altKey && event.key === 'C') {\r\n event.preventDefault();\r\n openFlyout('course');\r\n return true;\r\n }\r\n if (event.ctrlKey && event.shiftKey && event.altKey && event.key === 'P') {\r\n event.preventDefault();\r\n openFlyout('programme');\r\n return true;\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_CRITICAL\r\n );\r\n\r\n const removeStatusListener = editor.registerUpdateListener(({ editorState }) => {\r\n editorState.read(() => {\r\n const selection = $getSelection();\r\n if ($isRangeSelection(selection)) {\r\n const anchorNode = selection.anchor.getNode();\r\n const offset = selection.anchor.offset;\r\n\r\n if (\r\n $isTextNode(anchorNode) &&\r\n offset === anchorNode.getTextContentSize() &&\r\n anchorNode.getNextSibling() instanceof CourseCatalogueNode\r\n ) {\r\n // Cursor staat aan het begin van de link!\r\n const courseCatalogueLink = anchorNode.getNextSibling();\r\n if (courseCatalogueLink) {\r\n const linkType = $getLinkTypeFromNode(courseCatalogueLink);\r\n setCourseIsActive(linkType === 'course');\r\n setProgrammeIsActive(linkType === 'programme');\r\n return;\r\n }\r\n }\r\n\r\n const courseCatalogueLink = $getNearestNodeOfType(anchorNode, CourseCatalogueNode);\r\n if (courseCatalogueLink) {\r\n const linkType = $getLinkTypeFromNode(courseCatalogueLink);\r\n setCourseIsActive(linkType === 'course');\r\n setProgrammeIsActive(linkType === 'programme');\r\n return;\r\n }\r\n setCourseIsActive(false);\r\n setProgrammeIsActive(false);\r\n }\r\n });\r\n });\r\n\r\n const moveToEndOfWhiteSpace = (whiteSpace: TextNode) => {\r\n const selection = $createRangeSelection();\r\n const endOffset = whiteSpace.getTextContentSize();\r\n selection.setTextNodeRange(whiteSpace, endOffset, whiteSpace, endOffset);\r\n $setSelection(selection);\r\n };\r\n\r\n const isCursorBeforeLink = (anchorNode: LexicalNode, offset: number) =>\r\n $isTextNode(anchorNode) &&\r\n offset === anchorNode.getTextContentSize() &&\r\n anchorNode.getNextSibling() instanceof CourseCatalogueNode;\r\n\r\n const removeUnEditable = editor.registerCommand(\r\n KEY_DOWN_COMMAND,\r\n (event: KeyboardEvent) => {\r\n const selection = $getSelection();\r\n if ($isRangeSelection(selection)) {\r\n const key = event.key;\r\n const anchorNode = selection.anchor.getNode();\r\n const offset = selection.anchor.offset;\r\n let courseCatalogueLink = $getNearestNodeOfType(anchorNode, CourseCatalogueNode);\r\n\r\n // Detect if cursor is right before the link\r\n if (isCursorBeforeLink(anchorNode, offset)) {\r\n courseCatalogueLink = anchorNode.getNextSibling();\r\n }\r\n\r\n if (!courseCatalogueLink) {\r\n return false;\r\n }\r\n\r\n const nodeLength = courseCatalogueLink?.getTextContentSize();\r\n\r\n // Prevent Enter if in the middle of the link, allow only at start or end\r\n if (courseCatalogueLink && event.key === 'Enter') {\r\n event.preventDefault();\r\n editor.update(() => {\r\n if (isCursorBeforeLink(anchorNode, offset)) {\r\n const brNode = $createTextNode('\\n');\r\n courseCatalogueLink.insertBefore(brNode);\r\n }\r\n if (offset === nodeLength) {\r\n const brNode = $createTextNode('\\n');\r\n courseCatalogueLink.insertAfter(brNode);\r\n moveToEndOfWhiteSpace(brNode);\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n // Allow add space before or after the link\r\n if (courseCatalogueLink && (key === ' ' || event.code === 'Space')) {\r\n event.preventDefault();\r\n editor.update(() => {\r\n const spaceToAdd = $createTextNode(' ');\r\n if (isCursorBeforeLink(anchorNode, offset)) {\r\n courseCatalogueLink.insertBefore(spaceToAdd);\r\n moveToEndOfWhiteSpace(spaceToAdd);\r\n }\r\n if (offset === nodeLength) {\r\n courseCatalogueLink.insertAfter(spaceToAdd);\r\n moveToEndOfWhiteSpace(spaceToAdd);\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n // Delete link if selected and Backspace or Del is pressed\r\n if (courseCatalogueLink && (key === 'Backspace' || key === 'Delete')) {\r\n event.preventDefault();\r\n editor.update(\r\n () => {\r\n editor.dispatchCommand(REMOVE_COURSE_CATALOGUE_LINK, undefined);\r\n },\r\n { discrete: true }\r\n );\r\n return true;\r\n }\r\n\r\n // Allow Home, End and Arrow navigation\r\n if (\r\n courseCatalogueLink &&\r\n key !== 'ArrowLeft' &&\r\n key !== 'ArrowRight' &&\r\n key !== 'ArrowUp' &&\r\n key !== 'ArrowDown' &&\r\n key !== 'Home' &&\r\n key !== 'End' &&\r\n !(event.ctrlKey && (key.toLowerCase() === 'z' || key.toLowerCase() === 'y')) &&\r\n !(event.ctrlKey && key.toLowerCase() === 'c')\r\n ) {\r\n event.preventDefault();\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_CRITICAL\r\n );\r\n\r\n const removeCopy = editor.registerCommand(\r\n COPY_COMMAND,\r\n (event: ClipboardEvent) => {\r\n const selection = $getSelection();\r\n if ($isRangeSelection(selection)) {\r\n const anchorNode = selection.anchor.getNode();\r\n const courseCatalogueLink = $getNearestNodeOfType(anchorNode, CourseCatalogueNode);\r\n if (courseCatalogueLink) {\r\n event.preventDefault();\r\n const domElement = editor.getElementByKey(courseCatalogueLink.getKey());\r\n if (domElement) {\r\n event.clipboardData?.setData('text/html', domElement.outerHTML);\r\n event.clipboardData?.setData('text/plain', courseCatalogueLink.getTextContent());\r\n }\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_LOW\r\n );\r\n return () => {\r\n removeKeyboardShortcut();\r\n removeStatusListener();\r\n removeUnEditable();\r\n removeCopy();\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [editor]);\r\n\r\n useOnClickOutside(flyoutRef as RefObject<HTMLElement>, () => setFlyoutPosition(null));\r\n\r\n const handleOnScroll = () => {\r\n closeFlyout();\r\n };\r\n\r\n useEffect(() => {\r\n return mergeRegister(\r\n editor.registerCommand(\r\n KEY_DOWN_COMMAND,\r\n (event: KeyboardEvent) => {\r\n if (event.key === 'Escape' && isVisibleRef.current) {\r\n event.preventDefault();\r\n closeFlyout();\r\n return true;\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_LOW\r\n ),\r\n\r\n editor.registerRootListener((rootElement, prevRootElement) => {\r\n if (prevRootElement) {\r\n prevRootElement.removeEventListener('scroll', handleOnScroll);\r\n }\r\n\r\n if (rootElement) {\r\n rootElement.addEventListener('scroll', handleOnScroll);\r\n }\r\n })\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [editor]);\r\n\r\n useEffect(() => {\r\n if (flyoutPosition) {\r\n closeFlyout();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [parentScrollPosition]);\r\n\r\n return (\r\n <div className={styles['editor__toolbar-button-group']}>\r\n <div className={styles['editor__toolbar-button-flyoutwrapper']}>\r\n <div className={styles['editor__toolbar-button-group--text']}>\r\n <button\r\n onClick={() => openFlyout('course')}\r\n title={t.cataloguelinks.courseTooltip}\r\n className={clsx(\r\n styles['editor__toolbar-button'],\r\n styles['editor__toolbar-button--text'],\r\n courseIsActive && styles[`editor__toolbar-button--active`]\r\n )}\r\n aria-label={t.aria.labels.courselink}\r\n aria-keyshortcuts={t.aria.keyshortcuts.courselink}\r\n type=\"button\"\r\n ref={courseButtonRef}\r\n >\r\n {t.cataloguelinks.courseButtonLabel}\r\n </button>\r\n <button\r\n onClick={() => openFlyout('programme')}\r\n title={t.cataloguelinks.programmeTooltip}\r\n className={clsx(\r\n styles['editor__toolbar-button'],\r\n styles['editor__toolbar-button--text'],\r\n programmeIsActive && styles[`editor__toolbar-button--active`]\r\n )}\r\n aria-label={t.aria.labels.programmelink}\r\n aria-keyshortcuts={t.aria.keyshortcuts.programmelink}\r\n type=\"button\"\r\n ref={programmeButtonRef}\r\n >\r\n {t.cataloguelinks.programmeButtonLabel}\r\n </button>\r\n </div>\r\n {flyoutPosition && (\r\n <div\r\n className={styles['editor__toolbar-flyout-wrapper']}\r\n style={{ top: flyoutPosition.top, left: flyoutPosition.left }}\r\n ref={flyoutRef}\r\n >\r\n <AddCatalogueLinkForm\r\n linkType={type}\r\n onCloseHandler={closeFlyout}\r\n onSearchHandler={onSearch}\r\n searchResponse={searchResponse}\r\n onSelect={(code, label, linkType) => {\r\n editor.dispatchCommand(INSERT_COURSE_CATALOGUE_LINK, {\r\n linkType,\r\n code,\r\n label,\r\n });\r\n closeFlyout();\r\n }}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n"],"mappings":"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"}
@@ -1,5 +1,2 @@
1
- import { CourseCataloguePlugin as r } from "./CourseCataloguePlugin.js";
2
- export {
3
- r as CourseCataloguePlugin
4
- };
5
- //# sourceMappingURL=index.js.map
1
+ import { CourseCataloguePlugin as e } from "./CourseCataloguePlugin.js";
2
+ export { e as CourseCataloguePlugin };