@uva-glass/component-library 3.29.0 → 3.30.1

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 (321) hide show
  1. package/dist/Column-BL3dsYxn.js.map +1 -1
  2. package/dist/Lexical.prod-UwAbgYpF.js.map +1 -1
  3. package/dist/LexicalClipboard.prod-DHIGjydG.js.map +1 -1
  4. package/dist/LexicalLink.prod-Bsa9J7L-.js.map +1 -1
  5. package/dist/LexicalList.prod-jxGuZd4b.js.map +1 -1
  6. package/dist/LexicalSelection.prod-xk5MiZnZ.js.map +1 -1
  7. package/dist/LexicalTable.prod-BSjs04iE.js.map +1 -1
  8. package/dist/LexicalUtils.prod-cQutjKA3.js.map +1 -1
  9. package/dist/MultiSelectItem-DbOdEllV.js.map +1 -1
  10. package/dist/SortableProvider-CwX1lFMa.js.map +1 -1
  11. package/dist/TablePlugin-NmJsn2fm.js.map +1 -1
  12. package/dist/__mocks__/svgrMock.js.map +1 -1
  13. package/dist/assets/Notification.css +1 -1
  14. package/dist/{client-EQRlhXX7.js → client-D0KlBcsm.js} +1325 -1325
  15. package/dist/{client-EQRlhXX7.js.map → client-D0KlBcsm.js.map} +1 -1
  16. package/dist/components/Accordion/Accordion.js.map +1 -1
  17. package/dist/components/Accordion/Accordion.stories.d.ts +2 -2
  18. package/dist/components/Accordion/Accordion.stories.js.map +1 -1
  19. package/dist/components/Accordion/Accordion.test.js +3 -3
  20. package/dist/components/Accordion/Accordion.test.js.map +1 -1
  21. package/dist/components/AccordionCard/AccordionCard.js.map +1 -1
  22. package/dist/components/AccordionCard/AccordionCard.stories.d.ts +1 -1
  23. package/dist/components/AccordionCard/AccordionCard.stories.js.map +1 -1
  24. package/dist/components/AccordionCard/AccordionCard.test.js +3 -3
  25. package/dist/components/AccordionCard/AccordionCard.test.js.map +1 -1
  26. package/dist/components/ActionList/ActionList.js.map +1 -1
  27. package/dist/components/ActionList/ActionList.stories.d.ts +1 -1
  28. package/dist/components/ActionList/ActionList.stories.js.map +1 -1
  29. package/dist/components/ActionList/ActionList.test.js +3 -3
  30. package/dist/components/ActionList/ActionList.test.js.map +1 -1
  31. package/dist/components/AppStatusBar/AppStatusBar.js.map +1 -1
  32. package/dist/components/AppStatusBar/AppStatusBar.stories.d.ts +1 -1
  33. package/dist/components/AppStatusBar/AppStatusBar.stories.js.map +1 -1
  34. package/dist/components/AppStatusBar/AppStatusBar.test.js +2 -2
  35. package/dist/components/AppStatusBar/AppStatusBar.test.js.map +1 -1
  36. package/dist/components/Attention/Attention.js.map +1 -1
  37. package/dist/components/Attention/Attention.stories.d.ts +1 -1
  38. package/dist/components/Attention/Attention.stories.js.map +1 -1
  39. package/dist/components/Attention/Attention.test.js +2 -2
  40. package/dist/components/Attention/Attention.test.js.map +1 -1
  41. package/dist/components/Backdrop/Backdrop.js.map +1 -1
  42. package/dist/components/Backdrop/Backdrop.stories.d.ts +1 -1
  43. package/dist/components/Backdrop/Backdrop.stories.js.map +1 -1
  44. package/dist/components/Backdrop/Backdrop.test.js +2 -2
  45. package/dist/components/Backdrop/Backdrop.test.js.map +1 -1
  46. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  47. package/dist/components/ButtonGroup/ButtonGroup.stories.d.ts +1 -1
  48. package/dist/components/ButtonGroup/ButtonGroup.stories.js.map +1 -1
  49. package/dist/components/Buttons/Button.js.map +1 -1
  50. package/dist/components/Buttons/Button.stories.d.ts +2 -2
  51. package/dist/components/Buttons/Button.stories.js +8 -8
  52. package/dist/components/Buttons/Button.stories.js.map +1 -1
  53. package/dist/components/Buttons/Button.test.js +2 -2
  54. package/dist/components/Buttons/Button.test.js.map +1 -1
  55. package/dist/components/Buttons/LinkButton.js.map +1 -1
  56. package/dist/components/Buttons/LinkButton.stories.d.ts +2 -2
  57. package/dist/components/Buttons/LinkButton.stories.js +10 -10
  58. package/dist/components/Buttons/LinkButton.stories.js.map +1 -1
  59. package/dist/components/Buttons/LinkButton.test.js +2 -2
  60. package/dist/components/Buttons/LinkButton.test.js.map +1 -1
  61. package/dist/components/Buttons/MenuButton.js.map +1 -1
  62. package/dist/components/Buttons/MenuButton.stories.d.ts +3 -3
  63. package/dist/components/Buttons/MenuButton.stories.js +15 -15
  64. package/dist/components/Buttons/MenuButton.stories.js.map +1 -1
  65. package/dist/components/Buttons/MenuButton.test.js +2 -2
  66. package/dist/components/Buttons/MenuButton.test.js.map +1 -1
  67. package/dist/components/Card/Card.js.map +1 -1
  68. package/dist/components/Card/Card.stories.d.ts +3 -3
  69. package/dist/components/Card/Card.stories.js.map +1 -1
  70. package/dist/components/Card/Card.test.js +2 -2
  71. package/dist/components/Card/Card.test.js.map +1 -1
  72. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  73. package/dist/components/Checkbox/Checkbox.stories.d.ts +2 -2
  74. package/dist/components/Checkbox/Checkbox.stories.js +1 -1
  75. package/dist/components/Checkbox/Checkbox.stories.js.map +1 -1
  76. package/dist/components/Checkbox/Checkbox.test.js +3 -3
  77. package/dist/components/Checkbox/Checkbox.test.js.map +1 -1
  78. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.js.map +1 -1
  79. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.d.ts +3 -3
  80. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js +1 -1
  81. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js.map +1 -1
  82. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js +2 -2
  83. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js.map +1 -1
  84. package/dist/components/CheckboxTree/CheckboxTree.js.map +1 -1
  85. package/dist/components/CheckboxTree/CheckboxTree.stories.d.ts +1 -1
  86. package/dist/components/CheckboxTree/CheckboxTree.stories.js +108 -123
  87. package/dist/components/CheckboxTree/CheckboxTree.stories.js.map +1 -1
  88. package/dist/components/Chip/Chip.js.map +1 -1
  89. package/dist/components/Chip/Chip.stories.d.ts +2 -2
  90. package/dist/components/Chip/Chip.stories.js +1 -1
  91. package/dist/components/Chip/Chip.stories.js.map +1 -1
  92. package/dist/components/ControlsButton/ControlsButton.js.map +1 -1
  93. package/dist/components/ControlsButton/ControlsButton.stories.d.ts +1 -1
  94. package/dist/components/ControlsButton/ControlsButton.stories.js +4 -4
  95. package/dist/components/ControlsButton/ControlsButton.stories.js.map +1 -1
  96. package/dist/components/Drawer/Drawer.js.map +1 -1
  97. package/dist/components/Drawer/Drawer.stories.d.ts +2 -2
  98. package/dist/components/Drawer/Drawer.stories.js +9 -9
  99. package/dist/components/Drawer/Drawer.stories.js.map +1 -1
  100. package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.js.map +1 -1
  101. package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.d.ts +1 -1
  102. package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.js.map +1 -1
  103. package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.js.map +1 -1
  104. package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.stories.d.ts +1 -1
  105. package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.stories.js.map +1 -1
  106. package/dist/components/FeedbackBar/FeedbackBar.js.map +1 -1
  107. package/dist/components/FeedbackBar/FeedbackBar.stories.d.ts +1 -1
  108. package/dist/components/FeedbackBar/FeedbackBar.stories.js.map +1 -1
  109. package/dist/components/FeedbackBar/FeedbackBar.test.js +2 -2
  110. package/dist/components/FeedbackBar/FeedbackBar.test.js.map +1 -1
  111. package/dist/components/FeedbackBox/FeedbackBox.js.map +1 -1
  112. package/dist/components/FeedbackBox/FeedbackBox.stories.d.ts +2 -2
  113. package/dist/components/FeedbackBox/FeedbackBox.stories.js.map +1 -1
  114. package/dist/components/FieldHint/FieldHint.js.map +1 -1
  115. package/dist/components/FieldHint/FieldHint.stories.d.ts +2 -2
  116. package/dist/components/FieldHint/FieldHint.stories.js.map +1 -1
  117. package/dist/components/Fieldset/Fieldset.js.map +1 -1
  118. package/dist/components/Fieldset/Fieldset.stories.d.ts +2 -2
  119. package/dist/components/Fieldset/Fieldset.stories.js.map +1 -1
  120. package/dist/components/FormField/FormField.stories.d.ts +1 -1
  121. package/dist/components/FormField/FormField.stories.js.map +1 -1
  122. package/dist/components/FormInput/FormInput.js.map +1 -1
  123. package/dist/components/FormInput/FormInput.stories.d.ts +2 -2
  124. package/dist/components/FormInput/FormInput.stories.js +1 -1
  125. package/dist/components/FormInput/FormInput.stories.js.map +1 -1
  126. package/dist/components/GridRow/GridRow.js.map +1 -1
  127. package/dist/components/GridRow/GridRow.stories.d.ts +2 -2
  128. package/dist/components/GridRow/GridRow.stories.js.map +1 -1
  129. package/dist/components/HorizontalList/HorizontalList.js.map +1 -1
  130. package/dist/components/HorizontalList/HorizontalList.stories.d.ts +2 -2
  131. package/dist/components/HorizontalList/HorizontalList.stories.js.map +1 -1
  132. package/dist/components/Icon/Icon.js.map +1 -1
  133. package/dist/components/Icon/Icon.stories.d.ts +1 -1
  134. package/dist/components/Icon/Icon.stories.js.map +1 -1
  135. package/dist/components/Icon/icons/index.js.map +1 -1
  136. package/dist/components/IconButton/IconButton.stories.d.ts +1 -1
  137. package/dist/components/IconButton/IconButton.stories.js +5 -5
  138. package/dist/components/IconButton/IconButton.stories.js.map +1 -1
  139. package/dist/components/InfoBanner/InfoBanner.js.map +1 -1
  140. package/dist/components/InfoBanner/InfoBanner.stories.d.ts +1 -1
  141. package/dist/components/InfoBanner/InfoBanner.stories.js.map +1 -1
  142. package/dist/components/InfoMessage/InfoMessage.js.map +1 -1
  143. package/dist/components/InfoMessage/InfoMessage.stories.d.ts +1 -1
  144. package/dist/components/InfoMessage/InfoMessage.stories.js.map +1 -1
  145. package/dist/components/Input/Input.js.map +1 -1
  146. package/dist/components/Input/Input.stories.d.ts +4 -4
  147. package/dist/components/Input/Input.stories.js.map +1 -1
  148. package/dist/components/InputField/InputField.js.map +1 -1
  149. package/dist/components/InputField/InputField.stories.d.ts +3 -3
  150. package/dist/components/InputField/InputField.stories.js +12 -12
  151. package/dist/components/InputField/InputField.stories.js.map +1 -1
  152. package/dist/components/Label/Label.js.map +1 -1
  153. package/dist/components/Label/Label.stories.d.ts +2 -2
  154. package/dist/components/Label/Label.stories.js.map +1 -1
  155. package/dist/components/Label/Label.test.js +2 -2
  156. package/dist/components/Label/Label.test.js.map +1 -1
  157. package/dist/components/MenuLink/MenuLink.js.map +1 -1
  158. package/dist/components/MenuLink/MenuLink.stories.d.ts +2 -2
  159. package/dist/components/MenuLink/MenuLink.stories.js.map +1 -1
  160. package/dist/components/MetaDataList/MetaDataList.js.map +1 -1
  161. package/dist/components/MetaDataList/MetaDataList.stories.d.ts +1 -1
  162. package/dist/components/MetaDataList/MetaDataList.stories.js.map +1 -1
  163. package/dist/components/ModalDialog/ModalDialog.js.map +1 -1
  164. package/dist/components/ModalDialog/ModalDialog.stories.d.ts +3 -3
  165. package/dist/components/ModalDialog/ModalDialog.stories.js +8 -8
  166. package/dist/components/ModalDialog/ModalDialog.stories.js.map +1 -1
  167. package/dist/components/MultiSelect/MultiSelect.stories.d.ts +3 -3
  168. package/dist/components/MultiSelect/MultiSelect.stories.js +7 -7
  169. package/dist/components/MultiSelect/MultiSelect.stories.js.map +1 -1
  170. package/dist/components/MultiSelectBox/MultiSelectBox.js.map +1 -1
  171. package/dist/components/MultiSelectBox/MultiSelectBox.stories.d.ts +2 -2
  172. package/dist/components/MultiSelectBox/MultiSelectBox.stories.js +5 -5
  173. package/dist/components/MultiSelectBox/MultiSelectBox.stories.js.map +1 -1
  174. package/dist/components/MultiSelectBox/MultiSelectBox.test.js +2 -2
  175. package/dist/components/MultiSelectBox/MultiSelectBox.test.js.map +1 -1
  176. package/dist/components/Notification/Notification.js +41 -41
  177. package/dist/components/Notification/Notification.js.map +1 -1
  178. package/dist/components/Notification/Notification.stories.d.ts +2 -2
  179. package/dist/components/Notification/Notification.stories.js +3 -3
  180. package/dist/components/Notification/Notification.stories.js.map +1 -1
  181. package/dist/components/Notification/Notification.test.js +2 -2
  182. package/dist/components/Notification/Notification.test.js.map +1 -1
  183. package/dist/components/OverlayCloseButton/OverlayCloseButton.js.map +1 -1
  184. package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.d.ts +1 -1
  185. package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js +4 -4
  186. package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js.map +1 -1
  187. package/dist/components/OverlayStepBar/OverlayStepBar.js.map +1 -1
  188. package/dist/components/OverlayStepBar/OverlayStepBar.stories.d.ts +2 -2
  189. package/dist/components/OverlayStepBar/OverlayStepBar.stories.js.map +1 -1
  190. package/dist/components/PageOverlay/PageOverlay.js.map +1 -1
  191. package/dist/components/PageOverlay/PageOverlay.stories.d.ts +3 -3
  192. package/dist/components/PageOverlay/PageOverlay.stories.js.map +1 -1
  193. package/dist/components/PeriodSelector/PeriodSelector.js.map +1 -1
  194. package/dist/components/PeriodSelector/PeriodSelector.stories.d.ts +1 -1
  195. package/dist/components/PeriodSelector/PeriodSelector.stories.js +1 -1
  196. package/dist/components/PeriodSelector/PeriodSelector.stories.js.map +1 -1
  197. package/dist/components/Periods/Periods.js.map +1 -1
  198. package/dist/components/Periods/Periods.stories.d.ts +1 -1
  199. package/dist/components/Periods/Periods.stories.js.map +1 -1
  200. package/dist/components/ProgrammeCard/ProgrammeCard.js.map +1 -1
  201. package/dist/components/ProgrammeCard/ProgrammeCard.stories.d.ts +3 -3
  202. package/dist/components/ProgrammeCard/ProgrammeCard.stories.js.map +1 -1
  203. package/dist/components/RadioButton/RadioButton.js.map +1 -1
  204. package/dist/components/RadioButton/RadioButton.stories.d.ts +1 -1
  205. package/dist/components/RadioButton/RadioButton.stories.js.map +1 -1
  206. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  207. package/dist/components/RadioGroup/RadioGroup.stories.d.ts +1 -1
  208. package/dist/components/RadioGroup/RadioGroup.stories.js +4 -4
  209. package/dist/components/RadioGroup/RadioGroup.stories.js.map +1 -1
  210. package/dist/components/RadioGroup/Radiogroup.test.js +2 -2
  211. package/dist/components/RadioGroup/Radiogroup.test.js.map +1 -1
  212. package/dist/components/RadioTabSelector/RadioTabSelector.js.map +1 -1
  213. package/dist/components/RadioTabSelector/RadioTabSelector.stories.d.ts +1 -1
  214. package/dist/components/RadioTabSelector/RadioTabSelector.stories.js +1 -1
  215. package/dist/components/RadioTabSelector/RadioTabSelector.stories.js.map +1 -1
  216. package/dist/components/Repeater/Repeater.js.map +1 -1
  217. package/dist/components/Repeater/Repeater.stories.d.ts +1 -1
  218. package/dist/components/Repeater/Repeater.stories.js.map +1 -1
  219. package/dist/components/RteEditor/EditorHeader/EditorHeader.js.map +1 -1
  220. package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js.map +1 -1
  221. package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js.map +1 -1
  222. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js.map +1 -1
  223. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js.map +1 -1
  224. package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js.map +1 -1
  225. package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js.map +1 -1
  226. package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js.map +1 -1
  227. package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js.map +1 -1
  228. package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js.map +1 -1
  229. package/dist/components/RteEditor/Providers/LanguageProvider.js.map +1 -1
  230. package/dist/components/RteEditor/RteEditor.js.map +1 -1
  231. package/dist/components/RteEditor/RteEditor.stories.d.ts +1 -1
  232. package/dist/components/RteEditor/RteEditor.stories.js.map +1 -1
  233. package/dist/components/RteEditor/UvaTheme/UvaTheme.js.map +1 -1
  234. package/dist/components/RteEditor/helpers.js.map +1 -1
  235. package/dist/components/RteEditor/hooks/components/Flyout.js.map +1 -1
  236. package/dist/components/RteEditor/hooks/useFlyout.js.map +1 -1
  237. package/dist/components/RteEditor/hooks/useTranslation.js.map +1 -1
  238. package/dist/components/RteEditor/translations.js.map +1 -1
  239. package/dist/components/SectionNotification/SectionNotification.js.map +1 -1
  240. package/dist/components/SectionNotification/SectionNotification.stories.d.ts +1 -1
  241. package/dist/components/SectionNotification/SectionNotification.stories.js.map +1 -1
  242. package/dist/components/SelectListbox/SelectListBox.stories.d.ts +2 -2
  243. package/dist/components/SelectListbox/SelectListBox.stories.js +1 -1
  244. package/dist/components/SelectListbox/SelectListBox.stories.js.map +1 -1
  245. package/dist/components/SelectListbox/SelectListbox.js.map +1 -1
  246. package/dist/components/SelectListbox/SelectProvider.js.map +1 -1
  247. package/dist/components/SelectListbox/components/SelectButton.js.map +1 -1
  248. package/dist/components/SelectListbox/components/SelectContainer.js.map +1 -1
  249. package/dist/components/SelectListbox/components/SelectOption.js.map +1 -1
  250. package/dist/components/SelectListbox/components/SelectOptionBox.js.map +1 -1
  251. package/dist/components/Sortable/Sortable.js.map +1 -1
  252. package/dist/components/Sortable/Sortable.stories.d.ts +3 -3
  253. package/dist/components/Sortable/Sortable.stories.js +13 -13
  254. package/dist/components/Sortable/Sortable.stories.js.map +1 -1
  255. package/dist/components/Sortable/actions.js.map +1 -1
  256. package/dist/components/Sortable/components/SortableHandle.js.map +1 -1
  257. package/dist/components/Sortable/components/SortableItem.js.map +1 -1
  258. package/dist/components/Sortable/sortableReducer.js.map +1 -1
  259. package/dist/components/Spinner/Spinner.js.map +1 -1
  260. package/dist/components/Spinner/Spinner.stories.d.ts +1 -1
  261. package/dist/components/Spinner/Spinner.stories.js.map +1 -1
  262. package/dist/components/StatusBadge/StatusBadge.stories.d.ts +1 -1
  263. package/dist/components/StatusBadge/StatusBadge.stories.js.map +1 -1
  264. package/dist/components/StatusBadge/StatusBadge.test.js +2 -2
  265. package/dist/components/StatusBadge/StatusBadge.test.js.map +1 -1
  266. package/dist/components/StatusBadge/StatusBage.js.map +1 -1
  267. package/dist/components/StatusPill/StatusPill.js.map +1 -1
  268. package/dist/components/StatusPill/StatusPill.stories.d.ts +1 -1
  269. package/dist/components/StatusPill/StatusPill.stories.js.map +1 -1
  270. package/dist/components/TextArea/TextArea.js.map +1 -1
  271. package/dist/components/TextArea/TextArea.stories.d.ts +1 -1
  272. package/dist/components/TextArea/TextArea.stories.js +1 -1
  273. package/dist/components/TextArea/TextArea.stories.js.map +1 -1
  274. package/dist/components/TextArea/TextArea.test.js +9 -9
  275. package/dist/components/TextArea/TextArea.test.js.map +1 -1
  276. package/dist/components/ToggleSwitch/ToggleSwitch.js.map +1 -1
  277. package/dist/components/ToggleSwitch/ToggleSwitch.stories.d.ts +1 -1
  278. package/dist/components/ToggleSwitch/ToggleSwitch.stories.js +5 -5
  279. package/dist/components/ToggleSwitch/ToggleSwitch.stories.js.map +1 -1
  280. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  281. package/dist/components/Tooltip/Tooltip.stories.d.ts +1 -1
  282. package/dist/components/Tooltip/Tooltip.stories.js.map +1 -1
  283. package/dist/components/VarIndicator/VarIndicator.js.map +1 -1
  284. package/dist/components/VarIndicator/VarIndicator.stories.d.ts +1 -1
  285. package/dist/components/VarIndicator/VarIndicator.stories.js +4 -4
  286. package/dist/components/VarIndicator/VarIndicator.stories.js.map +1 -1
  287. package/dist/components/VarIndicator/VarIndicator.test.js +3 -3
  288. package/dist/components/VarIndicator/VarIndicator.test.js.map +1 -1
  289. package/dist/components/hooks/useDebounce.js.map +1 -1
  290. package/dist/components/hooks/useOnClickOutside.js.map +1 -1
  291. package/dist/components/hooks/usePositionedFloaters.js.map +1 -1
  292. package/dist/components/hooks/useResponsive.js.map +1 -1
  293. package/dist/helpers-DZIm3MiJ.js.map +1 -1
  294. package/dist/index-BVAvx58-.js +10648 -0
  295. package/dist/index-BVAvx58-.js.map +1 -0
  296. package/dist/{index-BqLi4tOb.js → index-DV47hRzi.js} +2891 -2818
  297. package/dist/index-DV47hRzi.js.map +1 -0
  298. package/dist/index-Di9WPZUe.js +34752 -0
  299. package/dist/index-Di9WPZUe.js.map +1 -0
  300. package/dist/index-DllfJcv4.js.map +1 -1
  301. package/dist/index-PaHiqSUg.js +3099 -0
  302. package/dist/index-PaHiqSUg.js.map +1 -0
  303. package/dist/{react-18-dpbWrd2-.js → react-18-inmoTCp-.js} +2 -2
  304. package/dist/{react-18-dpbWrd2-.js.map → react-18-inmoTCp-.js.map} +1 -1
  305. package/dist/{react.esm-CsMDid07.js → react.esm-CFMwGdo5.js} +3 -3
  306. package/dist/{react.esm-CsMDid07.js.map → react.esm-CFMwGdo5.js.map} +1 -1
  307. package/dist/setupTests.js +11 -1562
  308. package/dist/setupTests.js.map +1 -1
  309. package/dist/storyComponents/ClipboardButton/ClipboardButton.js.map +1 -1
  310. package/dist/storyComponents/Container/Container.js.map +1 -1
  311. package/dist/storybook__react.d.js +5345 -5766
  312. package/dist/storybook__react.d.js.map +1 -1
  313. package/dist/test-utils-ea_YDVtd.js.map +1 -1
  314. package/package.json +16 -20
  315. package/dist/index-BqLi4tOb.js.map +0 -1
  316. package/dist/index-CUap8sKR.js +0 -2962
  317. package/dist/index-CUap8sKR.js.map +0 -1
  318. package/dist/index-DH9Vbk37.js +0 -9507
  319. package/dist/index-DH9Vbk37.js.map +0 -1
  320. package/dist/index-Dwqes6RH.js +0 -14758
  321. package/dist/index-Dwqes6RH.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayStepBar.js","sources":["../../../src/components/OverlayStepBar/OverlayStepBar.tsx"],"sourcesContent":["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"],"names":["OverlayStepBar","stepLabels","activeStep","disabledCountPrefix","onStepClick","getStepDisplayNumber","stepIndex","stepNumber","enabledStepsBefore","_","count","step","styles","label","index","jsx","jsxs","clsx"],"mappings":";;;;;;;;;;GAeaA,IAAiB,CAAC;AAAA,EAC7B,YAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,qBAAAC,IAAsB,CAAC;AAAA,EACvB,aAAAC;AACF,MAA2B;AACrB,EAAAF,IAAaD,EAAW,UAC1B,QAAQ,MAAM,gDAAgD;AAG1D,QAAAI,IAAuB,CAACC,MAA8B;AAC1D,UAAMC,IAAaD,IAAY;AAE3B,QAAAH,EAAoB,SAASI,CAAU;AAClC,aAAA;AAGT,UAAMC,IAAqB,MAAM,KAAK,EAAE,QAAQF,KAAa,CAACG,GAAGC,MAAUA,IAAQ,CAAC,EAAE;AAAA,MACpF,CAACC,MAAS,CAACR,EAAoB,SAASQ,CAAI;AAAA,IAAA,EAC5C;AAEK,WAAA,OAAOH,IAAqB,CAAC;AAAA,EACtC;AAEA,2BACG,OAAI,EAAA,WAAWI,EAAO,6BAA6B,GACjD,YAAW,UACVX,EAAW,IAAI,CAACY,GAAOC,MACrB,gBAAAC,EAAC,UAA+B,WAAWH,EAAO,gCAAgC,GAChF,UAAA,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKL,EAAO,wBAAwB,GAAG;AAAA,QAChDE,MAAUZ,IAAa,KAAKU,EAAO,gCAAgC;AAAA,MAAA,CACpE;AAAA,MACA,GAAIR,KAAe,EAAE,SAAS,MAAMA,EAAYU,IAAQ,CAAC,EAAE;AAAA,MAC5D,MAAK;AAAA,MACL,cAAY,QAAQA,IAAQ,CAAC;AAAA,MAC7B,gBAAcA,MAAUZ,IAAa,IAAI,SAAS;AAAA,MAClD,UAAUY,MAAUZ,IAAa;AAAA,MAEjC,UAAA;AAAA,QAAA,gBAAAa,EAAC,UAAK,WAAWH,EAAO,+BAA+B,GAAI,UAAAP,EAAqBS,CAAK,EAAE,CAAA;AAAA,QACvF,gBAAAC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWE;AAAA,cACTL,EAAO,+BAA+B;AAAA,cACtCT,EAAoB,SAASW,IAAQ,CAAC,KAAKF,EAAO,oCAAoC;AAAA,YACxF;AAAA,YAEC,UAAAC;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA,KAnBO,GAAGC,CAAK,IAAID,CAAK,EAqB5B,CACD,GACL;AAEJ;"}
1
+ {"version":3,"file":"OverlayStepBar.js","sources":["../../../src/components/OverlayStepBar/OverlayStepBar.tsx"],"sourcesContent":["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"],"names":["OverlayStepBar","stepLabels","activeStep","disabledCountPrefix","onStepClick","getStepDisplayNumber","stepIndex","stepNumber","enabledStepsBefore","_","count","step","styles","label","index","jsx","jsxs","clsx"],"mappings":";;;;;;;;;;GAeaA,IAAiB,CAAC;AAAA,EAC7B,YAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,qBAAAC,IAAsB,CAAA;AAAA,EACtB,aAAAC;AACF,MAA2B;AACzB,EAAIF,IAAaD,EAAW,UAC1B,QAAQ,MAAM,gDAAgD;AAGhE,QAAMI,IAAuB,CAACC,MAA8B;AAC1D,UAAMC,IAAaD,IAAY;AAE/B,QAAIH,EAAoB,SAASI,CAAU;AACzC,aAAO;AAGT,UAAMC,IAAqB,MAAM,KAAK,EAAE,QAAQF,KAAa,CAACG,GAAGC,MAAUA,IAAQ,CAAC,EAAE;AAAA,MACpF,CAACC,MAAS,CAACR,EAAoB,SAASQ,CAAI;AAAA,IAAA,EAC5C;AAEF,WAAO,OAAOH,IAAqB,CAAC;AAAA,EAAA;AAGtC,2BACG,OAAA,EAAI,WAAWI,EAAO,6BAA6B,GACjD,YAAW,UACVX,EAAW,IAAI,CAACY,GAAOC,MACrB,gBAAAC,EAAC,UAA+B,WAAWH,EAAO,gCAAgC,GAChF,UAAA,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKL,EAAO,wBAAwB,GAAG;AAAA,QAChDE,MAAUZ,IAAa,KAAKU,EAAO,gCAAgC;AAAA,MAAA,CACpE;AAAA,MACA,GAAIR,KAAe,EAAE,SAAS,MAAMA,EAAYU,IAAQ,CAAC,EAAA;AAAA,MAC1D,MAAK;AAAA,MACL,cAAY,QAAQA,IAAQ,CAAC;AAAA,MAC7B,gBAAcA,MAAUZ,IAAa,IAAI,SAAS;AAAA,MAClD,UAAUY,MAAUZ,IAAa;AAAA,MAEjC,UAAA;AAAA,QAAA,gBAAAa,EAAC,UAAK,WAAWH,EAAO,+BAA+B,GAAI,UAAAP,EAAqBS,CAAK,EAAA,CAAE;AAAA,QACvF,gBAAAC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWE;AAAA,cACTL,EAAO,+BAA+B;AAAA,cACtCT,EAAoB,SAASW,IAAQ,CAAC,KAAKF,EAAO,oCAAoC;AAAA,YAAA;AAAA,YAGvF,UAAAC;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA,KAnBO,GAAGC,CAAK,IAAID,CAAK,EAqB5B,CACD,GACL;AAEJ;"}
@@ -2,5 +2,5 @@ import { Meta } from '@storybook/react';
2
2
  import { OverlayStepBarProps } from './OverlayStepBar';
3
3
  declare const _default: Meta<OverlayStepBarProps>;
4
4
  export default _default;
5
- export declare const OverlayStepBarExample: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, OverlayStepBarProps>;
6
- export declare const OverlayStepBarHidePrifix: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, OverlayStepBarProps>;
5
+ export declare const OverlayStepBarExample: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, OverlayStepBarProps>;
6
+ export declare const OverlayStepBarHidePrifix: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, OverlayStepBarProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayStepBar.stories.js","sources":["../../../src/components/OverlayStepBar/OverlayStepBar.stories.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { OverlayStepBarProps } from './OverlayStepBar';\n\nimport { OverlayStepBar } from './OverlayStepBar';\n\nconst codeString =\n '<OverlayStepBar stepLabels={[string]} activeStep={number} disabledCountPrefix={[numbers]} onStepClick={(step) => void}/>';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Molecules/OverlayStepBar',\n component: OverlayStepBar,\n argTypes: {\n activeStep: { control: 'number' },\n stepLabels: { control: 'object' },\n disabledCountPrefix: {\n table: {\n disable: true,\n },\n },\n onStepClick: { action: 'stepClicked' },\n },\n parameters: {\n inspectComponent: OverlayStepBar,\n codeString: codeString,\n },\n} as Meta<OverlayStepBarProps>;\n\nconst Template: StoryFn<OverlayStepBarProps> = (args) => {\n const [activeStep, setActiveStep] = useState(args.activeStep || 1);\n\n return (\n <OverlayStepBar\n {...args}\n activeStep={activeStep}\n onStepClick={(step) => {\n setActiveStep(step);\n args.onStepClick?.(step);\n }}\n />\n );\n};\n\nconst defaultArgs: Partial<OverlayStepBarProps> = {\n stepLabels: ['Basic Details', 'Lecturers', 'Period Planning', 'Assessment', 'Miscellaneous', 'Overview'],\n};\n\nexport const OverlayStepBarExample = Template.bind({});\nOverlayStepBarExample.args = {\n ...defaultArgs,\n activeStep: 2,\n};\n\nexport const OverlayStepBarHidePrifix = Template.bind({});\nOverlayStepBarHidePrifix.args = {\n ...defaultArgs,\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n disabledCountPrefix: [1, 6],\n activeStep: 2,\n};\n"],"names":["codeString","OverlayStepBar_stories","OverlayStepBar","Template","args","activeStep","setActiveStep","useState","jsx","step","_a","defaultArgs","OverlayStepBarExample","OverlayStepBarHidePrifix"],"mappings":";;;AAOA,MAAMA,IACJ,4HAGaC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,YAAY,EAAE,SAAS,SAAS;AAAA,IAChC,YAAY,EAAE,SAAS,SAAS;AAAA,IAChC,qBAAqB;AAAA,MACnB,OAAO;AAAA,QACL,SAAS;AAAA,MAAA;AAAA,IAEb;AAAA,IACA,aAAa,EAAE,QAAQ,cAAc;AAAA,EACvC;AAAA,EACA,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAyC,CAACC,MAAS;AACvD,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAASH,EAAK,cAAc,CAAC;AAG/D,SAAA,gBAAAI;AAAA,IAACN;AAAA,IAAA;AAAA,MACE,GAAGE;AAAA,MACJ,YAAAC;AAAA,MACA,aAAa,CAACI,MAAS;;AACrB,QAAAH,EAAcG,CAAI,IAClBC,IAAAN,EAAK,gBAAL,QAAAM,EAAA,KAAAN,GAAmBK;AAAA,MAAI;AAAA,IACzB;AAAA,EACF;AAEJ,GAEME,IAA4C;AAAA,EAChD,YAAY,CAAC,iBAAiB,aAAa,mBAAmB,cAAc,iBAAiB,UAAU;AACzG,GAEaC,IAAwBT,EAAS,KAAK,CAAE,CAAA;AACrDS,EAAsB,OAAO;AAAA,EAC3B,GAAGD;AAAA,EACH,YAAY;AACd;AAEO,MAAME,IAA2BV,EAAS,KAAK,CAAE,CAAA;AACxDU,EAAyB,OAAO;AAAA,EAC9B,GAAGF;AAAA;AAAA,EAEH,qBAAqB,CAAC,GAAG,CAAC;AAAA,EAC1B,YAAY;AACd;"}
1
+ {"version":3,"file":"OverlayStepBar.stories.js","sources":["../../../src/components/OverlayStepBar/OverlayStepBar.stories.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { OverlayStepBarProps } from './OverlayStepBar';\n\nimport { OverlayStepBar } from './OverlayStepBar';\n\nconst codeString =\n '<OverlayStepBar stepLabels={[string]} activeStep={number} disabledCountPrefix={[numbers]} onStepClick={(step) => void}/>';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Molecules/OverlayStepBar',\n component: OverlayStepBar,\n argTypes: {\n activeStep: { control: 'number' },\n stepLabels: { control: 'object' },\n disabledCountPrefix: {\n table: {\n disable: true,\n },\n },\n onStepClick: { action: 'stepClicked' },\n },\n parameters: {\n inspectComponent: OverlayStepBar,\n codeString: codeString,\n },\n} as Meta<OverlayStepBarProps>;\n\nconst Template: StoryFn<OverlayStepBarProps> = (args) => {\n const [activeStep, setActiveStep] = useState(args.activeStep || 1);\n\n return (\n <OverlayStepBar\n {...args}\n activeStep={activeStep}\n onStepClick={(step) => {\n setActiveStep(step);\n args.onStepClick?.(step);\n }}\n />\n );\n};\n\nconst defaultArgs: Partial<OverlayStepBarProps> = {\n stepLabels: ['Basic Details', 'Lecturers', 'Period Planning', 'Assessment', 'Miscellaneous', 'Overview'],\n};\n\nexport const OverlayStepBarExample = Template.bind({});\nOverlayStepBarExample.args = {\n ...defaultArgs,\n activeStep: 2,\n};\n\nexport const OverlayStepBarHidePrifix = Template.bind({});\nOverlayStepBarHidePrifix.args = {\n ...defaultArgs,\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n disabledCountPrefix: [1, 6],\n activeStep: 2,\n};\n"],"names":["codeString","OverlayStepBar_stories","OverlayStepBar","Template","args","activeStep","setActiveStep","useState","jsx","step","_a","defaultArgs","OverlayStepBarExample","OverlayStepBarHidePrifix"],"mappings":";;;AAOA,MAAMA,IACJ,4HAGFC,IAAe;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,YAAY,EAAE,SAAS,SAAA;AAAA,IACvB,YAAY,EAAE,SAAS,SAAA;AAAA,IACvB,qBAAqB;AAAA,MACnB,OAAO;AAAA,QACL,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,aAAa,EAAE,QAAQ,cAAA;AAAA,EAAc;AAAA,EAEvC,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAyC,CAACC,MAAS;AACvD,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAASH,EAAK,cAAc,CAAC;AAEjE,SACE,gBAAAI;AAAA,IAACN;AAAA,IAAA;AAAA,MACE,GAAGE;AAAA,MACJ,YAAAC;AAAA,MACA,aAAa,CAACI,MAAS;;AACrB,QAAAH,EAAcG,CAAI,IAClBC,IAAAN,EAAK,gBAAL,QAAAM,EAAA,KAAAN,GAAmBK;AAAA,MAAI;AAAA,IACzB;AAAA,EAAA;AAGN,GAEME,IAA4C;AAAA,EAChD,YAAY,CAAC,iBAAiB,aAAa,mBAAmB,cAAc,iBAAiB,UAAU;AACzG,GAEaC,IAAwBT,EAAS,KAAK,CAAA,CAAE;AACrDS,EAAsB,OAAO;AAAA,EAC3B,GAAGD;AAAA,EACH,YAAY;AACd;AAEO,MAAME,IAA2BV,EAAS,KAAK,CAAA,CAAE;AACxDU,EAAyB,OAAO;AAAA,EAC9B,GAAGF;AAAA;AAAA,EAEH,qBAAqB,CAAC,GAAG,CAAC;AAAA,EAC1B,YAAY;AACd;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageOverlay.js","sources":["../../../src/components/PageOverlay/PageOverlay.tsx"],"sourcesContent":["import { useDialog } from '@react-aria/dialog';\nimport { FocusScope } from '@react-aria/focus';\nimport { OverlayContainer, useModal, useOverlay, usePreventScroll } from '@react-aria/overlays';\nimport classNames, { clsx } from 'clsx';\nimport { useEffect, useRef, useState } from 'react';\n\nimport type { FormHTMLAttributes, KeyboardEvent, PropsWithChildren, ReactNode } from 'react';\n\nimport styles from './PageOverlay.module.css';\n\nimport { OverlayCloseButton } from 'components/OverlayCloseButton';\nimport { Spinner } from 'components/Spinner';\nimport { Backdrop } from 'components/Backdrop';\n\nexport interface PageOverlayProps {\n /** The buttons of the dialog. */\n buttons?: ReactNode;\n /** `true` to show a spinner, if the contents of the dialog is lazy loaded; otherwise, `false`. */\n isLoading?: boolean;\n /** The `aria-valuetext` value of the [Spinner](/story/atoms-spinner--spinner-example) component. Used together with `isLoading`. */\n spinnerAriaValueText?: string;\n /** The `aria-label` value of the [OverlayCloseButton](/story/atoms-overlayclosebutton--overlay-close-button-example) component. */\n closeButtonAriaValueText?: string;\n /** `true` to render the dialog opened; otherwise, `false`. */\n isOpen: boolean;\n /** `true` to disable form validation; otherwise, `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 title of the dialog. */\n title?: string;\n /** The contents of the dialog header. */\n headerContent?: ReactNode;\n /** The variant styling of the dialog. */\n variant?: 'full-screen' | 'with-gutters';\n /** The content background color of the dialog. Default grey-300*/\n contentBackgroundColor?: 'grey' | 'white';\n}\n\n/** Represents a component for a modal dialog. */\nexport function PageOverlay({\n buttons,\n children,\n isLoading,\n spinnerAriaValueText = 'Loading',\n closeButtonAriaValueText = 'Close',\n isOpen,\n noValidate = false,\n onClose,\n onSubmit,\n title,\n headerContent,\n variant = 'full-screen',\n contentBackgroundColor = 'grey',\n}: PropsWithChildren<PageOverlayProps>) {\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: 'dialog' }, ref);\n const { modalProps } = useModal({ isDisabled: !isOpen });\n const { overlayProps, underlayProps } = useOverlay({ isOpen, onClose }, ref);\n\n usePreventScroll({ isDisabled: !isOpen });\n\n useEffect(() => {\n const formElement = formRef.current;\n\n if (!formElement) return;\n\n function checkScrollable() {\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 function handleScrollAndResize() {\n checkScrollable();\n }\n\n formElement.addEventListener('scroll', handleScrollAndResize);\n window.addEventListener('resize', handleScrollAndResize);\n\n const timeoutId = setTimeout(() => {\n checkScrollable();\n }, 0);\n\n return () => {\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 className={styles['page-overlay__container']}>\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['page-overlay'], {\n [styles[`page-overlay--${variant}`]]: variant,\n })}\n onKeyUp={onKeyUp}\n role=\"presentation\"\n ref={ref}\n >\n {(title || headerContent) && (\n <div className={styles['page-overlay__title-wrapper']}>\n {title && (\n <h1 {...titleProps} className={styles['page-overlay__title']}>\n {title}\n </h1>\n )}\n {headerContent}\n {\n <span className={styles['page-overlay__close']}>\n <OverlayCloseButton aria-label={closeButtonAriaValueText} onClick={onClose} />\n </span>\n }\n </div>\n )}\n <form\n className={classNames(\n styles['page-overlay__content'],\n styles[`page-overlay__content--${contentBackgroundColor}`],\n {\n [styles['page-overlay--content-with-buttons']]: buttons,\n }\n )}\n onSubmit={onSubmit}\n noValidate={noValidate}\n ref={formRef}\n >\n <div className={styles['page-overlay__children']}>{children}</div>\n {buttons && (\n <div\n className={classNames(styles['page-overlay__buttons-bar'], {\n [styles['page-overlay__buttons-bar--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"],"names":["PageOverlay","buttons","children","isLoading","spinnerAriaValueText","closeButtonAriaValueText","isOpen","noValidate","onClose","onSubmit","title","headerContent","variant","contentBackgroundColor","ref","useRef","formRef","isScrollable","setIsScrollable","useState","isScrolledToBottom","setIsScrolledToBottom","dialogProps","titleProps","useDialog","modalProps","useModal","overlayProps","underlayProps","useOverlay","usePreventScroll","useEffect","formElement","checkScrollable","scrollHeight","clientHeight","scrollTop","handleScrollAndResize","timeoutId","onKeyUp","event","jsx","OverlayContainer","styles","Backdrop","Spinner","Fragment","FocusScope","jsxs","clsx","OverlayCloseButton","classNames"],"mappings":"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"}
1
+ {"version":3,"file":"PageOverlay.js","sources":["../../../src/components/PageOverlay/PageOverlay.tsx"],"sourcesContent":["import { useDialog } from '@react-aria/dialog';\nimport { FocusScope } from '@react-aria/focus';\nimport { OverlayContainer, useModal, useOverlay, usePreventScroll } from '@react-aria/overlays';\nimport classNames, { clsx } from 'clsx';\nimport { useEffect, useRef, useState } from 'react';\n\nimport type { FormHTMLAttributes, KeyboardEvent, PropsWithChildren, ReactNode } from 'react';\n\nimport styles from './PageOverlay.module.css';\n\nimport { OverlayCloseButton } from 'components/OverlayCloseButton';\nimport { Spinner } from 'components/Spinner';\nimport { Backdrop } from 'components/Backdrop';\n\nexport interface PageOverlayProps {\n /** The buttons of the dialog. */\n buttons?: ReactNode;\n /** `true` to show a spinner, if the contents of the dialog is lazy loaded; otherwise, `false`. */\n isLoading?: boolean;\n /** The `aria-valuetext` value of the [Spinner](/story/atoms-spinner--spinner-example) component. Used together with `isLoading`. */\n spinnerAriaValueText?: string;\n /** The `aria-label` value of the [OverlayCloseButton](/story/atoms-overlayclosebutton--overlay-close-button-example) component. */\n closeButtonAriaValueText?: string;\n /** `true` to render the dialog opened; otherwise, `false`. */\n isOpen: boolean;\n /** `true` to disable form validation; otherwise, `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 title of the dialog. */\n title?: string;\n /** The contents of the dialog header. */\n headerContent?: ReactNode;\n /** The variant styling of the dialog. */\n variant?: 'full-screen' | 'with-gutters';\n /** The content background color of the dialog. Default grey-300*/\n contentBackgroundColor?: 'grey' | 'white';\n}\n\n/** Represents a component for a modal dialog. */\nexport function PageOverlay({\n buttons,\n children,\n isLoading,\n spinnerAriaValueText = 'Loading',\n closeButtonAriaValueText = 'Close',\n isOpen,\n noValidate = false,\n onClose,\n onSubmit,\n title,\n headerContent,\n variant = 'full-screen',\n contentBackgroundColor = 'grey',\n}: PropsWithChildren<PageOverlayProps>) {\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: 'dialog' }, ref);\n const { modalProps } = useModal({ isDisabled: !isOpen });\n const { overlayProps, underlayProps } = useOverlay({ isOpen, onClose }, ref);\n\n usePreventScroll({ isDisabled: !isOpen });\n\n useEffect(() => {\n const formElement = formRef.current;\n\n if (!formElement) return;\n\n function checkScrollable() {\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 function handleScrollAndResize() {\n checkScrollable();\n }\n\n formElement.addEventListener('scroll', handleScrollAndResize);\n window.addEventListener('resize', handleScrollAndResize);\n\n const timeoutId = setTimeout(() => {\n checkScrollable();\n }, 0);\n\n return () => {\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 className={styles['page-overlay__container']}>\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['page-overlay'], {\n [styles[`page-overlay--${variant}`]]: variant,\n })}\n onKeyUp={onKeyUp}\n role=\"presentation\"\n ref={ref}\n >\n {(title || headerContent) && (\n <div className={styles['page-overlay__title-wrapper']}>\n {title && (\n <h1 {...titleProps} className={styles['page-overlay__title']}>\n {title}\n </h1>\n )}\n {headerContent}\n {\n <span className={styles['page-overlay__close']}>\n <OverlayCloseButton aria-label={closeButtonAriaValueText} onClick={onClose} />\n </span>\n }\n </div>\n )}\n <form\n className={classNames(\n styles['page-overlay__content'],\n styles[`page-overlay__content--${contentBackgroundColor}`],\n {\n [styles['page-overlay--content-with-buttons']]: buttons,\n }\n )}\n onSubmit={onSubmit}\n noValidate={noValidate}\n ref={formRef}\n >\n <div className={styles['page-overlay__children']}>{children}</div>\n {buttons && (\n <div\n className={classNames(styles['page-overlay__buttons-bar'], {\n [styles['page-overlay__buttons-bar--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"],"names":["PageOverlay","buttons","children","isLoading","spinnerAriaValueText","closeButtonAriaValueText","isOpen","noValidate","onClose","onSubmit","title","headerContent","variant","contentBackgroundColor","ref","useRef","formRef","isScrollable","setIsScrollable","useState","isScrolledToBottom","setIsScrolledToBottom","dialogProps","titleProps","useDialog","modalProps","useModal","overlayProps","underlayProps","useOverlay","usePreventScroll","useEffect","formElement","checkScrollable","scrollHeight","clientHeight","scrollTop","handleScrollAndResize","timeoutId","onKeyUp","event","jsx","OverlayContainer","styles","Backdrop","Spinner","Fragment","FocusScope","jsxs","clsx","OverlayCloseButton","classNames"],"mappings":"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"}
@@ -2,6 +2,6 @@ import { Meta } from '@storybook/react';
2
2
  import { PageOverlayProps } from './PageOverlay';
3
3
  declare const _default: Meta<PageOverlayProps>;
4
4
  export default _default;
5
- export declare const PageOverlayExample: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, PageOverlayProps>;
6
- export declare const Loading: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, PageOverlayProps>;
7
- export declare const WithLongComplexContent: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, PageOverlayProps>;
5
+ export declare const PageOverlayExample: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, PageOverlayProps>;
6
+ export declare const Loading: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, PageOverlayProps>;
7
+ export declare const WithLongComplexContent: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, PageOverlayProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"PageOverlay.stories.js","sources":["../../../node_modules/@react-stately/utils/dist/useControlledState.mjs","../../../node_modules/@react-stately/overlays/dist/useOverlayTriggerState.mjs","../../../src/components/PageOverlay/PageOverlay.stories.tsx"],"sourcesContent":["import {useState as $3whtM$useState, useRef as $3whtM$useRef, useEffect as $3whtM$useEffect, useCallback as $3whtM$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange) {\n let [stateValue, setStateValue] = (0, $3whtM$useState)(value || defaultValue);\n let isControlledRef = (0, $3whtM$useRef)(value !== undefined);\n let isControlled = value !== undefined;\n (0, $3whtM$useEffect)(()=>{\n let wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled && process.env.NODE_ENV !== 'production') console.warn(`WARN: A component changed from ${wasControlled ? 'controlled' : 'uncontrolled'} to ${isControlled ? 'controlled' : 'uncontrolled'}.`);\n isControlledRef.current = isControlled;\n }, [\n isControlled\n ]);\n let currentValue = isControlled ? value : stateValue;\n let setValue = (0, $3whtM$useCallback)((value, ...args)=>{\n let onChangeCaller = (value, ...onChangeArgs)=>{\n if (onChange) {\n if (!Object.is(currentValue, value)) onChange(value, ...onChangeArgs);\n }\n if (!isControlled) // If uncontrolled, mutate the currentValue local variable so that\n // calling setState multiple times with the same value only emits onChange once.\n // We do not use a ref for this because we specifically _do_ want the value to\n // reset every render, and assigning to a ref in render breaks aborted suspended renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n currentValue = value;\n };\n if (typeof value === 'function') {\n if (process.env.NODE_ENV !== 'production') console.warn('We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320');\n // this supports functional updates https://reactjs.org/docs/hooks-reference.html#functional-updates\n // when someone using useControlledState calls setControlledState(myFunc)\n // this will call our useState setState with a function as well which invokes myFunc and calls onChange with the value from myFunc\n // if we're in an uncontrolled state, then we also return the value of myFunc which to setState looks as though it was just called with myFunc from the beginning\n // otherwise we just return the controlled value, which won't cause a rerender because React knows to bail out when the value is the same\n let updateFunction = (oldValue, ...functionArgs)=>{\n let interceptedValue = value(isControlled ? currentValue : oldValue, ...functionArgs);\n onChangeCaller(interceptedValue, ...args);\n if (!isControlled) return interceptedValue;\n return oldValue;\n };\n setStateValue(updateFunction);\n } else {\n if (!isControlled) setStateValue(value);\n onChangeCaller(value, ...args);\n }\n }, [\n isControlled,\n currentValue,\n onChange\n ]);\n return [\n currentValue,\n setValue\n ];\n}\n\n\nexport {$458b0a5536c1a7cf$export$40bfa8c7b0832715 as useControlledState};\n//# sourceMappingURL=useControlledState.module.js.map\n","import {useCallback as $hnMvi$useCallback} from \"react\";\nimport {useControlledState as $hnMvi$useControlledState} from \"@react-stately/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $fc909762b330b746$export$61c6a8c84e605fb6(props) {\n let [isOpen, setOpen] = (0, $hnMvi$useControlledState)(props.isOpen, props.defaultOpen || false, props.onOpenChange);\n const open = (0, $hnMvi$useCallback)(()=>{\n setOpen(true);\n }, [\n setOpen\n ]);\n const close = (0, $hnMvi$useCallback)(()=>{\n setOpen(false);\n }, [\n setOpen\n ]);\n const toggle = (0, $hnMvi$useCallback)(()=>{\n setOpen(!isOpen);\n }, [\n setOpen,\n isOpen\n ]);\n return {\n isOpen: isOpen,\n setOpen: setOpen,\n open: open,\n close: close,\n toggle: toggle\n };\n}\n\n\nexport {$fc909762b330b746$export$61c6a8c84e605fb6 as useOverlayTriggerState};\n//# sourceMappingURL=useOverlayTriggerState.module.js.map\n","import { OverlayProvider } from '@react-aria/overlays';\nimport { useOverlayTriggerState } from '@react-stately/overlays';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { PageOverlayProps } from './PageOverlay';\n\nimport { PageOverlay } from './PageOverlay';\n\nimport { Button } from 'components/Buttons';\nimport { ButtonGroup } from 'components/ButtonGroup';\nimport { InputField } from 'components/InputField';\nimport { GridRow } from 'components/GridRow';\nimport { Repeater } from 'components/Repeater';\n\nconst codeString = `\n <PageOverlay isOpen={isOpen} title={title} onClose={onCloseFunction}\n onSubmit={onSubmitFunction} buttons={buttons}> {children} </PageOverlay>\n`;\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Molecules/PageOverlay',\n component: PageOverlay,\n argTypes: {\n isOpen: {\n table: {\n disable: true,\n },\n },\n noValidate: {\n control: 'boolean',\n },\n onSubmit: {\n table: {\n disable: true,\n },\n },\n onClose: {\n table: {\n disable: true,\n },\n },\n buttons: {\n table: {\n disable: true,\n },\n },\n },\n parameters: {\n inspectComponent: PageOverlay,\n codeString: codeString,\n },\n} as Meta<PageOverlayProps>;\n\nconst Template: StoryFn<PageOverlayProps> = (args: PageOverlayProps) => {\n const { open, close, isOpen } = useOverlayTriggerState({});\n return (\n <OverlayProvider>\n <Button variant=\"primary\" onClick={() => open()}>\n Open PageOverlay\n </Button>\n <PageOverlay\n {...args}\n isOpen={isOpen}\n buttons={\n <ButtonGroup reversed>\n <Button variant=\"primary\" onClick={() => close()}>\n OK\n </Button>\n <Button variant=\"secondary\" onClick={() => close()}>\n Cancel\n </Button>\n </ButtonGroup>\n }\n onClose={() => close()}\n >\n Your content goes here\n </PageOverlay>\n </OverlayProvider>\n );\n};\n\nconst defaultArgs: Partial<PageOverlayProps> = {\n title: 'Example Title',\n closeButtonAriaValueText: 'Close',\n noValidate: false,\n};\n\nexport const PageOverlayExample = Template.bind({});\nPageOverlayExample.args = {\n ...defaultArgs,\n};\n\nexport const Loading = Template.bind({});\nLoading.args = {\n ...defaultArgs,\n isLoading: true,\n spinnerAriaValueText: 'Loading',\n};\n\nconst LongContentTemplate: StoryFn<PageOverlayProps> = (args: PageOverlayProps) => {\n const { open, close, isOpen } = useOverlayTriggerState({});\n return (\n <OverlayProvider>\n <Button variant=\"primary\" onClick={() => open()}>\n Open PageOverlay\n </Button>\n <PageOverlay\n {...args}\n isOpen={isOpen}\n buttons={\n <GridRow>\n <GridRow.Column size=\"8\" mediumSize=\"9\" startPositon=\"2\" mediumStartPosition=\"3\">\n <ButtonGroup reversed>\n <Button variant=\"primary\" onClick={() => close()}>\n OK\n </Button>\n <Button variant=\"secondary\" onClick={() => close()}>\n Cancel\n </Button>\n </ButtonGroup>\n </GridRow.Column>\n </GridRow>\n }\n onClose={() => close()}\n >\n <GridRow marginTop=\"100\">\n <GridRow.Column size=\"8\" mediumSize=\"9\" startPositon=\"2\" mediumStartPosition=\"3\">\n <Repeater gap=\"100\">\n <div>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ac dui et nibh eleifend ultricies a id\n nulla. Pellentesque eleifend sem a tellus dictum tempus. Proin non leo id risus placerat vulputate at ac\n erat. Ut fringilla imperdiet sollicitudin. Vestibulum ante ipsum primis in faucibus orci luctus et\n ultrices posuere cubilia curae; Gijs molestie ante ac magna ornare rhoncus non at quam. Mauris elementum\n luctus euismod. Pellentesque molestie malesuada purus, sed egestas lacus interdum sit amet. Morbi\n blandit lacus sit amet dictum pulvinar. Ut semper nunc ac enim imperdiet, non interdum diam gravida. In\n nunc tortor, mollis ac molestie dignissim, elementum sed quam. Suspendisse mollis venenatis Laura,\n pellentesque vestibulum elit consequat et. Aliquam fringilla tellus id libero tempus, sit amet suscipit\n augue tristique. Quisque cursus neque vel justo tristique, eget semper turpis elementum. Etiam venenatis\n mattis sapien ac mattis. Mauris vitae ultrices erat.\n </div>\n <div>\n Aliquam facilisis massa sed justo rhoncus bibendum. Sed lobortis urna orci, vitae porta leo placerat\n nec. Nam porta porttitor ornare. Suspendisse vehicula nunc nec egestas finibus. Aliquam non luctus\n risus. Pien ac diam tincidunt, bibendum sem eget, sollicitudin neque. Curabitur mauris risus, feugiat ac\n euismod non, vulputate ac justo. Curabitur pretium vehicula augue, blandit porta odio rutrum sit amet.\n Proin semper enim ut sapien tempor, a ornare ipsum faucibus.\n </div>\n <Button variant=\"primary\">Test Button</Button>\n <div>\n Cras bibendum arcu vitae nulla venenatis, at cursus urna dapibus. In hac habitasse platea dictumst. In\n porttitor at lectus nec rhoncus. In hac habitasse platea dictumst. Sed nec lectus neque. Aliquam erat\n volutpat. Morbi elit orci, ultricies a porttitor eget, eleifend eu metus. Maarten sollicitudin vitae\n massa a tempor. Aliquam dignissim metus id sem sollicitudin, eget lacinia nulla imperdiet. Nullam nec\n vestibulum eros, ut aliquam libero. Nulla hendrerit cursus ante id auctor. Curabitur condimentum\n malesuada maximus. Aliquam felis diam, gravida nec eleifend quis, placerat et orci.\n </div>\n <div>\n Nulla leo ligula, hendrerit vel egestas in, suscipit vitae erat. Vivamus interdum quam lacinia, egestas\n felis non, volutpat velit. Vestibulum orci diam, tincidunt ac mattis quis, ornare posuere magna. Aliquam\n erat volutpat. Maecenas facilisis lacus id ante efficitur, non dignissim lorem suscipit. Praesent at\n posuere velit. Nulla imperdiet, dui rhoncus volutpat feugiat, eros mauris cursus justo, a tincidunt\n ipsum ipsum eu nisl. Nulla eu dui Thierry. Aliquam vitae risus ut velit fringilla sodales nec id lacus.\n Interdum et malesuada fames ac ante ipsum primis in faucibus. Suspendisse ullamcorper purus quis nunc\n placerat, vel bibendum urna mollis. Nulla facilisi. Phasellus sed erat nec ex ullamcorper viverra.\n Phasellus convallis nibh sed dolor vulputate convallis. Phasellus ac posuere sapien, et elementum ipsum.\n </div>\n <InputField id=\"test-input\" placeholder=\"Test Input\" />\n <div>\n Sed malesuada ut nulla ut maximus. Class aptent taciti sociosqu ad litora torquent per conubia nostra,\n per inceptos himenaeos. Morten in libero rhoncus, maximus tortor sit amet, molestie ex. Mauris rhoncus\n et erat dapibus aliquam. Vestibulum placerat quam eget lorem tempor, vel venenatis lorem malesuada. Duis\n ut venenatis arcu. Cras lacinia mi ac dui sollicitudin semper sit amet eget nisl. Fusce viverra ex eget\n tortor molestie dictum. Cras ullamcorper faucibus nisi in congue. Sanne in tristique est. Praesent id\n rhoncus ligula, ut porta dui. Sed tincidunt, mi nec varius auctor, nunc diam venenatis felis, at\n facilisis tortor sem et magna. Aliquam erat volutpat.\n </div>\n <div>\n Proin ipsum ante, auctor id consectetur a, pulvinar id nibh. Phasellus molestie quam eu mi lacinia\n condimentum. Nullam fermentum id diam eu pharetra. Donec dictum sem vitae Jos scelerisque semper.\n Suspendisse sed facilisis orci. Sed ut scelerisque odio. Curabitur felis felis, finibus ac orci at,\n pellentesque efficitur risus. Sed et leo ac orci mollis tincidunt et pulvinar velit. Duis non nibh\n tincidunt, lacinia urna a, fringilla augue. Benjamin fermentum, massa a mollis cursus, ex dui tincidunt\n tellus, ut sollicitudin ex neque ac sapien.\n </div>\n <div>\n Nunc rhoncus imperdiet leo. Fusce interdum malesuada aliquet. Aenean porttitor, tortor et volutpat\n blandit, sapien diam scelerisque massa, ac facilisis metus turpis id quam. Donec ac elementum augue,\n congue pulvinar arcu. Interdum et malesuada fames ac ante ipsum primis in faucibus. Cras tempor\n convallis elit, id vehicula Robin semper nec. Sed ut ultrices nulla. Cras nec dolor justo. Proin mollis\n mauris ligula, luctus faucibus dolor ultrices ac. Nunc quis mauris fringilla, pellentesque massa nec,\n dictum metus. Praesent odio ligula, tincidunt ultrices maximus quis, accumsan ut odio. Nullam iaculis\n molestie nulla quis ultrices. Praesent quam velit, sagittis eget auctor a, dignissim ut massa. Donec\n mollis at lorem sit amet accumsan. Praesent nec nulla laoreet nunc pretium egestas. Malesuada Wim arcu\n pharetra, dictum nibh a, facilisis risus.\n </div>\n </Repeater>\n </GridRow.Column>\n </GridRow>\n </PageOverlay>\n </OverlayProvider>\n );\n};\n\nexport const WithLongComplexContent = LongContentTemplate.bind({});\nWithLongComplexContent.args = {\n ...defaultArgs,\n};\n"],"names":["$458b0a5536c1a7cf$export$40bfa8c7b0832715","value","defaultValue","onChange","stateValue","setStateValue","$3whtM$useState","isControlledRef","$3whtM$useRef","isControlled","$3whtM$useEffect","wasControlled","currentValue","setValue","$3whtM$useCallback","args","onChangeCaller","onChangeArgs","oldValue","functionArgs","interceptedValue","$fc909762b330b746$export$61c6a8c84e605fb6","props","isOpen","setOpen","$hnMvi$useControlledState","open","$hnMvi$useCallback","close","toggle","codeString","PageOverlay_stories","PageOverlay","Template","useOverlayTriggerState","OverlayProvider","jsx","Button","jsxs","ButtonGroup","defaultArgs","PageOverlayExample","Loading","LongContentTemplate","GridRow","Repeater","InputField","WithLongComplexContent"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"PageOverlay.stories.js","sources":["../../../node_modules/@react-stately/utils/dist/useControlledState.mjs","../../../node_modules/@react-stately/overlays/dist/useOverlayTriggerState.mjs","../../../src/components/PageOverlay/PageOverlay.stories.tsx"],"sourcesContent":["import {useState as $3whtM$useState, useRef as $3whtM$useRef, useEffect as $3whtM$useEffect, useCallback as $3whtM$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange) {\n let [stateValue, setStateValue] = (0, $3whtM$useState)(value || defaultValue);\n let isControlledRef = (0, $3whtM$useRef)(value !== undefined);\n let isControlled = value !== undefined;\n (0, $3whtM$useEffect)(()=>{\n let wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled && process.env.NODE_ENV !== 'production') console.warn(`WARN: A component changed from ${wasControlled ? 'controlled' : 'uncontrolled'} to ${isControlled ? 'controlled' : 'uncontrolled'}.`);\n isControlledRef.current = isControlled;\n }, [\n isControlled\n ]);\n let currentValue = isControlled ? value : stateValue;\n let setValue = (0, $3whtM$useCallback)((value, ...args)=>{\n let onChangeCaller = (value, ...onChangeArgs)=>{\n if (onChange) {\n if (!Object.is(currentValue, value)) onChange(value, ...onChangeArgs);\n }\n if (!isControlled) // If uncontrolled, mutate the currentValue local variable so that\n // calling setState multiple times with the same value only emits onChange once.\n // We do not use a ref for this because we specifically _do_ want the value to\n // reset every render, and assigning to a ref in render breaks aborted suspended renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n currentValue = value;\n };\n if (typeof value === 'function') {\n if (process.env.NODE_ENV !== 'production') console.warn('We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320');\n // this supports functional updates https://reactjs.org/docs/hooks-reference.html#functional-updates\n // when someone using useControlledState calls setControlledState(myFunc)\n // this will call our useState setState with a function as well which invokes myFunc and calls onChange with the value from myFunc\n // if we're in an uncontrolled state, then we also return the value of myFunc which to setState looks as though it was just called with myFunc from the beginning\n // otherwise we just return the controlled value, which won't cause a rerender because React knows to bail out when the value is the same\n let updateFunction = (oldValue, ...functionArgs)=>{\n let interceptedValue = value(isControlled ? currentValue : oldValue, ...functionArgs);\n onChangeCaller(interceptedValue, ...args);\n if (!isControlled) return interceptedValue;\n return oldValue;\n };\n setStateValue(updateFunction);\n } else {\n if (!isControlled) setStateValue(value);\n onChangeCaller(value, ...args);\n }\n }, [\n isControlled,\n currentValue,\n onChange\n ]);\n return [\n currentValue,\n setValue\n ];\n}\n\n\nexport {$458b0a5536c1a7cf$export$40bfa8c7b0832715 as useControlledState};\n//# sourceMappingURL=useControlledState.module.js.map\n","import {useCallback as $hnMvi$useCallback} from \"react\";\nimport {useControlledState as $hnMvi$useControlledState} from \"@react-stately/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $fc909762b330b746$export$61c6a8c84e605fb6(props) {\n let [isOpen, setOpen] = (0, $hnMvi$useControlledState)(props.isOpen, props.defaultOpen || false, props.onOpenChange);\n const open = (0, $hnMvi$useCallback)(()=>{\n setOpen(true);\n }, [\n setOpen\n ]);\n const close = (0, $hnMvi$useCallback)(()=>{\n setOpen(false);\n }, [\n setOpen\n ]);\n const toggle = (0, $hnMvi$useCallback)(()=>{\n setOpen(!isOpen);\n }, [\n setOpen,\n isOpen\n ]);\n return {\n isOpen: isOpen,\n setOpen: setOpen,\n open: open,\n close: close,\n toggle: toggle\n };\n}\n\n\nexport {$fc909762b330b746$export$61c6a8c84e605fb6 as useOverlayTriggerState};\n//# sourceMappingURL=useOverlayTriggerState.module.js.map\n","import { OverlayProvider } from '@react-aria/overlays';\nimport { useOverlayTriggerState } from '@react-stately/overlays';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { PageOverlayProps } from './PageOverlay';\n\nimport { PageOverlay } from './PageOverlay';\n\nimport { Button } from 'components/Buttons';\nimport { ButtonGroup } from 'components/ButtonGroup';\nimport { InputField } from 'components/InputField';\nimport { GridRow } from 'components/GridRow';\nimport { Repeater } from 'components/Repeater';\n\nconst codeString = `\n <PageOverlay isOpen={isOpen} title={title} onClose={onCloseFunction}\n onSubmit={onSubmitFunction} buttons={buttons}> {children} </PageOverlay>\n`;\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Molecules/PageOverlay',\n component: PageOverlay,\n argTypes: {\n isOpen: {\n table: {\n disable: true,\n },\n },\n noValidate: {\n control: 'boolean',\n },\n onSubmit: {\n table: {\n disable: true,\n },\n },\n onClose: {\n table: {\n disable: true,\n },\n },\n buttons: {\n table: {\n disable: true,\n },\n },\n },\n parameters: {\n inspectComponent: PageOverlay,\n codeString: codeString,\n },\n} as Meta<PageOverlayProps>;\n\nconst Template: StoryFn<PageOverlayProps> = (args: PageOverlayProps) => {\n const { open, close, isOpen } = useOverlayTriggerState({});\n return (\n <OverlayProvider>\n <Button variant=\"primary\" onClick={() => open()}>\n Open PageOverlay\n </Button>\n <PageOverlay\n {...args}\n isOpen={isOpen}\n buttons={\n <ButtonGroup reversed>\n <Button variant=\"primary\" onClick={() => close()}>\n OK\n </Button>\n <Button variant=\"secondary\" onClick={() => close()}>\n Cancel\n </Button>\n </ButtonGroup>\n }\n onClose={() => close()}\n >\n Your content goes here\n </PageOverlay>\n </OverlayProvider>\n );\n};\n\nconst defaultArgs: Partial<PageOverlayProps> = {\n title: 'Example Title',\n closeButtonAriaValueText: 'Close',\n noValidate: false,\n};\n\nexport const PageOverlayExample = Template.bind({});\nPageOverlayExample.args = {\n ...defaultArgs,\n};\n\nexport const Loading = Template.bind({});\nLoading.args = {\n ...defaultArgs,\n isLoading: true,\n spinnerAriaValueText: 'Loading',\n};\n\nconst LongContentTemplate: StoryFn<PageOverlayProps> = (args: PageOverlayProps) => {\n const { open, close, isOpen } = useOverlayTriggerState({});\n return (\n <OverlayProvider>\n <Button variant=\"primary\" onClick={() => open()}>\n Open PageOverlay\n </Button>\n <PageOverlay\n {...args}\n isOpen={isOpen}\n buttons={\n <GridRow>\n <GridRow.Column size=\"8\" mediumSize=\"9\" startPositon=\"2\" mediumStartPosition=\"3\">\n <ButtonGroup reversed>\n <Button variant=\"primary\" onClick={() => close()}>\n OK\n </Button>\n <Button variant=\"secondary\" onClick={() => close()}>\n Cancel\n </Button>\n </ButtonGroup>\n </GridRow.Column>\n </GridRow>\n }\n onClose={() => close()}\n >\n <GridRow marginTop=\"100\">\n <GridRow.Column size=\"8\" mediumSize=\"9\" startPositon=\"2\" mediumStartPosition=\"3\">\n <Repeater gap=\"100\">\n <div>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ac dui et nibh eleifend ultricies a id\n nulla. Pellentesque eleifend sem a tellus dictum tempus. Proin non leo id risus placerat vulputate at ac\n erat. Ut fringilla imperdiet sollicitudin. Vestibulum ante ipsum primis in faucibus orci luctus et\n ultrices posuere cubilia curae; Gijs molestie ante ac magna ornare rhoncus non at quam. Mauris elementum\n luctus euismod. Pellentesque molestie malesuada purus, sed egestas lacus interdum sit amet. Morbi\n blandit lacus sit amet dictum pulvinar. Ut semper nunc ac enim imperdiet, non interdum diam gravida. In\n nunc tortor, mollis ac molestie dignissim, elementum sed quam. Suspendisse mollis venenatis Laura,\n pellentesque vestibulum elit consequat et. Aliquam fringilla tellus id libero tempus, sit amet suscipit\n augue tristique. Quisque cursus neque vel justo tristique, eget semper turpis elementum. Etiam venenatis\n mattis sapien ac mattis. Mauris vitae ultrices erat.\n </div>\n <div>\n Aliquam facilisis massa sed justo rhoncus bibendum. Sed lobortis urna orci, vitae porta leo placerat\n nec. Nam porta porttitor ornare. Suspendisse vehicula nunc nec egestas finibus. Aliquam non luctus\n risus. Pien ac diam tincidunt, bibendum sem eget, sollicitudin neque. Curabitur mauris risus, feugiat ac\n euismod non, vulputate ac justo. Curabitur pretium vehicula augue, blandit porta odio rutrum sit amet.\n Proin semper enim ut sapien tempor, a ornare ipsum faucibus.\n </div>\n <Button variant=\"primary\">Test Button</Button>\n <div>\n Cras bibendum arcu vitae nulla venenatis, at cursus urna dapibus. In hac habitasse platea dictumst. In\n porttitor at lectus nec rhoncus. In hac habitasse platea dictumst. Sed nec lectus neque. Aliquam erat\n volutpat. Morbi elit orci, ultricies a porttitor eget, eleifend eu metus. Maarten sollicitudin vitae\n massa a tempor. Aliquam dignissim metus id sem sollicitudin, eget lacinia nulla imperdiet. Nullam nec\n vestibulum eros, ut aliquam libero. Nulla hendrerit cursus ante id auctor. Curabitur condimentum\n malesuada maximus. Aliquam felis diam, gravida nec eleifend quis, placerat et orci.\n </div>\n <div>\n Nulla leo ligula, hendrerit vel egestas in, suscipit vitae erat. Vivamus interdum quam lacinia, egestas\n felis non, volutpat velit. Vestibulum orci diam, tincidunt ac mattis quis, ornare posuere magna. Aliquam\n erat volutpat. Maecenas facilisis lacus id ante efficitur, non dignissim lorem suscipit. Praesent at\n posuere velit. Nulla imperdiet, dui rhoncus volutpat feugiat, eros mauris cursus justo, a tincidunt\n ipsum ipsum eu nisl. Nulla eu dui Thierry. Aliquam vitae risus ut velit fringilla sodales nec id lacus.\n Interdum et malesuada fames ac ante ipsum primis in faucibus. Suspendisse ullamcorper purus quis nunc\n placerat, vel bibendum urna mollis. Nulla facilisi. Phasellus sed erat nec ex ullamcorper viverra.\n Phasellus convallis nibh sed dolor vulputate convallis. Phasellus ac posuere sapien, et elementum ipsum.\n </div>\n <InputField id=\"test-input\" placeholder=\"Test Input\" />\n <div>\n Sed malesuada ut nulla ut maximus. Class aptent taciti sociosqu ad litora torquent per conubia nostra,\n per inceptos himenaeos. Morten in libero rhoncus, maximus tortor sit amet, molestie ex. Mauris rhoncus\n et erat dapibus aliquam. Vestibulum placerat quam eget lorem tempor, vel venenatis lorem malesuada. Duis\n ut venenatis arcu. Cras lacinia mi ac dui sollicitudin semper sit amet eget nisl. Fusce viverra ex eget\n tortor molestie dictum. Cras ullamcorper faucibus nisi in congue. Sanne in tristique est. Praesent id\n rhoncus ligula, ut porta dui. Sed tincidunt, mi nec varius auctor, nunc diam venenatis felis, at\n facilisis tortor sem et magna. Aliquam erat volutpat.\n </div>\n <div>\n Proin ipsum ante, auctor id consectetur a, pulvinar id nibh. Phasellus molestie quam eu mi lacinia\n condimentum. Nullam fermentum id diam eu pharetra. Donec dictum sem vitae Jos scelerisque semper.\n Suspendisse sed facilisis orci. Sed ut scelerisque odio. Curabitur felis felis, finibus ac orci at,\n pellentesque efficitur risus. Sed et leo ac orci mollis tincidunt et pulvinar velit. Duis non nibh\n tincidunt, lacinia urna a, fringilla augue. Benjamin fermentum, massa a mollis cursus, ex dui tincidunt\n tellus, ut sollicitudin ex neque ac sapien.\n </div>\n <div>\n Nunc rhoncus imperdiet leo. Fusce interdum malesuada aliquet. Aenean porttitor, tortor et volutpat\n blandit, sapien diam scelerisque massa, ac facilisis metus turpis id quam. Donec ac elementum augue,\n congue pulvinar arcu. Interdum et malesuada fames ac ante ipsum primis in faucibus. Cras tempor\n convallis elit, id vehicula Robin semper nec. Sed ut ultrices nulla. Cras nec dolor justo. Proin mollis\n mauris ligula, luctus faucibus dolor ultrices ac. Nunc quis mauris fringilla, pellentesque massa nec,\n dictum metus. Praesent odio ligula, tincidunt ultrices maximus quis, accumsan ut odio. Nullam iaculis\n molestie nulla quis ultrices. Praesent quam velit, sagittis eget auctor a, dignissim ut massa. Donec\n mollis at lorem sit amet accumsan. Praesent nec nulla laoreet nunc pretium egestas. Malesuada Wim arcu\n pharetra, dictum nibh a, facilisis risus.\n </div>\n </Repeater>\n </GridRow.Column>\n </GridRow>\n </PageOverlay>\n </OverlayProvider>\n );\n};\n\nexport const WithLongComplexContent = LongContentTemplate.bind({});\nWithLongComplexContent.args = {\n ...defaultArgs,\n};\n"],"names":["$458b0a5536c1a7cf$export$40bfa8c7b0832715","value","defaultValue","onChange","stateValue","setStateValue","$3whtM$useState","isControlledRef","$3whtM$useRef","isControlled","$3whtM$useEffect","wasControlled","currentValue","setValue","$3whtM$useCallback","args","onChangeCaller","onChangeArgs","oldValue","functionArgs","interceptedValue","$fc909762b330b746$export$61c6a8c84e605fb6","props","isOpen","setOpen","$hnMvi$useControlledState","open","$hnMvi$useCallback","close","toggle","codeString","PageOverlay_stories","PageOverlay","Template","useOverlayTriggerState","OverlayProvider","jsx","Button","jsxs","ButtonGroup","defaultArgs","PageOverlayExample","Loading","LongContentTemplate","GridRow","Repeater","InputField","WithLongComplexContent"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1 +1 @@
1
- {"version":3,"file":"PeriodSelector.js","sources":["../../../src/components/PeriodSelector/PeriodSelector.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport { useEffect, useRef, useState } from 'react';\n\nimport styles from './PeriodSelector.module.css';\n\nimport { Label, CheckboxButtonBar, FeedbackBox } from 'components';\n\nexport interface PeriodSelectorProps {\n /** Indicates how many periods are shown. */\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n maxPeriods: 6 | 7;\n /** array of period values [3, 5 ...] */\n defaultValues?: number[];\n label?: string;\n labelPosition?: 'top' | 'left';\n /** Shows red * */\n required?: boolean;\n /** error text to display if set */\n notValidatedText?: string;\n /** Returns array of selected values as number */\n onChange: (values: number[]) => void;\n}\n\nconst SEMESTER_1 = 0;\nconst SEMESTER_2 = 1;\nconst SEMESTER_3 = 2;\n\nconst PERIODS_PER_SEMESTER = 3;\nconst MAX_PERIODS = 7;\n\nconst chunkPeriods = (array: number[]): number[][] => {\n const result: number[][] = [];\n for (let count = 0; count < array.length; count += PERIODS_PER_SEMESTER) {\n result.push(array.slice(count, count + PERIODS_PER_SEMESTER));\n }\n return result;\n};\n\n/** Checkbox group for selecting periods */\nexport const PeriodSelector = ({\n maxPeriods = MAX_PERIODS,\n defaultValues,\n label,\n labelPosition = 'top',\n required = false,\n notValidatedText = '',\n onChange,\n}: PeriodSelectorProps) => {\n const maxPeriodsList = Array.from({ length: maxPeriods }, (_, index) => index + 1);\n const chunkedPeriods = chunkPeriods(maxPeriodsList);\n\n const checkboxItems = chunkedPeriods.map((periods, semester) => {\n return periods.map((period) => ({\n label: `${semester + 1}${periods.length === 1 ? '' : `.${((period - 1) % PERIODS_PER_SEMESTER) + 1}`}`,\n value: period.toString(),\n }));\n });\n\n const returnValues = useRef<number[][]>(\n chunkedPeriods.map((semester) =>\n semester.reduce((periods, period) => {\n if (defaultValues?.includes(period)) periods.push(period);\n return periods;\n }, [] as number[])\n )\n );\n const [disableSemesters, setDisableSemesters] = useState<number[]>([]);\n\n const disableGroups = (selects: number[][]) => {\n if (selects[SEMESTER_1].length !== 0 || selects[SEMESTER_2].length !== 0) return [SEMESTER_3];\n if (selects[SEMESTER_3].length !== 0) return [SEMESTER_1, SEMESTER_2];\n return [];\n };\n\n const handleChange = (values: string[], index: number) => {\n returnValues.current[index] = values.map((num) => Number(num));\n setDisableSemesters(disableGroups(returnValues.current));\n onChange([...returnValues.current.flat()].sort());\n };\n\n useEffect(() => {\n setDisableSemesters(disableGroups(returnValues.current));\n }, []);\n\n return (\n <div\n className={clsx(\n styles['period-selector__container'],\n styles[`period-selector__container--label-${labelPosition}`]\n )}\n >\n {label && (\n <Label htmlFor=\"\" required={required}>\n {label}\n </Label>\n )}\n <div className={styles['period-selector__selector-container']}>\n <div className={styles['period-selector__selector-row']}>\n {checkboxItems.map((checkboxes, semester) => (\n <CheckboxButtonBar\n key={`group_${semester}`}\n checkboxes={checkboxes}\n defaultValues={returnValues.current[semester].map((num) => num.toString())}\n disableGroup={disableSemesters.includes(semester)}\n required={required}\n onSetValues={(event) => handleChange(event, semester)}\n notValidated={notValidatedText !== ''}\n />\n ))}\n </div>\n {notValidatedText !== '' && <FeedbackBox level=\"error\" feedback={notValidatedText} />}\n </div>\n </div>\n );\n};\n"],"names":["SEMESTER_1","SEMESTER_2","SEMESTER_3","PERIODS_PER_SEMESTER","MAX_PERIODS","chunkPeriods","array","result","count","PeriodSelector","maxPeriods","defaultValues","label","labelPosition","required","notValidatedText","onChange","maxPeriodsList","_","index","chunkedPeriods","checkboxItems","periods","semester","period","returnValues","useRef","disableSemesters","setDisableSemesters","useState","disableGroups","selects","handleChange","values","num","useEffect","jsxs","clsx","styles","jsx","Label","checkboxes","CheckboxButtonBar","event","FeedbackBox"],"mappings":"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"}
1
+ {"version":3,"file":"PeriodSelector.js","sources":["../../../src/components/PeriodSelector/PeriodSelector.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useEffect, useRef, useState } from 'react';\n\nimport styles from './PeriodSelector.module.css';\n\nimport { Label, CheckboxButtonBar, FeedbackBox } from 'components';\n\nexport interface PeriodSelectorProps {\n /** Indicates how many periods are shown. */\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n maxPeriods: 6 | 7;\n /** array of period values [3, 5 ...] */\n defaultValues?: number[];\n label?: string;\n labelPosition?: 'top' | 'left';\n /** Shows red * */\n required?: boolean;\n /** error text to display if set */\n notValidatedText?: string;\n /** Returns array of selected values as number */\n onChange: (values: number[]) => void;\n}\n\nconst SEMESTER_1 = 0;\nconst SEMESTER_2 = 1;\nconst SEMESTER_3 = 2;\n\nconst PERIODS_PER_SEMESTER = 3;\nconst MAX_PERIODS = 7;\n\nconst chunkPeriods = (array: number[]): number[][] => {\n const result: number[][] = [];\n for (let count = 0; count < array.length; count += PERIODS_PER_SEMESTER) {\n result.push(array.slice(count, count + PERIODS_PER_SEMESTER));\n }\n return result;\n};\n\n/** Checkbox group for selecting periods */\nexport const PeriodSelector = ({\n maxPeriods = MAX_PERIODS,\n defaultValues,\n label,\n labelPosition = 'top',\n required = false,\n notValidatedText = '',\n onChange,\n}: PeriodSelectorProps) => {\n const maxPeriodsList = Array.from({ length: maxPeriods }, (_, index) => index + 1);\n const chunkedPeriods = chunkPeriods(maxPeriodsList);\n\n const checkboxItems = chunkedPeriods.map((periods, semester) => {\n return periods.map((period) => ({\n label: `${semester + 1}${periods.length === 1 ? '' : `.${((period - 1) % PERIODS_PER_SEMESTER) + 1}`}`,\n value: period.toString(),\n }));\n });\n\n const returnValues = useRef<number[][]>(\n chunkedPeriods.map((semester) =>\n semester.reduce((periods, period) => {\n if (defaultValues?.includes(period)) periods.push(period);\n return periods;\n }, [] as number[])\n )\n );\n const [disableSemesters, setDisableSemesters] = useState<number[]>([]);\n\n const disableGroups = (selects: number[][]) => {\n if (selects[SEMESTER_1].length !== 0 || selects[SEMESTER_2].length !== 0) return [SEMESTER_3];\n if (selects[SEMESTER_3].length !== 0) return [SEMESTER_1, SEMESTER_2];\n return [];\n };\n\n const handleChange = (values: string[], index: number) => {\n returnValues.current[index] = values.map((num) => Number(num));\n setDisableSemesters(disableGroups(returnValues.current));\n onChange([...returnValues.current.flat()].sort());\n };\n\n useEffect(() => {\n setDisableSemesters(disableGroups(returnValues.current));\n }, []);\n\n return (\n <div\n className={clsx(\n styles['period-selector__container'],\n styles[`period-selector__container--label-${labelPosition}`]\n )}\n >\n {label && (\n <Label htmlFor=\"\" required={required}>\n {label}\n </Label>\n )}\n <div className={styles['period-selector__selector-container']}>\n <div className={styles['period-selector__selector-row']}>\n {checkboxItems.map((checkboxes, semester) => (\n <CheckboxButtonBar\n key={`group_${semester}`}\n checkboxes={checkboxes}\n defaultValues={returnValues.current[semester].map((num) => num.toString())}\n disableGroup={disableSemesters.includes(semester)}\n required={required}\n onSetValues={(event) => handleChange(event, semester)}\n notValidated={notValidatedText !== ''}\n />\n ))}\n </div>\n {notValidatedText !== '' && <FeedbackBox level=\"error\" feedback={notValidatedText} />}\n </div>\n </div>\n );\n};\n"],"names":["SEMESTER_1","SEMESTER_2","SEMESTER_3","PERIODS_PER_SEMESTER","MAX_PERIODS","chunkPeriods","array","result","count","PeriodSelector","maxPeriods","defaultValues","label","labelPosition","required","notValidatedText","onChange","maxPeriodsList","_","index","chunkedPeriods","checkboxItems","periods","semester","period","returnValues","useRef","disableSemesters","setDisableSemesters","useState","disableGroups","selects","handleChange","values","num","useEffect","jsxs","clsx","styles","jsx","Label","checkboxes","CheckboxButtonBar","event","FeedbackBox"],"mappings":"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"}
@@ -2,4 +2,4 @@ import { Meta } from '@storybook/react';
2
2
  import { PeriodSelectorProps } from './PeriodSelector';
3
3
  declare const _default: Meta<PeriodSelectorProps>;
4
4
  export default _default;
5
- export declare const PeriodSelectorExample: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, PeriodSelectorProps>;
5
+ export declare const PeriodSelectorExample: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, PeriodSelectorProps>;
@@ -1,5 +1,5 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { fn as t } from "../../index-Dwqes6RH.js";
2
+ import { W as t } from "../../index-Di9WPZUe.js";
3
3
  import { PeriodSelector as e } from "./PeriodSelector.js";
4
4
  const i = "<PeriodSelector maxPeriods={} defaultValues={} label={} labelPosition={} required={} onChange={} />", m = {
5
5
  title: "Organisms/PeriodSelector",
@@ -1 +1 @@
1
- {"version":3,"file":"PeriodSelector.stories.js","sources":["../../../src/components/PeriodSelector/PeriodSelector.stories.tsx"],"sourcesContent":["import { fn } from '@storybook/test';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { PeriodSelectorProps } from './PeriodSelector';\n\nimport { PeriodSelector } from './PeriodSelector';\n\nconst codeString =\n '<PeriodSelector maxPeriods={} defaultValues={} label={} labelPosition={} required={} onChange={} />';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Organisms/PeriodSelector',\n component: PeriodSelector,\n parameters: {\n inspectComponent: PeriodSelector,\n codeString: codeString,\n },\n} as Meta<PeriodSelectorProps>;\n\nconst Template: StoryFn<PeriodSelectorProps> = (args) => <PeriodSelector {...args} />;\n\nexport const PeriodSelectorExample = Template.bind({});\n\nPeriodSelectorExample.args = {\n maxPeriods: 7,\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n defaultValues: [1, 5, 6],\n label: 'Periode',\n labelPosition: 'top',\n required: true,\n onChange: fn(),\n};\n"],"names":["codeString","PeriodSelector_stories","PeriodSelector","Template","args","jsx","PeriodSelectorExample","fn"],"mappings":";;;AAOA,MAAMA,IACJ,uGAGaC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAyC,CAACC,MAAU,gBAAAC,EAAAH,GAAA,EAAgB,GAAGE,GAAM,GAEtEE,IAAwBH,EAAS,KAAK,CAAE,CAAA;AAErDG,EAAsB,OAAO;AAAA,EAC3B,YAAY;AAAA;AAAA,EAEZ,eAAe,CAAC,GAAG,GAAG,CAAC;AAAA,EACvB,OAAO;AAAA,EACP,eAAe;AAAA,EACf,UAAU;AAAA,EACV,UAAUC,EAAG;AACf;"}
1
+ {"version":3,"file":"PeriodSelector.stories.js","sources":["../../../src/components/PeriodSelector/PeriodSelector.stories.tsx"],"sourcesContent":["import { fn } from 'storybook/test';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { PeriodSelectorProps } from './PeriodSelector';\n\nimport { PeriodSelector } from './PeriodSelector';\n\nconst codeString =\n '<PeriodSelector maxPeriods={} defaultValues={} label={} labelPosition={} required={} onChange={} />';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Organisms/PeriodSelector',\n component: PeriodSelector,\n parameters: {\n inspectComponent: PeriodSelector,\n codeString: codeString,\n },\n} as Meta<PeriodSelectorProps>;\n\nconst Template: StoryFn<PeriodSelectorProps> = (args) => <PeriodSelector {...args} />;\n\nexport const PeriodSelectorExample = Template.bind({});\n\nPeriodSelectorExample.args = {\n maxPeriods: 7,\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n defaultValues: [1, 5, 6],\n label: 'Periode',\n labelPosition: 'top',\n required: true,\n onChange: fn(),\n};\n"],"names":["codeString","PeriodSelector_stories","PeriodSelector","Template","args","jsx","PeriodSelectorExample","fn"],"mappings":";;;AAOA,MAAMA,IACJ,uGAGFC,IAAe;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAyC,CAACC,MAAS,gBAAAC,EAACH,GAAA,EAAgB,GAAGE,GAAM,GAEtEE,IAAwBH,EAAS,KAAK,CAAA,CAAE;AAErDG,EAAsB,OAAO;AAAA,EAC3B,YAAY;AAAA;AAAA,EAEZ,eAAe,CAAC,GAAG,GAAG,CAAC;AAAA,EACvB,OAAO;AAAA,EACP,eAAe;AAAA,EACf,UAAU;AAAA,EACV,UAAUC,EAAA;AACZ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Periods.js","sources":["../../../src/components/Periods/Periods.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport { useId } from 'react';\n\nimport styles from './Periods.module.css';\n\ninterface Period {\n id: string;\n number: number;\n semesterNumber: number;\n periodInSemester: number;\n}\n\ninterface TooltipTranslations {\n period: string;\n periods: string;\n and: string;\n}\n\nexport interface PeriodsProps {\n /** Indicates which periods are selected. */\n periods: Period[] | number[];\n /** Indicates the maximum number of periods to show in the selector. */\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n maxPeriods?: 6 | 7;\n /** A object of translations for the tooltip. */\n tooltipTranslations?: TooltipTranslations;\n}\n\nconst MAX_PERIODS = 6;\n\n/** Represents a component for a period indicator. */\nexport const Periods = ({ periods, tooltipTranslations, maxPeriods = MAX_PERIODS }: PeriodsProps) => {\n const maxPeriodsList = Array.from({ length: maxPeriods }, (_, index) => index + 1);\n const idPrefix = useId();\n\n const isArrayOfNumbers = periods.some((value) => {\n return typeof value === 'number';\n });\n\n const getTitles = (tooltipTranslations: TooltipTranslations): string => {\n const semesterPeriods: Record<number, number[]> = {};\n\n // Group periods by semester\n isArrayOfNumbers\n ? periods.forEach((period) => {\n if (typeof period === 'number') {\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const groupKey = Math.ceil(period / 3); // Determine the semester (1, 2, or 3)\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const mappedValue = ((period - 1) % 3) + 1; // Map period to semester\n\n if (!semesterPeriods[groupKey]) {\n semesterPeriods[groupKey] = [];\n }\n semesterPeriods[groupKey].push(mappedValue);\n }\n })\n : periods.forEach((period) => {\n const { semesterNumber, periodInSemester } = period as Period;\n\n if (!semesterPeriods[semesterNumber]) {\n semesterPeriods[semesterNumber] = [];\n }\n semesterPeriods[semesterNumber].push(periodInSemester);\n });\n\n // Build the title string\n const title = Object.keys(semesterPeriods).reduce((acc, semesterKey, index) => {\n const semesterNumber = Number(semesterKey);\n const periodsInSemester = semesterPeriods[semesterNumber];\n let periodTitle = '';\n\n // Determine if we need singular or plural form for \"period\"\n const blokLabel = periodsInSemester.length > 1 ? tooltipTranslations.periods : tooltipTranslations.period;\n\n // Build period sequence for the current semester\n if (periodsInSemester.length > 1) {\n const lastPeriod = periodsInSemester.pop();\n periodTitle = `Semester ${semesterNumber} ${blokLabel} ${periodsInSemester.join(', ')} ${tooltipTranslations.and} ${lastPeriod}`;\n } else {\n periodTitle = `Semester ${semesterNumber} ${blokLabel} ${periodsInSemester[0]}`;\n }\n\n // Add proper spacing and periods\n return `${acc}${index > 0 ? '. ' : ''}${periodTitle}`;\n }, '');\n\n return title.trim() + '.';\n };\n\n const isPeriodActive = (periodIndex: number): boolean => {\n if (isArrayOfNumbers) {\n return (periods as number[]).includes(periodIndex);\n } else {\n return periods.find((period) => (period as Period).number === periodIndex) ? true : false;\n }\n };\n\n return (\n <div className={styles['periods__container']} title={tooltipTranslations ? getTitles(tooltipTranslations) : ''}>\n {maxPeriodsList.map((periodIndex) => {\n return (\n <span\n className={clsx(\n styles['periods__item'],\n isPeriodActive(periodIndex) ? styles['periods__item--active'] : ''\n )}\n key={`${idPrefix}-${periodIndex}`}\n />\n );\n })}\n </div>\n );\n};\n"],"names":["MAX_PERIODS","Periods","periods","tooltipTranslations","maxPeriods","maxPeriodsList","_","index","idPrefix","useId","isArrayOfNumbers","value","getTitles","semesterPeriods","period","groupKey","mappedValue","semesterNumber","periodInSemester","acc","semesterKey","periodsInSemester","periodTitle","blokLabel","lastPeriod","isPeriodActive","periodIndex","jsx","styles","clsx"],"mappings":";;;;;;;GA4BMA,IAAc,GAGPC,IAAU,CAAC,EAAE,SAAAC,GAAS,qBAAAC,GAAqB,YAAAC,IAAaJ,QAAgC;AAC7F,QAAAK,IAAiB,MAAM,KAAK,EAAE,QAAQD,EAAW,GAAG,CAACE,GAAGC,MAAUA,IAAQ,CAAC,GAC3EC,IAAWC,EAAM,GAEjBC,IAAmBR,EAAQ,KAAK,CAACS,MAC9B,OAAOA,KAAU,QACzB,GAEKC,IAAY,CAACT,MAAqD;AACtE,UAAMU,IAA4C,CAAC;AAI/C,WAAAH,IAAAR,EAAQ,QAAQ,CAACY,MAAW;AACtB,UAAA,OAAOA,KAAW,UAAU;AAE9B,cAAMC,IAAW,KAAK,KAAKD,IAAS,CAAC,GAE/BE,KAAgBF,IAAS,KAAK,IAAK;AAErC,QAACD,EAAgBE,CAAQ,MACXF,EAAAE,CAAQ,IAAI,CAAC,IAEfF,EAAAE,CAAQ,EAAE,KAAKC,CAAW;AAAA,MAAA;AAAA,IAE7C,CAAA,IACDd,EAAQ,QAAQ,CAACY,MAAW;AACpB,YAAA,EAAE,gBAAAG,GAAgB,kBAAAC,EAAA,IAAqBJ;AAEzC,MAACD,EAAgBI,CAAc,MACjBJ,EAAAI,CAAc,IAAI,CAAC,IAErBJ,EAAAI,CAAc,EAAE,KAAKC,CAAgB;AAAA,IAAA,CACtD,GAGS,OAAO,KAAKL,CAAe,EAAE,OAAO,CAACM,GAAKC,GAAab,MAAU;AACvE,YAAAU,IAAiB,OAAOG,CAAW,GACnCC,IAAoBR,EAAgBI,CAAc;AACxD,UAAIK,IAAc;AAGlB,YAAMC,IAAYF,EAAkB,SAAS,IAAIlB,EAAoB,UAAUA,EAAoB;AAG/F,UAAAkB,EAAkB,SAAS,GAAG;AAC1B,cAAAG,IAAaH,EAAkB,IAAI;AACzC,QAAAC,IAAc,YAAYL,CAAc,IAAIM,CAAS,IAAIF,EAAkB,KAAK,IAAI,CAAC,IAAIlB,EAAoB,GAAG,IAAIqB,CAAU;AAAA,MAAA;AAE9H,QAAAF,IAAc,YAAYL,CAAc,IAAIM,CAAS,IAAIF,EAAkB,CAAC,CAAC;AAIxE,aAAA,GAAGF,CAAG,GAAGZ,IAAQ,IAAI,OAAO,EAAE,GAAGe,CAAW;AAAA,OAClD,EAAE,EAEQ,SAAS;AAAA,EACxB,GAEMG,IAAiB,CAACC,MAClBhB,IACMR,EAAqB,SAASwB,CAAW,IAE1C,EAAAxB,EAAQ,KAAK,CAACY,MAAYA,EAAkB,WAAWY,CAAW;AAI7E,SACG,gBAAAC,EAAA,OAAA,EAAI,WAAWC,EAAO,oBAAuB,OAAOzB,IAAsBS,EAAUT,CAAmB,IAAI,IACzG,UAAeE,EAAA,IAAI,CAACqB,MAEjB,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWE;AAAA,QACTD,EAAO;AAAA,QACPH,EAAeC,CAAW,IAAIE,EAAO,uBAAuB,IAAI;AAAA,MAAA;AAAA,IAClE;AAAA,IACK,GAAGpB,CAAQ,IAAIkB,CAAW;AAAA,EACjC,CAEH,GACH;AAEJ;"}
1
+ {"version":3,"file":"Periods.js","sources":["../../../src/components/Periods/Periods.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useId } from 'react';\n\nimport styles from './Periods.module.css';\n\ninterface Period {\n id: string;\n number: number;\n semesterNumber: number;\n periodInSemester: number;\n}\n\ninterface TooltipTranslations {\n period: string;\n periods: string;\n and: string;\n}\n\nexport interface PeriodsProps {\n /** Indicates which periods are selected. */\n periods: Period[] | number[];\n /** Indicates the maximum number of periods to show in the selector. */\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n maxPeriods?: 6 | 7;\n /** A object of translations for the tooltip. */\n tooltipTranslations?: TooltipTranslations;\n}\n\nconst MAX_PERIODS = 6;\n\n/** Represents a component for a period indicator. */\nexport const Periods = ({ periods, tooltipTranslations, maxPeriods = MAX_PERIODS }: PeriodsProps) => {\n const maxPeriodsList = Array.from({ length: maxPeriods }, (_, index) => index + 1);\n const idPrefix = useId();\n\n const isArrayOfNumbers = periods.some((value) => {\n return typeof value === 'number';\n });\n\n const getTitles = (tooltipTranslations: TooltipTranslations): string => {\n const semesterPeriods: Record<number, number[]> = {};\n\n // Group periods by semester\n isArrayOfNumbers\n ? periods.forEach((period) => {\n if (typeof period === 'number') {\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const groupKey = Math.ceil(period / 3); // Determine the semester (1, 2, or 3)\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const mappedValue = ((period - 1) % 3) + 1; // Map period to semester\n\n if (!semesterPeriods[groupKey]) {\n semesterPeriods[groupKey] = [];\n }\n semesterPeriods[groupKey].push(mappedValue);\n }\n })\n : periods.forEach((period) => {\n const { semesterNumber, periodInSemester } = period as Period;\n\n if (!semesterPeriods[semesterNumber]) {\n semesterPeriods[semesterNumber] = [];\n }\n semesterPeriods[semesterNumber].push(periodInSemester);\n });\n\n // Build the title string\n const title = Object.keys(semesterPeriods).reduce((acc, semesterKey, index) => {\n const semesterNumber = Number(semesterKey);\n const periodsInSemester = semesterPeriods[semesterNumber];\n let periodTitle = '';\n\n // Determine if we need singular or plural form for \"period\"\n const blokLabel = periodsInSemester.length > 1 ? tooltipTranslations.periods : tooltipTranslations.period;\n\n // Build period sequence for the current semester\n if (periodsInSemester.length > 1) {\n const lastPeriod = periodsInSemester.pop();\n periodTitle = `Semester ${semesterNumber} ${blokLabel} ${periodsInSemester.join(', ')} ${tooltipTranslations.and} ${lastPeriod}`;\n } else {\n periodTitle = `Semester ${semesterNumber} ${blokLabel} ${periodsInSemester[0]}`;\n }\n\n // Add proper spacing and periods\n return `${acc}${index > 0 ? '. ' : ''}${periodTitle}`;\n }, '');\n\n return title.trim() + '.';\n };\n\n const isPeriodActive = (periodIndex: number): boolean => {\n if (isArrayOfNumbers) {\n return (periods as number[]).includes(periodIndex);\n } else {\n return periods.find((period) => (period as Period).number === periodIndex) ? true : false;\n }\n };\n\n return (\n <div className={styles['periods__container']} title={tooltipTranslations ? getTitles(tooltipTranslations) : ''}>\n {maxPeriodsList.map((periodIndex) => {\n return (\n <span\n className={clsx(\n styles['periods__item'],\n isPeriodActive(periodIndex) ? styles['periods__item--active'] : ''\n )}\n key={`${idPrefix}-${periodIndex}`}\n />\n );\n })}\n </div>\n );\n};\n"],"names":["MAX_PERIODS","Periods","periods","tooltipTranslations","maxPeriods","maxPeriodsList","_","index","idPrefix","useId","isArrayOfNumbers","value","getTitles","semesterPeriods","period","groupKey","mappedValue","semesterNumber","periodInSemester","acc","semesterKey","periodsInSemester","periodTitle","blokLabel","lastPeriod","isPeriodActive","periodIndex","jsx","styles","clsx"],"mappings":";;;;;;;GA4BMA,IAAc,GAGPC,IAAU,CAAC,EAAE,SAAAC,GAAS,qBAAAC,GAAqB,YAAAC,IAAaJ,QAAgC;AACnG,QAAMK,IAAiB,MAAM,KAAK,EAAE,QAAQD,EAAA,GAAc,CAACE,GAAGC,MAAUA,IAAQ,CAAC,GAC3EC,IAAWC,EAAA,GAEXC,IAAmBR,EAAQ,KAAK,CAACS,MAC9B,OAAOA,KAAU,QACzB,GAEKC,IAAY,CAACT,MAAqD;AACtE,UAAMU,IAA4C,CAAA;AAGlD,WAAAH,IACIR,EAAQ,QAAQ,CAACY,MAAW;AAC1B,UAAI,OAAOA,KAAW,UAAU;AAE9B,cAAMC,IAAW,KAAK,KAAKD,IAAS,CAAC,GAE/BE,KAAgBF,IAAS,KAAK,IAAK;AAEzC,QAAKD,EAAgBE,CAAQ,MAC3BF,EAAgBE,CAAQ,IAAI,CAAA,IAE9BF,EAAgBE,CAAQ,EAAE,KAAKC,CAAW;AAAA,MAAA;AAAA,IAC5C,CACD,IACDd,EAAQ,QAAQ,CAACY,MAAW;AAC1B,YAAM,EAAE,gBAAAG,GAAgB,kBAAAC,EAAA,IAAqBJ;AAE7C,MAAKD,EAAgBI,CAAc,MACjCJ,EAAgBI,CAAc,IAAI,CAAA,IAEpCJ,EAAgBI,CAAc,EAAE,KAAKC,CAAgB;AAAA,IAAA,CACtD,GAGS,OAAO,KAAKL,CAAe,EAAE,OAAO,CAACM,GAAKC,GAAab,MAAU;AAC7E,YAAMU,IAAiB,OAAOG,CAAW,GACnCC,IAAoBR,EAAgBI,CAAc;AACxD,UAAIK,IAAc;AAGlB,YAAMC,IAAYF,EAAkB,SAAS,IAAIlB,EAAoB,UAAUA,EAAoB;AAGnG,UAAIkB,EAAkB,SAAS,GAAG;AAChC,cAAMG,IAAaH,EAAkB,IAAA;AACrC,QAAAC,IAAc,YAAYL,CAAc,IAAIM,CAAS,IAAIF,EAAkB,KAAK,IAAI,CAAC,IAAIlB,EAAoB,GAAG,IAAIqB,CAAU;AAAA,MAAA;AAE9H,QAAAF,IAAc,YAAYL,CAAc,IAAIM,CAAS,IAAIF,EAAkB,CAAC,CAAC;AAI/E,aAAO,GAAGF,CAAG,GAAGZ,IAAQ,IAAI,OAAO,EAAE,GAAGe,CAAW;AAAA,IAAA,GAClD,EAAE,EAEQ,SAAS;AAAA,EAAA,GAGlBG,IAAiB,CAACC,MAClBhB,IACMR,EAAqB,SAASwB,CAAW,IAE1C,EAAAxB,EAAQ,KAAK,CAACY,MAAYA,EAAkB,WAAWY,CAAW;AAI7E,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAO,oBAAuB,OAAOzB,IAAsBS,EAAUT,CAAmB,IAAI,IACzG,UAAAE,EAAe,IAAI,CAACqB,MAEjB,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWE;AAAA,QACTD,EAAO;AAAA,QACPH,EAAeC,CAAW,IAAIE,EAAO,uBAAuB,IAAI;AAAA,MAAA;AAAA,IAClE;AAAA,IACK,GAAGpB,CAAQ,IAAIkB,CAAW;AAAA,EAAA,CAGpC,GACH;AAEJ;"}
@@ -2,4 +2,4 @@ import { Meta } from '@storybook/react';
2
2
  import { PeriodsProps } from './Periods';
3
3
  declare const _default: Meta<PeriodsProps>;
4
4
  export default _default;
5
- export declare const PeriodsExample: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, PeriodsProps>;
5
+ export declare const PeriodsExample: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, PeriodsProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"Periods.stories.js","sources":["../../../src/components/Periods/Periods.stories.tsx"],"sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport type { PeriodsProps } from './Periods';\n\nimport { Periods } from './Periods';\n\nconst codeString = '<Periods periods={periods} />';\n\nconst PERIODS = [\n {\n id: '2023P1',\n number: 1,\n semesterNumber: 1,\n periodInSemester: 1,\n },\n {\n id: '2023P2',\n number: 2,\n semesterNumber: 1,\n periodInSemester: 2,\n },\n {\n id: '2023P3',\n number: 3,\n semesterNumber: 1,\n periodInSemester: 3,\n },\n {\n id: '2023P5',\n number: 5,\n semesterNumber: 2,\n periodInSemester: 2,\n },\n {\n id: '2023P7',\n number: 7,\n semesterNumber: 3,\n periodInSemester: 1,\n },\n];\n\nconst TOOLTIP_PERIODS = {\n period: 'blok',\n periods: 'blokken',\n and: 'en',\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/Periods',\n component: Periods,\n argTypes: {\n expanded: {\n // Hide the expanded prop. Changing the value in Storybook doesn't update the state of the component.\n table: {\n disable: true,\n },\n },\n },\n parameters: {\n inspectComponent: Periods,\n codeString: codeString,\n },\n} as Meta<PeriodsProps>;\n\nconst Template: StoryFn<PeriodsProps> = (args) => <Periods {...args} />;\n\nexport const PeriodsExample = Template.bind({});\n\nPeriodsExample.args = {\n periods: PERIODS,\n maxPeriods: 7,\n tooltipTranslations: TOOLTIP_PERIODS,\n};\n"],"names":["codeString","PERIODS","TOOLTIP_PERIODS","Periods_stories","Periods","Template","args","jsx","PeriodsExample"],"mappings":";;AAKA,MAAMA,IAAa,iCAEbC,IAAU;AAAA,EACd;AAAA,IACE,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,EACpB;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,EACpB;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,EACpB;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,EACpB;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,EAAA;AAEtB,GAEMC,IAAkB;AAAA,EACtB,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,KAAK;AACP,GAGeC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,UAAU;AAAA;AAAA,MAER,OAAO;AAAA,QACL,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,EAEJ;AAAA,EACA,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAJ;AAAA,EAAA;AAEJ,GAEMK,IAAkC,CAACC,MAAU,gBAAAC,EAAAH,GAAA,EAAS,GAAGE,GAAM,GAExDE,IAAiBH,EAAS,KAAK,CAAE,CAAA;AAE9CG,EAAe,OAAO;AAAA,EACpB,SAASP;AAAA,EACT,YAAY;AAAA,EACZ,qBAAqBC;AACvB;"}
1
+ {"version":3,"file":"Periods.stories.js","sources":["../../../src/components/Periods/Periods.stories.tsx"],"sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport type { PeriodsProps } from './Periods';\n\nimport { Periods } from './Periods';\n\nconst codeString = '<Periods periods={periods} />';\n\nconst PERIODS = [\n {\n id: '2023P1',\n number: 1,\n semesterNumber: 1,\n periodInSemester: 1,\n },\n {\n id: '2023P2',\n number: 2,\n semesterNumber: 1,\n periodInSemester: 2,\n },\n {\n id: '2023P3',\n number: 3,\n semesterNumber: 1,\n periodInSemester: 3,\n },\n {\n id: '2023P5',\n number: 5,\n semesterNumber: 2,\n periodInSemester: 2,\n },\n {\n id: '2023P7',\n number: 7,\n semesterNumber: 3,\n periodInSemester: 1,\n },\n];\n\nconst TOOLTIP_PERIODS = {\n period: 'blok',\n periods: 'blokken',\n and: 'en',\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/Periods',\n component: Periods,\n argTypes: {\n expanded: {\n // Hide the expanded prop. Changing the value in Storybook doesn't update the state of the component.\n table: {\n disable: true,\n },\n },\n },\n parameters: {\n inspectComponent: Periods,\n codeString: codeString,\n },\n} as Meta<PeriodsProps>;\n\nconst Template: StoryFn<PeriodsProps> = (args) => <Periods {...args} />;\n\nexport const PeriodsExample = Template.bind({});\n\nPeriodsExample.args = {\n periods: PERIODS,\n maxPeriods: 7,\n tooltipTranslations: TOOLTIP_PERIODS,\n};\n"],"names":["codeString","PERIODS","TOOLTIP_PERIODS","Periods_stories","Periods","Template","args","jsx","PeriodsExample"],"mappings":";;AAKA,MAAMA,IAAa,iCAEbC,IAAU;AAAA,EACd;AAAA,IACE,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,EAAA;AAAA,EAEpB;AAAA,IACE,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,EAAA;AAAA,EAEpB;AAAA,IACE,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,EAAA;AAAA,EAEpB;AAAA,IACE,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,EAAA;AAAA,EAEpB;AAAA,IACE,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,EAAA;AAEtB,GAEMC,IAAkB;AAAA,EACtB,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,KAAK;AACP,GAGAC,IAAe;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,UAAU;AAAA;AAAA,MAER,OAAO;AAAA,QACL,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,EACF;AAAA,EAEF,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAJ;AAAA,EAAA;AAEJ,GAEMK,IAAkC,CAACC,MAAS,gBAAAC,EAACH,GAAA,EAAS,GAAGE,GAAM,GAExDE,IAAiBH,EAAS,KAAK,CAAA,CAAE;AAE9CG,EAAe,OAAO;AAAA,EACpB,SAASP;AAAA,EACT,YAAY;AAAA,EACZ,qBAAqBC;AACvB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProgrammeCard.js","sources":["../../../src/components/ProgrammeCard/ProgrammeCard.tsx"],"sourcesContent":["import { useNavigate } from 'react-router';\n\nimport type { ReactNode } from 'react';\n\nimport styles from './ProgrammeCard.module.css';\n\nexport interface ProgrammeCardProps {\n /** The URL to navigate to when the card is clicked. */\n href: string;\n /** The header contents. */\n header?: ReactNode;\n /** The programme details. */\n details?: ReactNode;\n}\n\n/** Represents a component to render a card for a programme. */\nexport const ProgrammeCard = ({ href, header, details }: ProgrammeCardProps) => {\n const navigate = useNavigate();\n\n return (\n <a\n className={styles['programme-card']}\n href={href}\n onClick={(event) => {\n // lets browser handle new tab\n if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || event.button !== 0) {\n return;\n }\n event.preventDefault();\n // lets react-router handle SPA-style navigation\n navigate(href);\n }}\n >\n {header}\n {details && <hr className={styles['programme-card__divider']} />}\n {details}\n </a>\n );\n};\n"],"names":["ProgrammeCard","href","header","details","navigate","useNavigate","jsxs","styles","event","jsx"],"mappings":";;;;;GAgBaA,IAAgB,CAAC,EAAE,MAAAC,GAAM,QAAAC,GAAQ,SAAAC,QAAkC;AAC9E,QAAMC,IAAWC,EAAY;AAG3B,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAO,gBAAgB;AAAA,MAClC,MAAAN;AAAA,MACA,SAAS,CAACO,MAAU;AAEd,QAAAA,EAAM,WAAWA,EAAM,WAAWA,EAAM,YAAYA,EAAM,UAAUA,EAAM,WAAW,MAGzFA,EAAM,eAAe,GAErBJ,EAASH,CAAI;AAAA,MACf;AAAA,MAEC,UAAA;AAAA,QAAAC;AAAA,QACAC,KAAY,gBAAAM,EAAA,MAAA,EAAG,WAAWF,EAAO,yBAAyB,GAAG;AAAA,QAC7DJ;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AAEJ;"}
1
+ {"version":3,"file":"ProgrammeCard.js","sources":["../../../src/components/ProgrammeCard/ProgrammeCard.tsx"],"sourcesContent":["import { useNavigate } from 'react-router';\n\nimport type { ReactNode } from 'react';\n\nimport styles from './ProgrammeCard.module.css';\n\nexport interface ProgrammeCardProps {\n /** The URL to navigate to when the card is clicked. */\n href: string;\n /** The header contents. */\n header?: ReactNode;\n /** The programme details. */\n details?: ReactNode;\n}\n\n/** Represents a component to render a card for a programme. */\nexport const ProgrammeCard = ({ href, header, details }: ProgrammeCardProps) => {\n const navigate = useNavigate();\n\n return (\n <a\n className={styles['programme-card']}\n href={href}\n onClick={(event) => {\n // lets browser handle new tab\n if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || event.button !== 0) {\n return;\n }\n event.preventDefault();\n // lets react-router handle SPA-style navigation\n navigate(href);\n }}\n >\n {header}\n {details && <hr className={styles['programme-card__divider']} />}\n {details}\n </a>\n );\n};\n"],"names":["ProgrammeCard","href","header","details","navigate","useNavigate","jsxs","styles","event","jsx"],"mappings":";;;;;GAgBaA,IAAgB,CAAC,EAAE,MAAAC,GAAM,QAAAC,GAAQ,SAAAC,QAAkC;AAC9E,QAAMC,IAAWC,EAAA;AAEjB,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAO,gBAAgB;AAAA,MAClC,MAAAN;AAAA,MACA,SAAS,CAACO,MAAU;AAElB,QAAIA,EAAM,WAAWA,EAAM,WAAWA,EAAM,YAAYA,EAAM,UAAUA,EAAM,WAAW,MAGzFA,EAAM,eAAA,GAENJ,EAASH,CAAI;AAAA,MAAA;AAAA,MAGd,UAAA;AAAA,QAAAC;AAAA,QACAC,KAAW,gBAAAM,EAAC,MAAA,EAAG,WAAWF,EAAO,yBAAyB,GAAG;AAAA,QAC7DJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -2,6 +2,6 @@ import { Meta } from '@storybook/react';
2
2
  import { ProgrammeCardProps } from './ProgrammeCard';
3
3
  declare const _default: Meta<ProgrammeCardProps>;
4
4
  export default _default;
5
- export declare const ProgrammeCardExample: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, ProgrammeCardProps>;
6
- export declare const WithComplexContent: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, ProgrammeCardProps>;
7
- export declare const MultiProgrammeCards: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, ProgrammeCardProps>;
5
+ export declare const ProgrammeCardExample: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, ProgrammeCardProps>;
6
+ export declare const WithComplexContent: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, ProgrammeCardProps>;
7
+ export declare const MultiProgrammeCards: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, ProgrammeCardProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"ProgrammeCard.stories.js","sources":["../../../src/components/ProgrammeCard/ProgrammeCard.stories.tsx"],"sourcesContent":["import { BrowserRouter } from 'react-router';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { ProgrammeCardProps } from './ProgrammeCard';\n\nimport { ProgrammeCard } from './ProgrammeCard';\n\nimport { Container } from 'storyComponents/Container';\nimport { Icon, Repeater } from 'components';\n\nconst codeString = '<ProgrammeCard key={key} header={header} details={details} href={href} />';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/ProgrammeCard',\n component: ProgrammeCard,\n parameters: {\n inspectComponent: ProgrammeCard,\n codeString: codeString,\n },\n} as Meta<ProgrammeCardProps>;\n\nconst Template: StoryFn<ProgrammeCardProps> = (args) => (\n <BrowserRouter>\n <Container size=\"large\">\n <ProgrammeCard {...args} />\n </Container>\n </BrowserRouter>\n);\n\nexport const ProgrammeCardExample = Template.bind({});\nProgrammeCardExample.args = {\n header: 'This is my header',\n details: 'This is my details',\n href: '/',\n};\n\nexport const WithComplexContent = Template.bind({});\nWithComplexContent.args = {\n header: (\n <Repeater flexDirection=\"row\" gap=\"150\">\n <Icon name=\"Envelope\" size={32} />\n <h2 style={{ margin: 0 }}>This is my header</h2>\n </Repeater>\n ),\n details: (\n <Repeater flexDirection=\"row\" gap=\"150\">\n <Repeater flexDirection=\"row\">\n <Icon name=\"FaceFrown\" />\n Details 1\n </Repeater>\n <Repeater flexDirection=\"row\">\n <Icon name=\"Heart\" />\n Details 2\n </Repeater>\n <Repeater flexDirection=\"row\">\n <Icon name=\"Sparkles\" />\n Details 3\n </Repeater>\n </Repeater>\n ),\n href: '/',\n};\n\nconst MultiProgrammeCardsTemplate: StoryFn<ProgrammeCardProps> = (args) => (\n <BrowserRouter>\n <Container size=\"large\">\n <Repeater>\n <ProgrammeCard {...args} />\n <ProgrammeCard {...args} />\n <ProgrammeCard {...args} />\n </Repeater>\n </Container>\n </BrowserRouter>\n);\n\nexport const MultiProgrammeCards = MultiProgrammeCardsTemplate.bind({});\nMultiProgrammeCards.args = {\n header: 'This is my header',\n details: 'This is my details',\n href: '/',\n};\n"],"names":["codeString","ProgrammeCard_stories","ProgrammeCard","Template","args","jsx","BrowserRouter","Container","ProgrammeCardExample","WithComplexContent","jsxs","Repeater","Icon","MultiProgrammeCardsTemplate","MultiProgrammeCards"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAMA,IAAa,6EAGJC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAwC,CAACC,MAC7C,gBAAAC,EAACC,KACC,UAAC,gBAAAD,EAAAE,GAAA,EAAU,MAAK,SACd,UAAC,gBAAAF,EAAAH,GAAA,EAAe,GAAGE,EAAM,CAAA,EAC3B,CAAA,GACF,GAGWI,IAAuBL,EAAS,KAAK,CAAE,CAAA;AACpDK,EAAqB,OAAO;AAAA,EAC1B,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AACR;AAEO,MAAMC,IAAqBN,EAAS,KAAK,CAAE,CAAA;AAClDM,EAAmB,OAAO;AAAA,EACxB,QACG,gBAAAC,EAAAC,GAAA,EAAS,eAAc,OAAM,KAAI,OAChC,UAAA;AAAA,IAAA,gBAAAN,EAACO,GAAK,EAAA,MAAK,YAAW,MAAM,IAAI;AAAA,sBAC/B,MAAG,EAAA,OAAO,EAAE,QAAQ,KAAK,UAAiB,oBAAA,CAAA;AAAA,EAAA,GAC7C;AAAA,EAEF,SACG,gBAAAF,EAAAC,GAAA,EAAS,eAAc,OAAM,KAAI,OAChC,UAAA;AAAA,IAAC,gBAAAD,EAAAC,GAAA,EAAS,eAAc,OACtB,UAAA;AAAA,MAAC,gBAAAN,EAAAO,GAAA,EAAK,MAAK,YAAY,CAAA;AAAA,MAAE;AAAA,IAAA,GAE3B;AAAA,IACA,gBAAAF,EAACC,GAAS,EAAA,eAAc,OACtB,UAAA;AAAA,MAAC,gBAAAN,EAAAO,GAAA,EAAK,MAAK,QAAQ,CAAA;AAAA,MAAE;AAAA,IAAA,GAEvB;AAAA,IACA,gBAAAF,EAACC,GAAS,EAAA,eAAc,OACtB,UAAA;AAAA,MAAC,gBAAAN,EAAAO,GAAA,EAAK,MAAK,WAAW,CAAA;AAAA,MAAE;AAAA,IAAA,EAE1B,CAAA;AAAA,EAAA,GACF;AAAA,EAEF,MAAM;AACR;AAEA,MAAMC,IAA2D,CAACT,MAC/D,gBAAAC,EAAAC,GAAA,EACC,4BAACC,GAAU,EAAA,MAAK,SACd,UAAA,gBAAAG,EAACC,GACC,EAAA,UAAA;AAAA,EAAC,gBAAAN,EAAAH,GAAA,EAAe,GAAGE,GAAM;AAAA,EACzB,gBAAAC,EAACH,GAAe,EAAA,GAAGE,GAAM;AAAA,EACzB,gBAAAC,EAACH,GAAe,EAAA,GAAGE,EAAM,CAAA;AAAA,EAC3B,CAAA,EACF,CAAA,GACF,GAGWU,IAAsBD,EAA4B,KAAK,CAAE,CAAA;AACtEC,EAAoB,OAAO;AAAA,EACzB,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AACR;"}
1
+ {"version":3,"file":"ProgrammeCard.stories.js","sources":["../../../src/components/ProgrammeCard/ProgrammeCard.stories.tsx"],"sourcesContent":["import { BrowserRouter } from 'react-router';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { ProgrammeCardProps } from './ProgrammeCard';\n\nimport { ProgrammeCard } from './ProgrammeCard';\n\nimport { Container } from 'storyComponents/Container';\nimport { Icon, Repeater } from 'components';\n\nconst codeString = '<ProgrammeCard key={key} header={header} details={details} href={href} />';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/ProgrammeCard',\n component: ProgrammeCard,\n parameters: {\n inspectComponent: ProgrammeCard,\n codeString: codeString,\n },\n} as Meta<ProgrammeCardProps>;\n\nconst Template: StoryFn<ProgrammeCardProps> = (args) => (\n <BrowserRouter>\n <Container size=\"large\">\n <ProgrammeCard {...args} />\n </Container>\n </BrowserRouter>\n);\n\nexport const ProgrammeCardExample = Template.bind({});\nProgrammeCardExample.args = {\n header: 'This is my header',\n details: 'This is my details',\n href: '/',\n};\n\nexport const WithComplexContent = Template.bind({});\nWithComplexContent.args = {\n header: (\n <Repeater flexDirection=\"row\" gap=\"150\">\n <Icon name=\"Envelope\" size={32} />\n <h2 style={{ margin: 0 }}>This is my header</h2>\n </Repeater>\n ),\n details: (\n <Repeater flexDirection=\"row\" gap=\"150\">\n <Repeater flexDirection=\"row\">\n <Icon name=\"FaceFrown\" />\n Details 1\n </Repeater>\n <Repeater flexDirection=\"row\">\n <Icon name=\"Heart\" />\n Details 2\n </Repeater>\n <Repeater flexDirection=\"row\">\n <Icon name=\"Sparkles\" />\n Details 3\n </Repeater>\n </Repeater>\n ),\n href: '/',\n};\n\nconst MultiProgrammeCardsTemplate: StoryFn<ProgrammeCardProps> = (args) => (\n <BrowserRouter>\n <Container size=\"large\">\n <Repeater>\n <ProgrammeCard {...args} />\n <ProgrammeCard {...args} />\n <ProgrammeCard {...args} />\n </Repeater>\n </Container>\n </BrowserRouter>\n);\n\nexport const MultiProgrammeCards = MultiProgrammeCardsTemplate.bind({});\nMultiProgrammeCards.args = {\n header: 'This is my header',\n details: 'This is my details',\n href: '/',\n};\n"],"names":["codeString","ProgrammeCard_stories","ProgrammeCard","Template","args","jsx","BrowserRouter","Container","ProgrammeCardExample","WithComplexContent","jsxs","Repeater","Icon","MultiProgrammeCardsTemplate","MultiProgrammeCards"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAMA,IAAa,6EAGnBC,IAAe;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAwC,CAACC,MAC7C,gBAAAC,EAACC,KACC,UAAA,gBAAAD,EAACE,GAAA,EAAU,MAAK,SACd,UAAA,gBAAAF,EAACH,GAAA,EAAe,GAAGE,EAAA,CAAM,GAC3B,GACF,GAGWI,IAAuBL,EAAS,KAAK,CAAA,CAAE;AACpDK,EAAqB,OAAO;AAAA,EAC1B,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AACR;AAEO,MAAMC,IAAqBN,EAAS,KAAK,CAAA,CAAE;AAClDM,EAAmB,OAAO;AAAA,EACxB,QACE,gBAAAC,EAACC,GAAA,EAAS,eAAc,OAAM,KAAI,OAChC,UAAA;AAAA,IAAA,gBAAAN,EAACO,GAAA,EAAK,MAAK,YAAW,MAAM,IAAI;AAAA,sBAC/B,MAAA,EAAG,OAAO,EAAE,QAAQ,EAAA,GAAK,UAAA,oBAAA,CAAiB;AAAA,EAAA,GAC7C;AAAA,EAEF,SACE,gBAAAF,EAACC,GAAA,EAAS,eAAc,OAAM,KAAI,OAChC,UAAA;AAAA,IAAA,gBAAAD,EAACC,GAAA,EAAS,eAAc,OACtB,UAAA;AAAA,MAAA,gBAAAN,EAACO,GAAA,EAAK,MAAK,YAAA,CAAY;AAAA,MAAE;AAAA,IAAA,GAE3B;AAAA,IACA,gBAAAF,EAACC,GAAA,EAAS,eAAc,OACtB,UAAA;AAAA,MAAA,gBAAAN,EAACO,GAAA,EAAK,MAAK,QAAA,CAAQ;AAAA,MAAE;AAAA,IAAA,GAEvB;AAAA,IACA,gBAAAF,EAACC,GAAA,EAAS,eAAc,OACtB,UAAA;AAAA,MAAA,gBAAAN,EAACO,GAAA,EAAK,MAAK,WAAA,CAAW;AAAA,MAAE;AAAA,IAAA,EAAA,CAE1B;AAAA,EAAA,GACF;AAAA,EAEF,MAAM;AACR;AAEA,MAAMC,IAA2D,CAACT,MAChE,gBAAAC,EAACC,GAAA,EACC,4BAACC,GAAA,EAAU,MAAK,SACd,UAAA,gBAAAG,EAACC,GAAA,EACC,UAAA;AAAA,EAAA,gBAAAN,EAACH,GAAA,EAAe,GAAGE,GAAM;AAAA,EACzB,gBAAAC,EAACH,GAAA,EAAe,GAAGE,GAAM;AAAA,EACzB,gBAAAC,EAACH,GAAA,EAAe,GAAGE,EAAA,CAAM;AAAA,EAAA,CAC3B,GACF,GACF,GAGWU,IAAsBD,EAA4B,KAAK,CAAA,CAAE;AACtEC,EAAoB,OAAO;AAAA,EACzB,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AACR;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButton.js","sources":["../../../src/components/RadioButton/RadioButton.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport type { InputHTMLAttributes } from 'react';\n\nimport styles from './RadioButton.module.css';\n\nexport interface RadioButtonProps extends InputHTMLAttributes<HTMLInputElement> {\n /** The id of the element. */\n id: string;\n /** The label of the radio button. */\n label: string;\n /** The description that is shown under the label. */\n description?: string;\n /** The gap between the label and radio button. */\n gap?: 'normal' | 'large';\n}\n\n/** Represents a component for a radio button. */\nexport const RadioButton = ({ id, label, gap = 'normal', description, ...restProps }: RadioButtonProps) => (\n <div className={clsx(styles['radio-button'], styles[`radio-button--gap-${gap}`])}>\n <input\n className={styles['radio-button__input']}\n {...restProps}\n id={id}\n type=\"radio\"\n aria-describedby={description ? `${id}-description` : undefined}\n />\n <label className={styles['radio-button__label']} htmlFor={id}>\n {label}\n </label>\n {description && (\n <p id={`${id}-description`} className={styles['radio-button__description']}>\n {description}\n </p>\n )}\n </div>\n);\n"],"names":["RadioButton","id","label","gap","description","restProps","clsx","styles","jsx"],"mappings":";;;;;;;;GAkBaA,IAAc,CAAC,EAAE,IAAAC,GAAI,OAAAC,GAAO,KAAAC,IAAM,UAAU,aAAAC,GAAa,GAAGC,0BACtE,OAAI,EAAA,WAAWC,EAAKC,EAAO,cAAc,GAAGA,EAAO,qBAAqBJ,CAAG,EAAE,CAAC,GAC7E,UAAA;AAAA,EAAA,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWD,EAAO,qBAAqB;AAAA,MACtC,GAAGF;AAAA,MACJ,IAAAJ;AAAA,MACA,MAAK;AAAA,MACL,oBAAkBG,IAAc,GAAGH,CAAE,iBAAiB;AAAA,IAAA;AAAA,EACxD;AAAA,EACA,gBAAAO,EAAC,WAAM,WAAWD,EAAO,qBAAqB,GAAG,SAASN,GACvD,UACHC,GAAA;AAAA,EACCE,KACE,gBAAAI,EAAA,KAAA,EAAE,IAAI,GAAGP,CAAE,gBAAgB,WAAWM,EAAO,2BAA2B,GACtE,UACHH,EAAA,CAAA;AAAA,EAEJ,CAAA;"}
1
+ {"version":3,"file":"RadioButton.js","sources":["../../../src/components/RadioButton/RadioButton.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport type { InputHTMLAttributes } from 'react';\n\nimport styles from './RadioButton.module.css';\n\nexport interface RadioButtonProps extends InputHTMLAttributes<HTMLInputElement> {\n /** The id of the element. */\n id: string;\n /** The label of the radio button. */\n label: string;\n /** The description that is shown under the label. */\n description?: string;\n /** The gap between the label and radio button. */\n gap?: 'normal' | 'large';\n}\n\n/** Represents a component for a radio button. */\nexport const RadioButton = ({ id, label, gap = 'normal', description, ...restProps }: RadioButtonProps) => (\n <div className={clsx(styles['radio-button'], styles[`radio-button--gap-${gap}`])}>\n <input\n className={styles['radio-button__input']}\n {...restProps}\n id={id}\n type=\"radio\"\n aria-describedby={description ? `${id}-description` : undefined}\n />\n <label className={styles['radio-button__label']} htmlFor={id}>\n {label}\n </label>\n {description && (\n <p id={`${id}-description`} className={styles['radio-button__description']}>\n {description}\n </p>\n )}\n </div>\n);\n"],"names":["RadioButton","id","label","gap","description","restProps","clsx","styles","jsx"],"mappings":";;;;;;;;GAkBaA,IAAc,CAAC,EAAE,IAAAC,GAAI,OAAAC,GAAO,KAAAC,IAAM,UAAU,aAAAC,GAAa,GAAGC,0BACtE,OAAA,EAAI,WAAWC,EAAKC,EAAO,cAAc,GAAGA,EAAO,qBAAqBJ,CAAG,EAAE,CAAC,GAC7E,UAAA;AAAA,EAAA,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWD,EAAO,qBAAqB;AAAA,MACtC,GAAGF;AAAA,MACJ,IAAAJ;AAAA,MACA,MAAK;AAAA,MACL,oBAAkBG,IAAc,GAAGH,CAAE,iBAAiB;AAAA,IAAA;AAAA,EAAA;AAAA,EAExD,gBAAAO,EAAC,WAAM,WAAWD,EAAO,qBAAqB,GAAG,SAASN,GACvD,UAAAC,GACH;AAAA,EACCE,KACC,gBAAAI,EAAC,KAAA,EAAE,IAAI,GAAGP,CAAE,gBAAgB,WAAWM,EAAO,2BAA2B,GACtE,UAAAH,EAAA,CACH;AAAA,EAAA,CAEJ;"}
@@ -2,4 +2,4 @@ import { Meta } from '@storybook/react';
2
2
  import { RadioButtonProps } from './RadioButton';
3
3
  declare const _default: Meta<RadioButtonProps>;
4
4
  export default _default;
5
- export declare const RadioButtonExample: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, RadioButtonProps>;
5
+ export declare const RadioButtonExample: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, RadioButtonProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButton.stories.js","sources":["../../../src/components/RadioButton/RadioButton.stories.tsx"],"sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport type { RadioButtonProps } from './RadioButton';\n\nimport { RadioButton } from './RadioButton';\nimport './RadioButton.stories.css';\n\nconst codeString = `\n <RadioButton checked={checked} id={id} label={label} name={name} \n onChange={onChangeFunction} value={value} description={description} /> `;\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/RadioButton',\n component: RadioButton,\n argTypes: {\n id: {\n control: 'text',\n },\n label: {\n control: 'text',\n },\n description: {\n control: 'text',\n },\n disabled: {\n control: 'boolean',\n },\n gap: {\n control: 'radio',\n },\n },\n parameters: {\n inspectComponent: RadioButton,\n codeString: codeString,\n },\n} as Meta<RadioButtonProps>;\n\nconst Template: StoryFn<RadioButtonProps> = (args) => (\n <fieldset className=\"fieldset\">\n <RadioButton {...args} />\n </fieldset>\n);\n\nexport const RadioButtonExample = Template.bind({});\nRadioButtonExample.args = {\n gap: 'normal',\n disabled: false,\n label: 'Sample label',\n description: 'Sample description',\n id: 'de501f21',\n};\n"],"names":["codeString","RadioButton_stories","RadioButton","Template","args","jsx","RadioButtonExample"],"mappings":";;AAMA,MAAMA,IAAa;AAAA;AAAA,8EAKJC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,IAAI;AAAA,MACF,SAAS;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,KAAK;AAAA,MACH,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA,EACA,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAsC,CAACC,MAC1C,gBAAAC,EAAA,YAAA,EAAS,WAAU,YAClB,UAAC,gBAAAA,EAAAH,GAAA,EAAa,GAAGE,EAAA,CAAM,EACzB,CAAA,GAGWE,IAAqBH,EAAS,KAAK,CAAE,CAAA;AAClDG,EAAmB,OAAO;AAAA,EACxB,KAAK;AAAA,EACL,UAAU;AAAA,EACV,OAAO;AAAA,EACP,aAAa;AAAA,EACb,IAAI;AACN;"}
1
+ {"version":3,"file":"RadioButton.stories.js","sources":["../../../src/components/RadioButton/RadioButton.stories.tsx"],"sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport type { RadioButtonProps } from './RadioButton';\n\nimport { RadioButton } from './RadioButton';\nimport './RadioButton.stories.css';\n\nconst codeString = `\n <RadioButton checked={checked} id={id} label={label} name={name} \n onChange={onChangeFunction} value={value} description={description} /> `;\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/RadioButton',\n component: RadioButton,\n argTypes: {\n id: {\n control: 'text',\n },\n label: {\n control: 'text',\n },\n description: {\n control: 'text',\n },\n disabled: {\n control: 'boolean',\n },\n gap: {\n control: 'radio',\n },\n },\n parameters: {\n inspectComponent: RadioButton,\n codeString: codeString,\n },\n} as Meta<RadioButtonProps>;\n\nconst Template: StoryFn<RadioButtonProps> = (args) => (\n <fieldset className=\"fieldset\">\n <RadioButton {...args} />\n </fieldset>\n);\n\nexport const RadioButtonExample = Template.bind({});\nRadioButtonExample.args = {\n gap: 'normal',\n disabled: false,\n label: 'Sample label',\n description: 'Sample description',\n id: 'de501f21',\n};\n"],"names":["codeString","RadioButton_stories","RadioButton","Template","args","jsx","RadioButtonExample"],"mappings":";;AAMA,MAAMA,IAAa;AAAA;AAAA,8EAKnBC,IAAe;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,IAAI;AAAA,MACF,SAAS;AAAA,IAAA;AAAA,IAEX,OAAO;AAAA,MACL,SAAS;AAAA,IAAA;AAAA,IAEX,aAAa;AAAA,MACX,SAAS;AAAA,IAAA;AAAA,IAEX,UAAU;AAAA,MACR,SAAS;AAAA,IAAA;AAAA,IAEX,KAAK;AAAA,MACH,SAAS;AAAA,IAAA;AAAA,EACX;AAAA,EAEF,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAsC,CAACC,MAC3C,gBAAAC,EAAC,YAAA,EAAS,WAAU,YAClB,UAAA,gBAAAA,EAACH,GAAA,EAAa,GAAGE,EAAA,CAAM,EAAA,CACzB,GAGWE,IAAqBH,EAAS,KAAK,CAAA,CAAE;AAClDG,EAAmB,OAAO;AAAA,EACxB,KAAK;AAAA,EACL,UAAU;AAAA,EACV,OAAO;AAAA,EACP,aAAa;AAAA,EACb,IAAI;AACN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import { useState } from 'react';\nimport clsx from 'clsx';\n\nimport styles from './RadioGroup.module.css';\n\nimport { RadioButton } from 'components/RadioButton/RadioButton';\n\ntype Option = {\n id: string;\n titleLabel: string;\n descriptionLabel?: string;\n value: string;\n};\n\nexport interface RadioGroupProps {\n /** The label of the radio group */\n label: string;\n /** Radio options. */\n options: Option[];\n /** Returns selected values as string */\n onChange: (value: string) => void;\n /** If true, the whole group will be disabled. */\n disabled?: boolean;\n}\n\n/** Represents a component for dispalying grouped styled radio buttons. */\nexport const RadioGroup = ({ label, options, onChange, disabled }: RadioGroupProps) => {\n const [selectedValue, setSelectedValue] = useState<string | null>(null);\n\n const handleSelection = (value: string) => {\n if (!disabled) {\n setSelectedValue(value);\n onChange(value);\n }\n };\n\n return (\n <div className={styles['radio-group__wrapper']}>\n <h2 className={styles['radio-group__header']}>{label}</h2>\n <div className={styles['radio-group']}>\n {options.map(({ id, descriptionLabel, titleLabel, value }) => (\n <div\n className={clsx(styles['radio-group__option'], {\n [styles['radio-group__option--disabled']]: disabled,\n })}\n key={id}\n onClick={() => handleSelection(value)}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n handleSelection(value);\n }\n }}\n role=\"presentation\"\n >\n <RadioButton\n id={id}\n label={titleLabel}\n description={descriptionLabel}\n name={label}\n onChange={(event) => {\n handleSelection(event.target.value);\n }}\n value={value}\n checked={selectedValue === value}\n disabled={disabled}\n gap=\"large\"\n />\n </div>\n ))}\n </div>\n </div>\n );\n};\n"],"names":["RadioGroup","label","options","onChange","disabled","selectedValue","setSelectedValue","useState","handleSelection","value","jsxs","styles","jsx","id","descriptionLabel","titleLabel","clsx","event","RadioButton"],"mappings":";;;;;;;;;;GA0BaA,IAAa,CAAC,EAAE,OAAAC,GAAO,SAAAC,GAAS,UAAAC,GAAU,UAAAC,QAAgC;AACrF,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAwB,IAAI,GAEhEC,IAAkB,CAACC,MAAkB;AACzC,IAAKL,MACHE,EAAiBG,CAAK,GACtBN,EAASM,CAAK;AAAA,EAElB;AAEA,SACG,gBAAAC,EAAA,OAAA,EAAI,WAAWC,EAAO,sBAAsB,GAC3C,UAAA;AAAA,IAAA,gBAAAC,EAAC,MAAG,EAAA,WAAWD,EAAO,qBAAqB,GAAI,UAAMV,GAAA;AAAA,IACpD,gBAAAW,EAAA,OAAA,EAAI,WAAWD,EAAO,aAAa,GACjC,UAAAT,EAAQ,IAAI,CAAC,EAAE,IAAAW,GAAI,kBAAAC,GAAkB,YAAAC,GAAY,OAAAN,QAChD,gBAAAG;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWI,EAAKL,EAAO,qBAAqB,GAAG;AAAA,UAC7C,CAACA,EAAO,+BAA+B,CAAC,GAAGP;AAAA,QAAA,CAC5C;AAAA,QAED,SAAS,MAAMI,EAAgBC,CAAK;AAAA,QACpC,WAAW,CAACQ,MAAU;AACpB,WAAIA,EAAM,QAAQ,WAAWA,EAAM,QAAQ,QACzCT,EAAgBC,CAAK;AAAA,QAEzB;AAAA,QACA,MAAK;AAAA,QAEL,UAAA,gBAAAG;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,IAAAL;AAAA,YACA,OAAOE;AAAA,YACP,aAAaD;AAAA,YACb,MAAMb;AAAA,YACN,UAAU,CAACgB,MAAU;AACH,cAAAT,EAAAS,EAAM,OAAO,KAAK;AAAA,YACpC;AAAA,YACA,OAAAR;AAAA,YACA,SAASJ,MAAkBI;AAAA,YAC3B,UAAAL;AAAA,YACA,KAAI;AAAA,UAAA;AAAA,QAAA;AAAA,MACN;AAAA,MArBKS;AAAA,IAAA,CAuBR,EACH,CAAA;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"RadioGroup.js","sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { clsx } from 'clsx';\n\nimport styles from './RadioGroup.module.css';\n\nimport { RadioButton } from 'components/RadioButton/RadioButton';\n\ntype Option = {\n id: string;\n titleLabel: string;\n descriptionLabel?: string;\n value: string;\n};\n\nexport interface RadioGroupProps {\n /** The label of the radio group */\n label: string;\n /** Radio options. */\n options: Option[];\n /** Returns selected values as string */\n onChange: (value: string) => void;\n /** If true, the whole group will be disabled. */\n disabled?: boolean;\n}\n\n/** Represents a component for dispalying grouped styled radio buttons. */\nexport const RadioGroup = ({ label, options, onChange, disabled }: RadioGroupProps) => {\n const [selectedValue, setSelectedValue] = useState<string | null>(null);\n\n const handleSelection = (value: string) => {\n if (!disabled) {\n setSelectedValue(value);\n onChange(value);\n }\n };\n\n return (\n <div className={styles['radio-group__wrapper']}>\n <h2 className={styles['radio-group__header']}>{label}</h2>\n <div className={styles['radio-group']}>\n {options.map(({ id, descriptionLabel, titleLabel, value }) => (\n <div\n className={clsx(styles['radio-group__option'], {\n [styles['radio-group__option--disabled']]: disabled,\n })}\n key={id}\n onClick={() => handleSelection(value)}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n handleSelection(value);\n }\n }}\n role=\"presentation\"\n >\n <RadioButton\n id={id}\n label={titleLabel}\n description={descriptionLabel}\n name={label}\n onChange={(event) => {\n handleSelection(event.target.value);\n }}\n value={value}\n checked={selectedValue === value}\n disabled={disabled}\n gap=\"large\"\n />\n </div>\n ))}\n </div>\n </div>\n );\n};\n"],"names":["RadioGroup","label","options","onChange","disabled","selectedValue","setSelectedValue","useState","handleSelection","value","jsxs","styles","jsx","id","descriptionLabel","titleLabel","clsx","event","RadioButton"],"mappings":";;;;;;;;;;GA0BaA,IAAa,CAAC,EAAE,OAAAC,GAAO,SAAAC,GAAS,UAAAC,GAAU,UAAAC,QAAgC;AACrF,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAwB,IAAI,GAEhEC,IAAkB,CAACC,MAAkB;AACzC,IAAKL,MACHE,EAAiBG,CAAK,GACtBN,EAASM,CAAK;AAAA,EAChB;AAGF,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAO,sBAAsB,GAC3C,UAAA;AAAA,IAAA,gBAAAC,EAAC,MAAA,EAAG,WAAWD,EAAO,qBAAqB,GAAI,UAAAV,GAAM;AAAA,IACrD,gBAAAW,EAAC,OAAA,EAAI,WAAWD,EAAO,aAAa,GACjC,UAAAT,EAAQ,IAAI,CAAC,EAAE,IAAAW,GAAI,kBAAAC,GAAkB,YAAAC,GAAY,OAAAN,QAChD,gBAAAG;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWI,EAAKL,EAAO,qBAAqB,GAAG;AAAA,UAC7C,CAACA,EAAO,+BAA+B,CAAC,GAAGP;AAAA,QAAA,CAC5C;AAAA,QAED,SAAS,MAAMI,EAAgBC,CAAK;AAAA,QACpC,WAAW,CAACQ,MAAU;AACpB,WAAIA,EAAM,QAAQ,WAAWA,EAAM,QAAQ,QACzCT,EAAgBC,CAAK;AAAA,QACvB;AAAA,QAEF,MAAK;AAAA,QAEL,UAAA,gBAAAG;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,IAAAL;AAAA,YACA,OAAOE;AAAA,YACP,aAAaD;AAAA,YACb,MAAMb;AAAA,YACN,UAAU,CAACgB,MAAU;AACnB,cAAAT,EAAgBS,EAAM,OAAO,KAAK;AAAA,YAAA;AAAA,YAEpC,OAAAR;AAAA,YACA,SAASJ,MAAkBI;AAAA,YAC3B,UAAAL;AAAA,YACA,KAAI;AAAA,UAAA;AAAA,QAAA;AAAA,MACN;AAAA,MArBKS;AAAA,IAAA,CAuBR,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
@@ -2,4 +2,4 @@ import { Meta } from '@storybook/react';
2
2
  import { RadioGroupProps } from './RadioGroup';
3
3
  declare const _default: Meta<RadioGroupProps>;
4
4
  export default _default;
5
- export declare const RadioGroupExample: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, RadioGroupProps>;
5
+ export declare const RadioGroupExample: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, RadioGroupProps>;
@@ -1,5 +1,5 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { fn as a } from "../../index-Dwqes6RH.js";
2
+ import { W as a } from "../../index-Di9WPZUe.js";
3
3
  import { RadioGroup as o } from "./RadioGroup.js";
4
4
  const l = `
5
5
  <RadioGroup label={label} options={options}
@@ -18,7 +18,7 @@ const l = `
18
18
  inspectComponent: o,
19
19
  codeString: l
20
20
  }
21
- }, n = [
21
+ }, i = [
22
22
  {
23
23
  id: "1",
24
24
  titleLabel: "Option 1",
@@ -34,11 +34,11 @@ const l = `
34
34
  titleLabel: "Option 3",
35
35
  value: "option3"
36
36
  }
37
- ], i = (e) => /* @__PURE__ */ t(o, { ...e }), p = i.bind({});
37
+ ], n = (e) => /* @__PURE__ */ t(o, { ...e }), p = n.bind({});
38
38
  p.args = {
39
39
  disabled: !1,
40
40
  label: "Sample label",
41
- options: n,
41
+ options: i,
42
42
  onChange: a()
43
43
  };
44
44
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.stories.js","sources":["../../../src/components/RadioGroup/RadioGroup.stories.tsx"],"sourcesContent":["import { fn } from '@storybook/test';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { RadioGroupProps } from './RadioGroup';\n\nimport { RadioGroup } from './RadioGroup';\n\nconst codeString = `\n <RadioGroup label={label} options={options} \n onChange={onChangeFunction} disabled={disabled} /> `;\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Molecules/RadioGroup',\n component: RadioGroup,\n argTypes: {\n label: {\n control: 'text',\n },\n disabled: {\n control: 'boolean',\n },\n },\n parameters: {\n inspectComponent: RadioGroup,\n codeString: codeString,\n },\n} as Meta<RadioGroupProps>;\n\nconst mockData = [\n {\n id: '1',\n titleLabel: 'Option 1',\n value: 'option1',\n },\n {\n id: '2',\n titleLabel: 'Option 2',\n value: 'option2',\n },\n {\n id: '3',\n titleLabel: 'Option 3',\n value: 'option3',\n },\n];\n\nconst Template: StoryFn<RadioGroupProps> = (args) => <RadioGroup {...args} />;\n\nexport const RadioGroupExample = Template.bind({});\nRadioGroupExample.args = {\n disabled: false,\n label: 'Sample label',\n options: mockData,\n onChange: fn(),\n};\n"],"names":["codeString","RadioGroup_stories","RadioGroup","mockData","Template","args","jsx","RadioGroupExample","fn"],"mappings":";;;AAOA,MAAMA,IAAa;AAAA;AAAA,0DAKJC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,OAAO;AAAA,MACL,SAAS;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACR,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA,EACA,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAW;AAAA,EACf;AAAA,IACE,IAAI;AAAA,IACJ,YAAY;AAAA,IACZ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,YAAY;AAAA,IACZ,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,YAAY;AAAA,IACZ,OAAO;AAAA,EAAA;AAEX,GAEMC,IAAqC,CAACC,MAAU,gBAAAC,EAAAJ,GAAA,EAAY,GAAGG,GAAM,GAE9DE,IAAoBH,EAAS,KAAK,CAAE,CAAA;AACjDG,EAAkB,OAAO;AAAA,EACvB,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAASJ;AAAA,EACT,UAAUK,EAAG;AACf;"}
1
+ {"version":3,"file":"RadioGroup.stories.js","sources":["../../../src/components/RadioGroup/RadioGroup.stories.tsx"],"sourcesContent":["import { fn } from 'storybook/test';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { RadioGroupProps } from './RadioGroup';\n\nimport { RadioGroup } from './RadioGroup';\n\nconst codeString = `\n <RadioGroup label={label} options={options} \n onChange={onChangeFunction} disabled={disabled} /> `;\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Molecules/RadioGroup',\n component: RadioGroup,\n argTypes: {\n label: {\n control: 'text',\n },\n disabled: {\n control: 'boolean',\n },\n },\n parameters: {\n inspectComponent: RadioGroup,\n codeString: codeString,\n },\n} as Meta<RadioGroupProps>;\n\nconst mockData = [\n {\n id: '1',\n titleLabel: 'Option 1',\n value: 'option1',\n },\n {\n id: '2',\n titleLabel: 'Option 2',\n value: 'option2',\n },\n {\n id: '3',\n titleLabel: 'Option 3',\n value: 'option3',\n },\n];\n\nconst Template: StoryFn<RadioGroupProps> = (args) => <RadioGroup {...args} />;\n\nexport const RadioGroupExample = Template.bind({});\nRadioGroupExample.args = {\n disabled: false,\n label: 'Sample label',\n options: mockData,\n onChange: fn(),\n};\n"],"names":["codeString","RadioGroup_stories","RadioGroup","mockData","Template","args","jsx","RadioGroupExample","fn"],"mappings":";;;AAOA,MAAMA,IAAa;AAAA;AAAA,0DAKnBC,IAAe;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,OAAO;AAAA,MACL,SAAS;AAAA,IAAA;AAAA,IAEX,UAAU;AAAA,MACR,SAAS;AAAA,IAAA;AAAA,EACX;AAAA,EAEF,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAW;AAAA,EACf;AAAA,IACE,IAAI;AAAA,IACJ,YAAY;AAAA,IACZ,OAAO;AAAA,EAAA;AAAA,EAET;AAAA,IACE,IAAI;AAAA,IACJ,YAAY;AAAA,IACZ,OAAO;AAAA,EAAA;AAAA,EAET;AAAA,IACE,IAAI;AAAA,IACJ,YAAY;AAAA,IACZ,OAAO;AAAA,EAAA;AAEX,GAEMC,IAAqC,CAACC,MAAS,gBAAAC,EAACJ,GAAA,EAAY,GAAGG,GAAM,GAE9DE,IAAoBH,EAAS,KAAK,CAAA,CAAE;AACjDG,EAAkB,OAAO;AAAA,EACvB,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAASJ;AAAA,EACT,UAAUK,EAAA;AACZ;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import "../../index-BqLi4tOb.js";
3
- import { r as l, s as t, f as s } from "../../react.esm-CsMDid07.js";
2
+ import "../../index-DV47hRzi.js";
3
+ import { r as l, s as t, f as s } from "../../react.esm-CFMwGdo5.js";
4
4
  import { RadioGroup as a } from "./RadioGroup.js";
5
5
  const i = [
6
6
  { id: "1", titleLabel: "Option 1", value: "option1" },
@@ -1 +1 @@
1
- {"version":3,"file":"Radiogroup.test.js","sources":["../../../src/components/RadioGroup/Radiogroup.test.tsx"],"sourcesContent":["import '@testing-library/jest-dom';\nimport { render, screen, fireEvent } from '@testing-library/react';\n\nimport { RadioGroup } from './RadioGroup';\n\nconst options = [\n { id: '1', titleLabel: 'Option 1', value: 'option1' },\n { id: '2', titleLabel: 'Option 2', value: 'option2' },\n];\n\ndescribe('RadioGroup', () => {\n it('should render correctly', () => {\n render(<RadioGroup label=\"Test Label\" options={options} onChange={jest.fn()} />);\n expect(screen.getByText('Test Label')).toBeInTheDocument();\n expect(screen.getByText('Option 1')).toBeInTheDocument();\n expect(screen.getByText('Option 2')).toBeInTheDocument();\n });\n\n it('should call onChange when an option is selected', () => {\n const handleChange = jest.fn();\n render(<RadioGroup label=\"Test Label\" options={options} onChange={handleChange} />);\n\n const option1 = screen.getByLabelText('Option 1');\n fireEvent.click(option1);\n expect(handleChange).toHaveBeenCalledWith('option1');\n });\n\n it('should not allow selection when disabled', () => {\n const handleChange = jest.fn();\n render(<RadioGroup label=\"Test Label\" options={options} onChange={handleChange} disabled />);\n\n const option1 = screen.getByLabelText('Option 1');\n fireEvent.click(option1);\n expect(handleChange).not.toHaveBeenCalled();\n });\n});\n"],"names":["options","render","jsx","RadioGroup","screen","handleChange","option1","fireEvent"],"mappings":";;;;AAKA,MAAMA,IAAU;AAAA,EACd,EAAE,IAAI,KAAK,YAAY,YAAY,OAAO,UAAU;AAAA,EACpD,EAAE,IAAI,KAAK,YAAY,YAAY,OAAO,UAAU;AACtD;AAEA,SAAS,cAAc,MAAM;AAC3B,KAAG,2BAA2B,MAAM;AAC3B,IAAAC,EAAA,gBAAAC,EAACC,KAAW,OAAM,cAAa,SAAAH,GAAkB,UAAU,KAAK,GAAG,EAAG,CAAA,CAAE,GAC/E,OAAOI,EAAO,UAAU,YAAY,CAAC,EAAE,kBAAkB,GACzD,OAAOA,EAAO,UAAU,UAAU,CAAC,EAAE,kBAAkB,GACvD,OAAOA,EAAO,UAAU,UAAU,CAAC,EAAE,kBAAkB;AAAA,EAAA,CACxD,GAED,GAAG,mDAAmD,MAAM;AACpD,UAAAC,IAAe,KAAK,GAAG;AAC7B,IAAAJ,oBAAQE,GAAW,EAAA,OAAM,cAAa,SAAAH,GAAkB,UAAUK,GAAc,CAAE;AAE5E,UAAAC,IAAUF,EAAO,eAAe,UAAU;AAChD,IAAAG,EAAU,MAAMD,CAAO,GAChB,OAAAD,CAAY,EAAE,qBAAqB,SAAS;AAAA,EAAA,CACpD,GAED,GAAG,4CAA4C,MAAM;AAC7C,UAAAA,IAAe,KAAK,GAAG;AACtB,IAAAJ,EAAA,gBAAAC,EAACC,KAAW,OAAM,cAAa,SAAAH,GAAkB,UAAUK,GAAc,UAAQ,GAAC,CAAA,CAAE;AAErF,UAAAC,IAAUF,EAAO,eAAe,UAAU;AAChD,IAAAG,EAAU,MAAMD,CAAO,GAChB,OAAAD,CAAY,EAAE,IAAI,iBAAiB;AAAA,EAAA,CAC3C;AACH,CAAC;"}
1
+ {"version":3,"file":"Radiogroup.test.js","sources":["../../../src/components/RadioGroup/Radiogroup.test.tsx"],"sourcesContent":["import '@testing-library/jest-dom';\nimport { render, screen, fireEvent } from '@testing-library/react';\n\nimport { RadioGroup } from './RadioGroup';\n\nconst options = [\n { id: '1', titleLabel: 'Option 1', value: 'option1' },\n { id: '2', titleLabel: 'Option 2', value: 'option2' },\n];\n\ndescribe('RadioGroup', () => {\n it('should render correctly', () => {\n render(<RadioGroup label=\"Test Label\" options={options} onChange={jest.fn()} />);\n expect(screen.getByText('Test Label')).toBeInTheDocument();\n expect(screen.getByText('Option 1')).toBeInTheDocument();\n expect(screen.getByText('Option 2')).toBeInTheDocument();\n });\n\n it('should call onChange when an option is selected', () => {\n const handleChange = jest.fn();\n render(<RadioGroup label=\"Test Label\" options={options} onChange={handleChange} />);\n\n const option1 = screen.getByLabelText('Option 1');\n fireEvent.click(option1);\n expect(handleChange).toHaveBeenCalledWith('option1');\n });\n\n it('should not allow selection when disabled', () => {\n const handleChange = jest.fn();\n render(<RadioGroup label=\"Test Label\" options={options} onChange={handleChange} disabled />);\n\n const option1 = screen.getByLabelText('Option 1');\n fireEvent.click(option1);\n expect(handleChange).not.toHaveBeenCalled();\n });\n});\n"],"names":["options","render","jsx","RadioGroup","screen","handleChange","option1","fireEvent"],"mappings":";;;;AAKA,MAAMA,IAAU;AAAA,EACd,EAAE,IAAI,KAAK,YAAY,YAAY,OAAO,UAAA;AAAA,EAC1C,EAAE,IAAI,KAAK,YAAY,YAAY,OAAO,UAAA;AAC5C;AAEA,SAAS,cAAc,MAAM;AAC3B,KAAG,2BAA2B,MAAM;AAClC,IAAAC,EAAO,gBAAAC,EAACC,KAAW,OAAM,cAAa,SAAAH,GAAkB,UAAU,KAAK,GAAA,EAAG,CAAG,CAAE,GAC/E,OAAOI,EAAO,UAAU,YAAY,CAAC,EAAE,kBAAA,GACvC,OAAOA,EAAO,UAAU,UAAU,CAAC,EAAE,kBAAA,GACrC,OAAOA,EAAO,UAAU,UAAU,CAAC,EAAE,kBAAA;AAAA,EAAkB,CACxD,GAED,GAAG,mDAAmD,MAAM;AAC1D,UAAMC,IAAe,KAAK,GAAA;AAC1B,IAAAJ,oBAAQE,GAAA,EAAW,OAAM,cAAa,SAAAH,GAAkB,UAAUK,GAAc,CAAE;AAElF,UAAMC,IAAUF,EAAO,eAAe,UAAU;AAChD,IAAAG,EAAU,MAAMD,CAAO,GACvB,OAAOD,CAAY,EAAE,qBAAqB,SAAS;AAAA,EAAA,CACpD,GAED,GAAG,4CAA4C,MAAM;AACnD,UAAMA,IAAe,KAAK,GAAA;AAC1B,IAAAJ,EAAO,gBAAAC,EAACC,KAAW,OAAM,cAAa,SAAAH,GAAkB,UAAUK,GAAc,UAAQ,GAAA,CAAC,CAAE;AAE3F,UAAMC,IAAUF,EAAO,eAAe,UAAU;AAChD,IAAAG,EAAU,MAAMD,CAAO,GACvB,OAAOD,CAAY,EAAE,IAAI,iBAAA;AAAA,EAAiB,CAC3C;AACH,CAAC;"}