@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
@@ -0,0 +1,101 @@
1
+ import { Icon as e } from "./components/Icon/Icon.js";
2
+ import { Button as t } from "./components/Buttons/Button.js";
3
+ import { n } from "./helpers-DcFTH1J1.js";
4
+ import { useTranslation as r } from "./components/RteEditor/hooks/useTranslation.js";
5
+ import { forwardRef as i, useImperativeHandle as a, useLayoutEffect as o, useRef as s, useState as c } from "react";
6
+ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
7
+ import './assets/LinkContextMenu.css';//#region src/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.module.css
8
+ var f = {
9
+ "link-context-menu__wrapper": "_link-context-menu__wrapper_njt00_1",
10
+ "link-context-menu__input": "_link-context-menu__input_njt00_7",
11
+ "link-context-menu__button": "_link-context-menu__button_njt00_25",
12
+ "link-context-menu__actions": "_link-context-menu__actions_njt00_36"
13
+ }, p = i(({ url: i, onSave: p, onDelete: m, onClose: h }, g) => {
14
+ let _ = r(), [v, y] = c(i), [b, x] = c(!1), S = s(null), C = () => {
15
+ y(i), x(!1), S.current?.blur();
16
+ }, w = () => {
17
+ p(v), C();
18
+ }, T = () => {
19
+ m(), y(""), C();
20
+ }, E = () => {
21
+ C(), h();
22
+ }, D = () => {
23
+ window.open(n(i), "_blank");
24
+ };
25
+ return a(g, () => ({ clearForm: C })), o(() => {
26
+ y(i);
27
+ let e = (e) => {
28
+ e.ctrlKey && e.shiftKey && e.key === "L" && (e.preventDefault(), x(!0), setTimeout(() => S.current?.focus(), 0)), e.ctrlKey && e.shiftKey && e.code === "Digit1" && (e.preventDefault(), D(), setTimeout(() => S.current?.focus(), 0)), e.ctrlKey && e.shiftKey && e.key === "Q" && (e.preventDefault(), T(), setTimeout(() => S.current?.focus(), 0));
29
+ };
30
+ return window.addEventListener("keydown", e), () => {
31
+ window.removeEventListener("keydown", e);
32
+ };
33
+ }, [i]), /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ d("div", {
34
+ className: f["link-context-menu__wrapper"],
35
+ children: [
36
+ /* @__PURE__ */ u("input", {
37
+ type: "text",
38
+ value: v,
39
+ onChange: (e) => y(e.target.value),
40
+ className: f["link-context-menu__input"],
41
+ disabled: !b,
42
+ ref: S
43
+ }),
44
+ !b && /* @__PURE__ */ u("button", {
45
+ type: "button",
46
+ className: f["link-context-menu__button"],
47
+ onClick: () => x(!0),
48
+ title: _.links.linkEdittip,
49
+ "aria-label": _.aria.labels.link,
50
+ "aria-keyshortcuts": _.aria.keyshortcuts.editlink,
51
+ children: /* @__PURE__ */ u(e, {
52
+ name: "Pencil",
53
+ size: 20
54
+ })
55
+ }),
56
+ /* @__PURE__ */ u("button", {
57
+ type: "button",
58
+ className: f["link-context-menu__button"],
59
+ onClick: D,
60
+ title: _.links.linkTesttip,
61
+ "aria-label": _.aria.labels.link,
62
+ "aria-keyshortcuts": _.aria.keyshortcuts.testlink,
63
+ children: /* @__PURE__ */ u(e, {
64
+ name: "ArrowTopRightOnSquare",
65
+ size: 20
66
+ })
67
+ }),
68
+ /* @__PURE__ */ u("button", {
69
+ type: "button",
70
+ className: f["link-context-menu__button"],
71
+ onClick: T,
72
+ title: _.links.linkDeletetip,
73
+ "aria-label": _.aria.labels.link,
74
+ "aria-keyshortcuts": _.aria.keyshortcuts.deletelink,
75
+ children: /* @__PURE__ */ u(e, {
76
+ name: "LinkSlash",
77
+ size: 20
78
+ })
79
+ })
80
+ ]
81
+ }), b && /* @__PURE__ */ d("div", {
82
+ className: f["link-context-menu__actions"],
83
+ children: [/* @__PURE__ */ u(t, {
84
+ variant: "secondary",
85
+ onClick: E,
86
+ "aria-label": _.common.cancel,
87
+ type: "button",
88
+ children: _.common.cancel
89
+ }), /* @__PURE__ */ u(t, {
90
+ variant: "primary",
91
+ onClick: w,
92
+ "aria-label": _.aria.labels.linkOkButton,
93
+ type: "button",
94
+ children: _.links.addLink
95
+ })]
96
+ })] });
97
+ });
98
+ //#endregion
99
+ export { p as t };
100
+
101
+ //# sourceMappingURL=LinkContextMenu-DZlKfbg1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkContextMenu-DZlKfbg1.js","names":[],"sources":["../src/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.module.css","../src/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.tsx"],"sourcesContent":[".link-context-menu__wrapper {\n align-items: center;\n display: flex;\n justify-content: flex-start;\n}\n\n.link-context-menu__input {\n appearance: none;\n background-color: transparent;\n border: 2px solid var(--color-navy-600);\n border-radius: 0.5rem;\n color: var(--color-uva-black);\n font-family: inherit;\n font-size: inherit;\n height: 2.5rem;\n margin: 0 0.5rem 0 0;\n min-width: 20rem;\n padding: 0 0.5rem;\n}\n\n.link-context-menu__input:disabled {\n border-color: transparent;\n}\n\n.link-context-menu__button {\n aspect-ratio: 1;\n background-color: transparent;\n border: none;\n border-radius: 0.5rem;\n color: var(--color-uva-black);\n cursor: pointer;\n font-size: inherit;\n height: 2.5rem;\n}\n\n.link-context-menu__actions {\n align-items: center;\n display: flex;\n gap: 0.5rem;\n justify-content: flex-end;\n margin-top: 1rem;\n}\n","import { forwardRef, useImperativeHandle, useLayoutEffect, useRef, useState } from 'react';\n\nimport styles from './LinkContextMenu.module.css';\n\nimport { ensureHttps } from 'components/RteEditor/Plugins/LinkPlugin/helpers';\nimport { Icon } from 'components/Icon';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\nimport { Button } from 'components/Buttons';\n\ninterface LinkContextMenuProps {\n url: string;\n onSave: (url: string) => void;\n onDelete: () => void;\n onClose: () => void;\n}\n\nexport interface linkFormMethods {\n clearForm: () => void;\n}\n\nexport const LinkContextMenu = forwardRef(({ url, onSave, onDelete, onClose }: LinkContextMenuProps, ref) => {\n const t = useTranslation();\n const [link, setLink] = useState(url);\n const [editable, setEditable] = useState(false);\n const linkRef = useRef<HTMLInputElement>(null);\n\n const reset = () => {\n setLink(url);\n setEditable(false);\n linkRef.current?.blur();\n };\n\n const handleSave = () => {\n onSave(link);\n reset();\n };\n\n const handleDelete = () => {\n onDelete();\n setLink('');\n reset();\n };\n\n const handleClose = () => {\n reset();\n onClose();\n };\n\n const handlePreview = () => {\n window.open(ensureHttps(url), '_blank');\n };\n\n useImperativeHandle(ref, () => ({\n clearForm: reset,\n }));\n\n useLayoutEffect(() => {\n setLink(url);\n\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.ctrlKey && event.shiftKey && event.key === 'L') {\n event.preventDefault();\n setEditable(true);\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n\n if (event.ctrlKey && event.shiftKey && event.code === 'Digit1') {\n event.preventDefault();\n handlePreview();\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n\n if (event.ctrlKey && event.shiftKey && event.key === 'Q') {\n event.preventDefault();\n handleDelete();\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n };\n\n window.addEventListener('keydown', handleKeydown);\n\n return () => {\n window.removeEventListener('keydown', handleKeydown);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url]);\n\n return (\n <>\n <div className={styles['link-context-menu__wrapper']}>\n <input\n type=\"text\"\n value={link}\n onChange={(event) => setLink(event.target.value)}\n className={styles['link-context-menu__input']}\n disabled={!editable}\n ref={linkRef}\n />\n {!editable && (\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={() => setEditable(true)}\n title={t.links.linkEdittip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.editlink}\n >\n <Icon name=\"Pencil\" size={20} />\n </button>\n )}\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={handlePreview}\n title={t.links.linkTesttip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.testlink}\n >\n <Icon name=\"ArrowTopRightOnSquare\" size={20} />\n </button>\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={handleDelete}\n title={t.links.linkDeletetip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.deletelink}\n >\n <Icon name=\"LinkSlash\" size={20} />\n </button>\n </div>\n {editable && (\n <div className={styles['link-context-menu__actions']}>\n <Button variant={'secondary'} onClick={handleClose} aria-label={t.common.cancel} type=\"button\">\n {t.common.cancel}\n </Button>\n <Button variant={'primary'} onClick={handleSave} aria-label={t.aria.labels.linkOkButton} type=\"button\">\n {t.links.addLink}\n </Button>\n </div>\n )}\n </>\n );\n});\n"],"mappings":";;;;;;;;;;;;GCoBa,IAAkB,GAAY,EAAE,QAAK,WAAQ,aAAU,cAAiC,MAAQ;CAC3G,IAAM,IAAI,GAAgB,EACpB,CAAC,GAAM,KAAW,EAAS,EAAI,EAC/B,CAAC,GAAU,KAAe,EAAS,GAAM,EACzC,IAAU,EAAyB,KAAK,EAExC,UAAc;AAGlB,EAFA,EAAQ,EAAI,EACZ,EAAY,GAAM,EAClB,EAAQ,SAAS,MAAM;IAGnB,UAAmB;AAEvB,EADA,EAAO,EAAK,EACZ,GAAO;IAGH,UAAqB;AAGzB,EAFA,GAAU,EACV,EAAQ,GAAG,EACX,GAAO;IAGH,UAAoB;AAExB,EADA,GAAO,EACP,GAAS;IAGL,UAAsB;AAC1B,SAAO,KAAK,EAAY,EAAI,EAAE,SAAS;;AAsCzC,QAnCA,EAAoB,UAAY,EAC9B,WAAW,GACZ,EAAE,EAEH,QAAsB;AACpB,IAAQ,EAAI;EAEZ,IAAM,KAAiB,MAAyB;AAa9C,GAZI,EAAM,WAAW,EAAM,YAAY,EAAM,QAAQ,QACnD,EAAM,gBAAgB,EACtB,EAAY,GAAK,EACjB,iBAAiB,EAAQ,SAAS,OAAO,EAAE,EAAE,GAG3C,EAAM,WAAW,EAAM,YAAY,EAAM,SAAS,aACpD,EAAM,gBAAgB,EACtB,GAAe,EACf,iBAAiB,EAAQ,SAAS,OAAO,EAAE,EAAE,GAG3C,EAAM,WAAW,EAAM,YAAY,EAAM,QAAQ,QACnD,EAAM,gBAAgB,EACtB,GAAc,EACd,iBAAiB,EAAQ,SAAS,OAAO,EAAE,EAAE;;AAMjD,SAFA,OAAO,iBAAiB,WAAW,EAAc,QAEpC;AACX,UAAO,oBAAoB,WAAW,EAAc;;IAGrD,CAAC,EAAI,CAAC,EAGP,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB;GACE,kBAAC,SAAD;IACE,MAAK;IACL,OAAO;IACP,WAAW,MAAU,EAAQ,EAAM,OAAO,MAAM;IAChD,WAAW,EAAO;IAClB,UAAU,CAAC;IACX,KAAK;IACL,CAAA;GACD,CAAC,KACA,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,eAAe,EAAY,GAAK;IAChC,OAAO,EAAE,MAAM;IACf,cAAY,EAAE,KAAK,OAAO;IAC1B,qBAAmB,EAAE,KAAK,aAAa;cAEvC,kBAAC,GAAD;KAAM,MAAK;KAAS,MAAM;KAAM,CAAA;IACzB,CAAA;GAEX,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,SAAS;IACT,OAAO,EAAE,MAAM;IACf,cAAY,EAAE,KAAK,OAAO;IAC1B,qBAAmB,EAAE,KAAK,aAAa;cAEvC,kBAAC,GAAD;KAAM,MAAK;KAAwB,MAAM;KAAM,CAAA;IACxC,CAAA;GACT,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,SAAS;IACT,OAAO,EAAE,MAAM;IACf,cAAY,EAAE,KAAK,OAAO;IAC1B,qBAAmB,EAAE,KAAK,aAAa;cAEvC,kBAAC,GAAD;KAAM,MAAK;KAAY,MAAM;KAAM,CAAA;IAC5B,CAAA;GACL;KACL,KACC,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB,CACE,kBAAC,GAAD;GAAQ,SAAS;GAAa,SAAS;GAAa,cAAY,EAAE,OAAO;GAAQ,MAAK;aACnF,EAAE,OAAO;GACH,CAAA,EACT,kBAAC,GAAD;GAAQ,SAAS;GAAW,SAAS;GAAY,cAAY,EAAE,KAAK,OAAO;GAAc,MAAK;aAC3F,EAAE,MAAM;GACF,CAAA,CACL;IAEP,EAAA,CAAA;EAEL"}
@@ -0,0 +1,21 @@
1
+ import { t as e } from "./clsx-BD2qMUU1.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ import { NavLink as n, useLocation as r } from "react-router";
4
+ import './assets/MenuLink2.css';//#region src/components/MenuLink/MenuLink.module.css
5
+ var i = {
6
+ "menu-link": "_menu-link_8gjhh_1",
7
+ "menu-link--active": "_menu-link--active_8gjhh_8"
8
+ }, a = ({ overrideDefault: a, ...o }) => {
9
+ let s = r(), c = (e) => e.replace(/s$/, ""), l = (e) => {
10
+ let t = s.pathname.split("/").filter(Boolean), n = e.split("/").filter(Boolean).slice(-1)[0], r = c(n);
11
+ return t.some((e) => c(e) === r);
12
+ };
13
+ return /* @__PURE__ */ t(n, {
14
+ ...o,
15
+ className: ({ isActive: t }) => e(i["menu-link"], { [i["menu-link--active"]]: a ? "" : t || l(o.to) })
16
+ });
17
+ };
18
+ //#endregion
19
+ export { a as t };
20
+
21
+ //# sourceMappingURL=MenuLink-Cm1yZO_5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuLink-Cm1yZO_5.js","names":[],"sources":["../src/components/MenuLink/MenuLink.module.css","../src/components/MenuLink/MenuLink.tsx"],"sourcesContent":[".menu-link {\n border-bottom: 0.125rem solid transparent;\n text-decoration: none;\n transition: var(--transition-colors) var(--default-duration) var(--default-easing-function);\n}\n\n.menu-link:hover,\n.menu-link--active {\n border-bottom-color: inherit;\n color: unset;\n}\n\n.menu-link--active {\n font-weight: var(--semibold);\n}\n","import classNames from 'clsx';\nimport { NavLink, useLocation } from 'react-router';\n\nimport type { NavLinkProps } from 'react-router';\n\nimport styles from './MenuLink.module.css';\n\n/** Represents a component for a [NavLink](https://reactrouter.com/en/main/components/nav-link) with styling. */\n// Omit style so it cannot be accidentally used\nexport interface MenuLinkProps extends Omit<NavLinkProps, 'style'> {\n overrideDefault?: boolean;\n}\n\nexport const MenuLink = ({ overrideDefault, ...props }: MenuLinkProps) => {\n const location = useLocation();\n\n // Helper function to remove trailing 's' from a string\n const singularize = (str: string) => str.replace(/s$/, '');\n\n // Check if 'to' path (singular version) matches any segment (singular version)\n const isActiveSingular = (to: string) => {\n const currentSegments = location.pathname.split('/').filter(Boolean);\n const latestToPath = to.split('/').filter(Boolean).slice(-1)[0]; // return only lates path removing any prepend path\n const singularizedToPath = singularize(latestToPath);\n\n return currentSegments.some((segment) => singularize(segment) === singularizedToPath);\n };\n\n return (\n <NavLink\n {...props}\n className={({ isActive }) =>\n classNames(styles['menu-link'], {\n [styles['menu-link--active']]: overrideDefault ? '' : isActive || isActiveSingular(props.to as string),\n })\n }\n />\n );\n};\n"],"mappings":";;;;;;;GCaa,KAAY,EAAE,oBAAiB,GAAG,QAA2B;CACxE,IAAM,IAAW,GAAa,EAGxB,KAAe,MAAgB,EAAI,QAAQ,MAAM,GAAG,EAGpD,KAAoB,MAAe;EACvC,IAAM,IAAkB,EAAS,SAAS,MAAM,IAAI,CAAC,OAAO,QAAQ,EAC9D,IAAe,EAAG,MAAM,IAAI,CAAC,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,IACvD,IAAqB,EAAY,EAAa;AAEpD,SAAO,EAAgB,MAAM,MAAY,EAAY,EAAQ,KAAK,EAAmB;;AAGvF,QACE,kBAAC,GAAD;EACE,GAAI;EACJ,YAAY,EAAE,kBACZ,EAAW,EAAO,cAAc,GAC7B,EAAO,uBAAuB,IAAkB,KAAK,KAAY,EAAiB,EAAM,GAAa,EACvG,CAAC;EAEJ,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { Icon as e } from "./components/Icon/Icon.js";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ import './assets/MetaDataBar.css';//#region src/components/MetaDataBar/MetaDataBar.module.css
4
+ var r = {
5
+ "meta-data-bar": "_meta-data-bar_1kexb_1",
6
+ "meta-data-bar__item": "_meta-data-bar__item_1kexb_12"
7
+ }, i = ({ itemData: i }) => /* @__PURE__ */ t("div", {
8
+ className: r["meta-data-bar"],
9
+ children: i.map(({ iconName: i, itemLabel: a }) => a.indexOf("undefined") === -1 && /* @__PURE__ */ n("div", {
10
+ className: r["meta-data-bar__item"],
11
+ children: [/* @__PURE__ */ t(e, {
12
+ name: i,
13
+ size: 16
14
+ }), /* @__PURE__ */ t("span", {
15
+ className: r["meta-data-bar__item-label"],
16
+ children: a
17
+ })]
18
+ }, a))
19
+ });
20
+ //#endregion
21
+ export { i as t };
22
+
23
+ //# sourceMappingURL=MetaDataBar-C4QO9oBV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetaDataBar-C4QO9oBV.js","names":[],"sources":["../src/components/MetaDataBar/MetaDataBar.module.css","../src/components/MetaDataBar/MetaDataBar.tsx"],"sourcesContent":[".meta-data-bar {\n align-items: center;\n background-color: var(--color-uva-white);\n color: var(--color-grey-700);\n display: flex;\n flex-wrap: wrap;\n gap: 1.5rem;\n padding: 1rem;\n width: fit-content;\n}\n\n.meta-data-bar__item {\n align-items: center;\n display: flex;\n font-size: var(--font-size-text-non-essential);\n gap: 0.5rem;\n line-height: 1.5rem;\n white-space: nowrap;\n}\n","import type { IconProps } from 'components/Icon';\n\nimport styles from './MetaDataBar.module.css';\n\nimport { Icon } from 'components/Icon';\n\nexport type itemType = {\n iconName: IconProps['name'];\n itemLabel: string;\n};\n\nexport interface MetaDataBarProps {\n /** A array of itemType object's to display in the bar. itemType { iconName: IconProps['name']; itemLabel: string; } */\n itemData: itemType[];\n}\n\n/** Represents a component that displays a array of data in a bar. */\nexport const MetaDataBar = ({ itemData }: MetaDataBarProps) => {\n return (\n <div className={styles['meta-data-bar']}>\n {itemData.map(({ iconName, itemLabel }) => {\n return (\n itemLabel.indexOf('undefined') === -1 && (\n <div className={styles['meta-data-bar__item']} key={itemLabel}>\n <Icon name={iconName} size={16} />\n <span className={styles['meta-data-bar__item-label']}>{itemLabel}</span>\n </div>\n )\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;;;GCiBa,KAAe,EAAE,kBAE1B,kBAAC,OAAD;CAAK,WAAW,EAAO;WACpB,EAAS,KAAK,EAAE,aAAU,mBAEvB,EAAU,QAAQ,YAAY,KAAK,MACjC,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB,CACE,kBAAC,GAAD;GAAM,MAAM;GAAU,MAAM;GAAM,CAAA,EAClC,kBAAC,QAAD;GAAM,WAAW,EAAO;aAA+B;GAAiB,CAAA,CACpE;IAH8C,EAG9C,CAGV;CACE,CAAA"}
@@ -0,0 +1,24 @@
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
+ import './assets/MetaDataList.css';//#region src/components/MetaDataList/MetaDataList.module.css
3
+ var n = {
4
+ "meta-data-list": "_meta-data-list_1kah2_1",
5
+ "meta-data-list__item": "_meta-data-list__item_1kah2_5",
6
+ "meta-data-list__term": "_meta-data-list__term_1kah2_16",
7
+ "meta-data-list__description": "_meta-data-list__description_1kah2_20"
8
+ }, r = ({ items: r }) => /* @__PURE__ */ e("dl", {
9
+ className: n["meta-data-list"],
10
+ children: Object.entries(r).map(([r, i]) => /* @__PURE__ */ t("div", {
11
+ className: n["meta-data-list__item"],
12
+ children: [/* @__PURE__ */ e("dt", {
13
+ className: n["meta-data-list__term"],
14
+ children: r
15
+ }), /* @__PURE__ */ e("dd", {
16
+ className: n["meta-data-list__description"],
17
+ children: i
18
+ })]
19
+ }, r))
20
+ });
21
+ //#endregion
22
+ export { r as t };
23
+
24
+ //# sourceMappingURL=MetaDataList-CAR1HTYs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetaDataList-CAR1HTYs.js","names":[],"sources":["../src/components/MetaDataList/MetaDataList.module.css","../src/components/MetaDataList/MetaDataList.tsx"],"sourcesContent":[".meta-data-list {\n margin: 0;\n}\n\n.meta-data-list__item {\n display: flex;\n gap: 1rem;\n justify-content: space-between;\n padding: 0.5rem 0;\n}\n\n.meta-data-list__item:not(:last-of-type) {\n border-bottom: 1px solid var(--color-grey-400);\n}\n\n.meta-data-list__term {\n color: var(--color-grey-700);\n}\n\n.meta-data-list__description {\n align-items: center;\n display: inline-flex;\n font-weight: var(--semibold);\n margin: 0;\n text-align: right;\n}\n","import type { ReactNode } from 'react';\n\nimport styles from './MetaDataList.module.css';\n\nexport interface MetaDataListProps {\n /** A list of key value pairs to display. The value is be a [ReactNode](https://reactnative.dev/docs/react-node). */\n items: Record<string, ReactNode>;\n}\n\n/** Represents a component of a list of key value pairs. */\nexport const MetaDataList = ({ items }: MetaDataListProps) => (\n <dl className={styles['meta-data-list']}>\n {Object.entries(items).map(([term, description]) => (\n <div key={term} className={styles['meta-data-list__item']}>\n <dt className={styles['meta-data-list__term']}>{term}</dt>\n <dd className={styles['meta-data-list__description']}>{description}</dd>\n </div>\n ))}\n </dl>\n);\n"],"mappings":";;;;;;;GCUa,KAAgB,EAAE,eAC7B,kBAAC,MAAD;CAAI,WAAW,EAAO;WACnB,OAAO,QAAQ,EAAM,CAAC,KAAK,CAAC,GAAM,OACjC,kBAAC,OAAD;EAAgB,WAAW,EAAO;YAAlC,CACE,kBAAC,MAAD;GAAI,WAAW,EAAO;aAA0B;GAAU,CAAA,EAC1D,kBAAC,MAAD;GAAI,WAAW,EAAO;aAAiC;GAAiB,CAAA,CACpE;IAHI,EAGJ,CACN;CACC,CAAA"}
@@ -0,0 +1,114 @@
1
+ import { t as e } from "./clsx-BD2qMUU1.js";
2
+ import { t } from "./Backdrop-D8AHeuBn.js";
3
+ import { t as n } from "./OverlayCloseButton-rttFbAM_.js";
4
+ import { t as r } from "./Spinner-D8tWqg9j.js";
5
+ import { useEffect as i, useRef as a, useState as o } from "react";
6
+ import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
7
+ import { useDialog as u } from "@react-aria/dialog";
8
+ import { FocusScope as d } from "@react-aria/focus";
9
+ import { OverlayContainer as f, useModal as p, useOverlay as m, usePreventScroll as h } from "@react-aria/overlays";
10
+ import './assets/ModalDialog.css';//#region src/components/ModalDialog/ModalDialog.module.css
11
+ var g = {
12
+ "modal-dialog": "_modal-dialog_15zh0_1",
13
+ "modal-dialog--padded": "_modal-dialog--padded_15zh0_18",
14
+ "modal-dialog__content": "_modal-dialog__content_15zh0_22",
15
+ "modal-dialog__children": "_modal-dialog__children_15zh0_33",
16
+ "modal-dialog__title": "_modal-dialog__title_15zh0_37",
17
+ "modal-dialog--confirm": "_modal-dialog--confirm_15zh0_44",
18
+ "modal-dialog__buttons": "_modal-dialog__buttons_15zh0_48",
19
+ "modal-dialog__buttons--border": "_modal-dialog__buttons--border_15zh0_61",
20
+ "modal-dialog__buttons--shadow": "_modal-dialog__buttons--shadow_15zh0_78",
21
+ "modal-dialog__close": "_modal-dialog__close_15zh0_82",
22
+ "modal-dialog--small": "_modal-dialog--small_15zh0_99",
23
+ "modal-dialog--regular": "_modal-dialog--regular_15zh0_103",
24
+ "modal-dialog--medium": "_modal-dialog--medium_15zh0_107",
25
+ "modal-dialog--large": "_modal-dialog--large_15zh0_111",
26
+ "modal-dialog--content-with-buttons": "_modal-dialog--content-with-buttons_15zh0_125"
27
+ };
28
+ //#endregion
29
+ //#region src/components/ModalDialog/ModalDialog.tsx
30
+ function _(_) {
31
+ let { buttons: v, children: y, isDismissable: b = !0, isKeyboardDismissDisabled: x = !b, isLoading: S, spinnerAriaValueText: C = "Loading", closeButtonAriaValueText: w = "Close", isOpen: T, noValidate: E = !1, onClose: D, onSubmit: O, role: k = "dialog", title: A, headerContent: j, variant: M = "dialog", padded: N, size: P = "regular", noButtonBorder: F = !1 } = _, I = a(null), L = a(null), [R, z] = o(!1), [B, V] = o(!1), { dialogProps: H, titleProps: U } = u({ role: k }, I), { modalProps: W } = p({ isDisabled: !T }), { overlayProps: G, underlayProps: K } = m({
32
+ isDismissable: b,
33
+ isKeyboardDismissDisabled: x,
34
+ isOpen: T,
35
+ onClose: D
36
+ }, I);
37
+ h({ isDisabled: !T }), i(() => {
38
+ let e = L.current;
39
+ function t() {
40
+ if (e) {
41
+ let t = e.scrollHeight, n = e.clientHeight, r = e.scrollTop;
42
+ z(t > n), V(r + n >= t);
43
+ }
44
+ }
45
+ function n() {
46
+ t();
47
+ }
48
+ e && (e.addEventListener("scroll", n), window.addEventListener("resize", n));
49
+ let r = setTimeout(() => {
50
+ t();
51
+ }, 0);
52
+ return () => {
53
+ e && e.removeEventListener("scroll", n), window.removeEventListener("resize", n), clearTimeout(r);
54
+ };
55
+ }, [T, j]);
56
+ function q(e) {
57
+ e.stopPropagation();
58
+ }
59
+ return T ? /* @__PURE__ */ c(f, { children: /* @__PURE__ */ c(t, {
60
+ ...K,
61
+ children: S ? /* @__PURE__ */ c(r, { ariaValueText: C }) : /* @__PURE__ */ c(s, { children: /* @__PURE__ */ c(d, {
62
+ autoFocus: !0,
63
+ contain: !0,
64
+ restoreFocus: !0,
65
+ children: /* @__PURE__ */ l("div", {
66
+ ...H,
67
+ ...W,
68
+ ...G,
69
+ className: e(g["modal-dialog"], [g[`modal-dialog--${P}`]], {
70
+ [g["modal-dialog--confirm"]]: M === "confirm",
71
+ [g["modal-dialog--padded"]]: N
72
+ }),
73
+ onKeyUp: q,
74
+ role: "presentation",
75
+ ref: I,
76
+ children: [(A || j) && M === "dialog" && /* @__PURE__ */ l(s, { children: [
77
+ A && /* @__PURE__ */ c("h1", {
78
+ ...U,
79
+ className: g["modal-dialog__title"],
80
+ children: A
81
+ }),
82
+ j,
83
+ M === "dialog" && /* @__PURE__ */ c("span", {
84
+ className: g["modal-dialog__close"],
85
+ children: /* @__PURE__ */ c(n, {
86
+ "aria-label": w,
87
+ onClick: D,
88
+ paddedModal: N
89
+ })
90
+ })
91
+ ] }), /* @__PURE__ */ l("form", {
92
+ className: e(g["modal-dialog__content"], { [g["modal-dialog--content-with-buttons"]]: v }),
93
+ onSubmit: O,
94
+ noValidate: E,
95
+ ref: L,
96
+ children: [/* @__PURE__ */ c("div", {
97
+ className: e({ [g["modal-dialog__children"]]: !F }),
98
+ children: y
99
+ }), v && /* @__PURE__ */ c("div", {
100
+ className: e(g["modal-dialog__buttons"], {
101
+ [g["modal-dialog__buttons--border"]]: !F,
102
+ [g["modal-dialog__buttons--shadow"]]: R && !B
103
+ }),
104
+ children: v
105
+ })]
106
+ })]
107
+ })
108
+ }) })
109
+ }) }) : null;
110
+ }
111
+ //#endregion
112
+ export { _ as t };
113
+
114
+ //# sourceMappingURL=ModalDialog-HUkDdAJ-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalDialog-HUkDdAJ-.js","names":[],"sources":["../src/components/ModalDialog/ModalDialog.module.css","../src/components/ModalDialog/ModalDialog.tsx"],"sourcesContent":[".modal-dialog {\n --modal-dialog-padding: 1.5rem;\n --modal-dialog-padding-mobile: 1.25rem;\n\n background: var(--color-uva-white);\n box-shadow:\n 0 2px 2px hsl(0deg 0% 0% / 6%),\n 0 4px 3px hsla(0deg 0% 0% / 7%);\n display: flex;\n flex-direction: column;\n\n /* dynamic view height needed to adapt for possible auto hiding of mobile address bar */\n height: 100dvh;\n position: relative;\n width: 100vw;\n}\n\n.modal-dialog--padded {\n padding: 0;\n}\n\n.modal-dialog__content {\n display: flex;\n flex-direction: column;\n height: 100svh;\n justify-content: space-between;\n overflow: hidden;\n overflow-y: auto;\n padding: 0 var(--modal-dialog-padding-mobile);\n width: 100%;\n}\n\n.modal-dialog__children {\n padding-bottom: var(--modal-dialog-padding-mobile);\n}\n\n.modal-dialog__title {\n font-size: var(--font-size-m);\n line-height: var(--line-height-m);\n margin: 0 var(--modal-dialog-padding-mobile) 0 0;\n padding: var(--modal-dialog-padding-mobile);\n}\n\n.modal-dialog--confirm {\n padding: var(--modal-dialog-padding-mobile) 0 0;\n}\n\n.modal-dialog__buttons {\n background-color: var(--color-uva-white);\n bottom: 0;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n justify-content: flex-start;\n margin: 0 calc(-1 * var(--modal-dialog-padding-mobile));\n padding: var(--modal-dialog-padding-mobile);\n position: sticky;\n right: 0;\n}\n\n.modal-dialog__buttons--border {\n border-top: 1px solid var(--color-grey-300);\n}\n\n.modal-dialog__buttons::before {\n background: linear-gradient(to top, rgba(0 0 0 / 30%), rgba(0 0 0 / 0%));\n bottom: 100%;\n content: \"\";\n height: 10px;\n left: 0;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n right: 0;\n transition: opacity 0.4s ease-out;\n}\n\n.modal-dialog__buttons--shadow::before {\n opacity: 1; /* Show the shadow when content is scrollable and not scrolled to the bottom */\n}\n\n.modal-dialog__close {\n position: absolute;\n right: var(--modal-dialog-padding-mobile);\n top: var(--modal-dialog-padding-mobile);\n}\n\n@media (min-width: 28rem) and (min-height: 28rem) {\n .modal-dialog {\n height: unset;\n max-height: 100svh;\n max-width: 100vw;\n }\n\n .modal-dialog--padded {\n width: 34.25rem;\n }\n\n .modal-dialog--small {\n width: 27.5rem;\n }\n\n .modal-dialog--regular {\n width: 30rem;\n }\n\n .modal-dialog--medium {\n width: 36rem;\n }\n\n .modal-dialog--large {\n width: 65.375rem;\n }\n\n .modal-dialog__title {\n margin-right: var(--modal-dialog-padding);\n padding: var(--modal-dialog-padding);\n }\n\n .modal-dialog__content {\n height: unset;\n padding: 0 var(--modal-dialog-padding);\n }\n\n .modal-dialog--content-with-buttons {\n margin-bottom: 5.75rem;\n }\n\n .modal-dialog__children {\n padding-bottom: var(--modal-dialog-padding);\n }\n\n .modal-dialog--confirm {\n padding: var(--modal-dialog-padding) 0 0;\n }\n\n .modal-dialog__buttons {\n margin: unset;\n padding: var(--modal-dialog-padding);\n position: absolute;\n width: inherit;\n }\n\n .modal-dialog__close {\n position: absolute;\n right: var(--modal-dialog-padding);\n top: var(--modal-dialog-padding);\n }\n}\n","import { useDialog } from '@react-aria/dialog';\nimport { FocusScope } from '@react-aria/focus';\nimport { OverlayContainer, useModal, useOverlay, usePreventScroll } from '@react-aria/overlays';\nimport { clsx } from 'clsx';\nimport { useEffect, useRef, useState } from 'react';\n\nimport type { FormHTMLAttributes, KeyboardEvent, PropsWithChildren, ReactNode } from 'react';\nimport type { AriaDialogProps } from '@react-types/dialog';\n\nimport styles from './ModalDialog.module.css';\n\nimport { Backdrop } from 'components/Backdrop';\nimport { OverlayCloseButton } from 'components/OverlayCloseButton';\nimport { Spinner } from 'components/Spinner';\n\nexport interface ModalDialogProps {\n /** The buttons of the dialog. */\n buttons?: ReactNode;\n /** `true` if the dialog can be closed by clicking outside of it; otherwise, `false`. The default is `false`. */\n isDismissable?: boolean;\n /** `true` to disable closing the dialog with the keyboard; otherwise, `false`. The default is `false`. */\n isKeyboardDismissDisabled?: boolean;\n /** `true` to show a spinner, if the contents of the dialog is lazy loaded; otherwise, `false`. The default is `false`. */\n isLoading?: boolean;\n /** The `aria-valuetext` value of the [Spinner](/story/atoms-spinner--spinner-example) component. The default is `'Loading'` Used together with `isLoading`. */\n spinnerAriaValueText?: string;\n /** The `aria-label` value of the [OverlayCloseButton](/story/atoms-overlayclosebutton--overlay-close-button-example) component. The default is `'Close'` */\n closeButtonAriaValueText?: string;\n /** `true` to render the dialog opened; otherwise, `false`. The default is `false`. */\n isOpen: boolean;\n /** `true` to disable form validation; otherwise, `false`. The default is `false`. */\n noValidate?: boolean;\n /** The callback function that is invoked when the dialog is closed. */\n onClose?(): void;\n /** The callback function that is invoked when the form is submitted. */\n onSubmit?: FormHTMLAttributes<HTMLFormElement>['onSubmit'];\n /** The `aria-role` value of the dialog. Possible values are `'dialog'`, `'alertdialog'`. The default is `'dialog'`. */\n role?: AriaDialogProps['role'];\n /** The title of the dialog. */\n title?: string;\n /** The contents of the dialog header. */\n headerContent?: ReactNode;\n /** The variant of the dialog. */\n variant?: 'confirm' | 'dialog';\n /** `true` to add padding to the dialog; otherwise, `false`. The default is `false`. */\n padded?: boolean;\n /** Size of the dialog. */\n size?: 'small' | 'regular' | 'medium' | 'large';\n /** `true` to show a border between the main content of the dialog and the buttons; otherwise, `false`. The default is `false`. */\n noButtonBorder?: boolean;\n}\n\n/** Represents a component for a modal dialog. */\nexport function ModalDialog(props: PropsWithChildren<ModalDialogProps>) {\n const {\n buttons,\n children,\n isDismissable = true,\n isKeyboardDismissDisabled = !isDismissable,\n isLoading,\n spinnerAriaValueText = 'Loading',\n closeButtonAriaValueText = 'Close',\n isOpen,\n noValidate = false,\n onClose,\n onSubmit,\n role = 'dialog',\n title,\n headerContent,\n variant = 'dialog',\n padded,\n size = 'regular',\n noButtonBorder = false,\n } = props;\n\n const ref = useRef<HTMLDivElement>(null);\n const formRef = useRef<HTMLFormElement>(null);\n const [isScrollable, setIsScrollable] = useState(false);\n const [isScrolledToBottom, setIsScrolledToBottom] = useState(false);\n\n const { dialogProps, titleProps } = useDialog({ role }, ref);\n const { modalProps } = useModal({ isDisabled: !isOpen });\n const { overlayProps, underlayProps } = useOverlay(\n { isDismissable, isKeyboardDismissDisabled, isOpen, onClose },\n ref\n );\n\n usePreventScroll({ isDisabled: !isOpen });\n\n useEffect(() => {\n const formElement = formRef.current;\n\n function checkScrollable() {\n if (formElement) {\n const scrollHeight = formElement.scrollHeight;\n const clientHeight = formElement.clientHeight;\n const scrollTop = formElement.scrollTop;\n\n setIsScrollable(scrollHeight > clientHeight);\n setIsScrolledToBottom(scrollTop + clientHeight >= scrollHeight);\n }\n }\n\n function handleScrollAndResize() {\n checkScrollable();\n }\n\n if (formElement) {\n formElement.addEventListener('scroll', handleScrollAndResize);\n window.addEventListener('resize', handleScrollAndResize);\n }\n\n const timeoutId = setTimeout(() => {\n checkScrollable();\n }, 0);\n\n return () => {\n if (formElement) {\n formElement.removeEventListener('scroll', handleScrollAndResize);\n }\n window.removeEventListener('resize', handleScrollAndResize);\n clearTimeout(timeoutId);\n };\n }, [isOpen, headerContent]);\n\n function onKeyUp(event: KeyboardEvent) {\n event.stopPropagation();\n }\n\n if (!isOpen) return null;\n\n return (\n <OverlayContainer>\n <Backdrop {...underlayProps}>\n {isLoading ? (\n <Spinner ariaValueText={spinnerAriaValueText} />\n ) : (\n <>\n {/* eslint-disable-next-line jsx-a11y/no-autofocus */}\n <FocusScope autoFocus contain restoreFocus>\n <div\n {...dialogProps}\n {...modalProps}\n {...overlayProps}\n className={clsx(styles['modal-dialog'], [styles[`modal-dialog--${size}`]], {\n [styles['modal-dialog--confirm']]: variant === 'confirm',\n [styles['modal-dialog--padded']]: padded,\n })}\n onKeyUp={onKeyUp}\n role=\"presentation\"\n ref={ref}\n >\n {(title || headerContent) && variant === 'dialog' && (\n <>\n {title && (\n <h1 {...titleProps} className={styles['modal-dialog__title']}>\n {title}\n </h1>\n )}\n {headerContent}\n {variant === 'dialog' && (\n <span className={styles['modal-dialog__close']}>\n <OverlayCloseButton\n aria-label={closeButtonAriaValueText}\n onClick={onClose}\n paddedModal={padded}\n />\n </span>\n )}\n </>\n )}\n <form\n className={clsx(styles['modal-dialog__content'], {\n [styles['modal-dialog--content-with-buttons']]: buttons,\n })}\n onSubmit={onSubmit}\n noValidate={noValidate}\n ref={formRef}\n >\n <div className={clsx({ [styles['modal-dialog__children']]: !noButtonBorder })}>{children}</div>\n {buttons && (\n <div\n className={clsx(styles['modal-dialog__buttons'], {\n [styles['modal-dialog__buttons--border']]: !noButtonBorder,\n [styles['modal-dialog__buttons--shadow']]: isScrollable && !isScrolledToBottom,\n })}\n >\n {buttons}\n </div>\n )}\n </form>\n </div>\n </FocusScope>\n </>\n )}\n </Backdrop>\n </OverlayContainer>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACqDA,SAAgB,EAAY,GAA4C;CACtE,IAAM,EACJ,YACA,aACA,mBAAgB,IAChB,+BAA4B,CAAC,GAC7B,cACA,0BAAuB,WACvB,8BAA2B,SAC3B,WACA,gBAAa,IACb,YACA,aACA,UAAO,UACP,UACA,kBACA,aAAU,UACV,WACA,UAAO,WACP,oBAAiB,OACf,GAEE,IAAM,EAAuB,KAAK,EAClC,IAAU,EAAwB,KAAK,EACvC,CAAC,GAAc,KAAmB,EAAS,GAAM,EACjD,CAAC,GAAoB,KAAyB,EAAS,GAAM,EAE7D,EAAE,gBAAa,kBAAe,EAAU,EAAE,SAAM,EAAE,EAAI,EACtD,EAAE,kBAAe,EAAS,EAAE,YAAY,CAAC,GAAQ,CAAC,EAClD,EAAE,iBAAc,qBAAkB,EACtC;EAAE;EAAe;EAA2B;EAAQ;EAAS,EAC7D,EACD;AAID,CAFA,EAAiB,EAAE,YAAY,CAAC,GAAQ,CAAC,EAEzC,QAAgB;EACd,IAAM,IAAc,EAAQ;EAE5B,SAAS,IAAkB;AACzB,OAAI,GAAa;IACf,IAAM,IAAe,EAAY,cAC3B,IAAe,EAAY,cAC3B,IAAY,EAAY;AAG9B,IADA,EAAgB,IAAe,EAAa,EAC5C,EAAsB,IAAY,KAAgB,EAAa;;;EAInE,SAAS,IAAwB;AAC/B,MAAiB;;AAGnB,EAAI,MACF,EAAY,iBAAiB,UAAU,EAAsB,EAC7D,OAAO,iBAAiB,UAAU,EAAsB;EAG1D,IAAM,IAAY,iBAAiB;AACjC,MAAiB;KAChB,EAAE;AAEL,eAAa;AAKX,GAJI,KACF,EAAY,oBAAoB,UAAU,EAAsB,EAElE,OAAO,oBAAoB,UAAU,EAAsB,EAC3D,aAAa,EAAU;;IAExB,CAAC,GAAQ,EAAc,CAAC;CAE3B,SAAS,EAAQ,GAAsB;AACrC,IAAM,iBAAiB;;AAKzB,QAFK,IAGH,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAAU,GAAI;YACX,IACC,kBAAC,GAAD,EAAS,eAAe,GAAwB,CAAA,GAEhD,kBAAA,GAAA,EAAA,UAEE,kBAAC,GAAD;GAAY,WAAA;GAAU,SAAA;GAAQ,cAAA;aAC5B,kBAAC,OAAD;IACE,GAAI;IACJ,GAAI;IACJ,GAAI;IACJ,WAAW,EAAK,EAAO,iBAAiB,CAAC,EAAO,iBAAiB,KAAQ,EAAE;MACxE,EAAO,2BAA2B,MAAY;MAC9C,EAAO,0BAA0B;KACnC,CAAC;IACO;IACT,MAAK;IACA;cAVP,EAYI,KAAS,MAAkB,MAAY,YACvC,kBAAA,GAAA,EAAA,UAAA;KACG,KACC,kBAAC,MAAD;MAAI,GAAI;MAAY,WAAW,EAAO;gBACnC;MACE,CAAA;KAEN;KACA,MAAY,YACX,kBAAC,QAAD;MAAM,WAAW,EAAO;gBACtB,kBAAC,GAAD;OACE,cAAY;OACZ,SAAS;OACT,aAAa;OACb,CAAA;MACG,CAAA;KAER,EAAA,CAAA,EAEL,kBAAC,QAAD;KACE,WAAW,EAAK,EAAO,0BAA0B,GAC9C,EAAO,wCAAwC,GACjD,CAAC;KACQ;KACE;KACZ,KAAK;eANP,CAQE,kBAAC,OAAD;MAAK,WAAW,EAAK,GAAG,EAAO,4BAA4B,CAAC,GAAgB,CAAC;MAAG;MAAe,CAAA,EAC9F,KACC,kBAAC,OAAD;MACE,WAAW,EAAK,EAAO,0BAA0B;QAC9C,EAAO,mCAAmC,CAAC;QAC3C,EAAO,mCAAmC,KAAgB,CAAC;OAC7D,CAAC;gBAED;MACG,CAAA,CAEH;OACH;;GACK,CAAA,EACZ,CAAA;EAEI,CAAA,EACM,CAAA,GAnED"}
@@ -0,0 +1,189 @@
1
+ import { t as e } from "./clsx-BD2qMUU1.js";
2
+ import { Icon as t } from "./components/Icon/Icon.js";
3
+ import { t as n } from "./Checkbox-D6-b_4dC.js";
4
+ import { usePositionedFloaters as r } from "./components/hooks/usePositionedFloaters.js";
5
+ import { useCallback as i, useEffect as a, useId as o, useRef as s, useState as c } from "react";
6
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
7
+ import './assets/MultiSelectBox.css';//#region src/components/MultiSelectBox/MultiSelectBox.module.css
8
+ var d = {
9
+ "multi-select-box-wrapper": "_multi-select-box-wrapper_wvuay_1",
10
+ "multi-select-box-trigger": "_multi-select-box-trigger_wvuay_5",
11
+ "multi-select-box-trigger--darkBorder": "_multi-select-box-trigger--darkBorder_wvuay_22",
12
+ "multi-select-box-trigger--not-valid": "_multi-select-box-trigger--not-valid_wvuay_26",
13
+ "multi-select-box-trigger-label": "_multi-select-box-trigger-label_wvuay_40",
14
+ "multi-select-box-trigger-icon": "_multi-select-box-trigger-icon_wvuay_54",
15
+ "multi-select-box-trigger-icon--open": "_multi-select-box-trigger-icon--open_wvuay_59",
16
+ "multi-select-box-listbox--wrapper": "_multi-select-box-listbox--wrapper_wvuay_63",
17
+ "multi-select-box-listbox": "_multi-select-box-listbox_wvuay_63",
18
+ "multi-select-box-listbox-option": "_multi-select-box-listbox-option_wvuay_90",
19
+ "multi-select-box-listbox-option--active": "_multi-select-box-listbox-option--active_wvuay_101",
20
+ "multi-select-box-listbox-option-content": "_multi-select-box-listbox-option-content_wvuay_112",
21
+ "multi-select-box-listbox-option--disabled": "_multi-select-box-listbox-option--disabled_wvuay_126"
22
+ }, f = ({ selectData: f, onChange: p, defaultSelectedItems: m, labelSuffix: h = "geselecteerd", disabled: g = !1, fullWidth: _ = !1, darkBorder: v = !1, notValid: y = !1, maxOptionHeight: b, optionPositionRight: x }) => {
23
+ let S = o(), [C, w] = c(m || []), [T, E] = c(m?.length || 0), [D, O] = c(!1), [k, A] = c(-1), j = s(null), M = s(null), [N, P] = c(null), [F, I] = c(null), { style: L, updatePosition: R } = r(N, F, {
24
+ mouseEvent: "click",
25
+ position: "bottomLeft",
26
+ offset: 4,
27
+ maxFixedHeight: b,
28
+ horizontalPosition: x ? "right" : "left",
29
+ mobileBreakpoint: "28rem",
30
+ fullWidth: _
31
+ }), z = i(({ target: e }) => {
32
+ !e || !j.current || j.current.contains(e) || O(!1);
33
+ }, [O]), B = i((e) => {
34
+ switch (e.key) {
35
+ case "Enter":
36
+ e.preventDefault(), O(!0);
37
+ break;
38
+ case "Escape":
39
+ D && (e.stopPropagation(), O(!1));
40
+ break;
41
+ default: break;
42
+ }
43
+ }, [D]), V = i((e) => {
44
+ if (D) switch (e.key) {
45
+ case "ArrowDown":
46
+ e.preventDefault(), A((e) => {
47
+ let t = e;
48
+ do
49
+ t = t < f.length - 1 ? t + 1 : 0;
50
+ while (f[t]?.disabled);
51
+ return t;
52
+ });
53
+ break;
54
+ case "ArrowUp":
55
+ e.preventDefault(), A((e) => {
56
+ let t = e;
57
+ do
58
+ t = t <= 0 ? f.length - 1 : t - 1;
59
+ while (f[t]?.disabled);
60
+ return t;
61
+ });
62
+ break;
63
+ case "Enter": {
64
+ e.preventDefault();
65
+ let t = f[k];
66
+ if (!t || t.disabled) break;
67
+ let n = C.some((e) => e.value === t.value) ? C.filter((e) => e.value !== t.value) : [...C, t];
68
+ w(n), E(n.length), p(n);
69
+ break;
70
+ }
71
+ case "Tab":
72
+ e.preventDefault(), O(!1);
73
+ break;
74
+ case "Escape":
75
+ e.stopPropagation(), O(!1);
76
+ break;
77
+ default: break;
78
+ }
79
+ }, [
80
+ k,
81
+ D,
82
+ f,
83
+ C,
84
+ p
85
+ ]), H = (e, t) => {
86
+ if (t.disabled || e.target.tagName === "INPUT") return;
87
+ let n = C.some((e) => e.value === t.value) ? C.filter((e) => e.value !== t.value) : [...C, t];
88
+ w(n), E(n.length), p(n), R();
89
+ }, U = i((e) => {
90
+ let { checked: t, value: n } = e.target, r = [...C];
91
+ if (t) {
92
+ let e = f.find((e) => e.value === n);
93
+ e && r.push(e);
94
+ } else r = r.filter((e) => e.value !== n);
95
+ w(r), E(r.length), p(r), R();
96
+ }, [
97
+ f,
98
+ C,
99
+ p
100
+ ]);
101
+ return a(() => {
102
+ D && A(0);
103
+ }, [D]), a(() => {
104
+ (M.current?.children[k])?.focus();
105
+ }, [k]), a(() => {
106
+ if (D) return document.addEventListener("click", z, !0), document.addEventListener("scroll", z, !0), () => {
107
+ document.removeEventListener("click", z, !0), document.removeEventListener("scroll", z, !0);
108
+ };
109
+ }, [z, D]), /* @__PURE__ */ u("div", {
110
+ className: d["multi-select-box-wrapper"],
111
+ ref: j,
112
+ children: [/* @__PURE__ */ u("button", {
113
+ className: e(d["multi-select-box-trigger"], {
114
+ [d["multi-select-box-trigger--darkBorder"]]: v,
115
+ [d["multi-select-box-trigger--not-valid"]]: y
116
+ }),
117
+ type: "button",
118
+ onClick: () => {
119
+ O(!D);
120
+ },
121
+ onKeyDown: B,
122
+ "aria-expanded": D,
123
+ "aria-haspopup": "listbox",
124
+ "aria-label": `${T} ${h}`,
125
+ disabled: g,
126
+ ...D && { "aria-controls": S },
127
+ ref: I,
128
+ children: [/* @__PURE__ */ u("span", {
129
+ className: d["multi-select-box-trigger-label"],
130
+ children: [
131
+ T,
132
+ " ",
133
+ h
134
+ ]
135
+ }), /* @__PURE__ */ l(t, {
136
+ className: e(d["multi-select-box-trigger-icon"], { [d["multi-select-box-trigger-icon--open"]]: D }),
137
+ name: "CheveronDown",
138
+ size: 16
139
+ })]
140
+ }), /* @__PURE__ */ l("div", {
141
+ id: S,
142
+ className: e(d["multi-select-box-listbox--wrapper"]),
143
+ style: {
144
+ ...L.style,
145
+ visibility: D ? "visible" : "hidden"
146
+ },
147
+ role: "listbox",
148
+ ref: P,
149
+ children: /* @__PURE__ */ l("ul", {
150
+ className: d["multi-select-box-listbox"],
151
+ ref: M,
152
+ children: f.map(({ label: t, value: r, disabled: i }, a) => /* @__PURE__ */ l("li", {
153
+ className: e(d["multi-select-box-listbox-option"], {
154
+ [d["multi-select-box-listbox-option--active"]]: a === k,
155
+ [d["multi-select-box-listbox-option--disabled"]]: i
156
+ }),
157
+ role: "option",
158
+ onKeyDown: V,
159
+ onClick: (e) => H(e, {
160
+ label: t,
161
+ value: r,
162
+ disabled: i
163
+ }),
164
+ onMouseOver: () => A(a),
165
+ onFocus: () => A(a),
166
+ tabIndex: 0,
167
+ "aria-selected": C.some((e) => e.value === r),
168
+ children: /* @__PURE__ */ u("label", {
169
+ htmlFor: t,
170
+ className: d["multi-select-box-listbox-option-content"],
171
+ tabIndex: -1,
172
+ children: [/* @__PURE__ */ l(n, {
173
+ id: `${t}-${S}`,
174
+ onChange: U,
175
+ value: r,
176
+ tabIndex: -1,
177
+ disabled: i,
178
+ checked: C.some((e) => e.value === r)
179
+ }), /* @__PURE__ */ l("span", { children: t })]
180
+ })
181
+ }, r))
182
+ })
183
+ })]
184
+ });
185
+ };
186
+ //#endregion
187
+ export { f as t };
188
+
189
+ //# sourceMappingURL=MultiSelectBox-Cuh_o-A1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSelectBox-Cuh_o-A1.js","names":[],"sources":["../src/components/MultiSelectBox/MultiSelectBox.module.css","../src/components/MultiSelectBox/MultiSelectBox.tsx"],"sourcesContent":[".multi-select-box-wrapper {\n position: relative;\n}\n\n.multi-select-box-trigger {\n align-items: center;\n background-color: var(--color-uva-white);\n border: 1px solid var(--color-grey-500);\n border-radius: 0.5rem;\n cursor: pointer;\n display: flex;\n font: inherit;\n height: 2.75rem;\n justify-content: space-between;\n line-height: inherit;\n overflow: hidden;\n padding: 0.4rem 2rem 0.4rem 1rem;\n position: relative;\n width: 100%;\n}\n\n.multi-select-box-trigger--darkBorder {\n border-color: var(--color-uva-black);\n}\n\n.multi-select-box-trigger--not-valid {\n border-color: var(--color-red-600);\n}\n\n.multi-select-box-trigger:focus-visible {\n background-color: var(--color-grey-300);\n outline: 1px solid var(--color-grey-300);\n}\n\n.multi-select-box-trigger:focus-visible,\n.multi-select-box-trigger:hover {\n background-color: var(--color-grey-300);\n}\n\n.multi-select-box-trigger-label {\n min-height: 0.65rem;\n overflow: hidden;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n}\n\n.multi-select-box-trigger:disabled:hover {\n background-color: var(--color-uva-white);\n cursor: not-allowed;\n}\n\n.multi-select-box-trigger-icon {\n position: absolute;\n right: 0.875rem;\n}\n\n.multi-select-box-trigger-icon--open {\n transform: rotate(180deg);\n}\n\n.multi-select-box-listbox--wrapper {\n border-radius: 0.5rem;\n box-shadow: 0 0 0.25rem 0 rgba(0 0 0 / 25%);\n display: flex;\n height: auto;\n margin: 0.25rem 0;\n overflow: hidden;\n position: fixed;\n width: auto;\n z-index: 20;\n}\n\n.multi-select-box-listbox {\n background-color: var(--color-uva-white);\n border-radius: var(--border-radius);\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n list-style: none;\n margin: 0;\n min-width: 100%;\n overflow-y: auto;\n padding: 0.25rem;\n white-space: nowrap;\n width: fit-content;\n}\n\n.multi-select-box-listbox-option {\n border-radius: 0.25rem;\n cursor: pointer;\n display: flex;\n height: 2.5rem;\n justify-content: flex-start;\n position: relative;\n user-select: none;\n width: 100%;\n}\n\n.multi-select-box-listbox-option--active,\n.multi-select-box-listbox-option:hover {\n background-color: var(--color-grey-300);\n box-shadow: 0 0 0 1px var(--color-uva-white);\n}\n\n.multi-select-box-listbox-option:focus-visible,\n.multi-select-box-listbox-option:hover {\n background-color: var(--color-grey-300);\n}\n\n.multi-select-box-listbox-option-content {\n align-items: center;\n cursor: pointer;\n display: flex;\n gap: 1rem;\n padding: 0.75rem;\n width: 100%;\n}\n\n.multi-select-box-listbox-option:focus-visible {\n background-color: var(--color-grey-300);\n outline: 1px solid var(--color-grey-700);\n}\n\n.multi-select-box-listbox-option--disabled {\n cursor: not-allowed;\n opacity: 0.5;\n pointer-events: none;\n user-select: none;\n}\n","import { useRef, useState, useId, useEffect, useCallback } from 'react';\nimport { clsx } from 'clsx';\n\nimport type { KeyboardEvent, ChangeEvent, MouseEvent } from 'react';\n\nimport styles from './MultiSelectBox.module.css';\n\nimport { Icon } from 'components/Icon';\nimport { Checkbox } from 'components/Checkbox';\nimport { usePositionedFloaters } from 'components/hooks/usePositionedFloaters';\n\nexport type MultiSelectData = {\n label: string;\n value: string | number;\n disabled?: boolean;\n};\n\nexport interface MultiSelectBoxProps {\n /** Array of label, values pairs */\n selectData: MultiSelectData[];\n /** Retuns selected label, values */\n onChange: (values: MultiSelectData[]) => void;\n /** Array of label, value pairs that should be check by default */\n defaultSelectedItems?: MultiSelectData[];\n /** Suffix label in the selectbutton '[count] selected' */\n labelSuffix?: string;\n /** Disables the multiselect */\n disabled?: boolean;\n /** If true sets the option dropdown min-width to the width of the select button. */\n fullWidth?: boolean;\n /** Dark border. */\n darkBorder?: boolean;\n /** `true` to color border red to show not valid; otherwise, `false`. */\n notValid?: boolean;\n /** The max height of the options. */\n maxOptionHeight?: `${number}${'px' | 'rem'}`;\n /** `true` to align the right side of the options with the select box; otherwise, `false` to align on the left side. */\n optionPositionRight?: boolean;\n}\n\nexport const MultiSelectBox = ({\n selectData,\n onChange,\n defaultSelectedItems,\n labelSuffix = 'geselecteerd',\n disabled = false,\n fullWidth = false,\n darkBorder = false,\n notValid = false,\n maxOptionHeight,\n optionPositionRight,\n}: MultiSelectBoxProps) => {\n const multiselectboxId = useId();\n const [selectedItems, setSelectedItems] = useState<MultiSelectData[]>(defaultSelectedItems || []);\n const [selectedItemsCount, setSelectedItemsCount] = useState(defaultSelectedItems?.length || 0);\n const [isOpen, setIsOpen] = useState(false);\n const [activeIndex, setActiveIndex] = useState(-1);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const optionListRef = useRef<HTMLUListElement>(null);\n\n const [positionElement, setPositionElement] = useState<HTMLElement | null>(null);\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement | null>(null);\n const { style: positionStyle, updatePosition } = usePositionedFloaters(positionElement, referenceElement, {\n mouseEvent: 'click',\n position: 'bottomLeft',\n offset: 4,\n maxFixedHeight: maxOptionHeight,\n horizontalPosition: optionPositionRight ? 'right' : 'left',\n mobileBreakpoint: '28rem',\n fullWidth,\n });\n\n const onMouseEventOutside = useCallback(\n ({ target }: Event | MouseEvent) => {\n if (!target || !wrapperRef.current) return;\n\n if (!wrapperRef.current.contains(target as Node)) {\n setIsOpen(false);\n }\n },\n [setIsOpen]\n );\n\n const onTriggerKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>) => {\n switch (event.key) {\n case 'Enter':\n event.preventDefault();\n setIsOpen(true);\n break;\n case 'Escape':\n if (isOpen) {\n event.stopPropagation();\n setIsOpen(false);\n }\n break;\n default:\n break;\n }\n },\n [isOpen]\n );\n\n const onOptionKeyDown = useCallback(\n (event: KeyboardEvent<HTMLLIElement>) => {\n if (!isOpen) return;\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n setActiveIndex((prev) => {\n let nextIndex = prev;\n do {\n nextIndex = nextIndex < selectData.length - 1 ? nextIndex + 1 : 0;\n } while (selectData[nextIndex]?.disabled);\n return nextIndex;\n });\n break;\n case 'ArrowUp':\n event.preventDefault();\n setActiveIndex((prev) => {\n let nextIndex = prev;\n do {\n nextIndex = nextIndex <= 0 ? selectData.length - 1 : nextIndex - 1;\n } while (selectData[nextIndex]?.disabled);\n return nextIndex;\n });\n break;\n case 'Enter': {\n event.preventDefault();\n const selectedItem = selectData[activeIndex];\n if (!selectedItem || selectedItem.disabled) break;\n const isAlreadySelected = selectedItems.some((item) => item.value === selectedItem.value);\n const updatedSelectedItems = isAlreadySelected\n ? selectedItems.filter((item) => item.value !== selectedItem.value)\n : [...selectedItems, selectedItem];\n\n setSelectedItems(updatedSelectedItems);\n setSelectedItemsCount(updatedSelectedItems.length);\n onChange(updatedSelectedItems);\n break;\n }\n case 'Tab':\n event.preventDefault();\n setIsOpen(false);\n break;\n case 'Escape':\n event.stopPropagation();\n setIsOpen(false);\n break;\n default:\n break;\n }\n },\n [activeIndex, isOpen, selectData, selectedItems, onChange]\n );\n\n const onOptionClick = (event: MouseEvent<HTMLLIElement>, option: MultiSelectData) => {\n if (option.disabled) return;\n\n // Prevent toggle if click originated from the checkbox\n if ((event.target as HTMLElement).tagName === 'INPUT') return;\n\n const isAlreadySelected = selectedItems.some((item) => item.value === option.value);\n const updatedSelectedItems = isAlreadySelected\n ? selectedItems.filter((item) => item.value !== option.value)\n : [...selectedItems, option];\n\n setSelectedItems(updatedSelectedItems);\n setSelectedItemsCount(updatedSelectedItems.length);\n onChange(updatedSelectedItems);\n updatePosition();\n };\n\n const handleSelect = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const { checked, value } = event.target;\n let updatedSelectedItems = [...selectedItems];\n\n if (checked) {\n const selectedItem = selectData.find((item) => item.value === value);\n if (selectedItem) {\n updatedSelectedItems.push(selectedItem);\n }\n } else {\n updatedSelectedItems = updatedSelectedItems.filter((item) => item.value !== value);\n }\n\n setSelectedItems(updatedSelectedItems);\n setSelectedItemsCount(updatedSelectedItems.length);\n onChange(updatedSelectedItems);\n updatePosition();\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectData, selectedItems, onChange]\n );\n\n useEffect(() => {\n if (isOpen) {\n setActiveIndex(0);\n }\n }, [isOpen]);\n\n useEffect(() => {\n const activeOption = optionListRef.current?.children[activeIndex] as HTMLElement;\n activeOption?.focus();\n }, [activeIndex]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n document.addEventListener('click', onMouseEventOutside, true);\n document.addEventListener('scroll', onMouseEventOutside, true);\n\n return () => {\n document.removeEventListener('click', onMouseEventOutside, true);\n document.removeEventListener('scroll', onMouseEventOutside, true);\n };\n }, [onMouseEventOutside, isOpen]);\n\n return (\n <div className={styles['multi-select-box-wrapper']} ref={wrapperRef}>\n <button\n className={clsx(styles['multi-select-box-trigger'], {\n [styles['multi-select-box-trigger--darkBorder']]: darkBorder,\n [styles['multi-select-box-trigger--not-valid']]: notValid,\n })}\n type=\"button\"\n onClick={() => {\n setIsOpen(!isOpen);\n }}\n onKeyDown={onTriggerKeyDown}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-label={`${selectedItemsCount} ${labelSuffix}`}\n disabled={disabled}\n {...(isOpen && { 'aria-controls': multiselectboxId })}\n ref={setReferenceElement}\n >\n <span className={styles['multi-select-box-trigger-label']}>\n {selectedItemsCount} {labelSuffix}\n </span>\n <Icon\n className={clsx(styles['multi-select-box-trigger-icon'], {\n [styles['multi-select-box-trigger-icon--open']]: isOpen,\n })}\n name=\"CheveronDown\"\n size={16}\n />\n </button>\n\n <div\n id={multiselectboxId}\n className={clsx(styles['multi-select-box-listbox--wrapper'])}\n style={{ ...positionStyle.style, visibility: isOpen ? 'visible' : 'hidden' }}\n role=\"listbox\"\n ref={setPositionElement}\n >\n <ul className={styles['multi-select-box-listbox']} ref={optionListRef}>\n {selectData.map(({ label, value, disabled }, index) => (\n <li\n className={clsx(styles['multi-select-box-listbox-option'], {\n [styles['multi-select-box-listbox-option--active']]: index === activeIndex,\n [styles['multi-select-box-listbox-option--disabled']]: disabled,\n })}\n key={value}\n role=\"option\"\n onKeyDown={onOptionKeyDown}\n onClick={(event) => onOptionClick(event, { label, value, disabled })}\n onMouseOver={() => setActiveIndex(index)}\n onFocus={() => setActiveIndex(index)}\n tabIndex={0}\n aria-selected={selectedItems.some((item) => item.value === value)}\n >\n <label htmlFor={label} className={styles['multi-select-box-listbox-option-content']} tabIndex={-1}>\n <Checkbox\n id={`${label}-${multiselectboxId}`}\n onChange={handleSelect}\n value={value}\n tabIndex={-1}\n disabled={disabled}\n checked={selectedItems.some((item) => item.value === value)}\n />\n <span>{label}</span>\n </label>\n </li>\n ))}\n </ul>\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;GCwCa,KAAkB,EAC7B,eACA,aACA,yBACA,iBAAc,gBACd,cAAW,IACX,eAAY,IACZ,gBAAa,IACb,cAAW,IACX,oBACA,6BACyB;CACzB,IAAM,IAAmB,GAAO,EAC1B,CAAC,GAAe,KAAoB,EAA4B,KAAwB,EAAE,CAAC,EAC3F,CAAC,GAAoB,KAAyB,EAAS,GAAsB,UAAU,EAAE,EACzF,CAAC,GAAQ,KAAa,EAAS,GAAM,EACrC,CAAC,GAAa,KAAkB,EAAS,GAAG,EAC5C,IAAa,EAAuB,KAAK,EACzC,IAAgB,EAAyB,KAAK,EAE9C,CAAC,GAAiB,KAAsB,EAA6B,KAAK,EAC1E,CAAC,GAAkB,KAAuB,EAAmC,KAAK,EAClF,EAAE,OAAO,GAAe,sBAAmB,EAAsB,GAAiB,GAAkB;EACxG,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,gBAAgB;EAChB,oBAAoB,IAAsB,UAAU;EACpD,kBAAkB;EAClB;EACD,CAAC,EAEI,IAAsB,GACzB,EAAE,gBAAiC;AAC9B,GAAC,KAAU,CAAC,EAAW,WAEtB,EAAW,QAAQ,SAAS,EAAe,IAC9C,EAAU,GAAM;IAGpB,CAAC,EAAU,CACZ,EAEK,IAAmB,GACtB,MAA4C;AAC3C,UAAQ,EAAM,KAAd;GACE,KAAK;AAEH,IADA,EAAM,gBAAgB,EACtB,EAAU,GAAK;AACf;GACF,KAAK;AACH,IAAI,MACF,EAAM,iBAAiB,EACvB,EAAU,GAAM;AAElB;GACF,QACE;;IAGN,CAAC,EAAO,CACT,EAEK,IAAkB,GACrB,MAAwC;AAClC,QAEL,SAAQ,EAAM,KAAd;GACE,KAAK;AAEH,IADA,EAAM,gBAAgB,EACtB,GAAgB,MAAS;KACvB,IAAI,IAAY;AAChB;AACE,UAAY,IAAY,EAAW,SAAS,IAAI,IAAY,IAAI;YACzD,EAAW,IAAY;AAChC,YAAO;MACP;AACF;GACF,KAAK;AAEH,IADA,EAAM,gBAAgB,EACtB,GAAgB,MAAS;KACvB,IAAI,IAAY;AAChB;AACE,UAAY,KAAa,IAAI,EAAW,SAAS,IAAI,IAAY;YAC1D,EAAW,IAAY;AAChC,YAAO;MACP;AACF;GACF,KAAK,SAAS;AACZ,MAAM,gBAAgB;IACtB,IAAM,IAAe,EAAW;AAChC,QAAI,CAAC,KAAgB,EAAa,SAAU;IAE5C,IAAM,IADoB,EAAc,MAAM,MAAS,EAAK,UAAU,EAAa,MAAM,GAErF,EAAc,QAAQ,MAAS,EAAK,UAAU,EAAa,MAAM,GACjE,CAAC,GAAG,GAAe,EAAa;AAIpC,IAFA,EAAiB,EAAqB,EACtC,EAAsB,EAAqB,OAAO,EAClD,EAAS,EAAqB;AAC9B;;GAEF,KAAK;AAEH,IADA,EAAM,gBAAgB,EACtB,EAAU,GAAM;AAChB;GACF,KAAK;AAEH,IADA,EAAM,iBAAiB,EACvB,EAAU,GAAM;AAChB;GACF,QACE;;IAGN;EAAC;EAAa;EAAQ;EAAY;EAAe;EAAS,CAC3D,EAEK,KAAiB,GAAkC,MAA4B;AAInF,MAHI,EAAO,YAGN,EAAM,OAAuB,YAAY,QAAS;EAGvD,IAAM,IADoB,EAAc,MAAM,MAAS,EAAK,UAAU,EAAO,MAAM,GAE/E,EAAc,QAAQ,MAAS,EAAK,UAAU,EAAO,MAAM,GAC3D,CAAC,GAAG,GAAe,EAAO;AAK9B,EAHA,EAAiB,EAAqB,EACtC,EAAsB,EAAqB,OAAO,EAClD,EAAS,EAAqB,EAC9B,GAAgB;IAGZ,IAAe,GAClB,MAAyC;EACxC,IAAM,EAAE,YAAS,aAAU,EAAM,QAC7B,IAAuB,CAAC,GAAG,EAAc;AAE7C,MAAI,GAAS;GACX,IAAM,IAAe,EAAW,MAAM,MAAS,EAAK,UAAU,EAAM;AACpE,GAAI,KACF,EAAqB,KAAK,EAAa;QAGzC,KAAuB,EAAqB,QAAQ,MAAS,EAAK,UAAU,EAAM;AAMpF,EAHA,EAAiB,EAAqB,EACtC,EAAsB,EAAqB,OAAO,EAClD,EAAS,EAAqB,EAC9B,GAAgB;IAGlB;EAAC;EAAY;EAAe;EAAS,CACtC;AAyBD,QAvBA,QAAgB;AACd,EAAI,KACF,EAAe,EAAE;IAElB,CAAC,EAAO,CAAC,EAEZ,QAAgB;AAEd,GADqB,EAAc,SAAS,SAAS,KACvC,OAAO;IACpB,CAAC,EAAY,CAAC,EAEjB,QAAgB;AACT,QAKL,QAHA,SAAS,iBAAiB,SAAS,GAAqB,GAAK,EAC7D,SAAS,iBAAiB,UAAU,GAAqB,GAAK,QAEjD;AAEX,GADA,SAAS,oBAAoB,SAAS,GAAqB,GAAK,EAChE,SAAS,oBAAoB,UAAU,GAAqB,GAAK;;IAElE,CAAC,GAAqB,EAAO,CAAC,EAG/B,kBAAC,OAAD;EAAK,WAAW,EAAO;EAA6B,KAAK;YAAzD,CACE,kBAAC,UAAD;GACE,WAAW,EAAK,EAAO,6BAA6B;KACjD,EAAO,0CAA0C;KACjD,EAAO,yCAAyC;IAClD,CAAC;GACF,MAAK;GACL,eAAe;AACb,MAAU,CAAC,EAAO;;GAEpB,WAAW;GACX,iBAAe;GACf,iBAAc;GACd,cAAY,GAAG,EAAmB,GAAG;GAC3B;GACV,GAAK,KAAU,EAAE,iBAAiB,GAAkB;GACpD,KAAK;aAfP,CAiBE,kBAAC,QAAD;IAAM,WAAW,EAAO;cAAxB;KACG;KAAmB;KAAE;KACjB;OACP,kBAAC,GAAD;IACE,WAAW,EAAK,EAAO,kCAAkC,GACtD,EAAO,yCAAyC,GAClD,CAAC;IACF,MAAK;IACL,MAAM;IACN,CAAA,CACK;MAET,kBAAC,OAAD;GACE,IAAI;GACJ,WAAW,EAAK,EAAO,qCAAqC;GAC5D,OAAO;IAAE,GAAG,EAAc;IAAO,YAAY,IAAS,YAAY;IAAU;GAC5E,MAAK;GACL,KAAK;aAEL,kBAAC,MAAD;IAAI,WAAW,EAAO;IAA6B,KAAK;cACrD,EAAW,KAAK,EAAE,UAAO,UAAO,eAAY,MAC3C,kBAAC,MAAD;KACE,WAAW,EAAK,EAAO,oCAAoC;OACxD,EAAO,6CAA6C,MAAU;OAC9D,EAAO,+CAA+C;MACxD,CAAC;KAEF,MAAK;KACL,WAAW;KACX,UAAU,MAAU,EAAc,GAAO;MAAE;MAAO;MAAO;MAAU,CAAC;KACpE,mBAAmB,EAAe,EAAM;KACxC,eAAe,EAAe,EAAM;KACpC,UAAU;KACV,iBAAe,EAAc,MAAM,MAAS,EAAK,UAAU,EAAM;eAEjE,kBAAC,SAAD;MAAO,SAAS;MAAO,WAAW,EAAO;MAA4C,UAAU;gBAA/F,CACE,kBAAC,GAAD;OACE,IAAI,GAAG,EAAM,GAAG;OAChB,UAAU;OACH;OACP,UAAU;OACA;OACV,SAAS,EAAc,MAAM,MAAS,EAAK,UAAU,EAAM;OAC3D,CAAA,EACF,kBAAC,QAAD,EAAA,UAAO,GAAa,CAAA,CACd;;KACL,EApBE,EAoBF,CACL;IACC,CAAA;GACD,CAAA,CACF"}
@@ -0,0 +1,36 @@
1
+ import { t as e } from "./Checkbox-D6-b_4dC.js";
2
+ import { t } from "./Label-o0BcWTUS.js";
3
+ import { useId as n } from "react";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ import './assets/MultiSelectItem.css';//#region src/components/MultiSelect/MultiSelect.module.css
6
+ var a = {
7
+ "multi-select": "_multi-select_140gs_1",
8
+ "multi-select--no-border": "_multi-select--no-border_140gs_7",
9
+ "multi-select__header": "_multi-select__header_140gs_12",
10
+ "multi-select__list": "_multi-select__list_140gs_18",
11
+ "multi-select__list--scrollable": "_multi-select__list--scrollable_140gs_27",
12
+ "multi-select__item": "_multi-select__item_140gs_32"
13
+ };
14
+ //#endregion
15
+ //#region src/components/MultiSelect/components/MultiSelectItem.tsx
16
+ function o({ label: o, value: s, checked: c, disabled: l = !1, onChange: u }) {
17
+ let d = n();
18
+ return /* @__PURE__ */ i("li", {
19
+ className: a["multi-select__item"],
20
+ children: [/* @__PURE__ */ r(e, {
21
+ id: d,
22
+ value: s,
23
+ checked: c,
24
+ onChange: u,
25
+ disabled: l
26
+ }), /* @__PURE__ */ r(t, {
27
+ htmlFor: d,
28
+ noFontWeight: !c,
29
+ children: o
30
+ })]
31
+ });
32
+ }
33
+ //#endregion
34
+ export { a as n, o as t };
35
+
36
+ //# sourceMappingURL=MultiSelectItem-BF5xRjz5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSelectItem-BF5xRjz5.js","names":[],"sources":["../src/components/MultiSelect/MultiSelect.module.css","../src/components/MultiSelect/components/MultiSelectItem.tsx"],"sourcesContent":[".multi-select {\n border: 1px solid var(--color-uva-black);\n border-radius: var(--border-radius-default);\n padding: 0.75rem;\n}\n\n.multi-select--no-border {\n border: none;\n padding: 0;\n}\n\n.multi-select__header {\n display: flex;\n justify-content: space-between;\n margin-bottom: 0.5rem;\n}\n\n.multi-select__list {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.multi-select__list--scrollable {\n max-height: 8.75rem;\n overflow: auto;\n}\n\n.multi-select__item {\n align-items: start;\n display: grid;\n grid-template-columns: auto 1fr;\n user-select: none;\n}\n\n.multi-select__item input[type=\"checkbox\"] {\n margin-right: 0.75rem;\n margin-top: 0.25rem;\n}\n\n.multi-select__item input[type=\"checkbox\"]:disabled + label {\n color: var(--color-grey-500);\n}\n","import { useId } from 'react';\n\nimport type { ChangeEvent } from 'react';\n\nimport styles from 'components/MultiSelect/MultiSelect.module.css';\nimport { Checkbox } from 'components/Checkbox';\nimport { Label } from 'components/Label';\n\nexport interface MultiSelectItemProps {\n label: string;\n value: string | number;\n checked: boolean;\n disabled?: boolean;\n onChange(event: ChangeEvent<HTMLInputElement>): void;\n}\n\nexport function MultiSelectItem({ label, value, checked, disabled = false, onChange }: MultiSelectItemProps) {\n const id = useId();\n\n return (\n <li className={styles['multi-select__item']}>\n <Checkbox id={id} value={value} checked={checked} onChange={onChange} disabled={disabled} />\n <Label htmlFor={id} noFontWeight={!checked}>\n {label}\n </Label>\n </li>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;ACgBA,SAAgB,EAAgB,EAAE,UAAO,UAAO,YAAS,cAAW,IAAO,eAAkC;CAC3G,IAAM,IAAK,GAAO;AAElB,QACE,kBAAC,MAAD;EAAI,WAAW,EAAO;YAAtB,CACE,kBAAC,GAAD;GAAc;GAAW;GAAgB;GAAmB;GAAoB;GAAY,CAAA,EAC5F,kBAAC,GAAD;GAAO,SAAS;GAAI,cAAc,CAAC;aAChC;GACK,CAAA,CACL"}