@uva-glass/component-library 3.55.5 → 3.55.7

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 (317) hide show
  1. package/dist/Accordion-DvblEUVu.js.map +1 -1
  2. package/dist/AccordionCard-BXy-plB7.js.map +1 -1
  3. package/dist/ActionList-O9w1hqNg.js.map +1 -1
  4. package/dist/AddCatalogueLinkForm-rph4K9P0.js.map +1 -1
  5. package/dist/CheckboxButtonBar-5UMIFMKH.js.map +1 -1
  6. package/dist/ClipboardButton-geHjMl2J.js.map +1 -1
  7. package/dist/ControlsButton-B1XRpMUM.js.map +1 -1
  8. package/dist/CopyableText-DkyhZ6wk.js.map +1 -1
  9. package/dist/Drawer-e7UFHVg9.js.map +1 -1
  10. package/dist/EmptyStateDataDisplay-D0QiI8nE.js.map +1 -1
  11. package/dist/ExpandableInfoPanel-CnBVVNlJ.js.map +1 -1
  12. package/dist/FeedbackBar-ByKp32HE.js.map +1 -1
  13. package/dist/FieldHint-fxnEOsVZ.js.map +1 -1
  14. package/dist/Input-Bn-arMaC.js.map +1 -1
  15. package/dist/InputField-BWAy19w9.js.map +1 -1
  16. package/dist/{Lexical.prod-sbwgNRjw.js → Lexical.prod-CqPLSi0R.js} +1194 -1096
  17. package/dist/Lexical.prod-CqPLSi0R.js.map +1 -0
  18. package/dist/LexicalClipboard.prod-BVw_sFpo.js +651 -0
  19. package/dist/LexicalClipboard.prod-BVw_sFpo.js.map +1 -0
  20. package/dist/LexicalComposerContext.prod-Ca-YN_fj.js.map +1 -1
  21. package/dist/{LexicalExtension.prod-jTSDl1mh.js → LexicalExtension.prod-CUQTgbur.js} +306 -289
  22. package/dist/LexicalExtension.prod-CUQTgbur.js.map +1 -0
  23. package/dist/{LexicalLink.prod-BKLNLyu8.js → LexicalLink.prod-DMhcqD9x.js} +209 -208
  24. package/dist/LexicalLink.prod-DMhcqD9x.js.map +1 -0
  25. package/dist/{LexicalList.prod-DEtc4lSr.js → LexicalList.prod-eYlcb5Ao.js} +208 -168
  26. package/dist/LexicalList.prod-eYlcb5Ao.js.map +1 -0
  27. package/dist/{LexicalTable.prod-CpIPDW6z.js → LexicalTable.prod-DlOxUQou.js} +787 -781
  28. package/dist/LexicalTable.prod-DlOxUQou.js.map +1 -0
  29. package/dist/LexicalUtils.prod-BqcriFWV.js +343 -0
  30. package/dist/LexicalUtils.prod-BqcriFWV.js.map +1 -0
  31. package/dist/{LinkContextMenu-CTkNPiIW.js → LinkContextMenu-ePn1iZ_z.js} +2 -2
  32. package/dist/{LinkContextMenu-CTkNPiIW.js.map → LinkContextMenu-ePn1iZ_z.js.map} +1 -1
  33. package/dist/MenuLink-Cm1yZO_5.js.map +1 -1
  34. package/dist/ModalDialog-N50NGnd4.js.map +1 -1
  35. package/dist/MultiSelectBox-Cuh_o-A1.js.map +1 -1
  36. package/dist/MultiSelectItem-BF5xRjz5.js.map +1 -1
  37. package/dist/Notification-CIhsHuF0.js.map +1 -1
  38. package/dist/OverlayStepBar-CjaoYdsh.js.map +1 -1
  39. package/dist/PageOverlay-S4xsqJha.js.map +1 -1
  40. package/dist/{PasteHandlerPlugin-YpQruA-w.js → PasteHandlerPlugin-BNp8ST0q.js} +5 -5
  41. package/dist/{PasteHandlerPlugin-YpQruA-w.js.map → PasteHandlerPlugin-BNp8ST0q.js.map} +1 -1
  42. package/dist/Periods-BYETtB6R.js.map +1 -1
  43. package/dist/ProgrammeCard-76gG7ksx.js.map +1 -1
  44. package/dist/RadioGroup-JeTjVp5B.js.map +1 -1
  45. package/dist/Slider-BlLyrET9.js.map +1 -1
  46. package/dist/SortableProvider-8HYiBXJS.js.map +1 -1
  47. package/dist/Spinner-BpElTDIu.js.map +1 -1
  48. package/dist/StatusPill-DM7n3I4W.js.map +1 -1
  49. package/dist/TableCellContextMenu-D0IMQr3E.js.map +1 -1
  50. package/dist/{TableCellResizerPlugin-Ceof6StD.js → TableCellResizerPlugin-Bc5y-Qbx.js} +37 -37
  51. package/dist/{TableCellResizerPlugin-Ceof6StD.js.map → TableCellResizerPlugin-Bc5y-Qbx.js.map} +1 -1
  52. package/dist/TextArea-CuASC9bX.js.map +1 -1
  53. package/dist/ToggleSwitch-C7z7JVtx.js.map +1 -1
  54. package/dist/Tooltip-D27p9kh4.js.map +1 -1
  55. package/dist/VarIndicator-C-GueOZD.js.map +1 -1
  56. package/dist/assets/{src/css/fonts.css → fonts.css} +4 -4
  57. package/dist/{chunk-DeC0fbbY.js → chunk-3e0lkp8x.js} +1 -1
  58. package/dist/{chunk-SZQXB3JV-KiB8lSa9.js → chunk-SZQXB3JV-D6GR5B4F.js} +2 -2
  59. package/dist/chunk-SZQXB3JV-D6GR5B4F.js.map +1 -0
  60. package/dist/{client-CHQ7u_QI.js → client-b7M3CmlC.js} +10 -10
  61. package/dist/{client-CHQ7u_QI.js.map → client-b7M3CmlC.js.map} +1 -1
  62. package/dist/clsx-BD2qMUU1.js.map +1 -1
  63. package/dist/components/Accordion/Accordion.stories.js.map +1 -1
  64. package/dist/components/Accordion/Accordion.test.js +3 -3
  65. package/dist/components/Accordion/Accordion.test.js.map +1 -1
  66. package/dist/components/AccordionCard/AccordionCard.stories.js.map +1 -1
  67. package/dist/components/AccordionCard/AccordionCard.test.js +3 -3
  68. package/dist/components/AccordionCard/AccordionCard.test.js.map +1 -1
  69. package/dist/components/ActionList/ActionList.stories.js.map +1 -1
  70. package/dist/components/ActionList/ActionList.test.js +3 -3
  71. package/dist/components/ActionList/ActionList.test.js.map +1 -1
  72. package/dist/components/AppStatusBar/AppStatusBar.stories.js.map +1 -1
  73. package/dist/components/AppStatusBar/AppStatusBar.test.js +2 -2
  74. package/dist/components/AppStatusBar/AppStatusBar.test.js.map +1 -1
  75. package/dist/components/Attention/Attention.stories.js.map +1 -1
  76. package/dist/components/Attention/Attention.test.js +2 -2
  77. package/dist/components/Attention/Attention.test.js.map +1 -1
  78. package/dist/components/Backdrop/Backdrop.stories.js.map +1 -1
  79. package/dist/components/Backdrop/Backdrop.test.js +2 -2
  80. package/dist/components/Backdrop/Backdrop.test.js.map +1 -1
  81. package/dist/components/ButtonGroup/ButtonGroup.stories.js.map +1 -1
  82. package/dist/components/Buttons/Button.stories.js +1 -1
  83. package/dist/components/Buttons/Button.stories.js.map +1 -1
  84. package/dist/components/Buttons/Button.test.js +2 -2
  85. package/dist/components/Buttons/Button.test.js.map +1 -1
  86. package/dist/components/Buttons/LinkButton.stories.js +1 -1
  87. package/dist/components/Buttons/LinkButton.stories.js.map +1 -1
  88. package/dist/components/Buttons/LinkButton.test.js +2 -2
  89. package/dist/components/Buttons/LinkButton.test.js.map +1 -1
  90. package/dist/components/Buttons/MenuButton.js.map +1 -1
  91. package/dist/components/Buttons/MenuButton.stories.js +1 -1
  92. package/dist/components/Buttons/MenuButton.stories.js.map +1 -1
  93. package/dist/components/Buttons/MenuButton.test.js +2 -2
  94. package/dist/components/Buttons/MenuButton.test.js.map +1 -1
  95. package/dist/components/Card/Card.stories.js.map +1 -1
  96. package/dist/components/Card/Card.test.js +2 -2
  97. package/dist/components/Card/Card.test.js.map +1 -1
  98. package/dist/components/Checkbox/Checkbox.stories.js +1 -1
  99. package/dist/components/Checkbox/Checkbox.stories.js.map +1 -1
  100. package/dist/components/Checkbox/Checkbox.test.js +3 -3
  101. package/dist/components/Checkbox/Checkbox.test.js.map +1 -1
  102. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js +1 -1
  103. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js.map +1 -1
  104. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js +2 -2
  105. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js.map +1 -1
  106. package/dist/components/CheckboxTree/CheckboxTree.js +1 -1
  107. package/dist/components/CheckboxTree/CheckboxTree.stories.js +3 -3
  108. package/dist/components/CheckboxTree/CheckboxTree.stories.js.map +1 -1
  109. package/dist/components/CheckboxTree/index.js +1 -1
  110. package/dist/components/Chip/Chip.stories.js +1 -1
  111. package/dist/components/Chip/Chip.stories.js.map +1 -1
  112. package/dist/components/ControlsButton/ControlsButton.stories.js +1 -1
  113. package/dist/components/ControlsButton/ControlsButton.stories.js.map +1 -1
  114. package/dist/components/Drawer/Drawer.stories.js +1 -1
  115. package/dist/components/Drawer/Drawer.stories.js.map +1 -1
  116. package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.js.map +1 -1
  117. package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.stories.js.map +1 -1
  118. package/dist/components/FeedbackBar/FeedbackBar.stories.js.map +1 -1
  119. package/dist/components/FeedbackBar/FeedbackBar.test.js +2 -2
  120. package/dist/components/FeedbackBar/FeedbackBar.test.js.map +1 -1
  121. package/dist/components/FeedbackBox/FeedbackBox.stories.js.map +1 -1
  122. package/dist/components/FieldHint/FieldHint.stories.js.map +1 -1
  123. package/dist/components/Fieldset/Fieldset.stories.js.map +1 -1
  124. package/dist/components/FormField/FormField.stories.js.map +1 -1
  125. package/dist/components/FormInput/FormInput.js +1 -1
  126. package/dist/components/FormInput/FormInput.stories.js +2 -2
  127. package/dist/components/FormInput/FormInput.stories.js.map +1 -1
  128. package/dist/components/FormInput/index.js +1 -1
  129. package/dist/components/GridRow/GridRow.stories.js.map +1 -1
  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.js.map +1 -1
  133. package/dist/components/IconButton/IconButton.stories.js +1 -1
  134. package/dist/components/IconButton/IconButton.stories.js.map +1 -1
  135. package/dist/components/InfoBanner/InfoBanner.stories.js.map +1 -1
  136. package/dist/components/InfoMessage/InfoMessage.stories.js.map +1 -1
  137. package/dist/components/Input/Input.stories.js.map +1 -1
  138. package/dist/components/InputField/InputField.stories.js +1 -1
  139. package/dist/components/InputField/InputField.stories.js.map +1 -1
  140. package/dist/components/Label/Label.stories.js.map +1 -1
  141. package/dist/components/Label/Label.test.js +2 -2
  142. package/dist/components/Label/Label.test.js.map +1 -1
  143. package/dist/components/MenuLink/MenuLink.stories.js.map +1 -1
  144. package/dist/components/MetaDataBar/MetaDataBar.stories.js.map +1 -1
  145. package/dist/components/MetaDataBar/MetaDataBar.test.js +1 -1
  146. package/dist/components/MetaDataBar/MetaDataBar.test.js.map +1 -1
  147. package/dist/components/MetaDataList/MetaDataList.stories.js.map +1 -1
  148. package/dist/components/ModalDialog/ModalDialog.stories.js +1 -1
  149. package/dist/components/ModalDialog/ModalDialog.stories.js.map +1 -1
  150. package/dist/components/MultiSelect/MultiSelect.js +1 -1
  151. package/dist/components/MultiSelect/MultiSelect.stories.js +2 -2
  152. package/dist/components/MultiSelect/MultiSelect.stories.js.map +1 -1
  153. package/dist/components/MultiSelect/components/MultiSelectHeader.js +1 -1
  154. package/dist/components/MultiSelect/index.js +1 -1
  155. package/dist/components/MultiSelectBox/MultiSelectBox.stories.js +1 -1
  156. package/dist/components/MultiSelectBox/MultiSelectBox.stories.js.map +1 -1
  157. package/dist/components/MultiSelectBox/MultiSelectBox.test.js +2 -2
  158. package/dist/components/MultiSelectBox/MultiSelectBox.test.js.map +1 -1
  159. package/dist/components/Notification/Notification.stories.js +1 -1
  160. package/dist/components/Notification/Notification.stories.js.map +1 -1
  161. package/dist/components/Notification/Notification.test.js +2 -2
  162. package/dist/components/Notification/Notification.test.js.map +1 -1
  163. package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js +1 -1
  164. package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js.map +1 -1
  165. package/dist/components/OverlayStepBar/OverlayStepBar.stories.js.map +1 -1
  166. package/dist/components/PageOverlay/PageOverlay.stories.js +2 -2
  167. package/dist/components/PageOverlay/PageOverlay.stories.js.map +1 -1
  168. package/dist/components/PeriodSelector/PeriodSelector.js +1 -1
  169. package/dist/components/PeriodSelector/PeriodSelector.stories.js +2 -2
  170. package/dist/components/PeriodSelector/PeriodSelector.stories.js.map +1 -1
  171. package/dist/components/PeriodSelector/index.js +1 -1
  172. package/dist/components/ProgrammeCard/ProgrammeCard.stories.js.map +1 -1
  173. package/dist/components/RadioButton/RadioButton.stories.js.map +1 -1
  174. package/dist/components/RadioGroup/RadioGroup.stories.js +1 -1
  175. package/dist/components/RadioGroup/RadioGroup.stories.js.map +1 -1
  176. package/dist/components/RadioGroup/Radiogroup.test.js +2 -2
  177. package/dist/components/RadioGroup/Radiogroup.test.js.map +1 -1
  178. package/dist/components/RadioTabSelector/RadioTabSelector.js +1 -1
  179. package/dist/components/RadioTabSelector/RadioTabSelector.stories.js +2 -2
  180. package/dist/components/RadioTabSelector/RadioTabSelector.stories.js.map +1 -1
  181. package/dist/components/RadioTabSelector/index.js +1 -1
  182. package/dist/components/Repeater/Repeater.stories.js.map +1 -1
  183. package/dist/components/RteEditor/EditorHeader/EditorHeader.js +1 -1
  184. package/dist/components/RteEditor/EditorHeader/index.js +1 -1
  185. package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +4 -4
  186. package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js.map +1 -1
  187. package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js +25 -25
  188. package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js.map +1 -1
  189. package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +1 -1
  190. package/dist/components/RteEditor/Plugins/HistoryPlugin/index.js +1 -1
  191. package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js +1 -1
  192. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js +1 -1
  193. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +1 -1
  194. package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js +1 -1
  195. package/dist/components/RteEditor/Plugins/LinkPlugin/index.js +1 -1
  196. package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +15 -15
  197. package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js.map +1 -1
  198. package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js +1 -1
  199. package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/index.js +1 -1
  200. package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.js +1 -1
  201. package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/index.js +1 -1
  202. package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +1 -1
  203. package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +1 -1
  204. package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js +23 -23
  205. package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js.map +1 -1
  206. package/dist/components/RteEditor/Plugins/TablePlugin/index.js +1 -1
  207. package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +1 -1
  208. package/dist/components/RteEditor/Plugins/ToolbarPlugin/index.js +1 -1
  209. package/dist/components/RteEditor/Plugins/index.js +3 -3
  210. package/dist/components/RteEditor/Providers/LanguageProvider.js.map +1 -1
  211. package/dist/components/RteEditor/RteEditor.js +1 -1
  212. package/dist/components/RteEditor/RteEditor.stories.js +1 -1
  213. package/dist/components/RteEditor/RteEditor.stories.js.map +1 -1
  214. package/dist/components/RteEditor/helpers.js +6 -6
  215. package/dist/components/RteEditor/helpers.js.map +1 -1
  216. package/dist/components/RteEditor/hooks/useFlyout.js.map +1 -1
  217. package/dist/components/RteEditor/hooks/useTranslation.js.map +1 -1
  218. package/dist/components/RteEditor/index.js +1 -1
  219. package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js +12 -12
  220. package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js.map +1 -1
  221. package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js +19 -19
  222. package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js.map +1 -1
  223. package/dist/components/SearchField/SearchField.js.map +1 -1
  224. package/dist/components/SearchField/SearcheField.stories.js.map +1 -1
  225. package/dist/components/SearchField/components/ResultsOption.js.map +1 -1
  226. package/dist/components/SectionNotification/SectionNotification.stories.js.map +1 -1
  227. package/dist/components/SelectListbox/SelectListBox.stories.js +1 -1
  228. package/dist/components/SelectListbox/SelectListBox.stories.js.map +1 -1
  229. package/dist/components/SelectListbox/SelectListbox.js.map +1 -1
  230. package/dist/components/SelectListbox/SelectProvider.js.map +1 -1
  231. package/dist/components/SelectListbox/components/SelectButton.js.map +1 -1
  232. package/dist/components/SelectListbox/components/SelectContainer.js.map +1 -1
  233. package/dist/components/SelectListbox/components/SelectOption.js.map +1 -1
  234. package/dist/components/SelectListbox/components/SelectOptionBox.js.map +1 -1
  235. package/dist/components/Slider/Slider.stories.js.map +1 -1
  236. package/dist/components/Sortable/Sortable.js.map +1 -1
  237. package/dist/components/Sortable/Sortable.stories.js +1 -1
  238. package/dist/components/Sortable/Sortable.stories.js.map +1 -1
  239. package/dist/components/Sortable/components/SortableHandle.js.map +1 -1
  240. package/dist/components/Sortable/components/SortableItem.js.map +1 -1
  241. package/dist/components/Sortable/sortableReducer.js.map +1 -1
  242. package/dist/components/Spinner/Spinner.stories.js.map +1 -1
  243. package/dist/components/StatusBadge/StatusBadge.stories.js.map +1 -1
  244. package/dist/components/StatusBadge/StatusBadge.test.js +2 -2
  245. package/dist/components/StatusBadge/StatusBadge.test.js.map +1 -1
  246. package/dist/components/StatusPill/StatusPill.stories.js.map +1 -1
  247. package/dist/components/TextArea/TextArea.stories.js +1 -1
  248. package/dist/components/TextArea/TextArea.stories.js.map +1 -1
  249. package/dist/components/TextArea/TextArea.test.js +3 -3
  250. package/dist/components/TextArea/TextArea.test.js.map +1 -1
  251. package/dist/components/ToggleSwitch/ToggleSwitch.stories.js +1 -1
  252. package/dist/components/ToggleSwitch/ToggleSwitch.stories.js.map +1 -1
  253. package/dist/components/Tooltip/Tooltip.stories.js.map +1 -1
  254. package/dist/components/VarIndicator/VarIndicator.stories.js +1 -1
  255. package/dist/components/VarIndicator/VarIndicator.stories.js.map +1 -1
  256. package/dist/components/VarIndicator/VarIndicator.test.js +3 -3
  257. package/dist/components/VarIndicator/VarIndicator.test.js.map +1 -1
  258. package/dist/components/WeekSelector/WeekSelector.js.map +1 -1
  259. package/dist/components/WeekSelector/WeekSelector.stories.js.map +1 -1
  260. package/dist/components/WeekSelector/components/WeekSelectorOption.js.map +1 -1
  261. package/dist/components/hooks/useDebounce.js.map +1 -1
  262. package/dist/components/hooks/useOnClickOutside.js.map +1 -1
  263. package/dist/components/hooks/usePositionedFloaters.js.map +1 -1
  264. package/dist/components/hooks/useResponsive.js.map +1 -1
  265. package/dist/components/index.js +1 -1
  266. package/dist/{components-DAwjkky5.js → components-BzxAULjf.js} +549 -549
  267. package/dist/components-BzxAULjf.js.map +1 -0
  268. package/dist/{dist-BIkFjHck.js → dist-V_v3kC0L.js} +3 -3
  269. package/dist/dist-V_v3kC0L.js.map +1 -0
  270. package/dist/{esm-ipAmzhQq.js → esm-BoujHjK5.js} +3 -3
  271. package/dist/{esm-ipAmzhQq.js.map → esm-BoujHjK5.js.map} +1 -1
  272. package/dist/{helpers-MNJmfDe_.js → helpers-B1VK8xTF.js} +2 -2
  273. package/dist/{helpers-MNJmfDe_.js.map → helpers-B1VK8xTF.js.map} +1 -1
  274. package/dist/index.js +1 -1
  275. package/dist/{lib-6BbFZdI7.js → lib-BvOQt8El.js} +2 -2
  276. package/dist/{lib-6BbFZdI7.js.map → lib-BvOQt8El.js.map} +1 -1
  277. package/dist/{react-18-Dwpebadr.js → react-18-DxAWL8_m.js} +3 -3
  278. package/dist/{react-18-Dwpebadr.js.map → react-18-DxAWL8_m.js.map} +1 -1
  279. package/dist/{react.esm-R7eBXTUI.js → react.esm-CweFe1CK.js} +5 -5
  280. package/dist/react.esm-CweFe1CK.js.map +1 -0
  281. package/dist/setupTests.js +4 -4
  282. package/dist/setupTests.js.map +1 -1
  283. package/dist/storybook__react.d.js +5 -5
  284. package/dist/storybook__react.d.js.map +1 -1
  285. package/dist/{test-Cr_l59hN.js → test-Pa9Lwbsq.js} +2 -2
  286. package/dist/test-Pa9Lwbsq.js.map +1 -0
  287. package/dist/{test-utils-BSs0eZfL.js → test-utils-Cmn06m_x.js} +2 -2
  288. package/dist/{test-utils-BSs0eZfL.js.map → test-utils-Cmn06m_x.js.map} +1 -1
  289. package/package.json +21 -20
  290. package/dist/Lexical.prod-sbwgNRjw.js.map +0 -1
  291. package/dist/LexicalClipboard.prod-DdImsyd1.js +0 -248
  292. package/dist/LexicalClipboard.prod-DdImsyd1.js.map +0 -1
  293. package/dist/LexicalExtension.prod-jTSDl1mh.js.map +0 -1
  294. package/dist/LexicalLink.prod-BKLNLyu8.js.map +0 -1
  295. package/dist/LexicalList.prod-DEtc4lSr.js.map +0 -1
  296. package/dist/LexicalTable.prod-CpIPDW6z.js.map +0 -1
  297. package/dist/LexicalUtils.prod-DjjGkphN.js +0 -360
  298. package/dist/LexicalUtils.prod-DjjGkphN.js.map +0 -1
  299. package/dist/chunk-SZQXB3JV-KiB8lSa9.js.map +0 -1
  300. package/dist/components-DAwjkky5.js.map +0 -1
  301. package/dist/dist-BIkFjHck.js.map +0 -1
  302. package/dist/react.esm-R7eBXTUI.js.map +0 -1
  303. package/dist/test-Cr_l59hN.js.map +0 -1
  304. /package/dist/assets/favicon/{src/assets/favicon/android-chrome-192x192.png → android-chrome-192x192.png} +0 -0
  305. /package/dist/assets/favicon/{src/assets/favicon/android-chrome-512x512.png → android-chrome-512x512.png} +0 -0
  306. /package/dist/assets/favicon/{src/assets/favicon/apple-touch-icon.png → apple-touch-icon.png} +0 -0
  307. /package/dist/assets/favicon/{src/assets/favicon/favicon-16x16.png → favicon-16x16.png} +0 -0
  308. /package/dist/assets/favicon/{src/assets/favicon/favicon-32x32.png → favicon-32x32.png} +0 -0
  309. /package/dist/assets/favicon/{src/assets/favicon/favicon.ico → favicon.ico} +0 -0
  310. /package/dist/assets/favicon/{src/assets/favicon/favicon.svg → favicon.svg} +0 -0
  311. /package/dist/assets/favicon/{src/assets/favicon/site.webmanifest → site.webmanifest} +0 -0
  312. /package/dist/assets/fonts/{src/assets/fonts/SourceSans3-Regular.otf.woff → SourceSans3-Regular.otf.woff} +0 -0
  313. /package/dist/assets/fonts/{src/assets/fonts/SourceSans3-Regular.otf.woff2 → SourceSans3-Regular.otf.woff2} +0 -0
  314. /package/dist/assets/fonts/{src/assets/fonts/SourceSans3-Semibold.otf.woff → SourceSans3-Semibold.otf.woff} +0 -0
  315. /package/dist/assets/fonts/{src/assets/fonts/SourceSans3-Semibold.otf.woff2 → SourceSans3-Semibold.otf.woff2} +0 -0
  316. /package/dist/assets/{src/css/globals.css → globals.css} +0 -0
  317. /package/dist/assets/{src/css/variables.css → variables.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"WeekSelectorOption.js","names":[],"sources":["../../../../src/components/WeekSelector/components/WeekSelectorOption.tsx"],"sourcesContent":["import { clsx } from 'clsx';\r\n\r\nimport type { KeyboardEvent } from 'react';\r\nimport type { PeriodWeek } from 'components/WeekSelector/WeekSelector';\r\n\r\nimport styles from 'components/WeekSelector/WeekSelector.module.css';\r\nexport interface WeekSelectorOptionProps {\r\n periodIndex: string;\r\n weeks: Record<string, PeriodWeek[]>;\r\n selectedOption: number | null;\r\n disabled?: boolean;\r\n setSelectedOption: (weekNumber: number) => void;\r\n onSelectWeek: (weeknumber: number) => void;\r\n setIsOpen: (isOpen: boolean) => void;\r\n}\r\n\r\nexport const WeekSelectorOption = ({\r\n periodIndex,\r\n weeks,\r\n selectedOption,\r\n disabled,\r\n setSelectedOption,\r\n onSelectWeek,\r\n setIsOpen,\r\n}: WeekSelectorOptionProps) => {\r\n const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\r\n const current = event.currentTarget;\r\n\r\n switch (event.key) {\r\n case 'ArrowRight': {\r\n event.preventDefault();\r\n let nextElement = current.nextElementSibling as HTMLButtonElement | null;\r\n while (nextElement && nextElement.disabled) {\r\n nextElement = nextElement.nextElementSibling as HTMLButtonElement | null;\r\n }\r\n nextElement?.focus();\r\n break;\r\n }\r\n case 'ArrowLeft': {\r\n event.preventDefault();\r\n let prevElement = current.previousElementSibling as HTMLButtonElement | null;\r\n while (prevElement && prevElement.disabled) {\r\n prevElement = prevElement.previousElementSibling as HTMLButtonElement | null;\r\n }\r\n prevElement?.focus();\r\n break;\r\n }\r\n case 'ArrowDown': {\r\n event.preventDefault();\r\n const currentIndex = Array.from(current.parentElement?.children ?? []).indexOf(current);\r\n let nextRow = current.parentElement?.nextElementSibling as HTMLElement | null;\r\n while (nextRow) {\r\n const candidate = nextRow.children[currentIndex] as HTMLButtonElement | undefined;\r\n if (candidate && !candidate.disabled) {\r\n candidate.focus();\r\n break;\r\n }\r\n nextRow = nextRow.nextElementSibling as HTMLElement | null;\r\n }\r\n break;\r\n }\r\n case 'ArrowUp': {\r\n event.preventDefault();\r\n const currentIndex = Array.from(current.parentElement?.children ?? []).indexOf(current);\r\n let prevRow = current.parentElement?.previousElementSibling as HTMLElement | null;\r\n while (prevRow) {\r\n const candidate = prevRow.children[currentIndex] as HTMLButtonElement | undefined;\r\n if (candidate && !candidate.disabled) {\r\n candidate.focus();\r\n break;\r\n }\r\n prevRow = prevRow.previousElementSibling as HTMLElement | null;\r\n }\r\n break;\r\n }\r\n case 'Tab':\r\n setIsOpen(false);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n return (\r\n <div key={periodIndex} className={styles['week-selector-option-week-row']}>\r\n {weeks[periodIndex].map((week) => (\r\n <button\r\n key={week.weekNumber}\r\n type=\"button\"\r\n className={clsx(styles['week-selector-option-week'], [\r\n selectedOption === week.calendarWeekNumber && styles['week-selector-option-week--selected'],\r\n ])}\r\n disabled={week.isBlocked || disabled}\r\n onKeyDown={handleKeyDown}\r\n onClick={() => {\r\n if (!week.isBlocked) {\r\n setSelectedOption(week.calendarWeekNumber);\r\n onSelectWeek(week.calendarWeekNumber);\r\n setIsOpen(false);\r\n }\r\n }}\r\n autoFocus={selectedOption === week.calendarWeekNumber}\r\n >\r\n {week.calendarWeekNumber}\r\n </button>\r\n ))}\r\n </div>\r\n );\r\n};\r\n"],"mappings":";;;;AAgBA,IAAa,KAAsB,EACjC,gBACA,UACA,mBACA,aACA,sBACA,iBACA,mBAC6B;CAC7B,IAAM,KAAiB,MAA4C;EACjE,IAAM,IAAU,EAAM;AAEtB,UAAQ,EAAM,KAAd;GACE,KAAK,cAAc;AACjB,MAAM,gBAAgB;IACtB,IAAI,IAAc,EAAQ;AAC1B,WAAO,KAAe,EAAY,UAChC,KAAc,EAAY;AAE5B,OAAa,OAAO;AACpB;;GAEF,KAAK,aAAa;AAChB,MAAM,gBAAgB;IACtB,IAAI,IAAc,EAAQ;AAC1B,WAAO,KAAe,EAAY,UAChC,KAAc,EAAY;AAE5B,OAAa,OAAO;AACpB;;GAEF,KAAK,aAAa;AAChB,MAAM,gBAAgB;IACtB,IAAM,IAAe,MAAM,KAAK,EAAQ,eAAe,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAQ,EACnF,IAAU,EAAQ,eAAe;AACrC,WAAO,IAAS;KACd,IAAM,IAAY,EAAQ,SAAS;AACnC,SAAI,KAAa,CAAC,EAAU,UAAU;AACpC,QAAU,OAAO;AACjB;;AAEF,SAAU,EAAQ;;AAEpB;;GAEF,KAAK,WAAW;AACd,MAAM,gBAAgB;IACtB,IAAM,IAAe,MAAM,KAAK,EAAQ,eAAe,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAQ,EACnF,IAAU,EAAQ,eAAe;AACrC,WAAO,IAAS;KACd,IAAM,IAAY,EAAQ,SAAS;AACnC,SAAI,KAAa,CAAC,EAAU,UAAU;AACpC,QAAU,OAAO;AACjB;;AAEF,SAAU,EAAQ;;AAEpB;;GAEF,KAAK;AACH,MAAU,GAAM;AAChB;GACF,QACE;;;AAGN,QACE,kBAAC,OAAD;EAAuB,WAAW,EAAO;YACtC,EAAM,GAAa,KAAK,MACvB,kBAAC,UAAD;GAEE,MAAK;GACL,WAAW,EAAK,EAAO,8BAA8B,CACnD,MAAmB,EAAK,sBAAsB,EAAO,uCACtD,CAAC;GACF,UAAU,EAAK,aAAa;GAC5B,WAAW;GACX,eAAe;AACb,IAAK,EAAK,cACR,EAAkB,EAAK,mBAAmB,EAC1C,EAAa,EAAK,mBAAmB,EACrC,EAAU,GAAM;;GAGpB,WAAW,MAAmB,EAAK;aAElC,EAAK;GACC,EAjBF,EAAK,WAiBH,CACT;EACE,EAtBI,EAsBJ"}
1
+ {"version":3,"file":"WeekSelectorOption.js","names":[],"sources":["../../../../src/components/WeekSelector/components/WeekSelectorOption.tsx"],"sourcesContent":["import { clsx } from 'clsx';\r\n\r\nimport type { KeyboardEvent } from 'react';\r\nimport type { PeriodWeek } from 'components/WeekSelector/WeekSelector';\r\n\r\nimport styles from 'components/WeekSelector/WeekSelector.module.css';\r\nexport interface WeekSelectorOptionProps {\r\n periodIndex: string;\r\n weeks: Record<string, PeriodWeek[]>;\r\n selectedOption: number | null;\r\n disabled?: boolean;\r\n setSelectedOption: (weekNumber: number) => void;\r\n onSelectWeek: (weeknumber: number) => void;\r\n setIsOpen: (isOpen: boolean) => void;\r\n}\r\n\r\nexport const WeekSelectorOption = ({\r\n periodIndex,\r\n weeks,\r\n selectedOption,\r\n disabled,\r\n setSelectedOption,\r\n onSelectWeek,\r\n setIsOpen,\r\n}: WeekSelectorOptionProps) => {\r\n const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\r\n const current = event.currentTarget;\r\n\r\n switch (event.key) {\r\n case 'ArrowRight': {\r\n event.preventDefault();\r\n let nextElement = current.nextElementSibling as HTMLButtonElement | null;\r\n while (nextElement && nextElement.disabled) {\r\n nextElement = nextElement.nextElementSibling as HTMLButtonElement | null;\r\n }\r\n nextElement?.focus();\r\n break;\r\n }\r\n case 'ArrowLeft': {\r\n event.preventDefault();\r\n let prevElement = current.previousElementSibling as HTMLButtonElement | null;\r\n while (prevElement && prevElement.disabled) {\r\n prevElement = prevElement.previousElementSibling as HTMLButtonElement | null;\r\n }\r\n prevElement?.focus();\r\n break;\r\n }\r\n case 'ArrowDown': {\r\n event.preventDefault();\r\n const currentIndex = Array.from(current.parentElement?.children ?? []).indexOf(current);\r\n let nextRow = current.parentElement?.nextElementSibling as HTMLElement | null;\r\n while (nextRow) {\r\n const candidate = nextRow.children[currentIndex] as HTMLButtonElement | undefined;\r\n if (candidate && !candidate.disabled) {\r\n candidate.focus();\r\n break;\r\n }\r\n nextRow = nextRow.nextElementSibling as HTMLElement | null;\r\n }\r\n break;\r\n }\r\n case 'ArrowUp': {\r\n event.preventDefault();\r\n const currentIndex = Array.from(current.parentElement?.children ?? []).indexOf(current);\r\n let prevRow = current.parentElement?.previousElementSibling as HTMLElement | null;\r\n while (prevRow) {\r\n const candidate = prevRow.children[currentIndex] as HTMLButtonElement | undefined;\r\n if (candidate && !candidate.disabled) {\r\n candidate.focus();\r\n break;\r\n }\r\n prevRow = prevRow.previousElementSibling as HTMLElement | null;\r\n }\r\n break;\r\n }\r\n case 'Tab':\r\n setIsOpen(false);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n return (\r\n <div key={periodIndex} className={styles['week-selector-option-week-row']}>\r\n {weeks[periodIndex].map((week) => (\r\n <button\r\n key={week.weekNumber}\r\n type=\"button\"\r\n className={clsx(styles['week-selector-option-week'], [\r\n selectedOption === week.calendarWeekNumber && styles['week-selector-option-week--selected'],\r\n ])}\r\n disabled={week.isBlocked || disabled}\r\n onKeyDown={handleKeyDown}\r\n onClick={() => {\r\n if (!week.isBlocked) {\r\n setSelectedOption(week.calendarWeekNumber);\r\n onSelectWeek(week.calendarWeekNumber);\r\n setIsOpen(false);\r\n }\r\n }}\r\n autoFocus={selectedOption === week.calendarWeekNumber}\r\n >\r\n {week.calendarWeekNumber}\r\n </button>\r\n ))}\r\n </div>\r\n );\r\n};\r\n"],"mappings":";;;;AAgBA,IAAa,KAAsB,EACjC,gBACA,UACA,mBACA,aACA,sBACA,iBACA,mBAC6B;CAC7B,IAAM,KAAiB,MAA4C;EACjE,IAAM,IAAU,EAAM;EAEtB,QAAQ,EAAM,KAAd;GACE,KAAK,cAAc;IACjB,EAAM,gBAAgB;IACtB,IAAI,IAAc,EAAQ;IAC1B,OAAO,KAAe,EAAY,WAChC,IAAc,EAAY;IAE5B,GAAa,OAAO;IACpB;;GAEF,KAAK,aAAa;IAChB,EAAM,gBAAgB;IACtB,IAAI,IAAc,EAAQ;IAC1B,OAAO,KAAe,EAAY,WAChC,IAAc,EAAY;IAE5B,GAAa,OAAO;IACpB;;GAEF,KAAK,aAAa;IAChB,EAAM,gBAAgB;IACtB,IAAM,IAAe,MAAM,KAAK,EAAQ,eAAe,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAQ,EACnF,IAAU,EAAQ,eAAe;IACrC,OAAO,IAAS;KACd,IAAM,IAAY,EAAQ,SAAS;KACnC,IAAI,KAAa,CAAC,EAAU,UAAU;MACpC,EAAU,OAAO;MACjB;;KAEF,IAAU,EAAQ;;IAEpB;;GAEF,KAAK,WAAW;IACd,EAAM,gBAAgB;IACtB,IAAM,IAAe,MAAM,KAAK,EAAQ,eAAe,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAQ,EACnF,IAAU,EAAQ,eAAe;IACrC,OAAO,IAAS;KACd,IAAM,IAAY,EAAQ,SAAS;KACnC,IAAI,KAAa,CAAC,EAAU,UAAU;MACpC,EAAU,OAAO;MACjB;;KAEF,IAAU,EAAQ;;IAEpB;;GAEF,KAAK;IACH,EAAU,GAAM;IAChB;GACF,SACE;;;CAGN,OACE,kBAAC,OAAD;EAAuB,WAAW,EAAO;YACtC,EAAM,GAAa,KAAK,MACvB,kBAAC,UAAD;GAEE,MAAK;GACL,WAAW,EAAK,EAAO,8BAA8B,CACnD,MAAmB,EAAK,sBAAsB,EAAO,uCACtD,CAAC;GACF,UAAU,EAAK,aAAa;GAC5B,WAAW;GACX,eAAe;IACb,AAAK,EAAK,cACR,EAAkB,EAAK,mBAAmB,EAC1C,EAAa,EAAK,mBAAmB,EACrC,EAAU,GAAM;;GAGpB,WAAW,MAAmB,EAAK;aAElC,EAAK;GACC,EAjBF,EAAK,WAiBH,CACT;EACE,EAtBI,EAsBJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDebounce.js","names":[],"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"],"mappings":";;AAKA,IAAM,IAAQ;AAEd,SAAgB,EAAuC,GAAgB,IAAQ,GAAO;CACpF,IAAM,IAAQ,EAAc,KAAA,EAAU;AAiBtC,QAfA,cACe;AACN,IAAM,WACX,aAAa,EAAM,QAAQ;IAE5B,EAAE,CAAC,IAEsB,GAAG,MAAS;EACtC,IAAM,IAAW,iBAAiB;AAChC,KAAS,GAAG,EAAK;KAChB,EAAM;AAET,EADA,aAAa,EAAM,QAAQ,EAC3B,EAAM,UAAU"}
1
+ {"version":3,"file":"useDebounce.js","names":[],"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"],"mappings":";;AAKA,IAAM,IAAQ;AAEd,SAAgB,EAAuC,GAAgB,IAAQ,GAAO;CACpF,IAAM,IAAQ,EAAc,KAAA,EAAU;CAiBtC,OAfA,cACe;EACN,EAAM,WACX,aAAa,EAAM,QAAQ;IAE5B,EAAE,CAAC,IAEsB,GAAG,MAAS;EACtC,IAAM,IAAW,iBAAiB;GAChC,EAAS,GAAG,EAAK;KAChB,EAAM;EAET,AADA,aAAa,EAAM,QAAQ,EAC3B,EAAM,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOnClickOutside.js","names":[],"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"],"mappings":";;AAIA,IAAa,KAA0D,GAAmB,MAA2B;AACnH,SAAgB;EACd,IAAM,KACJ,MAIS;AACL,IAAC,EAAI,WAAW,EAAI,QAAQ,SAAS,EAAM,OAAe,IAG9D,EAAQ,EAAiD;;AAI3D,SAFA,SAAS,iBAAiB,aAAa,EAA0B,EACjE,SAAS,iBAAiB,cAAc,EAA0B,QACrD;AAEX,GADA,SAAS,oBAAoB,aAAa,EAA0B,EACpE,SAAS,oBAAoB,cAAc,EAA0B;;IAEtE,CAAC,GAAK,EAAQ,CAAC"}
1
+ {"version":3,"file":"useOnClickOutside.js","names":[],"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"],"mappings":";;AAIA,IAAa,KAA0D,GAAmB,MAA2B;CACnH,QAAgB;EACd,IAAM,KACJ,MAIS;GACL,CAAC,EAAI,WAAW,EAAI,QAAQ,SAAS,EAAM,OAAe,IAG9D,EAAQ,EAAiD;;EAI3D,OAFA,SAAS,iBAAiB,aAAa,EAA0B,EACjE,SAAS,iBAAiB,cAAc,EAA0B,QACrD;GAEX,AADA,SAAS,oBAAoB,aAAa,EAA0B,EACpE,SAAS,oBAAoB,cAAc,EAA0B;;IAEtE,CAAC,GAAK,EAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePositionedFloaters.js","names":[],"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 updatePosition: () => void;\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 = 90;\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 setTimeout(() => {\n setStyle((prevStyle) => ({\n ...prevStyle,\n ...calcPosition(),\n }));\n }, 0);\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 updatePosition,\n };\n}\n"],"mappings":";;;AAwBA,IAAM,IAAe,IACf,IAAa,IACb,IAAY,KACZ,IAAiB,GACjB,IAAoB,KACpB,IAAO;AAEb,SAAgB,EACd,GACA,GACA,GACe;CACf,IAAM,CAAC,GAAQ,KAAa,EAAS,GAAM,EACrC,IAAe;EACnB,OAAO;EACP,SAAS;EACT,WAAW;EACX,UAAU;EACV,UAAU;EACV,WAAW;EACX,WAAW;EACX,QAAQ;EACT,EAEK,CAAC,GAAO,KAAY,EAAS,EAAa,EAE1C,KAAY,MAA6C;EAC7D,IAAM,IAAe,WAAW,iBAAiB,SAAS,gBAAgB,CAAC,SAAS;AACpF,SAAO,EAAK,QAAQ,MAAM,KAAK,KAAuC,WAAW,EAAK,GAAlD,WAAW,EAAK,GAAG;IAGnD,KAAa,GAAkB,MAAwB;AAC3D,MAAI,CAAC,EAAS,QAAO;EAErB,IAAM,IACJ,MAAQ,WACJ,OAAO,cAAc,EAAQ,SAAS,EAAQ,SAAS,IACvD,EAAQ,MAAM,EAAQ,SAAS;AAErC,SAAO,CAAC,EAAQ,kBAAkB,EAAS,EAAQ,eAAe,GAAG,IACjE,IACA,EAAS,EAAQ,eAAe;IAGhC,KAAY,GAAkB,MAAwB;AAC1D,MAAI,CAAC,EAAS,QAAO;EAErB,IAAM,IACJ,MAAQ,SAAS,OAAO,aAAa,EAAQ,OAAO,IAAe,EAAQ,QAAQ;AAErF,SAAO,KAAmB,IAAY,IAAY;IAG9C,KAAW,GAAkB,GAAkB,MAC/C,IACK,GAAG,EAAQ,OAAO,KAAK,IAAI,EAAQ,QAAQ,EAAQ,MAAM,GAAG,EAAK,MAEjE,GAAG,EAAQ,KAAK,KAIrB,UAA0C;EAC9C,IAAM,IAAkB,GAA0C,uBAAuB,EACnF,IAAiB,GAAyC,uBAAuB,EACnF,IAAO,UACP,IAAO,QAEL,IAAW,OAAO,WACtB,eAAe,EAAQ,mBAAmB,EAAS,EAAQ,iBAAiB,GAAG,EAAkB,KAClG,CAAC;AAiBF,SAfI,CAAC,KAAiB,CAAC,IACd,KAGL,OAAO,cAAc,EAAc,SAAS,IAAe,MAC7D,IAAO,SAIN,OAAO,aAAa,EAAc,OAAO,IAAe,KAAa,EAAQ,uBAAuB,YACrG,CAAC,MAED,IAAO,UAGF;GACL,OAAO,GAAG,MAAS,WAAW,EAAc,KAAQ,OAAO,OAAO;gBACxD,MAAS,UAAU,OAAO,aAAa,EAAc,KAAQ,OAAO,OAAO;gBAC3E,MAAS,QAAQ,OAAO,cAAc,EAAc,KAAQ,OAAO,OAAO;gBAC1E,MAAS,SAAS,EAAQ,GAAe,GAAgB,EAAS,GAAG;GAC/E,WAAW,GAAG,EAAU,GAAe,EAAK,CAAC;GAC7C,UAAU,GAAG,EAAS,GAAe,EAAK,CAAC;GAC3C,UAAU,EAAQ,YAAY,EAAc,QAAQ;GACpD,WAAW;GACX,WAAW;GACX,SAAS;GACT,QAAQ,GAAG,EAAQ,OAAO;GAC3B;IAGG,UAA+B;AAKnC,EAJA,EAAS;GACP,GAAG;GACH,GAAG,GAAc;GAClB,CAAC,EACF,EAAU,GAAK;IAGX,UAA6B;AACjC,EAAI,KACF,iBAAiB;AACf,MAAU,OAAe;IACvB,GAAG;IACH,GAAG,GAAc;IAClB,EAAE;KACF,EAAE;IAIH,KAAsB,MAAqB;AAE7C,GAAC,KACA,EAA4C,SAAS,EAAI,OAAe,IACzE,CAAC,KACA,EAA6C,SAAS,EAAI,OAAe;IAMxE,IAA0B,EAAY,GAAgB,EAAe;AAoC3E,QAlCA,SACM,MAAqB,SACnB,EAAQ,eAAe,UAExB,EAA4C,iBAAiB,SAAS,EAAiB,IAGvF,EAA4C,iBAAiB,cAAc,EAAiB,EAE5F,EAA4C,iBAAiB,cAAc,EAAmB,GAEjG,SAAS,iBAAiB,aAAa,EAAmB,EAC1D,SAAS,iBAAiB,cAAc,EAAmB,EAC3D,OAAO,iBAAiB,UAAU,EAAwB,SAG/C;AACX,EAAI,MAAqB,SACnB,EAAQ,eAAe,UAExB,EAA4C,oBAAoB,SAAS,EAAiB,IAG1F,EAA4C,oBAAoB,cAAc,EAAiB,EAE/F,EAA4C,oBAAoB,cAAc,EAAmB,GAEpG,SAAS,oBAAoB,aAAa,EAAmB,EAC7D,SAAS,oBAAoB,cAAc,EAAmB,EAC9D,OAAO,oBAAoB,UAAU,EAAwB;IAGjE,EAEK;EACL,OAAO,EACL,UACD;EACD;EACA;EACD"}
1
+ {"version":3,"file":"usePositionedFloaters.js","names":[],"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 updatePosition: () => void;\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 = 90;\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 setTimeout(() => {\n setStyle((prevStyle) => ({\n ...prevStyle,\n ...calcPosition(),\n }));\n }, 0);\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 updatePosition,\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useResponsive.js","names":[],"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"],"mappings":";;AAEA,IAAM,IAAc;CAClB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,KAAK;CACN,EAYY,UAAuC;CAClD,IAAM,KAAiB,GAAc,MAC5B,IAAU,eAAe,EAAK,OAAO,eAAe,IAAO,EAAE,MAGhE,KAAc,MACd,OAAO,SAAW,MACb,OAAO,WAAW,EAAM,CAAC,UAE3B,IAGH,UAA+B;EACnC,IAAM,IAA0C;GAC9C,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,KAAK;GACN,EAEK,IAAc,EAAE,GAAG,GAAwB,EAC3C,IAAW,EAAE,GAAG,GAAwB;AAgB9C,SAdA,OAAO,QAAQ,EAAY,CAAC,SAAS,CAAC,GAAK,OAAU;AAEnD,GADA,EAAY,KAAmC,EAAW,EAAc,GAAM,GAAK,CAAC,EACpF,EAAS,KAAmC,EAAW,EAAc,GAAM,GAAM,CAAC;IAClF,EAWK;GAAE;GAAa;GAAU,aATC,EAAW,0BAA0B,GAClE,aACA,EAAW,2BAA2B,GACpC,cACA;GAKuC,WAH1B,OAAO,KAAK,EAAY,CAAC,UAAU,MAAQ,EAAY,GAAiC,IACzG;GAEsD;IAGpD,CAAC,GAAY,KAAiB,EAAS,GAAwB,CAAC;AAWtE,QATA,QAAgB;EACd,IAAM,UAAqB,EAAc,GAAwB,CAAC;AAIlE,SAFA,OAAO,iBAAiB,UAAU,EAAa,QAElC,OAAO,oBAAoB,UAAU,EAAa;IAE9D,EAAE,CAAC,EAEC"}
1
+ {"version":3,"file":"useResponsive.js","names":[],"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"],"mappings":";;AAEA,IAAM,IAAc;CAClB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,KAAK;CACN,EAYY,UAAuC;CAClD,IAAM,KAAiB,GAAc,MAC5B,IAAU,eAAe,EAAK,OAAO,eAAe,IAAO,EAAE,MAGhE,KAAc,MACd,OAAO,SAAW,MACb,OAAO,WAAW,EAAM,CAAC,UAE3B,IAGH,UAA+B;EACnC,IAAM,IAA0C;GAC9C,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,KAAK;GACN,EAEK,IAAc,EAAE,GAAG,GAAwB,EAC3C,IAAW,EAAE,GAAG,GAAwB;EAgB9C,OAdA,OAAO,QAAQ,EAAY,CAAC,SAAS,CAAC,GAAK,OAAU;GAEnD,AADA,EAAY,KAAmC,EAAW,EAAc,GAAM,GAAK,CAAC,EACpF,EAAS,KAAmC,EAAW,EAAc,GAAM,GAAM,CAAC;IAClF,EAWK;GAAE;GAAa;GAAU,aATC,EAAW,0BAA0B,GAClE,aACA,EAAW,2BAA2B,GACpC,cACA;GAKuC,WAH1B,OAAO,KAAK,EAAY,CAAC,UAAU,MAAQ,EAAY,GAAiC,IACzG;GAEsD;IAGpD,CAAC,GAAY,KAAiB,EAAS,GAAwB,CAAC;CAWtE,OATA,QAAgB;EACd,IAAM,UAAqB,EAAc,GAAwB,CAAC;EAIlE,OAFA,OAAO,iBAAiB,UAAU,EAAa,QAElC,OAAO,oBAAoB,UAAU,EAAa;IAE9D,EAAE,CAAC,EAEC"}
@@ -16,7 +16,7 @@ import { t as m } from "../CheckboxButtonBar-5UMIFMKH.js";
16
16
  import { t as h } from "../Label-o0BcWTUS.js";
17
17
  import { t as g } from "../FeedbackBox-Bu7uB9DP.js";
18
18
  import { t as _ } from "../ControlsButton-B1XRpMUM.js";
19
- import { d as v, f as y, h as b, m as x, n as S, t as C, u as w } from "../components-DAwjkky5.js";
19
+ import { d as v, f as y, h as b, m as x, n as S, t as C, u as w } from "../components-BzxAULjf.js";
20
20
  import { t as T } from "../Chip-DJHvFToV.js";
21
21
  import { t as E } from "../CopyableText-DkyhZ6wk.js";
22
22
  import { t as D } from "../Drawer-e7UFHVg9.js";