@uva-glass/component-library 3.55.1 → 3.55.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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-DIglXatJ.js +5246 -0
  70. package/dist/Lexical.prod-DIglXatJ.js.map +1 -0
  71. package/dist/LexicalClipboard.prod-Bnzu0sh_.js +248 -0
  72. package/dist/LexicalClipboard.prod-Bnzu0sh_.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-COPHoPpX.js +886 -0
  76. package/dist/LexicalExtension.prod-COPHoPpX.js.map +1 -0
  77. package/dist/LexicalLink.prod-Bf9JUdMv.js +683 -0
  78. package/dist/LexicalLink.prod-Bf9JUdMv.js.map +1 -0
  79. package/dist/LexicalList.prod-DRz8vsM9.js +766 -0
  80. package/dist/LexicalList.prod-DRz8vsM9.js.map +1 -0
  81. package/dist/LexicalTable.prod-D16GW-aZ.js +2003 -0
  82. package/dist/LexicalTable.prod-D16GW-aZ.js.map +1 -0
  83. package/dist/LexicalUtils.prod-BBTLliac.js +360 -0
  84. package/dist/LexicalUtils.prod-BBTLliac.js.map +1 -0
  85. package/dist/LinkContextMenu-m_CGQEiX.js +101 -0
  86. package/dist/LinkContextMenu-m_CGQEiX.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-DjD1wryY.js +235 -0
  108. package/dist/PasteHandlerPlugin-DjD1wryY.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-CgYsYsuY.js +208 -0
  142. package/dist/TableCellResizerPlugin-CgYsYsuY.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-SZQXB3JV-D0XG4Tlp.js +8448 -0
  226. package/dist/chunk-SZQXB3JV-D0XG4Tlp.js.map +1 -0
  227. package/dist/client-UU-mS47K.js +18953 -0
  228. package/dist/client-UU-mS47K.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-C4MCdrDH.js +1995 -0
  654. package/dist/components-C4MCdrDH.js.map +1 -0
  655. package/dist/dist-2TKCXdYZ.js +2005 -0
  656. package/dist/dist-2TKCXdYZ.js.map +1 -0
  657. package/dist/esm-UNe_gmRA.js +2781 -0
  658. package/dist/esm-UNe_gmRA.js.map +1 -0
  659. package/dist/helpers-BBSxTGRl.js +34 -0
  660. package/dist/helpers-BBSxTGRl.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-CRbkdI-3.js +43 -0
  667. package/dist/react-18-CRbkdI-3.js.map +1 -0
  668. package/dist/react.esm-CzIhAqlo.js +3297 -0
  669. package/dist/react.esm-CzIhAqlo.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-DQruvi8i.js +19466 -0
  679. package/dist/test-DQruvi8i.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 +27 -27
  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,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"}
@@ -0,0 +1,68 @@
1
+ import { t as e } from "./clsx-BD2qMUU1.js";
2
+ import { Icon as t } from "./components/Icon/Icon.js";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ import './assets/Notification.css';var i = {
5
+ notification: "_notification_1u5s4_1",
6
+ "notification--default": "_notification--default_1u5s4_7",
7
+ "notification--bar": "_notification--bar_1u5s4_10",
8
+ "notification--neutral": "_notification--neutral_1u5s4_15",
9
+ "notification--information": "_notification--information_1u5s4_19",
10
+ "notification--success": "_notification--success_1u5s4_23",
11
+ "notification--warning": "_notification--warning_1u5s4_27",
12
+ "notification--danger": "_notification--danger_1u5s4_31",
13
+ "notification-content": "_notification-content_1u5s4_55",
14
+ "notification-content--text": "_notification-content--text_1u5s4_59",
15
+ "notification-title": "_notification-title_1u5s4_65",
16
+ "notification-subtitle": "_notification-subtitle_1u5s4_69",
17
+ "notification-close-button": "_notification-close-button_1u5s4_73",
18
+ "notification-close-button--bar--neutral": "_notification-close-button--bar--neutral_1u5s4_107",
19
+ "notification-close-button--bar--information": "_notification-close-button--bar--information_1u5s4_108",
20
+ "notification-close-button--bar--danger": "_notification-close-button--bar--danger_1u5s4_109",
21
+ "notification-close-button--neutral": "_notification-close-button--neutral_1u5s4_113",
22
+ "notification-close-button--information": "_notification-close-button--information_1u5s4_117",
23
+ "notification-close-button--success": "_notification-close-button--success_1u5s4_121",
24
+ "notification-close-button--warning": "_notification-close-button--warning_1u5s4_124",
25
+ "notification-close-button--danger": "_notification-close-button--danger_1u5s4_127",
26
+ "notification-close-button--bar--success": "_notification-close-button--bar--success_1u5s4_140",
27
+ "notification-close-button--bar--warning": "_notification-close-button--bar--warning_1u5s4_143"
28
+ }, a = ({ title: a, subtitle: o, action: s, variant: c = "default", level: l, onClose: u }) => {
29
+ let d = c === "bar";
30
+ function f(e) {
31
+ return e === "neutral" ? "CalendarEdit" : e === "information" ? "SquareInfo" : e === "success" ? "CheckCircle" : "ExclamationTriangleMini";
32
+ }
33
+ return /* @__PURE__ */ r("div", {
34
+ className: e(i.notification, i[`notification--${c}`], i[`notification--${l}`]),
35
+ children: [/* @__PURE__ */ r("div", {
36
+ className: i["notification-content"],
37
+ children: [/* @__PURE__ */ n(t, { name: f(l) }), /* @__PURE__ */ r("div", {
38
+ className: i["notification-content--text"],
39
+ children: [
40
+ a && /* @__PURE__ */ n("p", {
41
+ className: i["notification-title"],
42
+ children: a
43
+ }),
44
+ o && /* @__PURE__ */ n("p", {
45
+ className: i["notification-subtitle"],
46
+ children: o
47
+ }),
48
+ s && /* @__PURE__ */ n("div", {
49
+ className: i["notification-action"],
50
+ children: s
51
+ })
52
+ ]
53
+ })]
54
+ }), u && /* @__PURE__ */ n("button", {
55
+ type: "button",
56
+ "aria-label": "close",
57
+ className: e(i["notification-close-button"], i[`notification-close-button--${l}`], { [i[`notification-close-button--bar--${l}`]]: d }),
58
+ children: /* @__PURE__ */ n(t, {
59
+ name: "Cross",
60
+ size: 24
61
+ })
62
+ })]
63
+ });
64
+ };
65
+ //#endregion
66
+ export { a as t };
67
+
68
+ //# sourceMappingURL=Notification-CIhsHuF0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Notification-CIhsHuF0.js","names":[],"sources":["../src/components/Notification/Notification.module.css","../src/components/Notification/Notification.tsx"],"sourcesContent":[".notification {\n display: flex;\n justify-content: space-between;\n width: 100%;\n}\n\n.notification--default {\n padding: 1rem;\n}\n.notification--bar {\n border: none;\n padding: 0.5rem 1rem;\n}\n\n.notification--neutral {\n background-color: var(--color-grey-300);\n border-left: 0.25rem solid var(--color-grey-600);\n}\n.notification--information {\n background-color: var(--color-navy-200);\n border-left: 0.25rem solid var(--color-navy-600);\n}\n.notification--success {\n background-color: var(--color-forest-200);\n border-left: 0.25rem solid var(--color-forest-600);\n}\n.notification--warning {\n background-color: var(--color-orange-200);\n border-left: 0.25rem solid var(--color-orange-600);\n}\n.notification--danger {\n background-color: var(--color-red-200);\n border-left: 0.25rem solid var(--color-red-600);\n}\n\n.notification--bar.notification--neutral {\n background-color: var(--color-grey-600);\n color: var(--color-uva-white);\n}\n.notification--bar.notification--information {\n background-color: var(--color-navy-600);\n color: var(--color-uva-white);\n}\n.notification--bar.notification--success {\n background-color: var(--color-forest-600);\n}\n.notification--bar.notification--warning {\n background-color: var(--color-orange-600);\n}\n.notification--bar.notification--danger {\n background-color: var(--color-red-600);\n color: var(--color-uva-white);\n}\n\n.notification-content {\n display: flex;\n gap: 1rem;\n}\n.notification-content--text {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.notification-title {\n font-weight: var(--semibold);\n margin: 0;\n}\n.notification-subtitle {\n margin: 0;\n}\n\n.notification-close-button {\n align-items: center;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n color: var(--color-uva-black);\n display: inline-flex;\n height: 1.5rem;\n justify-content: center;\n position: relative;\n transition: var(--transition-colors);\n width: 1.5rem;\n}\n\n.notification-close-button:focus-visible {\n outline: 0.125rem dotted var(--color-navy-600);\n outline-offset: 0.125rem;\n}\n\n.notification-close-button:hover {\n cursor: pointer;\n outline: 0;\n}\n\n/* make the clickable area of the overlay close button 42x42px simmilar to a regular button */\n.notification-close-button::after {\n bottom: -0.625rem;\n content: \"\";\n left: -0.625rem;\n position: absolute;\n right: -0.625rem;\n top: -0.625rem;\n}\n\n.notification-close-button--bar--neutral,\n.notification-close-button--bar--information,\n.notification-close-button--bar--danger {\n color: var(--color-uva-white);\n}\n\n.notification-close-button--neutral:hover {\n background-color: var(--color-grey-600);\n color: var(--color-uva-white);\n}\n.notification-close-button--information:hover {\n background-color: var(--color-navy-600);\n color: var(--color-uva-white);\n}\n.notification-close-button--success:hover {\n background-color: var(--color-forest-600);\n}\n.notification-close-button--warning:hover {\n background-color: var(--color-orange-600);\n}\n.notification-close-button--danger:hover {\n background-color: var(--color-red-600);\n color: var(--color-uva-white);\n}\n\n.notification-close-button--bar--neutral:hover {\n background-color: var(--color-grey-300);\n color: var(--color-uva-black);\n}\n.notification-close-button--bar--information:hover {\n background-color: var(--color-navy-300);\n color: var(--color-uva-black);\n}\n.notification-close-button--bar--success:hover {\n background-color: var(--color-forest-300);\n}\n.notification-close-button--bar--warning:hover {\n background-color: var(--color-orange-300);\n}\n.notification-close-button--bar--danger:hover {\n background-color: var(--color-red-300);\n color: var(--color-uva-black);\n}\n","import { clsx } from 'clsx';\n\nimport type { ReactNode } from 'react';\n\nimport styles from './Notification.module.css';\n\nimport { Icon } from 'components/Icon';\n\nexport type NotificationVariant = 'default' | 'bar';\nexport type NotificationLevel = 'neutral' | 'information' | 'success' | 'warning' | 'danger';\n\nexport interface NotificationProps {\n title?: string;\n subtitle?: string;\n action?: ReactNode;\n variant?: NotificationVariant;\n level: NotificationLevel;\n onClose?: () => void;\n}\n\nexport const Notification = ({ title, subtitle, action, variant = 'default', level, onClose }: NotificationProps) => {\n const isBar = variant === 'bar';\n\n function setIconName(toastType: NotificationLevel) {\n if (toastType === 'neutral') return 'CalendarEdit';\n if (toastType === 'information') return 'SquareInfo';\n if (toastType === 'success') return 'CheckCircle';\n return 'ExclamationTriangleMini';\n }\n\n return (\n <div className={clsx(styles['notification'], styles[`notification--${variant}`], styles[`notification--${level}`])}>\n <div className={styles['notification-content']}>\n <Icon name={setIconName(level)} />\n <div className={styles['notification-content--text']}>\n {title && <p className={styles['notification-title']}>{title}</p>}\n {subtitle && <p className={styles['notification-subtitle']}>{subtitle}</p>}\n {action && <div className={styles['notification-action']}>{action}</div>}\n </div>\n </div>\n {onClose && (\n <button\n type=\"button\"\n aria-label=\"close\"\n className={clsx(styles['notification-close-button'], styles[`notification-close-button--${level}`], {\n [styles[`notification-close-button--bar--${level}`]]: isBar,\n })}\n >\n <Icon name=\"Cross\" size={24} />\n </button>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;GCoBa,KAAgB,EAAE,UAAO,aAAU,WAAQ,aAAU,WAAW,UAAO,iBAAiC;CACnH,IAAM,IAAQ,MAAY;CAE1B,SAAS,EAAY,GAA8B;AAIjD,SAHI,MAAc,YAAkB,iBAChC,MAAc,gBAAsB,eACpC,MAAc,YAAkB,gBAC7B;;AAGT,QACE,kBAAC,OAAD;EAAK,WAAW,EAAK,EAAO,cAAiB,EAAO,iBAAiB,MAAY,EAAO,iBAAiB,KAAS;YAAlH,CACE,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAvB,CACE,kBAAC,GAAD,EAAM,MAAM,EAAY,EAAM,EAAI,CAAA,EAClC,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAvB;KACG,KAAS,kBAAC,KAAD;MAAG,WAAW,EAAO;gBAAwB;MAAU,CAAA;KAChE,KAAY,kBAAC,KAAD;MAAG,WAAW,EAAO;gBAA2B;MAAa,CAAA;KACzE,KAAU,kBAAC,OAAD;MAAK,WAAW,EAAO;gBAAyB;MAAa,CAAA;KACpE;MACF;MACL,KACC,kBAAC,UAAD;GACE,MAAK;GACL,cAAW;GACX,WAAW,EAAK,EAAO,8BAA8B,EAAO,8BAA8B,MAAU,GACjG,EAAO,mCAAmC,OAAW,GACvD,CAAC;aAEF,kBAAC,GAAD;IAAM,MAAK;IAAQ,MAAM;IAAM,CAAA;GACxB,CAAA,CAEP"}
@@ -0,0 +1,22 @@
1
+ import { t as e } from "./clsx-BD2qMUU1.js";
2
+ import { Icon as t } from "./components/Icon/Icon.js";
3
+ import { forwardRef as n } from "react";
4
+ import { jsx as r } from "react/jsx-runtime";
5
+ import './assets/OverlayCloseButton.css';//#region src/components/OverlayCloseButton/OverlayCloseButton.module.css
6
+ var i = {
7
+ "overlay-close-button": "_overlay-close-button_1pcfl_1",
8
+ "overlay-close-button--padded": "_overlay-close-button--padded_1pcfl_39"
9
+ }, a = n(({ paddedModal: n, ...a }, o) => /* @__PURE__ */ r("button", {
10
+ ...a,
11
+ type: "button",
12
+ ref: o,
13
+ className: e(i["overlay-close-button"], { [i["overlay-close-button--padded"]]: n }),
14
+ children: /* @__PURE__ */ r(t, {
15
+ name: "Cross",
16
+ size: 24
17
+ })
18
+ }));
19
+ //#endregion
20
+ export { a as t };
21
+
22
+ //# sourceMappingURL=OverlayCloseButton-rttFbAM_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverlayCloseButton-rttFbAM_.js","names":[],"sources":["../src/components/OverlayCloseButton/OverlayCloseButton.module.css","../src/components/OverlayCloseButton/OverlayCloseButton.tsx"],"sourcesContent":[".overlay-close-button {\n align-items: center;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n color: var(--color-uva-black);\n display: inline-flex;\n height: 1.5rem;\n justify-content: center;\n position: absolute;\n right: 0.125rem;\n top: 0.125rem;\n transition: var(--transition-colors);\n width: 1.5rem;\n}\n\n.overlay-close-button:focus-visible {\n outline: 0.125rem dotted var(--color-navy-600);\n outline-offset: 0.125rem;\n}\n\n.overlay-close-button:hover {\n background-color: var(--color-grey-300);\n cursor: pointer;\n outline: 0;\n}\n\n/* make the clickable area of the overlay close button 42x42px simmilar to a regular button */\n.overlay-close-button::after {\n bottom: -0.625rem;\n content: \" \";\n left: -0.625rem;\n position: absolute;\n right: -0.625rem;\n top: -0.625rem;\n}\n\n@media (min-width: 28rem) and (min-height: 28rem) {\n .overlay-close-button--padded {\n right: 1rem;\n top: 1rem;\n }\n}\n","import { clsx } from 'clsx';\nimport { forwardRef } from 'react';\n\nimport type { ButtonHTMLAttributes } from 'react';\n\nimport styles from './OverlayCloseButton.module.css';\n\nimport { Icon } from 'components/Icon';\n\nexport interface OverlayCloseButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'style'> {\n /** The `aria-label` value of the button. */\n 'aria-label': string; // mandatory\n /** `true` to add padding around the button; otherwise, `false`. The default is `false`. */\n paddedModal?: boolean;\n}\n\n/** Represents a component to render a close button in the top right corner of a container. */\nexport const OverlayCloseButton = forwardRef<HTMLButtonElement, OverlayCloseButtonProps>(\n ({ paddedModal, ...restProps }, forwardedRef) => (\n <button\n {...restProps}\n type=\"button\"\n ref={forwardedRef}\n className={clsx(styles['overlay-close-button'], {\n [styles['overlay-close-button--padded']]: paddedModal,\n })}\n >\n <Icon name=\"Cross\" size={24} />\n </button>\n )\n);\n"],"mappings":";;;;;;;;GCiBa,IAAqB,GAC/B,EAAE,gBAAa,GAAG,KAAa,MAC9B,kBAAC,UAAD;CACE,GAAI;CACJ,MAAK;CACL,KAAK;CACL,WAAW,EAAK,EAAO,yBAAyB,GAC7C,EAAO,kCAAkC,GAC3C,CAAC;WAEF,kBAAC,GAAD;EAAM,MAAK;EAAQ,MAAM;EAAM,CAAA;CACxB,CAAA,CAEZ"}
@@ -0,0 +1,45 @@
1
+ import { t as e } from "./clsx-BD2qMUU1.js";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ import './assets/OverlayStepBar.css';//#region src/components/OverlayStepBar/OverlayStepBar.module.css
4
+ var r = {
5
+ "overlay-step-bar__container": "_overlay-step-bar__container_14mcr_1",
6
+ "overlay-step-bar__step-wrapper": "_overlay-step-bar__step-wrapper_14mcr_10",
7
+ "overlay-step-bar__step": "_overlay-step-bar__step_14mcr_10",
8
+ "overlay-step-bar__step--label": "_overlay-step-bar__step--label_14mcr_55",
9
+ "overlay-step-bar__step--label-show": "_overlay-step-bar__step--label-show_14mcr_61",
10
+ "overlay-step-bar__step--index": "_overlay-step-bar__step--index_14mcr_65",
11
+ "overlay-step-bar__step--active": "_overlay-step-bar__step--active_14mcr_73"
12
+ }, i = ({ stepLabels: i, activeStep: a = 0, disabledCountPrefix: o = [], onStepClick: s }) => {
13
+ a > i.length && console.error("activeStep is greater than the number of steps");
14
+ let c = (e) => {
15
+ let t = e + 1;
16
+ if (o.includes(t)) return "";
17
+ let n = Array.from({ length: e }, (e, t) => t + 1).filter((e) => !o.includes(e)).length;
18
+ return String(n + 1);
19
+ };
20
+ return /* @__PURE__ */ t("div", {
21
+ className: r["overlay-step-bar__container"],
22
+ children: i.length && i.map((i, l) => /* @__PURE__ */ t("span", {
23
+ className: r["overlay-step-bar__step-wrapper"],
24
+ children: /* @__PURE__ */ n("button", {
25
+ className: e(r["overlay-step-bar__step"], [l === a - 1 && r["overlay-step-bar__step--active"]]),
26
+ ...s && { onClick: () => s(l + 1) },
27
+ type: "button",
28
+ "aria-label": `Step ${l + 1}`,
29
+ "aria-current": l === a - 1 ? "step" : void 0,
30
+ disabled: l === a - 1,
31
+ children: [/* @__PURE__ */ t("span", {
32
+ className: r["overlay-step-bar__step--index"],
33
+ children: c(l)
34
+ }), /* @__PURE__ */ t("span", {
35
+ className: e(r["overlay-step-bar__step--label"], o.includes(l + 1) && r["overlay-step-bar__step--label-show"]),
36
+ children: i
37
+ })]
38
+ })
39
+ }, `${l}_${i}`))
40
+ });
41
+ };
42
+ //#endregion
43
+ export { i as t };
44
+
45
+ //# sourceMappingURL=OverlayStepBar-CjaoYdsh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverlayStepBar-CjaoYdsh.js","names":[],"sources":["../src/components/OverlayStepBar/OverlayStepBar.module.css","../src/components/OverlayStepBar/OverlayStepBar.tsx"],"sourcesContent":[".overlay-step-bar__container {\n align-items: center;\n background-color: var(--color-grey-200);\n display: flex;\n height: 2.5rem;\n justify-content: center;\n overflow-y: hidden;\n}\n\n.overlay-step-bar__step-wrapper {\n background-color: var(--color-grey-200);\n height: 100%;\n position: relative;\n}\n\n.overlay-step-bar__step-wrapper:not(:last-child)::after {\n border-bottom: 1.5rem solid transparent;\n border-left: 1rem solid var(--color-grey-200);\n border-top: 1.5rem solid transparent;\n content: \"\";\n position: absolute;\n right: -0.25rem;\n top: -0.25rem;\n z-index: 10;\n}\n\n.overlay-step-bar__step-wrapper:not(:last-child)::before {\n border-bottom: 1.5rem solid transparent;\n border-left: 1rem solid var(--color-uva-white);\n border-top: 1.5rem solid transparent;\n content: \"\";\n position: absolute;\n right: calc(-0.25rem - 0.25rem);\n top: -0.25rem;\n z-index: 5;\n}\n\n.overlay-step-bar__step {\n align-items: center;\n appearance: none;\n background-color: transparent;\n border: none;\n color: var(--color-grey-700);\n cursor: pointer;\n display: flex;\n font-family: inherit;\n font-size: var(--font-size-default);\n height: 100%;\n margin-left: 0.5rem;\n padding: 0 2rem 0 1.5rem;\n position: relative;\n width: calc(100% - 0.75rem);\n}\n\n.overlay-step-bar__step--label {\n display: none;\n text-decoration: none;\n white-space: nowrap;\n}\n\n.overlay-step-bar__step--label-show {\n display: block;\n}\n\n.overlay-step-bar__step--index {\n margin-right: 0.5rem;\n}\n\n.overlay-step-bar__step--label:hover {\n text-decoration: underline;\n}\n\n.overlay-step-bar__step--active .overlay-step-bar__step--label {\n display: block;\n}\n\n.overlay-step-bar__step:hover .overlay-step-bar__step--index,\n.overlay-step-bar__step:hover .overlay-step-bar__step--label {\n text-decoration: underline;\n}\n\n@media (min-width: 70rem) {\n .overlay-step-bar__step--label {\n display: block;\n }\n\n .overlay-step-bar__step:hover .overlay-step-bar__step--index {\n text-decoration: none;\n }\n}\n\n.overlay-step-bar__step:focus-visible {\n outline: 0.125rem dotted var(--color-navy-600);\n outline-offset: -0.25rem;\n z-index: 15;\n}\n\n.overlay-step-bar__step--active {\n color: var(--color-uva-black);\n font-weight: var(--semibold);\n}\n\n.overlay-step-bar__step--active:hover .overlay-step-bar__step--index,\n.overlay-step-bar__step--active:hover .overlay-step-bar__step--label {\n cursor: default;\n text-decoration: none;\n}\n","import { clsx } from 'clsx';\n\nimport styles from './OverlayStepBar.module.css';\n\nexport interface OverlayStepBarProps {\n /** Array of strings. */\n stepLabels: string[];\n /** activeStep number starting with 1. */\n activeStep: number;\n /** Array of prefix numbers to not show in the steplabels */\n disabledCountPrefix?: number[];\n /** navigate to step. */\n onStepClick?: (step: number) => void;\n}\n\nexport const OverlayStepBar = ({\n stepLabels,\n activeStep = 0,\n disabledCountPrefix = [],\n onStepClick,\n}: OverlayStepBarProps) => {\n if (activeStep > stepLabels.length) {\n console.error('activeStep is greater than the number of steps');\n }\n\n const getStepDisplayNumber = (stepIndex: number): string => {\n const stepNumber = stepIndex + 1;\n\n if (disabledCountPrefix.includes(stepNumber)) {\n return '';\n }\n\n const enabledStepsBefore = Array.from({ length: stepIndex }, (_, count) => count + 1).filter(\n (step) => !disabledCountPrefix.includes(step)\n ).length;\n\n return String(enabledStepsBefore + 1);\n };\n\n return (\n <div className={styles['overlay-step-bar__container']}>\n {stepLabels.length &&\n stepLabels.map((label, index) => (\n <span key={`${index}_${label}`} className={styles[`overlay-step-bar__step-wrapper`]}>\n <button\n className={clsx(styles[`overlay-step-bar__step`], [\n index === activeStep - 1 && styles[`overlay-step-bar__step--active`],\n ])}\n {...(onStepClick && { onClick: () => onStepClick(index + 1) })}\n type=\"button\"\n aria-label={`Step ${index + 1}`}\n aria-current={index === activeStep - 1 ? 'step' : undefined}\n disabled={index === activeStep - 1}\n >\n <span className={styles[`overlay-step-bar__step--index`]}>{getStepDisplayNumber(index)}</span>\n <span\n className={clsx(\n styles[`overlay-step-bar__step--label`],\n disabledCountPrefix.includes(index + 1) && styles[`overlay-step-bar__step--label-show`]\n )}\n >\n {label}\n </span>\n </button>\n </span>\n ))}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;GCea,KAAkB,EAC7B,eACA,gBAAa,GACb,yBAAsB,EAAE,EACxB,qBACyB;AACzB,CAAI,IAAa,EAAW,UAC1B,QAAQ,MAAM,iDAAiD;CAGjE,IAAM,KAAwB,MAA8B;EAC1D,IAAM,IAAa,IAAY;AAE/B,MAAI,EAAoB,SAAS,EAAW,CAC1C,QAAO;EAGT,IAAM,IAAqB,MAAM,KAAK,EAAE,QAAQ,GAAW,GAAG,GAAG,MAAU,IAAQ,EAAE,CAAC,QACnF,MAAS,CAAC,EAAoB,SAAS,EAAK,CAC9C,CAAC;AAEF,SAAO,OAAO,IAAqB,EAAE;;AAGvC,QACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YACpB,EAAW,UACV,EAAW,KAAK,GAAO,MACrB,kBAAC,QAAD;GAAgC,WAAW,EAAO;aAChD,kBAAC,UAAD;IACE,WAAW,EAAK,EAAO,2BAA2B,CAChD,MAAU,IAAa,KAAK,EAAO,kCACpC,CAAC;IACF,GAAK,KAAe,EAAE,eAAe,EAAY,IAAQ,EAAE,EAAE;IAC7D,MAAK;IACL,cAAY,QAAQ,IAAQ;IAC5B,gBAAc,MAAU,IAAa,IAAI,SAAS,KAAA;IAClD,UAAU,MAAU,IAAa;cARnC,CAUE,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAmC,EAAqB,EAAM;KAAQ,CAAA,EAC9F,kBAAC,QAAD;KACE,WAAW,EACT,EAAO,kCACP,EAAoB,SAAS,IAAQ,EAAE,IAAI,EAAO,sCACnD;eAEA;KACI,CAAA,CACA;;GACJ,EArBI,GAAG,EAAM,GAAG,IAqBhB,CACP;EACA,CAAA"}