@uva-glass/component-library 3.29.0 → 3.30.0

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 (319) 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/{client-EQRlhXX7.js → client-D0KlBcsm.js} +1325 -1325
  14. package/dist/{client-EQRlhXX7.js.map → client-D0KlBcsm.js.map} +1 -1
  15. package/dist/components/Accordion/Accordion.js.map +1 -1
  16. package/dist/components/Accordion/Accordion.stories.d.ts +2 -2
  17. package/dist/components/Accordion/Accordion.stories.js.map +1 -1
  18. package/dist/components/Accordion/Accordion.test.js +3 -3
  19. package/dist/components/Accordion/Accordion.test.js.map +1 -1
  20. package/dist/components/AccordionCard/AccordionCard.js.map +1 -1
  21. package/dist/components/AccordionCard/AccordionCard.stories.d.ts +1 -1
  22. package/dist/components/AccordionCard/AccordionCard.stories.js.map +1 -1
  23. package/dist/components/AccordionCard/AccordionCard.test.js +3 -3
  24. package/dist/components/AccordionCard/AccordionCard.test.js.map +1 -1
  25. package/dist/components/ActionList/ActionList.js.map +1 -1
  26. package/dist/components/ActionList/ActionList.stories.d.ts +1 -1
  27. package/dist/components/ActionList/ActionList.stories.js.map +1 -1
  28. package/dist/components/ActionList/ActionList.test.js +3 -3
  29. package/dist/components/ActionList/ActionList.test.js.map +1 -1
  30. package/dist/components/AppStatusBar/AppStatusBar.js.map +1 -1
  31. package/dist/components/AppStatusBar/AppStatusBar.stories.d.ts +1 -1
  32. package/dist/components/AppStatusBar/AppStatusBar.stories.js.map +1 -1
  33. package/dist/components/AppStatusBar/AppStatusBar.test.js +2 -2
  34. package/dist/components/AppStatusBar/AppStatusBar.test.js.map +1 -1
  35. package/dist/components/Attention/Attention.js.map +1 -1
  36. package/dist/components/Attention/Attention.stories.d.ts +1 -1
  37. package/dist/components/Attention/Attention.stories.js.map +1 -1
  38. package/dist/components/Attention/Attention.test.js +2 -2
  39. package/dist/components/Attention/Attention.test.js.map +1 -1
  40. package/dist/components/Backdrop/Backdrop.js.map +1 -1
  41. package/dist/components/Backdrop/Backdrop.stories.d.ts +1 -1
  42. package/dist/components/Backdrop/Backdrop.stories.js.map +1 -1
  43. package/dist/components/Backdrop/Backdrop.test.js +2 -2
  44. package/dist/components/Backdrop/Backdrop.test.js.map +1 -1
  45. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  46. package/dist/components/ButtonGroup/ButtonGroup.stories.d.ts +1 -1
  47. package/dist/components/ButtonGroup/ButtonGroup.stories.js.map +1 -1
  48. package/dist/components/Buttons/Button.js.map +1 -1
  49. package/dist/components/Buttons/Button.stories.d.ts +2 -2
  50. package/dist/components/Buttons/Button.stories.js +8 -8
  51. package/dist/components/Buttons/Button.stories.js.map +1 -1
  52. package/dist/components/Buttons/Button.test.js +2 -2
  53. package/dist/components/Buttons/Button.test.js.map +1 -1
  54. package/dist/components/Buttons/LinkButton.js.map +1 -1
  55. package/dist/components/Buttons/LinkButton.stories.d.ts +2 -2
  56. package/dist/components/Buttons/LinkButton.stories.js +10 -10
  57. package/dist/components/Buttons/LinkButton.stories.js.map +1 -1
  58. package/dist/components/Buttons/LinkButton.test.js +2 -2
  59. package/dist/components/Buttons/LinkButton.test.js.map +1 -1
  60. package/dist/components/Buttons/MenuButton.js.map +1 -1
  61. package/dist/components/Buttons/MenuButton.stories.d.ts +3 -3
  62. package/dist/components/Buttons/MenuButton.stories.js +15 -15
  63. package/dist/components/Buttons/MenuButton.stories.js.map +1 -1
  64. package/dist/components/Buttons/MenuButton.test.js +2 -2
  65. package/dist/components/Buttons/MenuButton.test.js.map +1 -1
  66. package/dist/components/Card/Card.js.map +1 -1
  67. package/dist/components/Card/Card.stories.d.ts +3 -3
  68. package/dist/components/Card/Card.stories.js.map +1 -1
  69. package/dist/components/Card/Card.test.js +2 -2
  70. package/dist/components/Card/Card.test.js.map +1 -1
  71. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  72. package/dist/components/Checkbox/Checkbox.stories.d.ts +2 -2
  73. package/dist/components/Checkbox/Checkbox.stories.js +1 -1
  74. package/dist/components/Checkbox/Checkbox.stories.js.map +1 -1
  75. package/dist/components/Checkbox/Checkbox.test.js +3 -3
  76. package/dist/components/Checkbox/Checkbox.test.js.map +1 -1
  77. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.js.map +1 -1
  78. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.d.ts +3 -3
  79. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js +1 -1
  80. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js.map +1 -1
  81. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js +2 -2
  82. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js.map +1 -1
  83. package/dist/components/CheckboxTree/CheckboxTree.js.map +1 -1
  84. package/dist/components/CheckboxTree/CheckboxTree.stories.d.ts +1 -1
  85. package/dist/components/CheckboxTree/CheckboxTree.stories.js +108 -123
  86. package/dist/components/CheckboxTree/CheckboxTree.stories.js.map +1 -1
  87. package/dist/components/Chip/Chip.js.map +1 -1
  88. package/dist/components/Chip/Chip.stories.d.ts +2 -2
  89. package/dist/components/Chip/Chip.stories.js +1 -1
  90. package/dist/components/Chip/Chip.stories.js.map +1 -1
  91. package/dist/components/ControlsButton/ControlsButton.js.map +1 -1
  92. package/dist/components/ControlsButton/ControlsButton.stories.d.ts +1 -1
  93. package/dist/components/ControlsButton/ControlsButton.stories.js +4 -4
  94. package/dist/components/ControlsButton/ControlsButton.stories.js.map +1 -1
  95. package/dist/components/Drawer/Drawer.js.map +1 -1
  96. package/dist/components/Drawer/Drawer.stories.d.ts +2 -2
  97. package/dist/components/Drawer/Drawer.stories.js +9 -9
  98. package/dist/components/Drawer/Drawer.stories.js.map +1 -1
  99. package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.js.map +1 -1
  100. package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.d.ts +1 -1
  101. package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.js.map +1 -1
  102. package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.js.map +1 -1
  103. package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.stories.d.ts +1 -1
  104. package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.stories.js.map +1 -1
  105. package/dist/components/FeedbackBar/FeedbackBar.js.map +1 -1
  106. package/dist/components/FeedbackBar/FeedbackBar.stories.d.ts +1 -1
  107. package/dist/components/FeedbackBar/FeedbackBar.stories.js.map +1 -1
  108. package/dist/components/FeedbackBar/FeedbackBar.test.js +2 -2
  109. package/dist/components/FeedbackBar/FeedbackBar.test.js.map +1 -1
  110. package/dist/components/FeedbackBox/FeedbackBox.js.map +1 -1
  111. package/dist/components/FeedbackBox/FeedbackBox.stories.d.ts +2 -2
  112. package/dist/components/FeedbackBox/FeedbackBox.stories.js.map +1 -1
  113. package/dist/components/FieldHint/FieldHint.js.map +1 -1
  114. package/dist/components/FieldHint/FieldHint.stories.d.ts +2 -2
  115. package/dist/components/FieldHint/FieldHint.stories.js.map +1 -1
  116. package/dist/components/Fieldset/Fieldset.js.map +1 -1
  117. package/dist/components/Fieldset/Fieldset.stories.d.ts +2 -2
  118. package/dist/components/Fieldset/Fieldset.stories.js.map +1 -1
  119. package/dist/components/FormField/FormField.stories.d.ts +1 -1
  120. package/dist/components/FormField/FormField.stories.js.map +1 -1
  121. package/dist/components/FormInput/FormInput.js.map +1 -1
  122. package/dist/components/FormInput/FormInput.stories.d.ts +2 -2
  123. package/dist/components/FormInput/FormInput.stories.js +1 -1
  124. package/dist/components/FormInput/FormInput.stories.js.map +1 -1
  125. package/dist/components/GridRow/GridRow.js.map +1 -1
  126. package/dist/components/GridRow/GridRow.stories.d.ts +2 -2
  127. package/dist/components/GridRow/GridRow.stories.js.map +1 -1
  128. package/dist/components/HorizontalList/HorizontalList.js.map +1 -1
  129. package/dist/components/HorizontalList/HorizontalList.stories.d.ts +2 -2
  130. package/dist/components/HorizontalList/HorizontalList.stories.js.map +1 -1
  131. package/dist/components/Icon/Icon.js.map +1 -1
  132. package/dist/components/Icon/Icon.stories.d.ts +1 -1
  133. package/dist/components/Icon/Icon.stories.js.map +1 -1
  134. package/dist/components/Icon/icons/index.js.map +1 -1
  135. package/dist/components/IconButton/IconButton.stories.d.ts +1 -1
  136. package/dist/components/IconButton/IconButton.stories.js +5 -5
  137. package/dist/components/IconButton/IconButton.stories.js.map +1 -1
  138. package/dist/components/InfoBanner/InfoBanner.js.map +1 -1
  139. package/dist/components/InfoBanner/InfoBanner.stories.d.ts +1 -1
  140. package/dist/components/InfoBanner/InfoBanner.stories.js.map +1 -1
  141. package/dist/components/InfoMessage/InfoMessage.js.map +1 -1
  142. package/dist/components/InfoMessage/InfoMessage.stories.d.ts +1 -1
  143. package/dist/components/InfoMessage/InfoMessage.stories.js.map +1 -1
  144. package/dist/components/Input/Input.js.map +1 -1
  145. package/dist/components/Input/Input.stories.d.ts +4 -4
  146. package/dist/components/Input/Input.stories.js.map +1 -1
  147. package/dist/components/InputField/InputField.js.map +1 -1
  148. package/dist/components/InputField/InputField.stories.d.ts +3 -3
  149. package/dist/components/InputField/InputField.stories.js +12 -12
  150. package/dist/components/InputField/InputField.stories.js.map +1 -1
  151. package/dist/components/Label/Label.js.map +1 -1
  152. package/dist/components/Label/Label.stories.d.ts +2 -2
  153. package/dist/components/Label/Label.stories.js.map +1 -1
  154. package/dist/components/Label/Label.test.js +2 -2
  155. package/dist/components/Label/Label.test.js.map +1 -1
  156. package/dist/components/MenuLink/MenuLink.js.map +1 -1
  157. package/dist/components/MenuLink/MenuLink.stories.d.ts +2 -2
  158. package/dist/components/MenuLink/MenuLink.stories.js.map +1 -1
  159. package/dist/components/MetaDataList/MetaDataList.js.map +1 -1
  160. package/dist/components/MetaDataList/MetaDataList.stories.d.ts +1 -1
  161. package/dist/components/MetaDataList/MetaDataList.stories.js.map +1 -1
  162. package/dist/components/ModalDialog/ModalDialog.js.map +1 -1
  163. package/dist/components/ModalDialog/ModalDialog.stories.d.ts +3 -3
  164. package/dist/components/ModalDialog/ModalDialog.stories.js +8 -8
  165. package/dist/components/ModalDialog/ModalDialog.stories.js.map +1 -1
  166. package/dist/components/MultiSelect/MultiSelect.stories.d.ts +3 -3
  167. package/dist/components/MultiSelect/MultiSelect.stories.js +7 -7
  168. package/dist/components/MultiSelect/MultiSelect.stories.js.map +1 -1
  169. package/dist/components/MultiSelectBox/MultiSelectBox.js.map +1 -1
  170. package/dist/components/MultiSelectBox/MultiSelectBox.stories.d.ts +2 -2
  171. package/dist/components/MultiSelectBox/MultiSelectBox.stories.js +5 -5
  172. package/dist/components/MultiSelectBox/MultiSelectBox.stories.js.map +1 -1
  173. package/dist/components/MultiSelectBox/MultiSelectBox.test.js +2 -2
  174. package/dist/components/MultiSelectBox/MultiSelectBox.test.js.map +1 -1
  175. package/dist/components/Notification/Notification.js.map +1 -1
  176. package/dist/components/Notification/Notification.stories.d.ts +2 -2
  177. package/dist/components/Notification/Notification.stories.js +3 -3
  178. package/dist/components/Notification/Notification.stories.js.map +1 -1
  179. package/dist/components/Notification/Notification.test.js +2 -2
  180. package/dist/components/Notification/Notification.test.js.map +1 -1
  181. package/dist/components/OverlayCloseButton/OverlayCloseButton.js.map +1 -1
  182. package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.d.ts +1 -1
  183. package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js +4 -4
  184. package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js.map +1 -1
  185. package/dist/components/OverlayStepBar/OverlayStepBar.js.map +1 -1
  186. package/dist/components/OverlayStepBar/OverlayStepBar.stories.d.ts +2 -2
  187. package/dist/components/OverlayStepBar/OverlayStepBar.stories.js.map +1 -1
  188. package/dist/components/PageOverlay/PageOverlay.js.map +1 -1
  189. package/dist/components/PageOverlay/PageOverlay.stories.d.ts +3 -3
  190. package/dist/components/PageOverlay/PageOverlay.stories.js.map +1 -1
  191. package/dist/components/PeriodSelector/PeriodSelector.js.map +1 -1
  192. package/dist/components/PeriodSelector/PeriodSelector.stories.d.ts +1 -1
  193. package/dist/components/PeriodSelector/PeriodSelector.stories.js +1 -1
  194. package/dist/components/PeriodSelector/PeriodSelector.stories.js.map +1 -1
  195. package/dist/components/Periods/Periods.js.map +1 -1
  196. package/dist/components/Periods/Periods.stories.d.ts +1 -1
  197. package/dist/components/Periods/Periods.stories.js.map +1 -1
  198. package/dist/components/ProgrammeCard/ProgrammeCard.js.map +1 -1
  199. package/dist/components/ProgrammeCard/ProgrammeCard.stories.d.ts +3 -3
  200. package/dist/components/ProgrammeCard/ProgrammeCard.stories.js.map +1 -1
  201. package/dist/components/RadioButton/RadioButton.js.map +1 -1
  202. package/dist/components/RadioButton/RadioButton.stories.d.ts +1 -1
  203. package/dist/components/RadioButton/RadioButton.stories.js.map +1 -1
  204. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  205. package/dist/components/RadioGroup/RadioGroup.stories.d.ts +1 -1
  206. package/dist/components/RadioGroup/RadioGroup.stories.js +4 -4
  207. package/dist/components/RadioGroup/RadioGroup.stories.js.map +1 -1
  208. package/dist/components/RadioGroup/Radiogroup.test.js +2 -2
  209. package/dist/components/RadioGroup/Radiogroup.test.js.map +1 -1
  210. package/dist/components/RadioTabSelector/RadioTabSelector.js.map +1 -1
  211. package/dist/components/RadioTabSelector/RadioTabSelector.stories.d.ts +1 -1
  212. package/dist/components/RadioTabSelector/RadioTabSelector.stories.js +1 -1
  213. package/dist/components/RadioTabSelector/RadioTabSelector.stories.js.map +1 -1
  214. package/dist/components/Repeater/Repeater.js.map +1 -1
  215. package/dist/components/Repeater/Repeater.stories.d.ts +1 -1
  216. package/dist/components/Repeater/Repeater.stories.js.map +1 -1
  217. package/dist/components/RteEditor/EditorHeader/EditorHeader.js.map +1 -1
  218. package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js.map +1 -1
  219. package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js.map +1 -1
  220. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js.map +1 -1
  221. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js.map +1 -1
  222. package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js.map +1 -1
  223. package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js.map +1 -1
  224. package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js.map +1 -1
  225. package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js.map +1 -1
  226. package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js.map +1 -1
  227. package/dist/components/RteEditor/Providers/LanguageProvider.js.map +1 -1
  228. package/dist/components/RteEditor/RteEditor.js.map +1 -1
  229. package/dist/components/RteEditor/RteEditor.stories.d.ts +1 -1
  230. package/dist/components/RteEditor/RteEditor.stories.js.map +1 -1
  231. package/dist/components/RteEditor/UvaTheme/UvaTheme.js.map +1 -1
  232. package/dist/components/RteEditor/helpers.js.map +1 -1
  233. package/dist/components/RteEditor/hooks/components/Flyout.js.map +1 -1
  234. package/dist/components/RteEditor/hooks/useFlyout.js.map +1 -1
  235. package/dist/components/RteEditor/hooks/useTranslation.js.map +1 -1
  236. package/dist/components/RteEditor/translations.js.map +1 -1
  237. package/dist/components/SectionNotification/SectionNotification.js.map +1 -1
  238. package/dist/components/SectionNotification/SectionNotification.stories.d.ts +1 -1
  239. package/dist/components/SectionNotification/SectionNotification.stories.js.map +1 -1
  240. package/dist/components/SelectListbox/SelectListBox.stories.d.ts +2 -2
  241. package/dist/components/SelectListbox/SelectListBox.stories.js +1 -1
  242. package/dist/components/SelectListbox/SelectListBox.stories.js.map +1 -1
  243. package/dist/components/SelectListbox/SelectListbox.js.map +1 -1
  244. package/dist/components/SelectListbox/SelectProvider.js.map +1 -1
  245. package/dist/components/SelectListbox/components/SelectButton.js.map +1 -1
  246. package/dist/components/SelectListbox/components/SelectContainer.js.map +1 -1
  247. package/dist/components/SelectListbox/components/SelectOption.js.map +1 -1
  248. package/dist/components/SelectListbox/components/SelectOptionBox.js.map +1 -1
  249. package/dist/components/Sortable/Sortable.js.map +1 -1
  250. package/dist/components/Sortable/Sortable.stories.d.ts +3 -3
  251. package/dist/components/Sortable/Sortable.stories.js +13 -13
  252. package/dist/components/Sortable/Sortable.stories.js.map +1 -1
  253. package/dist/components/Sortable/actions.js.map +1 -1
  254. package/dist/components/Sortable/components/SortableHandle.js.map +1 -1
  255. package/dist/components/Sortable/components/SortableItem.js.map +1 -1
  256. package/dist/components/Sortable/sortableReducer.js.map +1 -1
  257. package/dist/components/Spinner/Spinner.js.map +1 -1
  258. package/dist/components/Spinner/Spinner.stories.d.ts +1 -1
  259. package/dist/components/Spinner/Spinner.stories.js.map +1 -1
  260. package/dist/components/StatusBadge/StatusBadge.stories.d.ts +1 -1
  261. package/dist/components/StatusBadge/StatusBadge.stories.js.map +1 -1
  262. package/dist/components/StatusBadge/StatusBadge.test.js +2 -2
  263. package/dist/components/StatusBadge/StatusBadge.test.js.map +1 -1
  264. package/dist/components/StatusBadge/StatusBage.js.map +1 -1
  265. package/dist/components/StatusPill/StatusPill.js.map +1 -1
  266. package/dist/components/StatusPill/StatusPill.stories.d.ts +1 -1
  267. package/dist/components/StatusPill/StatusPill.stories.js.map +1 -1
  268. package/dist/components/TextArea/TextArea.js.map +1 -1
  269. package/dist/components/TextArea/TextArea.stories.d.ts +1 -1
  270. package/dist/components/TextArea/TextArea.stories.js +1 -1
  271. package/dist/components/TextArea/TextArea.stories.js.map +1 -1
  272. package/dist/components/TextArea/TextArea.test.js +9 -9
  273. package/dist/components/TextArea/TextArea.test.js.map +1 -1
  274. package/dist/components/ToggleSwitch/ToggleSwitch.js.map +1 -1
  275. package/dist/components/ToggleSwitch/ToggleSwitch.stories.d.ts +1 -1
  276. package/dist/components/ToggleSwitch/ToggleSwitch.stories.js +5 -5
  277. package/dist/components/ToggleSwitch/ToggleSwitch.stories.js.map +1 -1
  278. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  279. package/dist/components/Tooltip/Tooltip.stories.d.ts +1 -1
  280. package/dist/components/Tooltip/Tooltip.stories.js.map +1 -1
  281. package/dist/components/VarIndicator/VarIndicator.js.map +1 -1
  282. package/dist/components/VarIndicator/VarIndicator.stories.d.ts +1 -1
  283. package/dist/components/VarIndicator/VarIndicator.stories.js +4 -4
  284. package/dist/components/VarIndicator/VarIndicator.stories.js.map +1 -1
  285. package/dist/components/VarIndicator/VarIndicator.test.js +3 -3
  286. package/dist/components/VarIndicator/VarIndicator.test.js.map +1 -1
  287. package/dist/components/hooks/useDebounce.js.map +1 -1
  288. package/dist/components/hooks/useOnClickOutside.js.map +1 -1
  289. package/dist/components/hooks/usePositionedFloaters.js.map +1 -1
  290. package/dist/components/hooks/useResponsive.js.map +1 -1
  291. package/dist/helpers-DZIm3MiJ.js.map +1 -1
  292. package/dist/index-BVAvx58-.js +10648 -0
  293. package/dist/index-BVAvx58-.js.map +1 -0
  294. package/dist/{index-BqLi4tOb.js → index-DV47hRzi.js} +2891 -2818
  295. package/dist/index-DV47hRzi.js.map +1 -0
  296. package/dist/index-Di9WPZUe.js +34752 -0
  297. package/dist/index-Di9WPZUe.js.map +1 -0
  298. package/dist/index-DllfJcv4.js.map +1 -1
  299. package/dist/index-PaHiqSUg.js +3099 -0
  300. package/dist/index-PaHiqSUg.js.map +1 -0
  301. package/dist/{react-18-dpbWrd2-.js → react-18-inmoTCp-.js} +2 -2
  302. package/dist/{react-18-dpbWrd2-.js.map → react-18-inmoTCp-.js.map} +1 -1
  303. package/dist/{react.esm-CsMDid07.js → react.esm-CFMwGdo5.js} +3 -3
  304. package/dist/{react.esm-CsMDid07.js.map → react.esm-CFMwGdo5.js.map} +1 -1
  305. package/dist/setupTests.js +11 -1562
  306. package/dist/setupTests.js.map +1 -1
  307. package/dist/storyComponents/ClipboardButton/ClipboardButton.js.map +1 -1
  308. package/dist/storyComponents/Container/Container.js.map +1 -1
  309. package/dist/storybook__react.d.js +5345 -5766
  310. package/dist/storybook__react.d.js.map +1 -1
  311. package/dist/test-utils-ea_YDVtd.js.map +1 -1
  312. package/package.json +14 -18
  313. package/dist/index-BqLi4tOb.js.map +0 -1
  314. package/dist/index-CUap8sKR.js +0 -2962
  315. package/dist/index-CUap8sKR.js.map +0 -1
  316. package/dist/index-DH9Vbk37.js +0 -9507
  317. package/dist/index-DH9Vbk37.js.map +0 -1
  318. package/dist/index-Dwqes6RH.js +0 -14758
  319. package/dist/index-Dwqes6RH.js.map +0 -1
@@ -1,25 +1,25 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import "../../index-BqLi4tOb.js";
3
- import { r as n, s as t, f as r } from "../../react.esm-CsMDid07.js";
4
- import { userEvent as s } from "../../index-Dwqes6RH.js";
5
- import { TextArea as o } from "./TextArea.js";
2
+ import "../../index-DV47hRzi.js";
3
+ import { r as o, s as t, f as r } from "../../react.esm-CFMwGdo5.js";
4
+ import { j as c } from "../../index-Di9WPZUe.js";
5
+ import { TextArea as n } from "./TextArea.js";
6
6
  describe("TextArea", () => {
7
7
  it("should render correctly with label", () => {
8
- n(/* @__PURE__ */ a(o, { onChange: jest.fn(), label: "Test Label" })), expect(t.getByText("Test Label")).toBeInTheDocument();
8
+ o(/* @__PURE__ */ a(n, { onChange: jest.fn(), label: "Test Label" })), expect(t.getByText("Test Label")).toBeInTheDocument();
9
9
  }), it("should call onChange when text is entered", () => {
10
10
  const e = jest.fn();
11
- n(/* @__PURE__ */ a(o, { onChange: e }));
11
+ o(/* @__PURE__ */ a(n, { onChange: e }));
12
12
  const l = t.getByRole("textbox");
13
13
  r.input(l, { target: { value: "Hello" } }), expect(e).toHaveBeenCalledWith("Hello");
14
14
  }), it("should update character count", () => {
15
- n(/* @__PURE__ */ a(o, { onChange: jest.fn(), label: "Test", maxCharacters: 10 }));
15
+ o(/* @__PURE__ */ a(n, { onChange: jest.fn(), label: "Test", maxCharacters: 10 }));
16
16
  const e = t.getByRole("textbox");
17
17
  r.input(e, { target: { value: "Test" } }), expect(t.getByText("4")).toBeInTheDocument(), expect(t.getByText("/ 10")).toBeInTheDocument();
18
18
  }), it("should not exceed max characters limit", async () => {
19
19
  const e = jest.fn();
20
- n(/* @__PURE__ */ a(o, { onChange: e, maxCharacters: 5 }));
20
+ o(/* @__PURE__ */ a(n, { onChange: e, maxCharacters: 5 }));
21
21
  const l = t.getByRole("textbox");
22
- await s.type(l, "ExceedsLimit"), expect(e).toHaveBeenCalled(), expect(e.mock.calls[e.mock.calls.length - 1][0].length).toBe(5);
22
+ await c.type(l, "ExceedsLimit"), expect(e).toHaveBeenCalled(), expect(e.mock.calls[e.mock.calls.length - 1][0].length).toBe(5);
23
23
  });
24
24
  });
25
25
  //# sourceMappingURL=TextArea.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.test.js","sources":["../../../src/components/TextArea/TextArea.test.tsx"],"sourcesContent":["import '@testing-library/jest-dom';\nimport { render, screen, fireEvent } from '@testing-library/react';\nimport { userEvent } from '@storybook/test';\n\nimport { TextArea } from './TextArea';\n\ndescribe('TextArea', () => {\n it('should render correctly with label', () => {\n render(<TextArea onChange={jest.fn()} label=\"Test Label\" />);\n expect(screen.getByText('Test Label')).toBeInTheDocument();\n });\n\n it('should call onChange when text is entered', () => {\n const handleChange = jest.fn();\n render(<TextArea onChange={handleChange} />);\n\n const textarea = screen.getByRole('textbox');\n fireEvent.input(textarea, { target: { value: 'Hello' } });\n expect(handleChange).toHaveBeenCalledWith('Hello');\n });\n\n it('should update character count', () => {\n render(<TextArea onChange={jest.fn()} label=\"Test\" maxCharacters={10} />);\n\n const textarea = screen.getByRole('textbox');\n fireEvent.input(textarea, { target: { value: 'Test' } });\n\n expect(screen.getByText('4')).toBeInTheDocument();\n expect(screen.getByText('/ 10')).toBeInTheDocument();\n });\n\n it('should not exceed max characters limit', async () => {\n const handleChange = jest.fn();\n render(<TextArea onChange={handleChange} maxCharacters={5} />);\n\n const textarea = screen.getByRole('textbox');\n\n await userEvent.type(textarea, 'ExceedsLimit');\n\n expect(handleChange).toHaveBeenCalled();\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n expect(handleChange.mock.calls[handleChange.mock.calls.length - 1][0].length).toBe(5);\n });\n});\n"],"names":["render","jsx","TextArea","screen","handleChange","textarea","fireEvent","userEvent"],"mappings":";;;;;AAMA,SAAS,YAAY,MAAM;AACzB,KAAG,sCAAsC,MAAM;AACtC,IAAAA,EAAA,gBAAAC,EAACC,KAAS,UAAU,KAAK,MAAM,OAAM,cAAa,CAAE,GAC3D,OAAOC,EAAO,UAAU,YAAY,CAAC,EAAE,kBAAkB;AAAA,EAAA,CAC1D,GAED,GAAG,6CAA6C,MAAM;AAC9C,UAAAC,IAAe,KAAK,GAAG;AAC7B,IAAAJ,EAAQ,gBAAAC,EAAAC,GAAA,EAAS,UAAUE,EAAc,CAAA,CAAE;AAErC,UAAAC,IAAWF,EAAO,UAAU,SAAS;AACjC,IAAAG,EAAA,MAAMD,GAAU,EAAE,QAAQ,EAAE,OAAO,QAAA,GAAW,GACjD,OAAAD,CAAY,EAAE,qBAAqB,OAAO;AAAA,EAAA,CAClD,GAED,GAAG,iCAAiC,MAAM;AACjC,IAAAJ,EAAA,gBAAAC,EAACC,GAAS,EAAA,UAAU,KAAK,MAAM,OAAM,QAAO,eAAe,GAAI,CAAA,CAAE;AAElE,UAAAG,IAAWF,EAAO,UAAU,SAAS;AACjC,IAAAG,EAAA,MAAMD,GAAU,EAAE,QAAQ,EAAE,OAAO,OAAA,GAAU,GAEvD,OAAOF,EAAO,UAAU,GAAG,CAAC,EAAE,kBAAkB,GAChD,OAAOA,EAAO,UAAU,MAAM,CAAC,EAAE,kBAAkB;AAAA,EAAA,CACpD,GAED,GAAG,0CAA0C,YAAY;AACjD,UAAAC,IAAe,KAAK,GAAG;AAC7B,IAAAJ,oBAAQE,GAAS,EAAA,UAAUE,GAAc,eAAe,GAAG,CAAE;AAEvD,UAAAC,IAAWF,EAAO,UAAU,SAAS;AAErC,UAAAI,EAAU,KAAKF,GAAU,cAAc,GAEtC,OAAAD,CAAY,EAAE,iBAAiB,GAEtC,OAAOA,EAAa,KAAK,MAAMA,EAAa,KAAK,MAAM,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC;AAAA,EAAA,CACrF;AACH,CAAC;"}
1
+ {"version":3,"file":"TextArea.test.js","sources":["../../../src/components/TextArea/TextArea.test.tsx"],"sourcesContent":["import '@testing-library/jest-dom';\nimport { render, screen, fireEvent } from '@testing-library/react';\nimport { userEvent } from 'storybook/test';\n\nimport { TextArea } from './TextArea';\n\ndescribe('TextArea', () => {\n it('should render correctly with label', () => {\n render(<TextArea onChange={jest.fn()} label=\"Test Label\" />);\n expect(screen.getByText('Test Label')).toBeInTheDocument();\n });\n\n it('should call onChange when text is entered', () => {\n const handleChange = jest.fn();\n render(<TextArea onChange={handleChange} />);\n\n const textarea = screen.getByRole('textbox');\n fireEvent.input(textarea, { target: { value: 'Hello' } });\n expect(handleChange).toHaveBeenCalledWith('Hello');\n });\n\n it('should update character count', () => {\n render(<TextArea onChange={jest.fn()} label=\"Test\" maxCharacters={10} />);\n\n const textarea = screen.getByRole('textbox');\n fireEvent.input(textarea, { target: { value: 'Test' } });\n\n expect(screen.getByText('4')).toBeInTheDocument();\n expect(screen.getByText('/ 10')).toBeInTheDocument();\n });\n\n it('should not exceed max characters limit', async () => {\n const handleChange = jest.fn();\n render(<TextArea onChange={handleChange} maxCharacters={5} />);\n\n const textarea = screen.getByRole('textbox');\n\n await userEvent.type(textarea, 'ExceedsLimit');\n\n expect(handleChange).toHaveBeenCalled();\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n expect(handleChange.mock.calls[handleChange.mock.calls.length - 1][0].length).toBe(5);\n });\n});\n"],"names":["render","jsx","TextArea","screen","handleChange","textarea","fireEvent","userEvent"],"mappings":";;;;;AAMA,SAAS,YAAY,MAAM;AACzB,KAAG,sCAAsC,MAAM;AAC7C,IAAAA,EAAO,gBAAAC,EAACC,KAAS,UAAU,KAAK,MAAM,OAAM,cAAa,CAAE,GAC3D,OAAOC,EAAO,UAAU,YAAY,CAAC,EAAE,kBAAA;AAAA,EAAkB,CAC1D,GAED,GAAG,6CAA6C,MAAM;AACpD,UAAMC,IAAe,KAAK,GAAA;AAC1B,IAAAJ,EAAO,gBAAAC,EAACC,GAAA,EAAS,UAAUE,EAAA,CAAc,CAAE;AAE3C,UAAMC,IAAWF,EAAO,UAAU,SAAS;AAC3C,IAAAG,EAAU,MAAMD,GAAU,EAAE,QAAQ,EAAE,OAAO,QAAA,GAAW,GACxD,OAAOD,CAAY,EAAE,qBAAqB,OAAO;AAAA,EAAA,CAClD,GAED,GAAG,iCAAiC,MAAM;AACxC,IAAAJ,EAAO,gBAAAC,EAACC,GAAA,EAAS,UAAU,KAAK,GAAA,GAAM,OAAM,QAAO,eAAe,GAAA,CAAI,CAAE;AAExE,UAAMG,IAAWF,EAAO,UAAU,SAAS;AAC3C,IAAAG,EAAU,MAAMD,GAAU,EAAE,QAAQ,EAAE,OAAO,OAAA,GAAU,GAEvD,OAAOF,EAAO,UAAU,GAAG,CAAC,EAAE,kBAAA,GAC9B,OAAOA,EAAO,UAAU,MAAM,CAAC,EAAE,kBAAA;AAAA,EAAkB,CACpD,GAED,GAAG,0CAA0C,YAAY;AACvD,UAAMC,IAAe,KAAK,GAAA;AAC1B,IAAAJ,oBAAQE,GAAA,EAAS,UAAUE,GAAc,eAAe,GAAG,CAAE;AAE7D,UAAMC,IAAWF,EAAO,UAAU,SAAS;AAE3C,UAAMI,EAAU,KAAKF,GAAU,cAAc,GAE7C,OAAOD,CAAY,EAAE,iBAAA,GAErB,OAAOA,EAAa,KAAK,MAAMA,EAAa,KAAK,MAAM,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC;AAAA,EAAA,CACrF;AACH,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleSwitch.js","sources":["../../../src/components/ToggleSwitch/ToggleSwitch.tsx"],"sourcesContent":["import classNames from 'clsx';\n\nimport type { InputHTMLAttributes, ReactNode } from 'react';\n\nimport styles from './ToggleSwitch.module.css';\n\nexport interface ToggleSwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'style' | 'className'> {\n /** The label for the toggle switch. */\n label: string;\n /** Boolean value if label should be visible. */\n labelVisible?: boolean;\n /** Selection for label placement compared to toggle switch. */\n labelPosition?: 'before' | 'after';\n /** Boolean value to be used if the toggle mutates. If true the toggle is disabled in a loading state. */\n loading?: boolean;\n /** Boolean value if extra gap is needed on left of component. */\n extraLeftGap?: boolean;\n}\n\nfunction ConditionalWrapper({\n condition,\n wrapper,\n children,\n}: {\n condition: boolean;\n wrapper: (children: ReactNode) => ReactNode;\n children: ReactNode;\n}) {\n return condition ? wrapper(children) : children;\n}\n\n/** Represents a component for a toggle switch. */\nexport function ToggleSwitch({\n label,\n labelPosition = 'after',\n labelVisible = true,\n loading = false,\n extraLeftGap,\n ...restProps\n}: ToggleSwitchProps) {\n const labelComponent = (\n <span\n className={classNames(\n { [styles['toggle-switch--visually-hidden']]: !labelVisible },\n { [styles['toggle-switch--disabled-label']]: restProps.disabled }\n )}\n >\n {label}\n </span>\n );\n\n return (\n <ConditionalWrapper\n condition={loading}\n wrapper={(children) => <div className={styles['toggle-switch--loading-cursor']}>{children}</div>}\n >\n <label\n className={classNames(\n styles['toggle-switch'],\n { [styles['toggle-switch--disabled']]: restProps.disabled },\n { [styles['toggle-switch--loading']]: loading },\n { [styles['toggle-switch--extra-left-gap']]: extraLeftGap }\n )}\n >\n {labelPosition === 'before' && labelComponent}\n <input className={styles['toggle-switch--visually-hidden']} {...restProps} type=\"checkbox\" />\n <span className={styles['toggle-switch__visible']} title={!labelVisible ? label : ''} />\n {labelPosition === 'after' && labelComponent}\n </label>\n </ConditionalWrapper>\n );\n}\n"],"names":["ConditionalWrapper","condition","wrapper","children","ToggleSwitch","label","labelPosition","labelVisible","loading","extraLeftGap","restProps","labelComponent","jsx","classNames","styles","jsxs"],"mappings":";;;;;;;;;;;;AAmBA,SAASA,EAAmB;AAAA,EAC1B,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AACF,GAIG;AACM,SAAAF,IAAYC,EAAQC,CAAQ,IAAIA;AACzC;AAGO,SAASC,EAAa;AAAA,EAC3B,OAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,cAAAC,IAAe;AAAA,EACf,SAAAC,IAAU;AAAA,EACV,cAAAC;AAAA,EACA,GAAGC;AACL,GAAsB;AACpB,QAAMC,IACJ,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAAA,QACT,EAAE,CAACC,EAAO,gCAAgC,CAAC,GAAG,CAACP,EAAa;AAAA,QAC5D,EAAE,CAACO,EAAO,+BAA+B,CAAC,GAAGJ,EAAU,SAAS;AAAA,MAClE;AAAA,MAEC,UAAAL;AAAA,IAAA;AAAA,EACH;AAIA,SAAA,gBAAAO;AAAA,IAACZ;AAAA,IAAA;AAAA,MACC,WAAWQ;AAAA,MACX,SAAS,CAACL,MAAa,gBAAAS,EAAC,SAAI,WAAWE,EAAO,+BAA+B,GAAI,UAAAX,GAAS;AAAA,MAE1F,UAAA,gBAAAY;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWF;AAAAA,YACTC,EAAO,eAAe;AAAA,YACtB,EAAE,CAACA,EAAO,yBAAyB,CAAC,GAAGJ,EAAU,SAAS;AAAA,YAC1D,EAAE,CAACI,EAAO,wBAAwB,CAAC,GAAGN,EAAQ;AAAA,YAC9C,EAAE,CAACM,EAAO,+BAA+B,CAAC,GAAGL,EAAa;AAAA,UAC5D;AAAA,UAEC,UAAA;AAAA,YAAAH,MAAkB,YAAYK;AAAA,YAC/B,gBAAAC,EAAC,WAAM,WAAWE,EAAO,gCAAgC,GAAI,GAAGJ,GAAW,MAAK,YAAW;AAAA,YAC3F,gBAAAE,EAAC,QAAK,EAAA,WAAWE,EAAO,wBAAwB,GAAG,OAAQP,IAAuB,KAARF,EAAY,CAAA;AAAA,YACrFC,MAAkB,WAAWK;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAChC;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"ToggleSwitch.js","sources":["../../../src/components/ToggleSwitch/ToggleSwitch.tsx"],"sourcesContent":["import classNames from 'clsx';\n\nimport type { InputHTMLAttributes, ReactNode } from 'react';\n\nimport styles from './ToggleSwitch.module.css';\n\nexport interface ToggleSwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'style' | 'className'> {\n /** The label for the toggle switch. */\n label: string;\n /** Boolean value if label should be visible. */\n labelVisible?: boolean;\n /** Selection for label placement compared to toggle switch. */\n labelPosition?: 'before' | 'after';\n /** Boolean value to be used if the toggle mutates. If true the toggle is disabled in a loading state. */\n loading?: boolean;\n /** Boolean value if extra gap is needed on left of component. */\n extraLeftGap?: boolean;\n}\n\nfunction ConditionalWrapper({\n condition,\n wrapper,\n children,\n}: {\n condition: boolean;\n wrapper: (children: ReactNode) => ReactNode;\n children: ReactNode;\n}) {\n return condition ? wrapper(children) : children;\n}\n\n/** Represents a component for a toggle switch. */\nexport function ToggleSwitch({\n label,\n labelPosition = 'after',\n labelVisible = true,\n loading = false,\n extraLeftGap,\n ...restProps\n}: ToggleSwitchProps) {\n const labelComponent = (\n <span\n className={classNames(\n { [styles['toggle-switch--visually-hidden']]: !labelVisible },\n { [styles['toggle-switch--disabled-label']]: restProps.disabled }\n )}\n >\n {label}\n </span>\n );\n\n return (\n <ConditionalWrapper\n condition={loading}\n wrapper={(children) => <div className={styles['toggle-switch--loading-cursor']}>{children}</div>}\n >\n <label\n className={classNames(\n styles['toggle-switch'],\n { [styles['toggle-switch--disabled']]: restProps.disabled },\n { [styles['toggle-switch--loading']]: loading },\n { [styles['toggle-switch--extra-left-gap']]: extraLeftGap }\n )}\n >\n {labelPosition === 'before' && labelComponent}\n <input className={styles['toggle-switch--visually-hidden']} {...restProps} type=\"checkbox\" />\n <span className={styles['toggle-switch__visible']} title={!labelVisible ? label : ''} />\n {labelPosition === 'after' && labelComponent}\n </label>\n </ConditionalWrapper>\n );\n}\n"],"names":["ConditionalWrapper","condition","wrapper","children","ToggleSwitch","label","labelPosition","labelVisible","loading","extraLeftGap","restProps","labelComponent","jsx","classNames","styles","jsxs"],"mappings":";;;;;;;;;;;;AAmBA,SAASA,EAAmB;AAAA,EAC1B,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AACF,GAIG;AACD,SAAOF,IAAYC,EAAQC,CAAQ,IAAIA;AACzC;AAGO,SAASC,EAAa;AAAA,EAC3B,OAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,cAAAC,IAAe;AAAA,EACf,SAAAC,IAAU;AAAA,EACV,cAAAC;AAAA,EACA,GAAGC;AACL,GAAsB;AACpB,QAAMC,IACJ,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAAA,QACT,EAAE,CAACC,EAAO,gCAAgC,CAAC,GAAG,CAACP,EAAA;AAAA,QAC/C,EAAE,CAACO,EAAO,+BAA+B,CAAC,GAAGJ,EAAU,SAAA;AAAA,MAAS;AAAA,MAGjE,UAAAL;AAAA,IAAA;AAAA,EAAA;AAIL,SACE,gBAAAO;AAAA,IAACZ;AAAA,IAAA;AAAA,MACC,WAAWQ;AAAA,MACX,SAAS,CAACL,MAAa,gBAAAS,EAAC,SAAI,WAAWE,EAAO,+BAA+B,GAAI,UAAAX,GAAS;AAAA,MAE1F,UAAA,gBAAAY;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWF;AAAAA,YACTC,EAAO,eAAe;AAAA,YACtB,EAAE,CAACA,EAAO,yBAAyB,CAAC,GAAGJ,EAAU,SAAA;AAAA,YACjD,EAAE,CAACI,EAAO,wBAAwB,CAAC,GAAGN,EAAA;AAAA,YACtC,EAAE,CAACM,EAAO,+BAA+B,CAAC,GAAGL,EAAA;AAAA,UAAa;AAAA,UAG3D,UAAA;AAAA,YAAAH,MAAkB,YAAYK;AAAA,YAC/B,gBAAAC,EAAC,WAAM,WAAWE,EAAO,gCAAgC,GAAI,GAAGJ,GAAW,MAAK,YAAW;AAAA,YAC3F,gBAAAE,EAAC,QAAA,EAAK,WAAWE,EAAO,wBAAwB,GAAG,OAAQP,IAAuB,KAARF,EAAQ,CAAI;AAAA,YACrFC,MAAkB,WAAWK;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAChC;AAAA,EAAA;AAGN;"}
@@ -2,4 +2,4 @@ import { Meta } from '@storybook/react';
2
2
  import { ToggleSwitchProps } from './ToggleSwitch';
3
3
  declare const _default: Meta<ToggleSwitchProps>;
4
4
  export default _default;
5
- export declare const ToggleSwitchExample: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, ToggleSwitchProps>;
5
+ export declare const ToggleSwitchExample: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, ToggleSwitchProps>;
@@ -1,7 +1,7 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { fn as l } from "../../index-Dwqes6RH.js";
2
+ import { W as l } from "../../index-Di9WPZUe.js";
3
3
  import { ToggleSwitch as e } from "./ToggleSwitch.js";
4
- const n = `
4
+ const a = `
5
5
  // Has all InputHTMLAttributes props available except "className" and "style"
6
6
  <ToggleSwitch onChange={onChangeFunction} checked={checked} label={label} />
7
7
  `, p = {
@@ -9,13 +9,13 @@ const n = `
9
9
  component: e,
10
10
  parameters: {
11
11
  inspectComponent: e,
12
- codeString: n
12
+ codeString: a
13
13
  }
14
- }, a = (t) => /* @__PURE__ */ o(e, { ...t }), s = {
14
+ }, n = (t) => /* @__PURE__ */ o(e, { ...t }), s = {
15
15
  label: "Toggle switch example",
16
16
  labelPosition: "before",
17
17
  onChange: l()
18
- }, c = a.bind({});
18
+ }, c = n.bind({});
19
19
  c.args = {
20
20
  ...s
21
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleSwitch.stories.js","sources":["../../../src/components/ToggleSwitch/ToggleSwitch.stories.tsx"],"sourcesContent":["import { fn } from '@storybook/test';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { ToggleSwitchProps } from './ToggleSwitch';\n\nimport { ToggleSwitch } from './ToggleSwitch';\n\nconst codeString = `\n// Has all InputHTMLAttributes props available except \"className\" and \"style\" \n<ToggleSwitch onChange={onChangeFunction} checked={checked} label={label} />\n`;\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/ToggleSwitch',\n component: ToggleSwitch,\n parameters: {\n inspectComponent: ToggleSwitch,\n codeString: codeString,\n },\n} as Meta<ToggleSwitchProps>;\n\nconst Template: StoryFn<ToggleSwitchProps> = (args) => {\n return <ToggleSwitch {...args} />;\n};\n\nconst defaultArgs: Partial<ToggleSwitchProps> = {\n label: 'Toggle switch example',\n labelPosition: 'before',\n onChange: fn(),\n};\n\nexport const ToggleSwitchExample = Template.bind({});\nToggleSwitchExample.args = {\n ...defaultArgs,\n};\n"],"names":["codeString","ToggleSwitch_stories","ToggleSwitch","Template","args","jsx","defaultArgs","fn","ToggleSwitchExample"],"mappings":";;;AAOA,MAAMA,IAAa;AAAA;AAAA;AAAA,GAMJC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAuC,CAACC,MACrC,gBAAAC,EAACH,GAAc,EAAA,GAAGE,EAAM,CAAA,GAG3BE,IAA0C;AAAA,EAC9C,OAAO;AAAA,EACP,eAAe;AAAA,EACf,UAAUC,EAAG;AACf,GAEaC,IAAsBL,EAAS,KAAK,CAAE,CAAA;AACnDK,EAAoB,OAAO;AAAA,EACzB,GAAGF;AACL;"}
1
+ {"version":3,"file":"ToggleSwitch.stories.js","sources":["../../../src/components/ToggleSwitch/ToggleSwitch.stories.tsx"],"sourcesContent":["import { fn } from 'storybook/test';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { ToggleSwitchProps } from './ToggleSwitch';\n\nimport { ToggleSwitch } from './ToggleSwitch';\n\nconst codeString = `\n// Has all InputHTMLAttributes props available except \"className\" and \"style\" \n<ToggleSwitch onChange={onChangeFunction} checked={checked} label={label} />\n`;\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/ToggleSwitch',\n component: ToggleSwitch,\n parameters: {\n inspectComponent: ToggleSwitch,\n codeString: codeString,\n },\n} as Meta<ToggleSwitchProps>;\n\nconst Template: StoryFn<ToggleSwitchProps> = (args) => {\n return <ToggleSwitch {...args} />;\n};\n\nconst defaultArgs: Partial<ToggleSwitchProps> = {\n label: 'Toggle switch example',\n labelPosition: 'before',\n onChange: fn(),\n};\n\nexport const ToggleSwitchExample = Template.bind({});\nToggleSwitchExample.args = {\n ...defaultArgs,\n};\n"],"names":["codeString","ToggleSwitch_stories","ToggleSwitch","Template","args","jsx","defaultArgs","fn","ToggleSwitchExample"],"mappings":";;;AAOA,MAAMA,IAAa;AAAA;AAAA;AAAA,GAMnBC,IAAe;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAuC,CAACC,MACrC,gBAAAC,EAACH,GAAA,EAAc,GAAGE,EAAA,CAAM,GAG3BE,IAA0C;AAAA,EAC9C,OAAO;AAAA,EACP,eAAe;AAAA,EACf,UAAUC,EAAA;AACZ,GAEaC,IAAsBL,EAAS,KAAK,CAAA,CAAE;AACnDK,EAAoB,OAAO;AAAA,EACzB,GAAGF;AACL;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nimport type { ReactNode } from 'react';\n\nimport styles from './Tooltip.module.css';\n\nexport interface TooltipProps {\n /** The element which triggers the tooltip on hover. */\n element: ReactNode;\n /** The id of the tooltip element. */\n id: string;\n /** The contents of the tooltip. */\n text: string;\n /** The size of the tooltip. */\n size?: 'small' | 'medium' | 'large';\n /** <span style=\"color: red\">**Obsolete**</span>. Used by Lens only, and should be refactored */\n openUnderTrigger?: boolean;\n}\n\n/** Represents a component for a custom tooltip. */\nexport function Tooltip({ element, id, text, size = 'medium', openUnderTrigger = false }: TooltipProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const tooltipRef = useRef<HTMLSpanElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [position, setPosition] = useState({ top: 0, left: 0 });\n\n /* eslint-disable @typescript-eslint/no-magic-numbers */\n const topOffset = (size === 'small' && 20) || (size === 'large' && 35) || 27;\n const leftOffset = (size === 'small' && 25) || (size === 'large' && 70) || 47;\n /* eslint-enable @typescript-eslint/no-magic-numbers */\n\n const calculatePosition = useCallback(() => {\n if (containerRef.current && tooltipRef.current) {\n const triggerRect = containerRef.current.getBoundingClientRect();\n const tooltipRect = tooltipRef.current.getBoundingClientRect();\n const scrollY = window.scrollY;\n const scrollX = window.scrollX;\n let top = triggerRect.top + scrollY + topOffset - tooltipRect.height;\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const left = triggerRect.left + scrollX + leftOffset + (triggerRect.width - tooltipRect.width) / 2;\n\n // Adjust top position to account for page scrolling\n top -= scrollY;\n\n // Position tooltip below if it would be above the viewport\n if (top < 0) {\n top = triggerRect.bottom + scrollY;\n }\n\n setPosition({ top, left });\n }\n }, [leftOffset, topOffset]);\n\n const onKeyUp = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n setIsOpen(false);\n }\n },\n [setIsOpen]\n );\n\n function show() {\n setIsOpen(true);\n }\n\n function hide() {\n setIsOpen(false);\n }\n\n function toggle() {\n if (isOpen) setIsOpen(false);\n else setIsOpen(true);\n }\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const tooltipContainerRef = containerRef.current;\n\n tooltipContainerRef.addEventListener('keyup', onKeyUp, true);\n\n return () => {\n tooltipContainerRef.removeEventListener('keyup', onKeyUp, true);\n };\n }, [onKeyUp]);\n\n useEffect(() => {\n calculatePosition();\n window.addEventListener('resize', calculatePosition);\n return () => {\n window.removeEventListener('resize', calculatePosition);\n };\n }, [calculatePosition]);\n\n useEffect(() => {\n // Recalculate position when isOpen changes\n if (isOpen && !openUnderTrigger) {\n calculatePosition();\n }\n }, [isOpen, openUnderTrigger, calculatePosition]);\n\n return (\n <div\n className={styles['tooltip-container']}\n onBlur={hide}\n onFocus={show}\n onMouseEnter={show}\n onMouseLeave={hide}\n onMouseUp={toggle}\n ref={containerRef}\n role=\"button\"\n tabIndex={-1}\n >\n <div aria-describedby={isOpen ? id : undefined}>{element}</div>\n {isOpen && (\n <span\n ref={tooltipRef}\n className={openUnderTrigger ? styles['tooltip_under-trigger'] : styles[`tooltip_${size}`]}\n id={id}\n role=\"tooltip\"\n style={openUnderTrigger ? {} : { top: position.top, left: position.left }}\n >\n {text}\n </span>\n )}\n </div>\n );\n}\n"],"names":["Tooltip","element","id","text","size","openUnderTrigger","containerRef","useRef","tooltipRef","isOpen","setIsOpen","useState","position","setPosition","topOffset","leftOffset","calculatePosition","useCallback","triggerRect","tooltipRect","scrollY","scrollX","top","left","onKeyUp","event","show","hide","toggle","useEffect","tooltipContainerRef","jsxs","styles","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nimport type { ReactNode } from 'react';\n\nimport styles from './Tooltip.module.css';\n\nexport interface TooltipProps {\n /** The element which triggers the tooltip on hover. */\n element: ReactNode;\n /** The id of the tooltip element. */\n id: string;\n /** The contents of the tooltip. */\n text: string;\n /** The size of the tooltip. */\n size?: 'small' | 'medium' | 'large';\n /** <span style=\"color: red\">**Obsolete**</span>. Used by Lens only, and should be refactored */\n openUnderTrigger?: boolean;\n}\n\n/** Represents a component for a custom tooltip. */\nexport function Tooltip({ element, id, text, size = 'medium', openUnderTrigger = false }: TooltipProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const tooltipRef = useRef<HTMLSpanElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [position, setPosition] = useState({ top: 0, left: 0 });\n\n /* eslint-disable @typescript-eslint/no-magic-numbers */\n const topOffset = (size === 'small' && 20) || (size === 'large' && 35) || 27;\n const leftOffset = (size === 'small' && 25) || (size === 'large' && 70) || 47;\n /* eslint-enable @typescript-eslint/no-magic-numbers */\n\n const calculatePosition = useCallback(() => {\n if (containerRef.current && tooltipRef.current) {\n const triggerRect = containerRef.current.getBoundingClientRect();\n const tooltipRect = tooltipRef.current.getBoundingClientRect();\n const scrollY = window.scrollY;\n const scrollX = window.scrollX;\n let top = triggerRect.top + scrollY + topOffset - tooltipRect.height;\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const left = triggerRect.left + scrollX + leftOffset + (triggerRect.width - tooltipRect.width) / 2;\n\n // Adjust top position to account for page scrolling\n top -= scrollY;\n\n // Position tooltip below if it would be above the viewport\n if (top < 0) {\n top = triggerRect.bottom + scrollY;\n }\n\n setPosition({ top, left });\n }\n }, [leftOffset, topOffset]);\n\n const onKeyUp = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n setIsOpen(false);\n }\n },\n [setIsOpen]\n );\n\n function show() {\n setIsOpen(true);\n }\n\n function hide() {\n setIsOpen(false);\n }\n\n function toggle() {\n if (isOpen) setIsOpen(false);\n else setIsOpen(true);\n }\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const tooltipContainerRef = containerRef.current;\n\n tooltipContainerRef.addEventListener('keyup', onKeyUp, true);\n\n return () => {\n tooltipContainerRef.removeEventListener('keyup', onKeyUp, true);\n };\n }, [onKeyUp]);\n\n useEffect(() => {\n calculatePosition();\n window.addEventListener('resize', calculatePosition);\n return () => {\n window.removeEventListener('resize', calculatePosition);\n };\n }, [calculatePosition]);\n\n useEffect(() => {\n // Recalculate position when isOpen changes\n if (isOpen && !openUnderTrigger) {\n calculatePosition();\n }\n }, [isOpen, openUnderTrigger, calculatePosition]);\n\n return (\n <div\n className={styles['tooltip-container']}\n onBlur={hide}\n onFocus={show}\n onMouseEnter={show}\n onMouseLeave={hide}\n onMouseUp={toggle}\n ref={containerRef}\n role=\"button\"\n tabIndex={-1}\n >\n <div aria-describedby={isOpen ? id : undefined}>{element}</div>\n {isOpen && (\n <span\n ref={tooltipRef}\n className={openUnderTrigger ? styles['tooltip_under-trigger'] : styles[`tooltip_${size}`]}\n id={id}\n role=\"tooltip\"\n style={openUnderTrigger ? {} : { top: position.top, left: position.left }}\n >\n {text}\n </span>\n )}\n </div>\n );\n}\n"],"names":["Tooltip","element","id","text","size","openUnderTrigger","containerRef","useRef","tooltipRef","isOpen","setIsOpen","useState","position","setPosition","topOffset","leftOffset","calculatePosition","useCallback","triggerRect","tooltipRect","scrollY","scrollX","top","left","onKeyUp","event","show","hide","toggle","useEffect","tooltipContainerRef","jsxs","styles","jsx"],"mappings":"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"}
@@ -2,4 +2,4 @@ import { Meta } from '@storybook/react';
2
2
  import { TooltipProps } from './Tooltip';
3
3
  declare const _default: Meta<TooltipProps>;
4
4
  export default _default;
5
- export declare const TooltipExample: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, TooltipProps>;
5
+ export declare const TooltipExample: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, TooltipProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.stories.js","sources":["../../../src/components/Tooltip/Tooltip.stories.tsx"],"sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport type { TooltipProps } from './Tooltip';\n\nimport { Tooltip } from './Tooltip';\n\nimport { Container } from 'storyComponents/Container';\n\nconst codeString = '<Tooltip element={element} id={id} text={text} size={size} />';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/Tooltip',\n component: Tooltip,\n argTypes: {\n element: {\n control: 'text',\n },\n // Disable openUnderTrigger controls as this is a Lens specific prop that we should not use in other places.\n // This is still needed until Lens structure is reworked.\n openUnderTrigger: {\n table: {\n disable: true,\n },\n },\n },\n parameters: {\n inspectComponent: Tooltip,\n codeString: codeString,\n },\n} as Meta<TooltipProps>;\n\nconst Template: StoryFn<TooltipProps> = (args) => (\n <Container centerContent>\n <Tooltip {...args} />\n </Container>\n);\n\nexport const TooltipExample = Template.bind({});\nTooltipExample.args = {\n element: 'Tooltip Trigger',\n id: '52fcc9e9',\n text: 'Here is your Tooltip',\n};\n"],"names":["codeString","Tooltip_stories","Tooltip","Template","args","jsx","Container","TooltipExample"],"mappings":";;;AAOA,MAAMA,IAAa,iEAGJC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,IACX;AAAA;AAAA;AAAA,IAGA,kBAAkB;AAAA,MAChB,OAAO;AAAA,QACL,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,EAEJ;AAAA,EACA,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAkC,CAACC,MACtC,gBAAAC,EAAAC,GAAA,EAAU,eAAa,IACtB,UAAC,gBAAAD,EAAAH,GAAA,EAAS,GAAGE,EAAA,CAAM,EACrB,CAAA,GAGWG,IAAiBJ,EAAS,KAAK,CAAE,CAAA;AAC9CI,EAAe,OAAO;AAAA,EACpB,SAAS;AAAA,EACT,IAAI;AAAA,EACJ,MAAM;AACR;"}
1
+ {"version":3,"file":"Tooltip.stories.js","sources":["../../../src/components/Tooltip/Tooltip.stories.tsx"],"sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport type { TooltipProps } from './Tooltip';\n\nimport { Tooltip } from './Tooltip';\n\nimport { Container } from 'storyComponents/Container';\n\nconst codeString = '<Tooltip element={element} id={id} text={text} size={size} />';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/Tooltip',\n component: Tooltip,\n argTypes: {\n element: {\n control: 'text',\n },\n // Disable openUnderTrigger controls as this is a Lens specific prop that we should not use in other places.\n // This is still needed until Lens structure is reworked.\n openUnderTrigger: {\n table: {\n disable: true,\n },\n },\n },\n parameters: {\n inspectComponent: Tooltip,\n codeString: codeString,\n },\n} as Meta<TooltipProps>;\n\nconst Template: StoryFn<TooltipProps> = (args) => (\n <Container centerContent>\n <Tooltip {...args} />\n </Container>\n);\n\nexport const TooltipExample = Template.bind({});\nTooltipExample.args = {\n element: 'Tooltip Trigger',\n id: '52fcc9e9',\n text: 'Here is your Tooltip',\n};\n"],"names":["codeString","Tooltip_stories","Tooltip","Template","args","jsx","Container","TooltipExample"],"mappings":";;;AAOA,MAAMA,IAAa,iEAGnBC,IAAe;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,IAAA;AAAA;AAAA;AAAA,IAIX,kBAAkB;AAAA,MAChB,OAAO;AAAA,QACL,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,EACF;AAAA,EAEF,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAkC,CAACC,MACvC,gBAAAC,EAACC,GAAA,EAAU,eAAa,IACtB,UAAA,gBAAAD,EAACH,GAAA,EAAS,GAAGE,EAAA,CAAM,EAAA,CACrB,GAGWG,IAAiBJ,EAAS,KAAK,CAAA,CAAE;AAC9CI,EAAe,OAAO;AAAA,EACpB,SAAS;AAAA,EACT,IAAI;AAAA,EACJ,MAAM;AACR;"}
@@ -1 +1 @@
1
- {"version":3,"file":"VarIndicator.js","sources":["../../../src/components/VarIndicator/VarIndicator.tsx"],"sourcesContent":["import clsx from 'clsx';\n\nimport type { IconProps } from 'components/Icon';\n\nimport styles from './VarIndicator.module.css';\n\nimport { Icon } from 'components/Icon';\n\nexport type StatusType = 'DRAFT' | 'REJECTED' | 'SUBMITTED' | 'ACTIVE';\n\nexport interface VarIndicatorProps {\n label: Record<StatusType, string>;\n variant?: StatusType;\n maxSteps?: number;\n currentStep?: number;\n onClick?: () => void;\n}\n\nconst ICON_NAMES = {\n DRAFT: 'CircleLarge',\n REJECTED: 'CircleLarge',\n SUBMITTED: 'CircleLargeDotted',\n ACTIVE: 'SignalActive',\n};\n\nexport const VarIndicator = ({ label, variant = 'DRAFT', maxSteps, currentStep = 1, onClick }: VarIndicatorProps) => (\n <button\n className={clsx(styles['var-indicator__container'], styles[`var-indicator__container--${variant.toLowerCase()}`])}\n onClick={onClick}\n >\n <Icon name={ICON_NAMES[variant] as IconProps['name']} size={16} />\n <span className={styles['var-indicator__label']}>{label[`${variant}`]}</span>\n {maxSteps && maxSteps > 0 && variant === 'SUBMITTED'\n ? Array.from({ length: maxSteps }, (_, idx) => idx + 1).map((step) => (\n <div key={step} className={styles['var-indicator__step-container']}>\n <Icon name={step <= currentStep ? 'CircleSmallFilled' : 'CircleSmall'} />\n </div>\n ))\n : null}\n </button>\n);\n"],"names":["ICON_NAMES","VarIndicator","label","variant","maxSteps","currentStep","onClick","jsxs","clsx","styles","jsx","Icon","idx","step"],"mappings":";;;;;;;;;;;GAkBMA,IAAa;AAAA,EACjB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AACV,GAEaC,IAAe,CAAC,EAAE,OAAAC,GAAO,SAAAC,IAAU,SAAS,UAAAC,GAAU,aAAAC,IAAc,GAAG,SAAAC,EAAA,MAClF,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAKC,EAAO,0BAA0B,GAAGA,EAAO,6BAA6BN,EAAQ,YAAa,CAAA,EAAE,CAAC;AAAA,IAChH,SAAAG;AAAA,IAEA,UAAA;AAAA,MAAA,gBAAAI,EAACC,KAAK,MAAMX,EAAWG,CAAO,GAAwB,MAAM,IAAI;AAAA,MAChE,gBAAAO,EAAC,QAAK,EAAA,WAAWD,EAAO,sBAAsB,GAAI,UAAMP,EAAA,GAAGC,CAAO,EAAE,EAAE,CAAA;AAAA,MACrEC,KAAYA,IAAW,KAAKD,MAAY,cACrC,MAAM,KAAK,EAAE,QAAQC,KAAY,CAAC,GAAGQ,MAAQA,IAAM,CAAC,EAAE,IAAI,CAACC,wBACxD,OAAe,EAAA,WAAWJ,EAAO,+BAA+B,GAC/D,UAAC,gBAAAC,EAAAC,GAAA,EAAK,MAAME,KAAQR,IAAc,sBAAsB,cAAA,CAAe,EAD/D,GAAAQ,CAEV,CACD,IACD;AAAA,IAAA;AAAA,EAAA;AACN;"}
1
+ {"version":3,"file":"VarIndicator.js","sources":["../../../src/components/VarIndicator/VarIndicator.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport type { IconProps } from 'components/Icon';\n\nimport styles from './VarIndicator.module.css';\n\nimport { Icon } from 'components/Icon';\n\nexport type StatusType = 'DRAFT' | 'REJECTED' | 'SUBMITTED' | 'ACTIVE';\n\nexport interface VarIndicatorProps {\n label: Record<StatusType, string>;\n variant?: StatusType;\n maxSteps?: number;\n currentStep?: number;\n onClick?: () => void;\n}\n\nconst ICON_NAMES = {\n DRAFT: 'CircleLarge',\n REJECTED: 'CircleLarge',\n SUBMITTED: 'CircleLargeDotted',\n ACTIVE: 'SignalActive',\n};\n\nexport const VarIndicator = ({ label, variant = 'DRAFT', maxSteps, currentStep = 1, onClick }: VarIndicatorProps) => (\n <button\n className={clsx(styles['var-indicator__container'], styles[`var-indicator__container--${variant.toLowerCase()}`])}\n onClick={onClick}\n >\n <Icon name={ICON_NAMES[variant] as IconProps['name']} size={16} />\n <span className={styles['var-indicator__label']}>{label[`${variant}`]}</span>\n {maxSteps && maxSteps > 0 && variant === 'SUBMITTED'\n ? Array.from({ length: maxSteps }, (_, idx) => idx + 1).map((step) => (\n <div key={step} className={styles['var-indicator__step-container']}>\n <Icon name={step <= currentStep ? 'CircleSmallFilled' : 'CircleSmall'} />\n </div>\n ))\n : null}\n </button>\n);\n"],"names":["ICON_NAMES","VarIndicator","label","variant","maxSteps","currentStep","onClick","jsxs","clsx","styles","jsx","Icon","idx","step"],"mappings":";;;;;;;;;;;GAkBMA,IAAa;AAAA,EACjB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AACV,GAEaC,IAAe,CAAC,EAAE,OAAAC,GAAO,SAAAC,IAAU,SAAS,UAAAC,GAAU,aAAAC,IAAc,GAAG,SAAAC,EAAA,MAClF,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAKC,EAAO,0BAA0B,GAAGA,EAAO,6BAA6BN,EAAQ,YAAA,CAAa,EAAE,CAAC;AAAA,IAChH,SAAAG;AAAA,IAEA,UAAA;AAAA,MAAA,gBAAAI,EAACC,KAAK,MAAMX,EAAWG,CAAO,GAAwB,MAAM,IAAI;AAAA,MAChE,gBAAAO,EAAC,QAAA,EAAK,WAAWD,EAAO,sBAAsB,GAAI,UAAAP,EAAM,GAAGC,CAAO,EAAE,EAAA,CAAE;AAAA,MACrEC,KAAYA,IAAW,KAAKD,MAAY,cACrC,MAAM,KAAK,EAAE,QAAQC,EAAA,GAAY,CAAC,GAAGQ,MAAQA,IAAM,CAAC,EAAE,IAAI,CAACC,wBACxD,OAAA,EAAe,WAAWJ,EAAO,+BAA+B,GAC/D,UAAA,gBAAAC,EAACC,GAAA,EAAK,MAAME,KAAQR,IAAc,sBAAsB,cAAA,CAAe,EAAA,GAD/DQ,CAEV,CACD,IACD;AAAA,IAAA;AAAA,EAAA;AACN;"}
@@ -2,4 +2,4 @@ import { Meta } from '@storybook/react';
2
2
  import { VarIndicatorProps } from './VarIndicator';
3
3
  declare const _default: Meta<VarIndicatorProps>;
4
4
  export default _default;
5
- export declare const VarIndicatorExample: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, VarIndicatorProps>;
5
+ export declare const VarIndicatorExample: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, VarIndicatorProps>;
@@ -1,7 +1,7 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { fn as n } from "../../index-Dwqes6RH.js";
2
+ import { W as o } from "../../index-Di9WPZUe.js";
3
3
  import { VarIndicator as t } from "./VarIndicator.js";
4
- const o = {
4
+ const n = {
5
5
  DRAFT: "Concept",
6
6
  REJECTED: "Concept",
7
7
  SUBMITTED: "Verificatie",
@@ -15,10 +15,10 @@ const o = {
15
15
  codeString: a
16
16
  }
17
17
  }, c = (r) => /* @__PURE__ */ e(t, { ...r }), i = {
18
- label: o,
18
+ label: n,
19
19
  maxSteps: 3,
20
20
  currentStep: 2,
21
- onClick: n()
21
+ onClick: o()
22
22
  }, s = c.bind({});
23
23
  s.args = {
24
24
  ...i
@@ -1 +1 @@
1
- {"version":3,"file":"VarIndicator.stories.js","sources":["../../../src/components/VarIndicator/VarIndicator.stories.tsx"],"sourcesContent":["import { fn } from '@storybook/test';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { VarIndicatorProps } from './VarIndicator';\n\nimport { VarIndicator } from './VarIndicator';\n\nconst LABELS = {\n DRAFT: 'Concept',\n REJECTED: 'Concept',\n SUBMITTED: 'Verificatie',\n ACTIVE: 'Actief',\n};\n\nconst codeString =\n '<VarIndicator label={[string]: [string]} maxSteps={number} currentStep={number} onClick={() => void} />';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/VarIndicator',\n component: VarIndicator,\n argTypes: {},\n parameters: {\n inspectComponent: VarIndicator,\n codeString: codeString,\n },\n} as Meta<VarIndicatorProps>;\n\nconst Template: StoryFn<VarIndicatorProps> = (args) => <VarIndicator {...args} />;\n\nconst defaultArgs: Partial<VarIndicatorProps> = {\n label: LABELS,\n maxSteps: 3,\n currentStep: 2,\n onClick: fn(),\n};\n\nexport const VarIndicatorExample = Template.bind({});\nVarIndicatorExample.args = {\n ...defaultArgs,\n};\n"],"names":["LABELS","codeString","VarIndicator_stories","VarIndicator","Template","args","jsx","defaultArgs","fn","VarIndicatorExample"],"mappings":";;;AAOA,MAAMA,IAAS;AAAA,EACb,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AACV,GAEMC,IACJ,2GAGaC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU,CAAC;AAAA,EACX,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAuC,CAACC,MAAU,gBAAAC,EAAAH,GAAA,EAAc,GAAGE,GAAM,GAEzEE,IAA0C;AAAA,EAC9C,OAAOP;AAAA,EACP,UAAU;AAAA,EACV,aAAa;AAAA,EACb,SAASQ,EAAG;AACd,GAEaC,IAAsBL,EAAS,KAAK,CAAE,CAAA;AACnDK,EAAoB,OAAO;AAAA,EACzB,GAAGF;AACL;"}
1
+ {"version":3,"file":"VarIndicator.stories.js","sources":["../../../src/components/VarIndicator/VarIndicator.stories.tsx"],"sourcesContent":["import { fn } from 'storybook/test';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { VarIndicatorProps } from './VarIndicator';\n\nimport { VarIndicator } from './VarIndicator';\n\nconst LABELS = {\n DRAFT: 'Concept',\n REJECTED: 'Concept',\n SUBMITTED: 'Verificatie',\n ACTIVE: 'Actief',\n};\n\nconst codeString =\n '<VarIndicator label={[string]: [string]} maxSteps={number} currentStep={number} onClick={() => void} />';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/VarIndicator',\n component: VarIndicator,\n argTypes: {},\n parameters: {\n inspectComponent: VarIndicator,\n codeString: codeString,\n },\n} as Meta<VarIndicatorProps>;\n\nconst Template: StoryFn<VarIndicatorProps> = (args) => <VarIndicator {...args} />;\n\nconst defaultArgs: Partial<VarIndicatorProps> = {\n label: LABELS,\n maxSteps: 3,\n currentStep: 2,\n onClick: fn(),\n};\n\nexport const VarIndicatorExample = Template.bind({});\nVarIndicatorExample.args = {\n ...defaultArgs,\n};\n"],"names":["LABELS","codeString","VarIndicator_stories","VarIndicator","Template","args","jsx","defaultArgs","fn","VarIndicatorExample"],"mappings":";;;AAOA,MAAMA,IAAS;AAAA,EACb,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AACV,GAEMC,IACJ,2GAGFC,IAAe;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU,CAAA;AAAA,EACV,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAuC,CAACC,MAAS,gBAAAC,EAACH,GAAA,EAAc,GAAGE,GAAM,GAEzEE,IAA0C;AAAA,EAC9C,OAAOP;AAAA,EACP,UAAU;AAAA,EACV,aAAa;AAAA,EACb,SAASQ,EAAA;AACX,GAEaC,IAAsBL,EAAS,KAAK,CAAA,CAAE;AACnDK,EAAoB,OAAO;AAAA,EACzB,GAAGF;AACL;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import "../../index-BqLi4tOb.js";
3
- import { r as l, s as e, w as a } from "../../react.esm-CsMDid07.js";
4
- import { u as i } from "../../index-CUap8sKR.js";
2
+ import "../../index-DV47hRzi.js";
3
+ import { r as l, s as e, w as a } from "../../react.esm-CFMwGdo5.js";
4
+ import { u as i } from "../../index-PaHiqSUg.js";
5
5
  import { useState as s } from "react";
6
6
  import { VarIndicator as n } from "./VarIndicator.js";
7
7
  const o = {
@@ -1 +1 @@
1
- {"version":3,"file":"VarIndicator.test.js","sources":["../../../src/components/VarIndicator/VarIndicator.test.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-magic-numbers */\nimport '@testing-library/jest-dom';\nimport { render, screen, waitFor } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { useState } from 'react';\n\nimport { VarIndicator } from './VarIndicator';\n\nconst LABELS = {\n DRAFT: 'Concept',\n REJECTED: 'Concept',\n SUBMITTED: 'Verificatie',\n ACTIVE: 'Actief',\n};\n\njest.mock('components/Icon', () => ({\n Icon: ({ name }: { name: string }) => <svg data-testid={name} />,\n}));\n\nconst TestWrapper = () => {\n const [currentStep, setCurrentStep] = useState(1);\n return (\n // When clicked the onClick callback updates currentStep from 1 to 2.\n <VarIndicator\n label={LABELS}\n variant=\"SUBMITTED\"\n maxSteps={3}\n currentStep={currentStep}\n onClick={() => setCurrentStep(2)}\n />\n );\n};\n\ndescribe('VarIndicator', () => {\n const onClickSpy = jest.fn();\n\n beforeEach(() => {\n onClickSpy.mockClear();\n });\n\n it('should render Concept (DRAFT)', () => {\n render(<VarIndicator label={LABELS} variant=\"DRAFT\" />);\n expect(screen.getByText('Concept')).toBeInTheDocument();\n });\n\n it('should render Concept (REJECTED)', () => {\n render(<VarIndicator label={LABELS} variant=\"REJECTED\" />);\n expect(screen.getByText('Concept')).toBeInTheDocument();\n });\n\n it('should render Concept (ACTIVE)', () => {\n render(<VarIndicator label={LABELS} variant=\"ACTIVE\" />);\n expect(screen.getByText('Actief')).toBeInTheDocument();\n });\n\n it('should render dots (SUBMITTED)', () => {\n render(<VarIndicator label={LABELS} variant=\"SUBMITTED\" maxSteps={3} currentStep={0} />);\n expect(screen.getByText('Verificatie')).toBeInTheDocument();\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(3);\n expect(screen.queryByTestId('CircleSmallFilled')).not.toBeInTheDocument();\n });\n\n it('should render filled dots when currentStep != 0 (SUBMITTED)', () => {\n render(<VarIndicator label={LABELS} variant=\"SUBMITTED\" maxSteps={3} currentStep={1} onClick={onClickSpy} />);\n const verificationButton = screen.getByText('Verificatie');\n expect(verificationButton).toBeInTheDocument();\n expect(screen.getAllByTestId('CircleSmallFilled')).toHaveLength(1);\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(2);\n });\n\n it('should render filled dots currentStep is updated (SUBMITTED)', async () => {\n render(<TestWrapper />);\n expect(screen.getAllByTestId('CircleSmallFilled')).toHaveLength(1);\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(2);\n const verificationButton = screen.getByText('Verificatie');\n await userEvent.click(verificationButton);\n await waitFor(() => {\n expect(screen.getAllByTestId('CircleSmallFilled')).toHaveLength(2);\n });\n await waitFor(() => {\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(1);\n });\n });\n});\n"],"names":["LABELS","name","jsx","TestWrapper","currentStep","setCurrentStep","useState","VarIndicator","onClickSpy","render","screen","verificationButton","userEvent","waitFor"],"mappings":";;;;;;AAQA,MAAMA,IAAS;AAAA,EACb,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AACV;AAEA,KAAK,KAAK,mBAAmB,OAAO;AAAA,EAClC,MAAM,CAAC,EAAE,MAAAC,QAA8B,gBAAAC,EAAA,OAAA,EAAI,eAAaD,EAAM,CAAA;AAChE,EAAE;AAEF,MAAME,IAAc,MAAM;AACxB,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,CAAC;AAChD;AAAA;AAAA,IAEE,gBAAAJ;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,OAAOP;AAAA,QACP,SAAQ;AAAA,QACR,UAAU;AAAA,QACV,aAAAI;AAAA,QACA,SAAS,MAAMC,EAAe,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA;AAGrC;AAEA,SAAS,gBAAgB,MAAM;AACvB,QAAAG,IAAa,KAAK,GAAG;AAE3B,aAAW,MAAM;AACf,IAAAA,EAAW,UAAU;AAAA,EAAA,CACtB,GAED,GAAG,iCAAiC,MAAM;AACxC,IAAAC,oBAAQF,GAAa,EAAA,OAAOP,GAAQ,SAAQ,SAAQ,CAAE,GACtD,OAAOU,EAAO,UAAU,SAAS,CAAC,EAAE,kBAAkB;AAAA,EAAA,CACvD,GAED,GAAG,oCAAoC,MAAM;AAC3C,IAAAD,oBAAQF,GAAa,EAAA,OAAOP,GAAQ,SAAQ,YAAW,CAAE,GACzD,OAAOU,EAAO,UAAU,SAAS,CAAC,EAAE,kBAAkB;AAAA,EAAA,CACvD,GAED,GAAG,kCAAkC,MAAM;AACzC,IAAAD,oBAAQF,GAAa,EAAA,OAAOP,GAAQ,SAAQ,UAAS,CAAE,GACvD,OAAOU,EAAO,UAAU,QAAQ,CAAC,EAAE,kBAAkB;AAAA,EAAA,CACtD,GAED,GAAG,kCAAkC,MAAM;AAClC,IAAAD,EAAA,gBAAAP,EAACK,GAAa,EAAA,OAAOP,GAAQ,SAAQ,aAAY,UAAU,GAAG,aAAa,EAAG,CAAA,CAAE,GACvF,OAAOU,EAAO,UAAU,aAAa,CAAC,EAAE,kBAAkB,GAC1D,OAAOA,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC,GAC3D,OAAOA,EAAO,cAAc,mBAAmB,CAAC,EAAE,IAAI,kBAAkB;AAAA,EAAA,CACzE,GAED,GAAG,+DAA+D,MAAM;AACtE,IAAAD,EAAQ,gBAAAP,EAAAK,GAAA,EAAa,OAAOP,GAAQ,SAAQ,aAAY,UAAU,GAAG,aAAa,GAAG,SAASQ,EAAY,CAAA,CAAE;AACtG,UAAAG,IAAqBD,EAAO,UAAU,aAAa;AAClD,WAAAC,CAAkB,EAAE,kBAAkB,GAC7C,OAAOD,EAAO,eAAe,mBAAmB,CAAC,EAAE,aAAa,CAAC,GACjE,OAAOA,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC;AAAA,EAAA,CAC5D,GAED,GAAG,gEAAgE,YAAY;AACtE,IAAAD,EAAA,gBAAAP,EAACC,KAAY,CAAE,GACtB,OAAOO,EAAO,eAAe,mBAAmB,CAAC,EAAE,aAAa,CAAC,GACjE,OAAOA,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC;AACrD,UAAAC,IAAqBD,EAAO,UAAU,aAAa;AACnD,UAAAE,EAAU,MAAMD,CAAkB,GACxC,MAAME,EAAQ,MAAM;AAClB,aAAOH,EAAO,eAAe,mBAAmB,CAAC,EAAE,aAAa,CAAC;AAAA,IAAA,CAClE,GACD,MAAMG,EAAQ,MAAM;AAClB,aAAOH,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC;AAAA,IAAA,CAC5D;AAAA,EAAA,CACF;AACH,CAAC;"}
1
+ {"version":3,"file":"VarIndicator.test.js","sources":["../../../src/components/VarIndicator/VarIndicator.test.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-magic-numbers */\nimport '@testing-library/jest-dom';\nimport { render, screen, waitFor } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { useState } from 'react';\n\nimport { VarIndicator } from './VarIndicator';\n\nconst LABELS = {\n DRAFT: 'Concept',\n REJECTED: 'Concept',\n SUBMITTED: 'Verificatie',\n ACTIVE: 'Actief',\n};\n\njest.mock('components/Icon', () => ({\n Icon: ({ name }: { name: string }) => <svg data-testid={name} />,\n}));\n\nconst TestWrapper = () => {\n const [currentStep, setCurrentStep] = useState(1);\n return (\n // When clicked the onClick callback updates currentStep from 1 to 2.\n <VarIndicator\n label={LABELS}\n variant=\"SUBMITTED\"\n maxSteps={3}\n currentStep={currentStep}\n onClick={() => setCurrentStep(2)}\n />\n );\n};\n\ndescribe('VarIndicator', () => {\n const onClickSpy = jest.fn();\n\n beforeEach(() => {\n onClickSpy.mockClear();\n });\n\n it('should render Concept (DRAFT)', () => {\n render(<VarIndicator label={LABELS} variant=\"DRAFT\" />);\n expect(screen.getByText('Concept')).toBeInTheDocument();\n });\n\n it('should render Concept (REJECTED)', () => {\n render(<VarIndicator label={LABELS} variant=\"REJECTED\" />);\n expect(screen.getByText('Concept')).toBeInTheDocument();\n });\n\n it('should render Concept (ACTIVE)', () => {\n render(<VarIndicator label={LABELS} variant=\"ACTIVE\" />);\n expect(screen.getByText('Actief')).toBeInTheDocument();\n });\n\n it('should render dots (SUBMITTED)', () => {\n render(<VarIndicator label={LABELS} variant=\"SUBMITTED\" maxSteps={3} currentStep={0} />);\n expect(screen.getByText('Verificatie')).toBeInTheDocument();\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(3);\n expect(screen.queryByTestId('CircleSmallFilled')).not.toBeInTheDocument();\n });\n\n it('should render filled dots when currentStep != 0 (SUBMITTED)', () => {\n render(<VarIndicator label={LABELS} variant=\"SUBMITTED\" maxSteps={3} currentStep={1} onClick={onClickSpy} />);\n const verificationButton = screen.getByText('Verificatie');\n expect(verificationButton).toBeInTheDocument();\n expect(screen.getAllByTestId('CircleSmallFilled')).toHaveLength(1);\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(2);\n });\n\n it('should render filled dots currentStep is updated (SUBMITTED)', async () => {\n render(<TestWrapper />);\n expect(screen.getAllByTestId('CircleSmallFilled')).toHaveLength(1);\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(2);\n const verificationButton = screen.getByText('Verificatie');\n await userEvent.click(verificationButton);\n await waitFor(() => {\n expect(screen.getAllByTestId('CircleSmallFilled')).toHaveLength(2);\n });\n await waitFor(() => {\n expect(screen.getAllByTestId('CircleSmall')).toHaveLength(1);\n });\n });\n});\n"],"names":["LABELS","name","jsx","TestWrapper","currentStep","setCurrentStep","useState","VarIndicator","onClickSpy","render","screen","verificationButton","userEvent","waitFor"],"mappings":";;;;;;AAQA,MAAMA,IAAS;AAAA,EACb,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AACV;AAEA,KAAK,KAAK,mBAAmB,OAAO;AAAA,EAClC,MAAM,CAAC,EAAE,MAAAC,EAAA,MAA6B,gBAAAC,EAAC,OAAA,EAAI,eAAaD,EAAA,CAAM;AAChE,EAAE;AAEF,MAAME,IAAc,MAAM;AACxB,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,CAAC;AAChD;AAAA;AAAA,IAEE,gBAAAJ;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,OAAOP;AAAA,QACP,SAAQ;AAAA,QACR,UAAU;AAAA,QACV,aAAAI;AAAA,QACA,SAAS,MAAMC,EAAe,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA;AAGrC;AAEA,SAAS,gBAAgB,MAAM;AAC7B,QAAMG,IAAa,KAAK,GAAA;AAExB,aAAW,MAAM;AACf,IAAAA,EAAW,UAAA;AAAA,EAAU,CACtB,GAED,GAAG,iCAAiC,MAAM;AACxC,IAAAC,oBAAQF,GAAA,EAAa,OAAOP,GAAQ,SAAQ,SAAQ,CAAE,GACtD,OAAOU,EAAO,UAAU,SAAS,CAAC,EAAE,kBAAA;AAAA,EAAkB,CACvD,GAED,GAAG,oCAAoC,MAAM;AAC3C,IAAAD,oBAAQF,GAAA,EAAa,OAAOP,GAAQ,SAAQ,YAAW,CAAE,GACzD,OAAOU,EAAO,UAAU,SAAS,CAAC,EAAE,kBAAA;AAAA,EAAkB,CACvD,GAED,GAAG,kCAAkC,MAAM;AACzC,IAAAD,oBAAQF,GAAA,EAAa,OAAOP,GAAQ,SAAQ,UAAS,CAAE,GACvD,OAAOU,EAAO,UAAU,QAAQ,CAAC,EAAE,kBAAA;AAAA,EAAkB,CACtD,GAED,GAAG,kCAAkC,MAAM;AACzC,IAAAD,EAAO,gBAAAP,EAACK,GAAA,EAAa,OAAOP,GAAQ,SAAQ,aAAY,UAAU,GAAG,aAAa,EAAA,CAAG,CAAE,GACvF,OAAOU,EAAO,UAAU,aAAa,CAAC,EAAE,kBAAA,GACxC,OAAOA,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC,GAC3D,OAAOA,EAAO,cAAc,mBAAmB,CAAC,EAAE,IAAI,kBAAA;AAAA,EAAkB,CACzE,GAED,GAAG,+DAA+D,MAAM;AACtE,IAAAD,EAAO,gBAAAP,EAACK,GAAA,EAAa,OAAOP,GAAQ,SAAQ,aAAY,UAAU,GAAG,aAAa,GAAG,SAASQ,EAAA,CAAY,CAAE;AAC5G,UAAMG,IAAqBD,EAAO,UAAU,aAAa;AACzD,WAAOC,CAAkB,EAAE,kBAAA,GAC3B,OAAOD,EAAO,eAAe,mBAAmB,CAAC,EAAE,aAAa,CAAC,GACjE,OAAOA,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC;AAAA,EAAA,CAC5D,GAED,GAAG,gEAAgE,YAAY;AAC7E,IAAAD,EAAO,gBAAAP,EAACC,KAAY,CAAE,GACtB,OAAOO,EAAO,eAAe,mBAAmB,CAAC,EAAE,aAAa,CAAC,GACjE,OAAOA,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC;AAC3D,UAAMC,IAAqBD,EAAO,UAAU,aAAa;AACzD,UAAME,EAAU,MAAMD,CAAkB,GACxC,MAAME,EAAQ,MAAM;AAClB,aAAOH,EAAO,eAAe,mBAAmB,CAAC,EAAE,aAAa,CAAC;AAAA,IAAA,CAClE,GACD,MAAMG,EAAQ,MAAM;AAClB,aAAOH,EAAO,eAAe,aAAa,CAAC,EAAE,aAAa,CAAC;AAAA,IAAA,CAC5D;AAAA,EAAA,CACF;AACH,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDebounce.js","sources":["../../../src/components/hooks/useDebounce.ts"],"sourcesContent":["import { useRef, useEffect } from 'react';\n\ntype Timer = ReturnType<typeof setTimeout>;\ntype SomeFunction = (...args: unknown[]) => void;\n\nconst DELAY = 200;\n\nexport function useDebounce<Func extends SomeFunction>(callBack: Func, delay = DELAY) {\n const timer = useRef<Timer>(undefined);\n\n useEffect(() => {\n return () => {\n if (!timer.current) return;\n clearTimeout(timer.current);\n };\n }, []);\n\n const debouncedFunction = ((...args) => {\n const newTimer = setTimeout(() => {\n callBack(...args);\n }, delay);\n clearTimeout(timer.current);\n timer.current = newTimer;\n }) as Func;\n\n return debouncedFunction;\n}\n"],"names":["DELAY","useDebounce","callBack","delay","timer","useRef","useEffect","args","newTimer"],"mappings":";AAKA,MAAMA,IAAQ;AAEE,SAAAC,EAAuCC,GAAgBC,IAAQH,GAAO;AAC9E,QAAAI,IAAQC,EAAc,MAAS;AAErC,SAAAC,EAAU,MACD,MAAM;AACP,IAACF,EAAM,WACX,aAAaA,EAAM,OAAO;AAAA,EAC5B,GACC,EAAE,GAEsB,IAAIG,MAAS;AAChC,UAAAC,IAAW,WAAW,MAAM;AAChC,MAAAN,EAAS,GAAGK,CAAI;AAAA,OACfJ,CAAK;AACR,iBAAaC,EAAM,OAAO,GAC1BA,EAAM,UAAUI;AAAA,EAClB;AAGF;"}
1
+ {"version":3,"file":"useDebounce.js","sources":["../../../src/components/hooks/useDebounce.ts"],"sourcesContent":["import { useRef, useEffect } from 'react';\n\ntype Timer = ReturnType<typeof setTimeout>;\ntype SomeFunction = (...args: unknown[]) => void;\n\nconst DELAY = 200;\n\nexport function useDebounce<Func extends SomeFunction>(callBack: Func, delay = DELAY) {\n const timer = useRef<Timer>(undefined);\n\n useEffect(() => {\n return () => {\n if (!timer.current) return;\n clearTimeout(timer.current);\n };\n }, []);\n\n const debouncedFunction = ((...args) => {\n const newTimer = setTimeout(() => {\n callBack(...args);\n }, delay);\n clearTimeout(timer.current);\n timer.current = newTimer;\n }) as Func;\n\n return debouncedFunction;\n}\n"],"names":["DELAY","useDebounce","callBack","delay","timer","useRef","useEffect","args","newTimer"],"mappings":";AAKA,MAAMA,IAAQ;AAEP,SAASC,EAAuCC,GAAgBC,IAAQH,GAAO;AACpF,QAAMI,IAAQC,EAAc,MAAS;AAErC,SAAAC,EAAU,MACD,MAAM;AACX,IAAKF,EAAM,WACX,aAAaA,EAAM,OAAO;AAAA,EAAA,GAE3B,EAAE,GAEsB,IAAIG,MAAS;AACtC,UAAMC,IAAW,WAAW,MAAM;AAChC,MAAAN,EAAS,GAAGK,CAAI;AAAA,IAAA,GACfJ,CAAK;AACR,iBAAaC,EAAM,OAAO,GAC1BA,EAAM,UAAUI;AAAA,EAAA;AAIpB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOnClickOutside.js","sources":["../../../src/components/hooks/useOnClickOutside.ts"],"sourcesContent":["import { type RefObject, useEffect } from 'react';\n\ntype Handler = (event: MouseEvent | TouchEvent | KeyboardEvent) => void;\n\nexport const useOnClickOutside = <T extends HTMLElement = HTMLElement>(ref: RefObject<T>, handler: Handler): void => {\n useEffect(() => {\n const listener = (\n event:\n | (MouseEvent & { target: HTMLElement | null })\n | (TouchEvent & { target: HTMLElement | null })\n | (KeyboardEvent & { target: HTMLElement | null })\n ): void => {\n if (!ref.current || ref.current.contains(event.target as Node)) {\n return;\n }\n handler(event as MouseEvent | TouchEvent | KeyboardEvent);\n };\n document.addEventListener('mousedown', listener as EventListener);\n document.addEventListener('touchstart', listener as EventListener);\n return () => {\n document.removeEventListener('mousedown', listener as EventListener);\n document.removeEventListener('touchstart', listener as EventListener);\n };\n }, [ref, handler]);\n};\n"],"names":["useOnClickOutside","ref","handler","useEffect","listener","event"],"mappings":";AAIa,MAAAA,IAAoB,CAAsCC,GAAmBC,MAA2B;AACnH,EAAAC,EAAU,MAAM;AACR,UAAAC,IAAW,CACfC,MAIS;AACL,MAAA,CAACJ,EAAI,WAAWA,EAAI,QAAQ,SAASI,EAAM,MAAc,KAG7DH,EAAQG,CAAgD;AAAA,IAC1D;AACS,oBAAA,iBAAiB,aAAaD,CAAyB,GACvD,SAAA,iBAAiB,cAAcA,CAAyB,GAC1D,MAAM;AACF,eAAA,oBAAoB,aAAaA,CAAyB,GAC1D,SAAA,oBAAoB,cAAcA,CAAyB;AAAA,IACtE;AAAA,EAAA,GACC,CAACH,GAAKC,CAAO,CAAC;AACnB;"}
1
+ {"version":3,"file":"useOnClickOutside.js","sources":["../../../src/components/hooks/useOnClickOutside.ts"],"sourcesContent":["import { type RefObject, useEffect } from 'react';\n\ntype Handler = (event: MouseEvent | TouchEvent | KeyboardEvent) => void;\n\nexport const useOnClickOutside = <T extends HTMLElement = HTMLElement>(ref: RefObject<T>, handler: Handler): void => {\n useEffect(() => {\n const listener = (\n event:\n | (MouseEvent & { target: HTMLElement | null })\n | (TouchEvent & { target: HTMLElement | null })\n | (KeyboardEvent & { target: HTMLElement | null })\n ): void => {\n if (!ref.current || ref.current.contains(event.target as Node)) {\n return;\n }\n handler(event as MouseEvent | TouchEvent | KeyboardEvent);\n };\n document.addEventListener('mousedown', listener as EventListener);\n document.addEventListener('touchstart', listener as EventListener);\n return () => {\n document.removeEventListener('mousedown', listener as EventListener);\n document.removeEventListener('touchstart', listener as EventListener);\n };\n }, [ref, handler]);\n};\n"],"names":["useOnClickOutside","ref","handler","useEffect","listener","event"],"mappings":";AAIO,MAAMA,IAAoB,CAAsCC,GAAmBC,MAA2B;AACnH,EAAAC,EAAU,MAAM;AACd,UAAMC,IAAW,CACfC,MAIS;AACT,MAAI,CAACJ,EAAI,WAAWA,EAAI,QAAQ,SAASI,EAAM,MAAc,KAG7DH,EAAQG,CAAgD;AAAA,IAAA;AAE1D,oBAAS,iBAAiB,aAAaD,CAAyB,GAChE,SAAS,iBAAiB,cAAcA,CAAyB,GAC1D,MAAM;AACX,eAAS,oBAAoB,aAAaA,CAAyB,GACnE,SAAS,oBAAoB,cAAcA,CAAyB;AAAA,IAAA;AAAA,EACtE,GACC,CAACH,GAAKC,CAAO,CAAC;AACnB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePositionedFloaters.js","sources":["../../../src/components/hooks/usePositionedFloaters.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useDebounce } from './useDebounce';\n\ninterface positionProps {\n style: {\n style: {\n inset: string;\n };\n };\n status: boolean;\n}\n\ninterface optionProps {\n mouseEvent: 'click' | 'hover';\n position: 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight';\n offset: number;\n maxFixedHeight?: `${number}${'px' | 'rem'}`;\n horizontalPosition?: 'left' | 'right';\n mobileBreakpoint?: `${number}${'px' | 'rem'}`;\n fullWidth: boolean;\n}\n\nconst BODY_PADDING = 10;\nconst MIN_HEIGHT = 45;\nconst MIN_WIDTH = 300;\nconst DEBOUNCE_DELAY = 0;\nconst MOBILE_BREAKPOINT = 768;\nconst HALF = 2;\n\nexport function usePositionedFloaters<T extends HTMLElement = HTMLElement>(\n positionedElement: T | null,\n referenceElement: T | null,\n options: optionProps\n): positionProps {\n const [status, setStatus] = useState(false);\n const defaultStyle = {\n inset: '0 auto auto 0',\n opacity: 0,\n maxHeight: '100%',\n maxWidth: '100%',\n minWidth: MIN_WIDTH,\n overflowX: 'hidden',\n overflowY: 'auto',\n margin: '0rem',\n };\n\n const [style, setStyle] = useState(defaultStyle);\n\n const sizeToPx = (size: `${number}${'px' | 'rem'}`): number => {\n const rootFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);\n return size.indexOf('rem') !== -1 ? parseFloat(size) * rootFontSize : parseFloat(size);\n };\n\n const setHeight = (refRect: DOMRect, pos: string): number => {\n if (!refRect) return 0;\n\n const _maxHeight =\n pos === 'bottom'\n ? window.innerHeight - refRect.bottom - options.offset - BODY_PADDING\n : refRect.top - options.offset - BODY_PADDING;\n\n return !options.maxFixedHeight || sizeToPx(options.maxFixedHeight) > _maxHeight\n ? _maxHeight\n : sizeToPx(options.maxFixedHeight);\n };\n\n const setWidth = (refRect: DOMRect, pos: string): number => {\n if (!refRect) return 0;\n\n const _availableWidth =\n pos === 'left' ? window.innerWidth - refRect.left - BODY_PADDING : refRect.right - BODY_PADDING;\n\n return _availableWidth <= MIN_WIDTH ? MIN_WIDTH : _availableWidth;\n };\n\n const setLeft = (refRect: DOMRect, posRect: DOMRect, isMobile: boolean) => {\n if (isMobile) {\n return `${refRect.left - Math.abs(posRect.width - refRect.width) / HALF}px`;\n } else {\n return `${refRect.left}px`;\n }\n };\n\n const calcPosition = (): typeof defaultStyle => {\n const positionedRect = (positionedElement as HTMLElement | null)?.getBoundingClientRect();\n const referenceRect = (referenceElement as HTMLElement | null)?.getBoundingClientRect();\n let yPos = 'bottom';\n let xPos = 'left';\n\n const isMobile = window.matchMedia(\n `(max-width: ${options.mobileBreakpoint ? sizeToPx(options.mobileBreakpoint) : MOBILE_BREAKPOINT}px)`\n ).matches;\n\n if (!referenceRect || !positionedRect) {\n return defaultStyle;\n }\n\n if (window.innerHeight - referenceRect.bottom - BODY_PADDING < MIN_HEIGHT) {\n yPos = 'top';\n }\n\n if (\n (window.innerWidth - referenceRect.left - BODY_PADDING < MIN_WIDTH || options.horizontalPosition === 'right') &&\n !isMobile\n ) {\n xPos = 'right';\n }\n\n return {\n inset: `${yPos === 'bottom' ? referenceRect[yPos] + 'px' : 'auto'}\n ${xPos === 'right' ? window.innerWidth - referenceRect[xPos] + 'px' : 'auto'}\n ${yPos === 'top' ? window.innerHeight - referenceRect[yPos] + 'px' : 'auto'}\n ${xPos === 'left' ? setLeft(referenceRect, positionedRect, isMobile) : 'auto'}`,\n maxHeight: `${setHeight(referenceRect, yPos)}px`,\n maxWidth: `${setWidth(referenceRect, xPos)}px`,\n minWidth: options.fullWidth ? referenceRect.width : MIN_WIDTH,\n overflowX: 'hidden',\n overflowY: 'auto',\n opacity: 1,\n margin: `${options.offset}px 0`,\n };\n };\n\n const handleMouseEvent = (): void => {\n setStyle({\n ...style,\n ...calcPosition(),\n });\n setStatus(true);\n };\n\n const updatePosition = (): void => {\n if (status) {\n setStyle({\n ...style,\n ...calcPosition(),\n });\n }\n };\n\n const handleClickOutside = (evt: Event): void => {\n if (\n !referenceElement ||\n (referenceElement as unknown as HTMLElement).contains(evt.target as Node) ||\n !positionedElement ||\n (positionedElement as unknown as HTMLElement).contains(evt.target as Node)\n ) {\n return;\n }\n };\n\n const debouncedUpdatePosition = useDebounce(updatePosition, DEBOUNCE_DELAY);\n\n useEffect(() => {\n if (referenceElement !== null) {\n if (options.mouseEvent === 'click') {\n // eslint-disable-next-line no-extra-semi\n (referenceElement as unknown as HTMLElement).addEventListener('click', handleMouseEvent);\n } else {\n // eslint-disable-next-line no-extra-semi\n (referenceElement as unknown as HTMLElement).addEventListener('mouseenter', handleMouseEvent);\n // eslint-disable-next-line no-extra-semi\n (referenceElement as unknown as HTMLElement).addEventListener('mouseleave', handleClickOutside);\n }\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('touchstart', handleClickOutside);\n window.addEventListener('resize', debouncedUpdatePosition);\n }\n\n return () => {\n if (referenceElement !== null) {\n if (options.mouseEvent === 'click') {\n // eslint-disable-next-line no-extra-semi\n (referenceElement as unknown as HTMLElement).removeEventListener('click', handleMouseEvent);\n } else {\n // eslint-disable-next-line no-extra-semi\n (referenceElement as unknown as HTMLElement).removeEventListener('mouseenter', handleMouseEvent);\n // eslint-disable-next-line no-extra-semi\n (referenceElement as unknown as HTMLElement).removeEventListener('mouseleave', handleClickOutside);\n }\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('touchstart', handleClickOutside);\n window.removeEventListener('resize', debouncedUpdatePosition);\n }\n };\n });\n\n return {\n style: {\n style,\n },\n status,\n };\n}\n"],"names":["BODY_PADDING","MIN_HEIGHT","MIN_WIDTH","DEBOUNCE_DELAY","MOBILE_BREAKPOINT","HALF","usePositionedFloaters","positionedElement","referenceElement","options","status","setStatus","useState","defaultStyle","style","setStyle","sizeToPx","size","rootFontSize","setHeight","refRect","pos","_maxHeight","setWidth","_availableWidth","setLeft","posRect","isMobile","calcPosition","positionedRect","referenceRect","yPos","xPos","handleMouseEvent","updatePosition","handleClickOutside","evt","debouncedUpdatePosition","useDebounce","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"usePositionedFloaters.js","sources":["../../../src/components/hooks/usePositionedFloaters.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useDebounce } from './useDebounce';\n\ninterface positionProps {\n style: {\n style: {\n inset: string;\n };\n };\n status: boolean;\n}\n\ninterface optionProps {\n mouseEvent: 'click' | 'hover';\n position: 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight';\n offset: number;\n maxFixedHeight?: `${number}${'px' | 'rem'}`;\n horizontalPosition?: 'left' | 'right';\n mobileBreakpoint?: `${number}${'px' | 'rem'}`;\n fullWidth: boolean;\n}\n\nconst BODY_PADDING = 10;\nconst MIN_HEIGHT = 45;\nconst MIN_WIDTH = 300;\nconst DEBOUNCE_DELAY = 0;\nconst MOBILE_BREAKPOINT = 768;\nconst HALF = 2;\n\nexport function usePositionedFloaters<T extends HTMLElement = HTMLElement>(\n positionedElement: T | null,\n referenceElement: T | null,\n options: optionProps\n): positionProps {\n const [status, setStatus] = useState(false);\n const defaultStyle = {\n inset: '0 auto auto 0',\n opacity: 0,\n maxHeight: '100%',\n maxWidth: '100%',\n minWidth: MIN_WIDTH,\n overflowX: 'hidden',\n overflowY: 'auto',\n margin: '0rem',\n };\n\n const [style, setStyle] = useState(defaultStyle);\n\n const sizeToPx = (size: `${number}${'px' | 'rem'}`): number => {\n const rootFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);\n return size.indexOf('rem') !== -1 ? parseFloat(size) * rootFontSize : parseFloat(size);\n };\n\n const setHeight = (refRect: DOMRect, pos: string): number => {\n if (!refRect) return 0;\n\n const _maxHeight =\n pos === 'bottom'\n ? window.innerHeight - refRect.bottom - options.offset - BODY_PADDING\n : refRect.top - options.offset - BODY_PADDING;\n\n return !options.maxFixedHeight || sizeToPx(options.maxFixedHeight) > _maxHeight\n ? _maxHeight\n : sizeToPx(options.maxFixedHeight);\n };\n\n const setWidth = (refRect: DOMRect, pos: string): number => {\n if (!refRect) return 0;\n\n const _availableWidth =\n pos === 'left' ? window.innerWidth - refRect.left - BODY_PADDING : refRect.right - BODY_PADDING;\n\n return _availableWidth <= MIN_WIDTH ? MIN_WIDTH : _availableWidth;\n };\n\n const setLeft = (refRect: DOMRect, posRect: DOMRect, isMobile: boolean) => {\n if (isMobile) {\n return `${refRect.left - Math.abs(posRect.width - refRect.width) / HALF}px`;\n } else {\n return `${refRect.left}px`;\n }\n };\n\n const calcPosition = (): typeof defaultStyle => {\n const positionedRect = (positionedElement as HTMLElement | null)?.getBoundingClientRect();\n const referenceRect = (referenceElement as HTMLElement | null)?.getBoundingClientRect();\n let yPos = 'bottom';\n let xPos = 'left';\n\n const isMobile = window.matchMedia(\n `(max-width: ${options.mobileBreakpoint ? sizeToPx(options.mobileBreakpoint) : MOBILE_BREAKPOINT}px)`\n ).matches;\n\n if (!referenceRect || !positionedRect) {\n return defaultStyle;\n }\n\n if (window.innerHeight - referenceRect.bottom - BODY_PADDING < MIN_HEIGHT) {\n yPos = 'top';\n }\n\n if (\n (window.innerWidth - referenceRect.left - BODY_PADDING < MIN_WIDTH || options.horizontalPosition === 'right') &&\n !isMobile\n ) {\n xPos = 'right';\n }\n\n return {\n inset: `${yPos === 'bottom' ? referenceRect[yPos] + 'px' : 'auto'}\n ${xPos === 'right' ? window.innerWidth - referenceRect[xPos] + 'px' : 'auto'}\n ${yPos === 'top' ? window.innerHeight - referenceRect[yPos] + 'px' : 'auto'}\n ${xPos === 'left' ? setLeft(referenceRect, positionedRect, isMobile) : 'auto'}`,\n maxHeight: `${setHeight(referenceRect, yPos)}px`,\n maxWidth: `${setWidth(referenceRect, xPos)}px`,\n minWidth: options.fullWidth ? referenceRect.width : MIN_WIDTH,\n overflowX: 'hidden',\n overflowY: 'auto',\n opacity: 1,\n margin: `${options.offset}px 0`,\n };\n };\n\n const handleMouseEvent = (): void => {\n setStyle({\n ...style,\n ...calcPosition(),\n });\n setStatus(true);\n };\n\n const updatePosition = (): void => {\n if (status) {\n setStyle({\n ...style,\n ...calcPosition(),\n });\n }\n };\n\n const handleClickOutside = (evt: Event): void => {\n if (\n !referenceElement ||\n (referenceElement as unknown as HTMLElement).contains(evt.target as Node) ||\n !positionedElement ||\n (positionedElement as unknown as HTMLElement).contains(evt.target as Node)\n ) {\n return;\n }\n };\n\n const debouncedUpdatePosition = useDebounce(updatePosition, DEBOUNCE_DELAY);\n\n useEffect(() => {\n if (referenceElement !== null) {\n if (options.mouseEvent === 'click') {\n // eslint-disable-next-line no-extra-semi\n (referenceElement as unknown as HTMLElement).addEventListener('click', handleMouseEvent);\n } else {\n // eslint-disable-next-line no-extra-semi\n (referenceElement as unknown as HTMLElement).addEventListener('mouseenter', handleMouseEvent);\n // eslint-disable-next-line no-extra-semi\n (referenceElement as unknown as HTMLElement).addEventListener('mouseleave', handleClickOutside);\n }\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('touchstart', handleClickOutside);\n window.addEventListener('resize', debouncedUpdatePosition);\n }\n\n return () => {\n if (referenceElement !== null) {\n if (options.mouseEvent === 'click') {\n // eslint-disable-next-line no-extra-semi\n (referenceElement as unknown as HTMLElement).removeEventListener('click', handleMouseEvent);\n } else {\n // eslint-disable-next-line no-extra-semi\n (referenceElement as unknown as HTMLElement).removeEventListener('mouseenter', handleMouseEvent);\n // eslint-disable-next-line no-extra-semi\n (referenceElement as unknown as HTMLElement).removeEventListener('mouseleave', handleClickOutside);\n }\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('touchstart', handleClickOutside);\n window.removeEventListener('resize', debouncedUpdatePosition);\n }\n };\n });\n\n return {\n style: {\n style,\n },\n status,\n };\n}\n"],"names":["BODY_PADDING","MIN_HEIGHT","MIN_WIDTH","DEBOUNCE_DELAY","MOBILE_BREAKPOINT","HALF","usePositionedFloaters","positionedElement","referenceElement","options","status","setStatus","useState","defaultStyle","style","setStyle","sizeToPx","size","rootFontSize","setHeight","refRect","pos","_maxHeight","setWidth","_availableWidth","setLeft","posRect","isMobile","calcPosition","positionedRect","referenceRect","yPos","xPos","handleMouseEvent","updatePosition","handleClickOutside","evt","debouncedUpdatePosition","useDebounce","useEffect"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useResponsive.js","sources":["../../../src/components/hooks/useResponsive.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst BREAKPOINTS = {\n xs: 375,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400,\n};\n\ntype BreakpointState = Record<keyof typeof BREAKPOINTS, boolean>;\ntype InitialBreakpoints = keyof typeof BREAKPOINTS | '_initial';\ntype Orientation = 'portrait' | 'landscape' | null;\ntype ResponsiveState = {\n greaterThan: BreakpointState;\n lessThan: BreakpointState;\n orientation: Orientation;\n mediaType: InitialBreakpoints;\n};\n\nexport const useResponsive = (): ResponsiveState => {\n const getMediaQuery = (size: number, greater: boolean): string => {\n return greater ? `(min-width: ${size}px)` : `(max-width: ${size - 1}px)`;\n };\n\n const getMatches = (query: string) => {\n if (typeof window !== 'undefined') {\n return window.matchMedia(query).matches;\n }\n return false;\n };\n\n const createResponsiveObject = () => {\n const initialBreakpointState: BreakpointState = {\n xs: false,\n sm: false,\n md: false,\n lg: false,\n xl: false,\n xxl: false,\n };\n\n const greaterThan = { ...initialBreakpointState };\n const lessThan = { ...initialBreakpointState };\n\n Object.entries(BREAKPOINTS).forEach(([key, size]) => {\n greaterThan[key as keyof typeof BREAKPOINTS] = getMatches(getMediaQuery(size, true));\n lessThan[key as keyof typeof BREAKPOINTS] = getMatches(getMediaQuery(size, false));\n });\n\n const orientation: Orientation = getMatches('(orientation: portrait)')\n ? 'portrait'\n : getMatches('(orientation: landscape)')\n ? 'landscape'\n : null;\n\n const mediaType = (Object.keys(greaterThan).findLast((key) => greaterThan[key as keyof typeof greaterThan]) ||\n '_initial') as InitialBreakpoints;\n\n return { greaterThan, lessThan, orientation, mediaType };\n };\n\n const [responsive, setResponsive] = useState(createResponsiveObject());\n\n useEffect(() => {\n const handleChange = () => setResponsive(createResponsiveObject());\n\n window.addEventListener('resize', handleChange);\n\n return () => window.removeEventListener('resize', handleChange);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return responsive;\n};\n"],"names":["BREAKPOINTS","useResponsive","getMediaQuery","size","greater","getMatches","query","createResponsiveObject","initialBreakpointState","greaterThan","lessThan","key","orientation","mediaType","responsive","setResponsive","useState","useEffect","handleChange"],"mappings":";AAEA,MAAMA,IAAc;AAAA,EAClB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AACP,GAYaC,IAAgB,MAAuB;AAC5C,QAAAC,IAAgB,CAACC,GAAcC,MAC5BA,IAAU,eAAeD,CAAI,QAAQ,eAAeA,IAAO,CAAC,OAG/DE,IAAa,CAACC,MACd,OAAO,SAAW,MACb,OAAO,WAAWA,CAAK,EAAE,UAE3B,IAGHC,IAAyB,MAAM;AACnC,UAAMC,IAA0C;AAAA,MAC9C,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,IACP,GAEMC,IAAc,EAAE,GAAGD,EAAuB,GAC1CE,IAAW,EAAE,GAAGF,EAAuB;AAEtC,WAAA,QAAQR,CAAW,EAAE,QAAQ,CAAC,CAACW,GAAKR,CAAI,MAAM;AACnD,MAAAM,EAAYE,CAA+B,IAAIN,EAAWH,EAAcC,GAAM,EAAI,CAAC,GACnFO,EAASC,CAA+B,IAAIN,EAAWH,EAAcC,GAAM,EAAK,CAAC;AAAA,IAAA,CAClF;AAEK,UAAAS,IAA2BP,EAAW,yBAAyB,IACjE,aACAA,EAAW,0BAA0B,IACnC,cACA,MAEAQ,IAAa,OAAO,KAAKJ,CAAW,EAAE,SAAS,CAACE,MAAQF,EAAYE,CAA+B,CAAC,KACxG;AAEF,WAAO,EAAE,aAAAF,GAAa,UAAAC,GAAU,aAAAE,GAAa,WAAAC,EAAU;AAAA,EACzD,GAEM,CAACC,GAAYC,CAAa,IAAIC,EAAST,GAAwB;AAErE,SAAAU,EAAU,MAAM;AACd,UAAMC,IAAe,MAAMH,EAAcR,GAAwB;AAE1D,kBAAA,iBAAiB,UAAUW,CAAY,GAEvC,MAAM,OAAO,oBAAoB,UAAUA,CAAY;AAAA,EAEhE,GAAG,EAAE,GAEEJ;AACT;"}
1
+ {"version":3,"file":"useResponsive.js","sources":["../../../src/components/hooks/useResponsive.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst BREAKPOINTS = {\n xs: 375,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400,\n};\n\ntype BreakpointState = Record<keyof typeof BREAKPOINTS, boolean>;\ntype InitialBreakpoints = keyof typeof BREAKPOINTS | '_initial';\ntype Orientation = 'portrait' | 'landscape' | null;\ntype ResponsiveState = {\n greaterThan: BreakpointState;\n lessThan: BreakpointState;\n orientation: Orientation;\n mediaType: InitialBreakpoints;\n};\n\nexport const useResponsive = (): ResponsiveState => {\n const getMediaQuery = (size: number, greater: boolean): string => {\n return greater ? `(min-width: ${size}px)` : `(max-width: ${size - 1}px)`;\n };\n\n const getMatches = (query: string) => {\n if (typeof window !== 'undefined') {\n return window.matchMedia(query).matches;\n }\n return false;\n };\n\n const createResponsiveObject = () => {\n const initialBreakpointState: BreakpointState = {\n xs: false,\n sm: false,\n md: false,\n lg: false,\n xl: false,\n xxl: false,\n };\n\n const greaterThan = { ...initialBreakpointState };\n const lessThan = { ...initialBreakpointState };\n\n Object.entries(BREAKPOINTS).forEach(([key, size]) => {\n greaterThan[key as keyof typeof BREAKPOINTS] = getMatches(getMediaQuery(size, true));\n lessThan[key as keyof typeof BREAKPOINTS] = getMatches(getMediaQuery(size, false));\n });\n\n const orientation: Orientation = getMatches('(orientation: portrait)')\n ? 'portrait'\n : getMatches('(orientation: landscape)')\n ? 'landscape'\n : null;\n\n const mediaType = (Object.keys(greaterThan).findLast((key) => greaterThan[key as keyof typeof greaterThan]) ||\n '_initial') as InitialBreakpoints;\n\n return { greaterThan, lessThan, orientation, mediaType };\n };\n\n const [responsive, setResponsive] = useState(createResponsiveObject());\n\n useEffect(() => {\n const handleChange = () => setResponsive(createResponsiveObject());\n\n window.addEventListener('resize', handleChange);\n\n return () => window.removeEventListener('resize', handleChange);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return responsive;\n};\n"],"names":["BREAKPOINTS","useResponsive","getMediaQuery","size","greater","getMatches","query","createResponsiveObject","initialBreakpointState","greaterThan","lessThan","key","orientation","mediaType","responsive","setResponsive","useState","useEffect","handleChange"],"mappings":";AAEA,MAAMA,IAAc;AAAA,EAClB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AACP,GAYaC,IAAgB,MAAuB;AAClD,QAAMC,IAAgB,CAACC,GAAcC,MAC5BA,IAAU,eAAeD,CAAI,QAAQ,eAAeA,IAAO,CAAC,OAG/DE,IAAa,CAACC,MACd,OAAO,SAAW,MACb,OAAO,WAAWA,CAAK,EAAE,UAE3B,IAGHC,IAAyB,MAAM;AACnC,UAAMC,IAA0C;AAAA,MAC9C,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,IAAA,GAGDC,IAAc,EAAE,GAAGD,EAAA,GACnBE,IAAW,EAAE,GAAGF,EAAA;AAEtB,WAAO,QAAQR,CAAW,EAAE,QAAQ,CAAC,CAACW,GAAKR,CAAI,MAAM;AACnD,MAAAM,EAAYE,CAA+B,IAAIN,EAAWH,EAAcC,GAAM,EAAI,CAAC,GACnFO,EAASC,CAA+B,IAAIN,EAAWH,EAAcC,GAAM,EAAK,CAAC;AAAA,IAAA,CAClF;AAED,UAAMS,IAA2BP,EAAW,yBAAyB,IACjE,aACAA,EAAW,0BAA0B,IACnC,cACA,MAEAQ,IAAa,OAAO,KAAKJ,CAAW,EAAE,SAAS,CAACE,MAAQF,EAAYE,CAA+B,CAAC,KACxG;AAEF,WAAO,EAAE,aAAAF,GAAa,UAAAC,GAAU,aAAAE,GAAa,WAAAC,EAAA;AAAA,EAAU,GAGnD,CAACC,GAAYC,CAAa,IAAIC,EAAST,GAAwB;AAErE,SAAAU,EAAU,MAAM;AACd,UAAMC,IAAe,MAAMH,EAAcR,GAAwB;AAEjE,kBAAO,iBAAiB,UAAUW,CAAY,GAEvC,MAAM,OAAO,oBAAoB,UAAUA,CAAY;AAAA,EAAA,GAE7D,EAAE,GAEEJ;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers-DZIm3MiJ.js","sources":["../node_modules/@lexical/react/LexicalAutoLinkPlugin.prod.mjs","../src/components/RteEditor/Plugins/LinkPlugin/helpers.ts"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{AutoLinkNode as t,$isAutoLinkNode as e,$isLinkNode as n,TOGGLE_LINK_COMMAND as r,$createAutoLinkNode as l}from\"@lexical/link\";import{useLexicalComposerContext as i}from\"@lexical/react/LexicalComposerContext\";import{mergeRegister as o}from\"@lexical/utils\";import{TextNode as s,$getSelection as u,$isRangeSelection as g,COMMAND_PRIORITY_LOW as c,$isTextNode as a,$isElementNode as f,$isLineBreakNode as x,$createTextNode as h,$isNodeSelection as p}from\"lexical\";import{useEffect as d}from\"react\";function m(t,e=(t=>t)){return n=>{const r=t.exec(n);return null===r?null:{index:r.index,length:r[0].length,text:r[0],url:e(r[0])}}}function T(t,e){for(let n=0;n<e.length;n++){const r=e[n](t);if(r)return r}return null}const C=/[.,;\\s]/;function S(t){return C.test(t)}function b(t){return S(t[t.length-1])}function U(t){return S(t[0])}function v(t){let e=t.getPreviousSibling();return f(e)&&(e=e.getLastDescendant()),null===e||x(e)||a(e)&&b(e.getTextContent())}function L(t){let e=t.getNextSibling();return f(e)&&(e=e.getFirstDescendant()),null===e||x(e)||a(e)&&U(e.getTextContent())}function R(t,e,n,r){if(!(t>0?S(n[t-1]):v(r[0])))return!1;return e<n.length?S(n[e]):L(r[r.length-1])}function k(t,e,n){const r=[],l=[],i=[];let o=0,s=0;const u=[...t];for(;u.length>0;){const t=u[0],g=t.getTextContent().length,c=s;s+g<=e?(r.push(t),o+=g):c>=n?i.push(t):l.push(t),s+=g,u.shift()}return[o,r,l,i]}function D(t,e,n,r){const i=l(r.url,r.attributes);if(1===t.length){let l,o=t[0];0===e?[l,o]=o.splitText(n):[,l,o]=o.splitText(e,n);const s=h(r.text);return s.setFormat(l.getFormat()),s.setDetail(l.getDetail()),s.setStyle(l.getStyle()),i.append(s),l.replace(i),o}if(t.length>1){const r=t[0];let l,o=r.getTextContent().length;0===e?l=r:[,l]=r.splitText(e);const s=[];let c;for(let e=1;e<t.length;e++){const r=t[e],l=r.getTextContent().length,i=o;if(i<n)if(o+l<=n)s.push(r);else{const[t,e]=r.splitText(n-i);s.push(t),c=e}o+=l}const f=u(),x=f?f.getNodes().find(a):void 0,d=h(l.getTextContent());return d.setFormat(l.getFormat()),d.setDetail(l.getDetail()),d.setStyle(l.getStyle()),i.append(d,...s),x&&x===l&&(g(f)?d.select(f.anchor.offset,f.focus.offset):p(f)&&d.select(0,d.getTextContent().length)),l.replace(i),c}}function N(t,e,n){const r=t.getChildren(),l=r.length;for(let e=0;e<l;e++){const l=r[e];if(!a(l)||!l.isSimpleText())return I(t),void n(null,t.getURL())}const i=t.getTextContent(),o=T(i,e);if(null===o||o.text!==i)return I(t),void n(null,t.getURL());if(!v(t)||!L(t))return I(t),void n(null,t.getURL());const s=t.getURL();if(s!==o.url&&(t.setURL(o.url),n(o.url,s)),o.attributes){const e=t.getRel();e!==o.attributes.rel&&(t.setRel(o.attributes.rel||null),n(o.attributes.rel||null,e));const r=t.getTarget();r!==o.attributes.target&&(t.setTarget(o.attributes.target||null),n(o.attributes.target||null,r))}}function I(t){const e=t.getChildren();for(let n=e.length-1;n>=0;n--)t.insertAfter(e[n]);return t.remove(),e.map((t=>t.getLatest()))}function P(l,i,f){d((()=>{l.hasNodes([t])||function(t,...e){const n=new URL(\"https://lexical.dev/docs/error\"),r=new URLSearchParams;r.append(\"code\",t);for(const t of e)r.append(\"v\",t);throw n.search=r.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(77);const x=(t,e)=>{f&&f(t,e)};return o(l.registerNodeTransform(s,(t=>{const r=t.getParentOrThrow(),l=t.getPreviousSibling();if(e(r)&&!r.getIsUnlinked())N(r,i,x);else if(!n(r)){if(t.isSimpleText()&&(U(t.getTextContent())||!e(l))){const e=function(t){const e=[t];let n=t.getNextSibling();for(;null!==n&&a(n)&&n.isSimpleText()&&(e.push(n),!/[\\s]/.test(n.getTextContent()));)n=n.getNextSibling();return e}(t);!function(t,e,n){let r=[...t];const l=r.map((t=>t.getTextContent())).join(\"\");let i,o=l,s=0;for(;(i=T(o,e))&&null!==i;){const t=i.index,e=t+i.length;if(R(s+t,s+e,l,r)){const[l,,o,u]=k(r,s+t,s+e),g=D(o,s+t-l,s+e-l,i);r=g?[g,...u]:u,n(i.url,null),s=0}else s+=e;o=o.substring(e)}}(e,i,x)}!function(t,n,r){const l=t.getPreviousSibling(),i=t.getNextSibling(),o=t.getTextContent();var s;!e(l)||l.getIsUnlinked()||U(o)&&(s=o,!(l.isEmailURI()?/^\\.[a-zA-Z]{2,}/.test(s):/^\\.[a-zA-Z0-9]{1,}/.test(s)))||(l.append(t),N(l,n,r),r(null,l.getURL())),!e(i)||i.getIsUnlinked()||b(o)||(I(i),N(i,n,r),r(null,i.getURL()))}(t,i,x)}})),l.registerCommand(r,(t=>{const n=u();if(null!==t||!g(n))return!1;return n.extract().forEach((t=>{const n=t.getParent();if(e(n))return n.setIsUnlinked(!n.getIsUnlinked()),n.markDirty(),!0})),!1}),c))}),[l,i,f])}function w({matchers:t,onChange:e}){const[n]=i();return P(n,t,e),null}export{w as AutoLinkPlugin,m as createLinkMatcherWithRegExp};\n","import { createLinkMatcherWithRegExp } from '@lexical/react/LexicalAutoLinkPlugin';\n\nconst PROTOCOL_REGEX = /^(http|https):\\/\\//;\n\nconst URL_REGEX =\n /(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,})/;\n\nconst EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/;\n\nconst URL_REGEX_OR_BLANK =\n /^(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,})?$/;\n\nexport const validateUrl = (url: string): boolean => {\n return url === 'https://' || URL_REGEX.test(url);\n};\n\nexport const validateUrlWithProtocol = (url: string): boolean => {\n return url === 'https://' || URL_REGEX_OR_BLANK.test(url);\n};\n\nexport const MATCHERS = [\n createLinkMatcherWithRegExp(URL_REGEX, (text: string): string => {\n return !PROTOCOL_REGEX.test(text) ? `//${text}` : text;\n }),\n createLinkMatcherWithRegExp(EMAIL_REGEX, (text) => {\n return `mailto:${text}`;\n }),\n];\n\nexport const ensureHttps = (url: string) => {\n if (!/^https?:\\/\\//i.test(url)) {\n return `https://${url}`;\n }\n return url;\n};\n"],"names":["m","t","r","T","C","S","b","U","v","f","x","a","L","R","k","l","i","o","s","u","g","D","h","c","e","d","p","N","I","P","n","w","PROTOCOL_REGEX","URL_REGEX","EMAIL_REGEX","URL_REGEX_OR_BLANK","validateUrl","url","validateUrlWithProtocol","MATCHERS","createLinkMatcherWithRegExp","text","ensureHttps"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"helpers-DZIm3MiJ.js","sources":["../node_modules/@lexical/react/LexicalAutoLinkPlugin.prod.mjs","../src/components/RteEditor/Plugins/LinkPlugin/helpers.ts"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{AutoLinkNode as t,$isAutoLinkNode as e,$isLinkNode as n,TOGGLE_LINK_COMMAND as r,$createAutoLinkNode as l}from\"@lexical/link\";import{useLexicalComposerContext as i}from\"@lexical/react/LexicalComposerContext\";import{mergeRegister as o}from\"@lexical/utils\";import{TextNode as s,$getSelection as u,$isRangeSelection as g,COMMAND_PRIORITY_LOW as c,$isTextNode as a,$isElementNode as f,$isLineBreakNode as x,$createTextNode as h,$isNodeSelection as p}from\"lexical\";import{useEffect as d}from\"react\";function m(t,e=(t=>t)){return n=>{const r=t.exec(n);return null===r?null:{index:r.index,length:r[0].length,text:r[0],url:e(r[0])}}}function T(t,e){for(let n=0;n<e.length;n++){const r=e[n](t);if(r)return r}return null}const C=/[.,;\\s]/;function S(t){return C.test(t)}function b(t){return S(t[t.length-1])}function U(t){return S(t[0])}function v(t){let e=t.getPreviousSibling();return f(e)&&(e=e.getLastDescendant()),null===e||x(e)||a(e)&&b(e.getTextContent())}function L(t){let e=t.getNextSibling();return f(e)&&(e=e.getFirstDescendant()),null===e||x(e)||a(e)&&U(e.getTextContent())}function R(t,e,n,r){if(!(t>0?S(n[t-1]):v(r[0])))return!1;return e<n.length?S(n[e]):L(r[r.length-1])}function k(t,e,n){const r=[],l=[],i=[];let o=0,s=0;const u=[...t];for(;u.length>0;){const t=u[0],g=t.getTextContent().length,c=s;s+g<=e?(r.push(t),o+=g):c>=n?i.push(t):l.push(t),s+=g,u.shift()}return[o,r,l,i]}function D(t,e,n,r){const i=l(r.url,r.attributes);if(1===t.length){let l,o=t[0];0===e?[l,o]=o.splitText(n):[,l,o]=o.splitText(e,n);const s=h(r.text);return s.setFormat(l.getFormat()),s.setDetail(l.getDetail()),s.setStyle(l.getStyle()),i.append(s),l.replace(i),o}if(t.length>1){const r=t[0];let l,o=r.getTextContent().length;0===e?l=r:[,l]=r.splitText(e);const s=[];let c;for(let e=1;e<t.length;e++){const r=t[e],l=r.getTextContent().length,i=o;if(i<n)if(o+l<=n)s.push(r);else{const[t,e]=r.splitText(n-i);s.push(t),c=e}o+=l}const f=u(),x=f?f.getNodes().find(a):void 0,d=h(l.getTextContent());return d.setFormat(l.getFormat()),d.setDetail(l.getDetail()),d.setStyle(l.getStyle()),i.append(d,...s),x&&x===l&&(g(f)?d.select(f.anchor.offset,f.focus.offset):p(f)&&d.select(0,d.getTextContent().length)),l.replace(i),c}}function N(t,e,n){const r=t.getChildren(),l=r.length;for(let e=0;e<l;e++){const l=r[e];if(!a(l)||!l.isSimpleText())return I(t),void n(null,t.getURL())}const i=t.getTextContent(),o=T(i,e);if(null===o||o.text!==i)return I(t),void n(null,t.getURL());if(!v(t)||!L(t))return I(t),void n(null,t.getURL());const s=t.getURL();if(s!==o.url&&(t.setURL(o.url),n(o.url,s)),o.attributes){const e=t.getRel();e!==o.attributes.rel&&(t.setRel(o.attributes.rel||null),n(o.attributes.rel||null,e));const r=t.getTarget();r!==o.attributes.target&&(t.setTarget(o.attributes.target||null),n(o.attributes.target||null,r))}}function I(t){const e=t.getChildren();for(let n=e.length-1;n>=0;n--)t.insertAfter(e[n]);return t.remove(),e.map((t=>t.getLatest()))}function P(l,i,f){d((()=>{l.hasNodes([t])||function(t,...e){const n=new URL(\"https://lexical.dev/docs/error\"),r=new URLSearchParams;r.append(\"code\",t);for(const t of e)r.append(\"v\",t);throw n.search=r.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(77);const x=(t,e)=>{f&&f(t,e)};return o(l.registerNodeTransform(s,(t=>{const r=t.getParentOrThrow(),l=t.getPreviousSibling();if(e(r)&&!r.getIsUnlinked())N(r,i,x);else if(!n(r)){if(t.isSimpleText()&&(U(t.getTextContent())||!e(l))){const e=function(t){const e=[t];let n=t.getNextSibling();for(;null!==n&&a(n)&&n.isSimpleText()&&(e.push(n),!/[\\s]/.test(n.getTextContent()));)n=n.getNextSibling();return e}(t);!function(t,e,n){let r=[...t];const l=r.map((t=>t.getTextContent())).join(\"\");let i,o=l,s=0;for(;(i=T(o,e))&&null!==i;){const t=i.index,e=t+i.length;if(R(s+t,s+e,l,r)){const[l,,o,u]=k(r,s+t,s+e),g=D(o,s+t-l,s+e-l,i);r=g?[g,...u]:u,n(i.url,null),s=0}else s+=e;o=o.substring(e)}}(e,i,x)}!function(t,n,r){const l=t.getPreviousSibling(),i=t.getNextSibling(),o=t.getTextContent();var s;!e(l)||l.getIsUnlinked()||U(o)&&(s=o,!(l.isEmailURI()?/^\\.[a-zA-Z]{2,}/.test(s):/^\\.[a-zA-Z0-9]{1,}/.test(s)))||(l.append(t),N(l,n,r),r(null,l.getURL())),!e(i)||i.getIsUnlinked()||b(o)||(I(i),N(i,n,r),r(null,i.getURL()))}(t,i,x)}})),l.registerCommand(r,(t=>{const n=u();if(null!==t||!g(n))return!1;return n.extract().forEach((t=>{const n=t.getParent();if(e(n))return n.setIsUnlinked(!n.getIsUnlinked()),n.markDirty(),!0})),!1}),c))}),[l,i,f])}function w({matchers:t,onChange:e}){const[n]=i();return P(n,t,e),null}export{w as AutoLinkPlugin,m as createLinkMatcherWithRegExp};\n","import { createLinkMatcherWithRegExp } from '@lexical/react/LexicalAutoLinkPlugin';\n\nconst PROTOCOL_REGEX = /^(http|https):\\/\\//;\n\nconst URL_REGEX =\n /(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,})/;\n\nconst EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/;\n\nconst URL_REGEX_OR_BLANK =\n /^(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,})?$/;\n\nexport const validateUrl = (url: string): boolean => {\n return url === 'https://' || URL_REGEX.test(url);\n};\n\nexport const validateUrlWithProtocol = (url: string): boolean => {\n return url === 'https://' || URL_REGEX_OR_BLANK.test(url);\n};\n\nexport const MATCHERS = [\n createLinkMatcherWithRegExp(URL_REGEX, (text: string): string => {\n return !PROTOCOL_REGEX.test(text) ? `//${text}` : text;\n }),\n createLinkMatcherWithRegExp(EMAIL_REGEX, (text) => {\n return `mailto:${text}`;\n }),\n];\n\nexport const ensureHttps = (url: string) => {\n if (!/^https?:\\/\\//i.test(url)) {\n return `https://${url}`;\n }\n return url;\n};\n"],"names":["m","t","r","T","C","S","b","U","v","f","x","a","L","R","k","l","i","o","s","u","g","D","h","c","e","d","p","N","I","P","n","w","PROTOCOL_REGEX","URL_REGEX","EMAIL_REGEX","URL_REGEX_OR_BLANK","validateUrl","url","validateUrlWithProtocol","MATCHERS","createLinkMatcherWithRegExp","text","ensureHttps"],"mappings":"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","x_google_ignoreList":[0]}