boreal-ui 0.0.35 → 0.0.37

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 (761) hide show
  1. package/dist/core/{Accordion-D6hxjkE1.cjs → Accordion-Cn-Lzpin.cjs} +7 -2
  2. package/dist/core/Accordion-Cn-Lzpin.cjs.map +1 -0
  3. package/dist/core/{Accordion-CY5BCoA7.js → Accordion-Cvvsfx1g.js} +7 -2
  4. package/dist/core/Accordion-Cvvsfx1g.js.map +1 -0
  5. package/dist/core/Accordion.cjs.js +1 -1
  6. package/dist/core/Accordion.js +1 -1
  7. package/dist/core/{Avatar-BFec6Gv4.js → Avatar-BM8AwOB6.js} +5 -2
  8. package/dist/core/{Avatar-BFec6Gv4.js.map → Avatar-BM8AwOB6.js.map} +1 -1
  9. package/dist/core/{Avatar-CeIz25Rt.cjs → Avatar-DOg8W9yf.cjs} +5 -2
  10. package/dist/core/{Avatar-CeIz25Rt.cjs.map → Avatar-DOg8W9yf.cjs.map} +1 -1
  11. package/dist/core/Avatar.cjs.js +1 -1
  12. package/dist/core/Avatar.js +1 -1
  13. package/dist/core/{Badge-C6qp0Eym.cjs → Badge-DOn6E2bS.cjs} +2 -1
  14. package/dist/core/Badge-DOn6E2bS.cjs.map +1 -0
  15. package/dist/core/{Badge-MiX5w_Ui.js → Badge-Dpjq6lUF.js} +2 -1
  16. package/dist/core/Badge-Dpjq6lUF.js.map +1 -0
  17. package/dist/core/Badge.cjs.js +1 -1
  18. package/dist/core/Badge.js +1 -1
  19. package/dist/core/{Breadcrumbs-hKtLDMrC.cjs → Breadcrumbs-BUc98niR.cjs} +3 -2
  20. package/dist/core/Breadcrumbs-BUc98niR.cjs.map +1 -0
  21. package/dist/core/{Breadcrumbs-BulpkVaU.js → Breadcrumbs-Bh_Ocv4_.js} +3 -2
  22. package/dist/core/Breadcrumbs-Bh_Ocv4_.js.map +1 -0
  23. package/dist/core/Breadcrumbs.cjs.js +1 -1
  24. package/dist/core/Breadcrumbs.js +1 -1
  25. package/dist/core/{Button-sz60qyTn.js → Button-CC0Q_XPy.js} +21 -16
  26. package/dist/core/Button-CC0Q_XPy.js.map +1 -0
  27. package/dist/core/{Button-CD1ETVvS.cjs → Button-zvElXSem.cjs} +21 -16
  28. package/dist/core/Button-zvElXSem.cjs.map +1 -0
  29. package/dist/core/Button.cjs.js +1 -1
  30. package/dist/core/Button.js +1 -1
  31. package/dist/core/{Card-Bagax-bx.js → Card-B7Hjcknf.js} +9 -8
  32. package/dist/core/Card-B7Hjcknf.js.map +1 -0
  33. package/dist/core/{Card-DtHJdWNq.cjs → Card-Bp8OvH80.cjs} +9 -8
  34. package/dist/core/Card-Bp8OvH80.cjs.map +1 -0
  35. package/dist/core/Card.cjs.js +1 -1
  36. package/dist/core/Card.js +1 -1
  37. package/dist/core/CheckBox.cjs.js +1 -1
  38. package/dist/core/CheckBox.js +1 -1
  39. package/dist/core/{Checkbox-CkidkPsK.js → Checkbox-BdNhCbz_.js} +3 -4
  40. package/dist/core/Checkbox-BdNhCbz_.js.map +1 -0
  41. package/dist/core/{Checkbox-dcfbhcGR.cjs → Checkbox-JvYzNuZp.cjs} +3 -4
  42. package/dist/core/Checkbox-JvYzNuZp.cjs.map +1 -0
  43. package/dist/core/{Chip-C8spwPgH.cjs → Chip-CWsfLyyU.cjs} +3 -2
  44. package/dist/core/Chip-CWsfLyyU.cjs.map +1 -0
  45. package/dist/core/{Chip-DxwLK-G6.js → Chip-D4vbSudX.js} +3 -2
  46. package/dist/core/Chip-D4vbSudX.js.map +1 -0
  47. package/dist/core/Chip.cjs.js +1 -1
  48. package/dist/core/Chip.js +1 -1
  49. package/dist/core/{CircularProgress-CSkKaHhU.js → CircularProgress-CGqwPSPq.js} +2 -1
  50. package/dist/core/{CircularProgress-CSkKaHhU.js.map → CircularProgress-CGqwPSPq.js.map} +1 -1
  51. package/dist/core/{CircularProgress-CNh3NKwl.cjs → CircularProgress-DpLsV7FP.cjs} +2 -1
  52. package/dist/core/{CircularProgress-CNh3NKwl.cjs.map → CircularProgress-DpLsV7FP.cjs.map} +1 -1
  53. package/dist/core/CircularProgress.cjs.js +1 -1
  54. package/dist/core/CircularProgress.js +1 -1
  55. package/dist/core/{ColorPicker-Btkkzx1b.js → ColorPicker-CpHTSayd.js} +2 -1
  56. package/dist/core/{ColorPicker-Btkkzx1b.js.map → ColorPicker-CpHTSayd.js.map} +1 -1
  57. package/dist/core/{ColorPicker-D-X4hsS7.cjs → ColorPicker-CzL1SJCT.cjs} +2 -1
  58. package/dist/core/{ColorPicker-D-X4hsS7.cjs.map → ColorPicker-CzL1SJCT.cjs.map} +1 -1
  59. package/dist/core/ColorPicker.cjs.js +1 -1
  60. package/dist/core/ColorPicker.js +1 -1
  61. package/dist/core/{CommandPalette-SxHF3-VM.cjs → CommandPalette-CXKBDCbP.cjs} +3 -2
  62. package/dist/core/{CommandPalette-SxHF3-VM.cjs.map → CommandPalette-CXKBDCbP.cjs.map} +1 -1
  63. package/dist/core/{CommandPalette-Dmy5lWzv.js → CommandPalette-N556smLj.js} +3 -2
  64. package/dist/core/{CommandPalette-Dmy5lWzv.js.map → CommandPalette-N556smLj.js.map} +1 -1
  65. package/dist/core/CommandPalette.cjs.js +1 -1
  66. package/dist/core/CommandPalette.js +1 -1
  67. package/dist/core/{DataTable-8q8mTnjE.cjs → DataTable-DIpKxAT_.cjs} +2 -1
  68. package/dist/core/{DataTable-8q8mTnjE.cjs.map → DataTable-DIpKxAT_.cjs.map} +1 -1
  69. package/dist/core/{DataTable-C3l5XKKC.js → DataTable-Dv6Bv-wh.js} +2 -1
  70. package/dist/core/{DataTable-C3l5XKKC.js.map → DataTable-Dv6Bv-wh.js.map} +1 -1
  71. package/dist/core/DataTable.cjs.js +1 -1
  72. package/dist/core/DataTable.js +1 -1
  73. package/dist/core/{DateTimePicker-Cq_QZBV5.js → DateTimePicker-BzS1nP5J.js} +3 -2
  74. package/dist/core/DateTimePicker-BzS1nP5J.js.map +1 -0
  75. package/dist/core/{DateTimePicker-DU-vjgee.cjs → DateTimePicker-D7bRXphw.cjs} +3 -2
  76. package/dist/core/DateTimePicker-D7bRXphw.cjs.map +1 -0
  77. package/dist/core/DateTimePicker.cjs.js +1 -1
  78. package/dist/core/DateTimePicker.js +1 -1
  79. package/dist/core/{Divider-BxiplAj2.js → Divider-7akvm9JA.js} +3 -2
  80. package/dist/core/{Divider-BxiplAj2.js.map → Divider-7akvm9JA.js.map} +1 -1
  81. package/dist/core/{Divider-Bn7ghdiP.cjs → Divider-CaSuFc3G.cjs} +3 -2
  82. package/dist/core/{Divider-Bn7ghdiP.cjs.map → Divider-CaSuFc3G.cjs.map} +1 -1
  83. package/dist/core/Divider.cjs.js +1 -1
  84. package/dist/core/Divider.js +1 -1
  85. package/dist/core/{Dropdown-GA_yvFVS.js → Dropdown-CwofYHjq.js} +3 -2
  86. package/dist/core/Dropdown-CwofYHjq.js.map +1 -0
  87. package/dist/core/{Dropdown-Dlo--tIl.cjs → Dropdown-DvwHouyC.cjs} +3 -2
  88. package/dist/core/Dropdown-DvwHouyC.cjs.map +1 -0
  89. package/dist/core/Dropdown.cjs.js +1 -1
  90. package/dist/core/Dropdown.js +1 -1
  91. package/dist/core/{EmptyState-CSnwsLvV.js → EmptyState-Cp3ocTQX.js} +3 -2
  92. package/dist/core/{EmptyState-CSnwsLvV.js.map → EmptyState-Cp3ocTQX.js.map} +1 -1
  93. package/dist/core/{EmptyState-1ZbzRKLl.cjs → EmptyState-P-MSItCX.cjs} +3 -2
  94. package/dist/core/{EmptyState-1ZbzRKLl.cjs.map → EmptyState-P-MSItCX.cjs.map} +1 -1
  95. package/dist/core/EmptyState.cjs.js +1 -1
  96. package/dist/core/EmptyState.js +1 -1
  97. package/dist/core/{FileUpload-aqWEEHIW.cjs → FileUpload-Du7vDDdf.cjs} +8 -7
  98. package/dist/core/FileUpload-Du7vDDdf.cjs.map +1 -0
  99. package/dist/core/{FileUpload-DJ1wI_Bm.js → FileUpload-Q8aDsaFs.js} +8 -7
  100. package/dist/core/FileUpload-Q8aDsaFs.js.map +1 -0
  101. package/dist/core/FileUpload.cjs.js +1 -1
  102. package/dist/core/FileUpload.js +1 -1
  103. package/dist/core/{Footer-VpViLKN_.cjs → Footer-DMOA1W7N.cjs} +59 -43
  104. package/dist/core/Footer-DMOA1W7N.cjs.map +1 -0
  105. package/dist/core/{Footer-9x3F5gZx.js → Footer-zO4RGjCl.js} +60 -44
  106. package/dist/core/Footer-zO4RGjCl.js.map +1 -0
  107. package/dist/core/Footer.cjs.js +1 -1
  108. package/dist/core/Footer.js +1 -1
  109. package/dist/core/{FormGroup-B5kG6FR4.cjs → FormGroup-C2TWC17P.cjs} +2 -1
  110. package/dist/core/{FormGroup-B5kG6FR4.cjs.map → FormGroup-C2TWC17P.cjs.map} +1 -1
  111. package/dist/core/{FormGroup-CAJwxFcs.js → FormGroup-tSK_NN0-.js} +2 -1
  112. package/dist/core/{FormGroup-CAJwxFcs.js.map → FormGroup-tSK_NN0-.js.map} +1 -1
  113. package/dist/core/FormGroup.cjs.js +1 -1
  114. package/dist/core/FormGroup.js +1 -1
  115. package/dist/core/{IconButton-Bjjlbqiq.cjs → IconButton-CR9bTZoJ.cjs} +3 -2
  116. package/dist/core/IconButton-CR9bTZoJ.cjs.map +1 -0
  117. package/dist/core/{IconButton-DgfUCfo9.js → IconButton-_lxTppua.js} +3 -2
  118. package/dist/core/IconButton-_lxTppua.js.map +1 -0
  119. package/dist/core/IconButton.cjs.js +1 -1
  120. package/dist/core/IconButton.js +1 -1
  121. package/dist/core/{MarkdownRenderer-COnLzf0t.js → MarkdownRenderer-B1LmmpZm.js} +3 -1
  122. package/dist/core/MarkdownRenderer-B1LmmpZm.js.map +1 -0
  123. package/dist/core/{MarkdownRenderer-OUEnVOLG.cjs → MarkdownRenderer-LUXCa_a8.cjs} +3 -1
  124. package/dist/core/MarkdownRenderer-LUXCa_a8.cjs.map +1 -0
  125. package/dist/core/MarkdownRenderer.cjs.js +1 -1
  126. package/dist/core/MarkdownRenderer.js +1 -1
  127. package/dist/core/MessagePopUp.cjs.js +1 -1
  128. package/dist/core/MessagePopUp.js +1 -1
  129. package/dist/core/{MessagePopup-eNK7XvUn.js → MessagePopup-BlbPMecd.js} +6 -6
  130. package/dist/core/MessagePopup-BlbPMecd.js.map +1 -0
  131. package/dist/core/{MessagePopup-D2nlhTvG.cjs → MessagePopup-hxloT7aK.cjs} +6 -6
  132. package/dist/core/MessagePopup-hxloT7aK.cjs.map +1 -0
  133. package/dist/core/{MetricBox-CdNvh1qG.cjs → MetricBox-BcOdQM-l.cjs} +2 -1
  134. package/dist/core/{MetricBox-CdNvh1qG.cjs.map → MetricBox-BcOdQM-l.cjs.map} +1 -1
  135. package/dist/core/{MetricBox-BzI1gx1P.js → MetricBox-Dh911MS2.js} +2 -1
  136. package/dist/core/{MetricBox-BzI1gx1P.js.map → MetricBox-Dh911MS2.js.map} +1 -1
  137. package/dist/core/MetricBox.cjs.js +1 -1
  138. package/dist/core/MetricBox.js +1 -1
  139. package/dist/core/{Modal-B7IqleCB.cjs → Modal-D-ZoA_xx.cjs} +3 -2
  140. package/dist/core/Modal-D-ZoA_xx.cjs.map +1 -0
  141. package/dist/core/{Modal-Cy0AsPTV.js → Modal-D1G1Csp9.js} +3 -2
  142. package/dist/core/Modal-D1G1Csp9.js.map +1 -0
  143. package/dist/core/Modal.cjs.js +1 -1
  144. package/dist/core/Modal.js +1 -1
  145. package/dist/core/{NavBar-DUNxiip6.cjs → NavBar-Bbd3SVHi.cjs} +5 -4
  146. package/dist/core/NavBar-Bbd3SVHi.cjs.map +1 -0
  147. package/dist/core/{NavBar-CBC9YPkH.js → NavBar-DujO5gH_.js} +5 -4
  148. package/dist/core/NavBar-DujO5gH_.js.map +1 -0
  149. package/dist/core/NavBar.cjs.js +1 -1
  150. package/dist/core/NavBar.js +1 -1
  151. package/dist/core/{NotificationCenter-DgSWWT0G.js → NotificationCenter-BrUNpJAx.js} +77 -66
  152. package/dist/core/{NotificationCenter-DgSWWT0G.js.map → NotificationCenter-BrUNpJAx.js.map} +1 -1
  153. package/dist/core/{NotificationCenter-c99_Xq4J.cjs → NotificationCenter-Dqwu2Z6s.cjs} +77 -66
  154. package/dist/core/{NotificationCenter-c99_Xq4J.cjs.map → NotificationCenter-Dqwu2Z6s.cjs.map} +1 -1
  155. package/dist/core/NotificationCenter.cjs.js +1 -1
  156. package/dist/core/NotificationCenter.js +1 -1
  157. package/dist/core/{Pager-Dr2H_Q5L.js → Pager-CZF6O7rq.js} +4 -3
  158. package/dist/core/{Pager-Dr2H_Q5L.js.map → Pager-CZF6O7rq.js.map} +1 -1
  159. package/dist/core/{Pager-BWlXTFPR.cjs → Pager-C_SG4CIc.cjs} +4 -3
  160. package/dist/core/{Pager-BWlXTFPR.cjs.map → Pager-C_SG4CIc.cjs.map} +1 -1
  161. package/dist/core/Pager.cjs.js +1 -1
  162. package/dist/core/Pager.js +1 -1
  163. package/dist/core/{PopOver-BnOcfrAC.js → PopOver-Bt80x5vL.js} +2 -1
  164. package/dist/core/{PopOver-BnOcfrAC.js.map → PopOver-Bt80x5vL.js.map} +1 -1
  165. package/dist/core/{PopOver-Gy7Gn9LW.cjs → PopOver-IzDFOu7Y.cjs} +2 -1
  166. package/dist/core/{PopOver-Gy7Gn9LW.cjs.map → PopOver-IzDFOu7Y.cjs.map} +1 -1
  167. package/dist/core/PopOver.cjs.js +1 -1
  168. package/dist/core/PopOver.js +1 -1
  169. package/dist/core/{ProgressBar-QkROTKv6.cjs → ProgressBar-BwjYOqoE.cjs} +2 -1
  170. package/dist/core/{ProgressBar-QkROTKv6.cjs.map → ProgressBar-BwjYOqoE.cjs.map} +1 -1
  171. package/dist/core/{ProgressBar-BAbEjBvm.js → ProgressBar-DaA5vvnq.js} +2 -1
  172. package/dist/core/{ProgressBar-BAbEjBvm.js.map → ProgressBar-DaA5vvnq.js.map} +1 -1
  173. package/dist/core/ProgressBar.cjs.js +1 -1
  174. package/dist/core/ProgressBar.js +1 -1
  175. package/dist/core/RadioButton-BxdmcaZg.cjs.map +1 -1
  176. package/dist/core/{RadioButton-B8QehL7o.js → RadioButton-DygrrlH_.js} +3 -3
  177. package/dist/core/RadioButton-DygrrlH_.js.map +1 -0
  178. package/dist/core/RadioButton.js +1 -1
  179. package/dist/core/{Rating-Dpmm_ZPv.js → Rating-B4qbA_y6.js} +2 -1
  180. package/dist/core/{Rating-Dpmm_ZPv.js.map → Rating-B4qbA_y6.js.map} +1 -1
  181. package/dist/core/{Rating-DwPu-mqi.cjs → Rating-U1MIoh5b.cjs} +2 -1
  182. package/dist/core/{Rating-DwPu-mqi.cjs.map → Rating-U1MIoh5b.cjs.map} +1 -1
  183. package/dist/core/Rating.cjs.js +1 -1
  184. package/dist/core/Rating.js +1 -1
  185. package/dist/core/{STT-DnhnXAIK.js → STT-Bdm78oOs.js} +2 -1
  186. package/dist/core/{STT-DnhnXAIK.js.map → STT-Bdm78oOs.js.map} +1 -1
  187. package/dist/core/{STT-Tf9R4S2f.cjs → STT-DKOwe6z3.cjs} +2 -1
  188. package/dist/core/{STT-Tf9R4S2f.cjs.map → STT-DKOwe6z3.cjs.map} +1 -1
  189. package/dist/core/ScrollToTop.cjs.js +1 -1
  190. package/dist/core/ScrollToTop.js +1 -1
  191. package/dist/core/{Select-C65ai0xO.cjs → Select-B5Zoc07A.cjs} +5 -14
  192. package/dist/core/Select-B5Zoc07A.cjs.map +1 -0
  193. package/dist/core/{Select-bMjOWXRX.js → Select-DntK69DL.js} +6 -15
  194. package/dist/core/Select-DntK69DL.js.map +1 -0
  195. package/dist/core/Select.cjs.js +1 -1
  196. package/dist/core/Select.js +1 -1
  197. package/dist/core/{Sidebar-BoMGJwqC.cjs → Sidebar-13bKMpw7.cjs} +2 -1
  198. package/dist/core/Sidebar-13bKMpw7.cjs.map +1 -0
  199. package/dist/core/{Sidebar-CnGBAT2_.js → Sidebar-DN_J0CwY.js} +2 -1
  200. package/dist/core/Sidebar-DN_J0CwY.js.map +1 -0
  201. package/dist/core/Sidebar.cjs.js +1 -1
  202. package/dist/core/Sidebar.js +1 -1
  203. package/dist/core/{Skeleton-BlyxKLt_.cjs → Skeleton-BLVD5mDI.cjs} +2 -1
  204. package/dist/core/{Skeleton-BlyxKLt_.cjs.map → Skeleton-BLVD5mDI.cjs.map} +1 -1
  205. package/dist/core/{Skeleton-CMhlYg-Q.js → Skeleton-Cwn3_gc7.js} +2 -1
  206. package/dist/core/{Skeleton-CMhlYg-Q.js.map → Skeleton-Cwn3_gc7.js.map} +1 -1
  207. package/dist/core/Skeleton.cjs.js +1 -1
  208. package/dist/core/Skeleton.js +1 -1
  209. package/dist/core/{Slider-BT1Pi-VJ.cjs → Slider-S8KnYlkd.cjs} +2 -1
  210. package/dist/core/{Slider-BT1Pi-VJ.cjs.map → Slider-S8KnYlkd.cjs.map} +1 -1
  211. package/dist/core/{Slider-CZYfXDHn.js → Slider-WsZnPCUo.js} +2 -1
  212. package/dist/core/{Slider-CZYfXDHn.js.map → Slider-WsZnPCUo.js.map} +1 -1
  213. package/dist/core/Slider.cjs.js +1 -1
  214. package/dist/core/Slider.js +1 -1
  215. package/dist/core/{Spinner-ChxHCoaN.cjs → Spinner-CEIk_hpT.cjs} +2 -1
  216. package/dist/core/{Spinner-ChxHCoaN.cjs.map → Spinner-CEIk_hpT.cjs.map} +1 -1
  217. package/dist/core/{Spinner-BQlcBZmK.js → Spinner-D81UG24n.js} +2 -1
  218. package/dist/core/{Spinner-BQlcBZmK.js.map → Spinner-D81UG24n.js.map} +1 -1
  219. package/dist/core/Spinner.cjs.js +1 -1
  220. package/dist/core/Spinner.js +1 -1
  221. package/dist/core/{Stepper-gvaKLuno.cjs → Stepper-BuCLqbtQ.cjs} +3 -10
  222. package/dist/core/Stepper-BuCLqbtQ.cjs.map +1 -0
  223. package/dist/core/{Stepper-CxZGa2CS.js → Stepper-Cjb7ckXo.js} +3 -10
  224. package/dist/core/Stepper-Cjb7ckXo.js.map +1 -0
  225. package/dist/core/Stepper.cjs.js +1 -1
  226. package/dist/core/Stepper.js +1 -1
  227. package/dist/core/{Tabs-C6lDM19i.cjs → Tabs-BheAr-wE.cjs} +2 -1
  228. package/dist/core/Tabs-BheAr-wE.cjs.map +1 -0
  229. package/dist/core/{Tabs-BaKDr0uF.js → Tabs-CUDoy3wZ.js} +2 -1
  230. package/dist/core/Tabs-CUDoy3wZ.js.map +1 -0
  231. package/dist/core/Tabs.cjs.js +1 -1
  232. package/dist/core/Tabs.js +1 -1
  233. package/dist/core/TagInput.cjs.js +1 -1
  234. package/dist/core/TagInput.js +1 -1
  235. package/dist/core/{Taginput-5LKYwPzy.js → Taginput-CKekAR72.js} +4 -3
  236. package/dist/core/{Taginput-5LKYwPzy.js.map → Taginput-CKekAR72.js.map} +1 -1
  237. package/dist/core/{Taginput-RYBBGWLK.cjs → Taginput-DgbxDttA.cjs} +4 -3
  238. package/dist/core/{Taginput-RYBBGWLK.cjs.map → Taginput-DgbxDttA.cjs.map} +1 -1
  239. package/dist/core/{TextArea-BAFMXw6Y.cjs → TextArea-BJGUr6r_.cjs} +2 -2
  240. package/dist/core/{TextArea-BAFMXw6Y.cjs.map → TextArea-BJGUr6r_.cjs.map} +1 -1
  241. package/dist/core/{TextArea-C2S64tIN.js → TextArea-CIdsUIzt.js} +2 -2
  242. package/dist/core/{TextArea-C2S64tIN.js.map → TextArea-CIdsUIzt.js.map} +1 -1
  243. package/dist/core/TextArea.cjs.js +1 -1
  244. package/dist/core/TextArea.js +1 -1
  245. package/dist/core/{TextInput-DQPZXEA2.js → TextInput-7kV66ccj.js} +2 -2
  246. package/dist/core/TextInput-7kV66ccj.js.map +1 -0
  247. package/dist/core/{TextInput-5Bpg7Tdt.cjs → TextInput-DFOjxri2.cjs} +2 -2
  248. package/dist/core/TextInput-DFOjxri2.cjs.map +1 -0
  249. package/dist/core/TextInput.cjs.js +1 -1
  250. package/dist/core/TextInput.js +1 -1
  251. package/dist/core/{ThemeContext-D_SPnedS.cjs → ThemeContext-D1AV88GN.cjs} +2 -1
  252. package/dist/core/ThemeContext-D1AV88GN.cjs.map +1 -0
  253. package/dist/{next/ThemeContext-DJ18CFaV.js → core/ThemeContext-DSYDwr2m.js} +2 -1
  254. package/dist/core/ThemeContext-DSYDwr2m.js.map +1 -0
  255. package/dist/core/ThemeProvider.cjs.js +1 -1
  256. package/dist/core/ThemeProvider.js +1 -1
  257. package/dist/core/{Timeline-BfJd6flB.js → Timeline-BulLz34H.js} +2 -1
  258. package/dist/core/{Timeline-BfJd6flB.js.map → Timeline-BulLz34H.js.map} +1 -1
  259. package/dist/core/{Timeline-Bmnr7xnx.cjs → Timeline-Dd4Rr21W.cjs} +2 -1
  260. package/dist/core/{Timeline-Bmnr7xnx.cjs.map → Timeline-Dd4Rr21W.cjs.map} +1 -1
  261. package/dist/core/Timeline.cjs.js +1 -1
  262. package/dist/core/Timeline.js +1 -1
  263. package/dist/core/{Toggle-Dor7IEx3.cjs → Toggle-B4bJ4Jcj.cjs} +5 -4
  264. package/dist/core/Toggle-B4bJ4Jcj.cjs.map +1 -0
  265. package/dist/core/{Toggle-sPyKNt4P.js → Toggle-DxNHxjZn.js} +5 -4
  266. package/dist/core/Toggle-DxNHxjZn.js.map +1 -0
  267. package/dist/core/Toggle.cjs.js +1 -1
  268. package/dist/core/Toggle.js +1 -1
  269. package/dist/core/{Toolbar-CSDhcIPb.js → Toolbar-CQNKVKK8.js} +3 -2
  270. package/dist/core/{Toolbar-CSDhcIPb.js.map → Toolbar-CQNKVKK8.js.map} +1 -1
  271. package/dist/core/{Toolbar-xot4FSLU.cjs → Toolbar-DKSfwRUz.cjs} +3 -2
  272. package/dist/core/{Toolbar-xot4FSLU.cjs.map → Toolbar-DKSfwRUz.cjs.map} +1 -1
  273. package/dist/core/Toolbar.cjs.js +1 -1
  274. package/dist/core/Toolbar.js +1 -1
  275. package/dist/core/{Tooltip-iUp73wB4.js → Tooltip-BzRqlOTz.js} +3 -5
  276. package/dist/core/Tooltip-BzRqlOTz.js.map +1 -0
  277. package/dist/core/{Tooltip-BzmV7ztl.cjs → Tooltip-DS7DSyij.cjs} +2 -4
  278. package/dist/core/Tooltip-DS7DSyij.cjs.map +1 -0
  279. package/dist/core/Tooltip.cjs.js +1 -1
  280. package/dist/core/Tooltip.js +1 -1
  281. package/dist/core/index.cjs.js +56 -57
  282. package/dist/core/index.cjs.js.map +1 -1
  283. package/dist/core/index.js +58 -59
  284. package/dist/core/index.js.map +1 -1
  285. package/dist/core/style.css +6701 -1913
  286. package/dist/next/{Accordion-81qBJa4M.js → Accordion-BkiAI6vY.js} +59 -52
  287. package/dist/next/Accordion-BkiAI6vY.js.map +1 -0
  288. package/dist/next/{Accordion-CmbMyudL.cjs → Accordion-DKNh8FaP.cjs} +59 -52
  289. package/dist/next/Accordion-DKNh8FaP.cjs.map +1 -0
  290. package/dist/next/Accordion.cjs.js +1 -1
  291. package/dist/next/Accordion.js +1 -1
  292. package/dist/next/{Avatar-hwM3F1Jw.cjs → Avatar-Ctm74prt.cjs} +59 -55
  293. package/dist/next/{Avatar-hwM3F1Jw.cjs.map → Avatar-Ctm74prt.cjs.map} +1 -1
  294. package/dist/next/{Avatar-96V7QHyt.js → Avatar-ijMVfQpY.js} +59 -55
  295. package/dist/next/{Avatar-96V7QHyt.js.map → Avatar-ijMVfQpY.js.map} +1 -1
  296. package/dist/next/Avatar.cjs.js +1 -1
  297. package/dist/next/Avatar.js +1 -1
  298. package/dist/next/{Badge-DLSfi5vo.cjs → Badge-DbmM5wGc.cjs} +32 -31
  299. package/dist/next/Badge-DbmM5wGc.cjs.map +1 -0
  300. package/dist/next/{Badge-BG9cWEDv.js → Badge-k6Dk5S_p.js} +32 -31
  301. package/dist/next/Badge-k6Dk5S_p.js.map +1 -0
  302. package/dist/next/Badge.cjs.js +1 -1
  303. package/dist/next/Badge.js +1 -1
  304. package/dist/next/{Breadcrumbs-veVO4yuY.cjs → Breadcrumbs-BrH6_8Kt.cjs} +39 -38
  305. package/dist/next/Breadcrumbs-BrH6_8Kt.cjs.map +1 -0
  306. package/dist/next/{Breadcrumbs-IO2iNAjN.js → Breadcrumbs-CWv3TrV_.js} +39 -38
  307. package/dist/next/Breadcrumbs-CWv3TrV_.js.map +1 -0
  308. package/dist/next/Breadcrumbs.cjs.js +1 -1
  309. package/dist/next/Breadcrumbs.js +1 -1
  310. package/dist/next/{Button-DN8rTQSp.js → Button-BjY7f3mw.js} +66 -63
  311. package/dist/next/Button-BjY7f3mw.js.map +1 -0
  312. package/dist/next/{Button-sIKQmn_c.cjs → Button-D8Kff8sN.cjs} +66 -63
  313. package/dist/next/Button-D8Kff8sN.cjs.map +1 -0
  314. package/dist/next/Button.cjs.js +1 -1
  315. package/dist/next/Button.js +1 -1
  316. package/dist/next/{Card-CAH-CrbH.cjs → Card-9Uf34mPf.cjs} +73 -68
  317. package/dist/next/Card-9Uf34mPf.cjs.map +1 -0
  318. package/dist/next/{Card-KFr31XTs.js → Card-CL8WOI8g.js} +73 -68
  319. package/dist/next/Card-CL8WOI8g.js.map +1 -0
  320. package/dist/next/Card.cjs.js +1 -1
  321. package/dist/next/Card.js +1 -1
  322. package/dist/next/CheckBox.cjs.js +1 -1
  323. package/dist/next/CheckBox.js +1 -1
  324. package/dist/next/{Checkbox-DXRmAtTt.cjs → Checkbox-B-y0lEjJ.cjs} +46 -47
  325. package/dist/next/{Checkbox-DXRmAtTt.cjs.map → Checkbox-B-y0lEjJ.cjs.map} +1 -1
  326. package/dist/next/{Checkbox-CU-XrZC7.js → Checkbox-DVr6H6mN.js} +46 -47
  327. package/dist/next/{Checkbox-CU-XrZC7.js.map → Checkbox-DVr6H6mN.js.map} +1 -1
  328. package/dist/next/{Chip-C7w9CTed.cjs → Chip-C4-KUcHh.cjs} +52 -51
  329. package/dist/next/Chip-C4-KUcHh.cjs.map +1 -0
  330. package/dist/next/{Chip-Qa_1km99.js → Chip-C8ayWG9-.js} +52 -51
  331. package/dist/next/Chip-C8ayWG9-.js.map +1 -0
  332. package/dist/next/Chip.cjs.js +1 -1
  333. package/dist/next/Chip.js +1 -1
  334. package/dist/next/{CircularProgress-C3vHw9Vz.js → CircularProgress-Cz9G0WeQ.js} +48 -47
  335. package/dist/next/{CircularProgress-C3vHw9Vz.js.map → CircularProgress-Cz9G0WeQ.js.map} +1 -1
  336. package/dist/next/{CircularProgress-B0pzDdsh.cjs → CircularProgress-UhpLA94q.cjs} +48 -47
  337. package/dist/next/{CircularProgress-B0pzDdsh.cjs.map → CircularProgress-UhpLA94q.cjs.map} +1 -1
  338. package/dist/next/CircularProgress.cjs.js +1 -1
  339. package/dist/next/CircularProgress.js +1 -1
  340. package/dist/next/{ColorPicker-4Fw0fwbk.js → ColorPicker-1naDOGhp.js} +43 -40
  341. package/dist/next/{ColorPicker-4Fw0fwbk.js.map → ColorPicker-1naDOGhp.js.map} +1 -1
  342. package/dist/next/{ColorPicker-CDHrECBi.cjs → ColorPicker-DvgeIT_p.cjs} +43 -40
  343. package/dist/next/{ColorPicker-CDHrECBi.cjs.map → ColorPicker-DvgeIT_p.cjs.map} +1 -1
  344. package/dist/next/ColorPicker.cjs.js +1 -1
  345. package/dist/next/ColorPicker.js +1 -1
  346. package/dist/next/{CommandPalette-D6ZeGNWl.js → CommandPalette-XP4v5FE6.js} +43 -42
  347. package/dist/next/{CommandPalette-D6ZeGNWl.js.map → CommandPalette-XP4v5FE6.js.map} +1 -1
  348. package/dist/next/{CommandPalette-DHTJFymB.cjs → CommandPalette-ypXbi8zW.cjs} +43 -42
  349. package/dist/next/{CommandPalette-DHTJFymB.cjs.map → CommandPalette-ypXbi8zW.cjs.map} +1 -1
  350. package/dist/next/CommandPalette.cjs.js +1 -1
  351. package/dist/next/CommandPalette.js +1 -1
  352. package/dist/next/{DataTable-D17xbmiu.js → DataTable-jUelgv2H.js} +42 -41
  353. package/dist/next/{DataTable-D17xbmiu.js.map → DataTable-jUelgv2H.js.map} +1 -1
  354. package/dist/next/{DataTable-B0-pq0MG.cjs → DataTable-jq0suGoA.cjs} +42 -41
  355. package/dist/next/{DataTable-B0-pq0MG.cjs.map → DataTable-jq0suGoA.cjs.map} +1 -1
  356. package/dist/next/DataTable.cjs.js +1 -1
  357. package/dist/next/DataTable.js +1 -1
  358. package/dist/next/{DateTimePicker-BJnnZBgd.js → DateTimePicker-BTm6T3-E.js} +55 -33
  359. package/dist/next/DateTimePicker-BTm6T3-E.js.map +1 -0
  360. package/dist/next/{DateTimePicker-DivMR4Oe.cjs → DateTimePicker-D5gEfxvd.cjs} +55 -33
  361. package/dist/next/DateTimePicker-D5gEfxvd.cjs.map +1 -0
  362. package/dist/next/DateTimePicker.cjs.js +1 -1
  363. package/dist/next/DateTimePicker.js +1 -1
  364. package/dist/next/{Divider-BGf_EQkK.js → Divider-BYKFFi3a.js} +39 -17
  365. package/dist/next/{Divider-BGf_EQkK.js.map → Divider-BYKFFi3a.js.map} +1 -1
  366. package/dist/next/{Divider-Bew1Qx5f.cjs → Divider-CczNc7mx.cjs} +39 -17
  367. package/dist/next/{Divider-Bew1Qx5f.cjs.map → Divider-CczNc7mx.cjs.map} +1 -1
  368. package/dist/next/Divider.cjs.js +1 -1
  369. package/dist/next/Divider.js +1 -1
  370. package/dist/next/{Dropdown-BvUfz8G7.js → Dropdown-CJGb6wyQ.js} +24 -21
  371. package/dist/next/Dropdown-CJGb6wyQ.js.map +1 -0
  372. package/dist/next/{Dropdown-BbdsK4H6.cjs → Dropdown-yaMx19im.cjs} +24 -21
  373. package/dist/next/Dropdown-yaMx19im.cjs.map +1 -0
  374. package/dist/next/Dropdown.cjs.js +1 -1
  375. package/dist/next/Dropdown.js +1 -1
  376. package/dist/next/{EmptyState-DMIL8ecB.cjs → EmptyState-CGPIGpz2.cjs} +39 -38
  377. package/dist/next/{EmptyState-DMIL8ecB.cjs.map → EmptyState-CGPIGpz2.cjs.map} +1 -1
  378. package/dist/next/{EmptyState-CNii02MI.js → EmptyState-DIymA2cZ.js} +39 -38
  379. package/dist/next/{EmptyState-CNii02MI.js.map → EmptyState-DIymA2cZ.js.map} +1 -1
  380. package/dist/next/EmptyState.cjs.js +1 -1
  381. package/dist/next/EmptyState.js +1 -1
  382. package/dist/next/{FileUpload-BxmKK5BE.js → FileUpload-CIued3w1.js} +56 -53
  383. package/dist/next/{FileUpload-BxmKK5BE.js.map → FileUpload-CIued3w1.js.map} +1 -1
  384. package/dist/next/{FileUpload-C95H9D4N.cjs → FileUpload-MVXOV0j9.cjs} +56 -53
  385. package/dist/next/{FileUpload-C95H9D4N.cjs.map → FileUpload-MVXOV0j9.cjs.map} +1 -1
  386. package/dist/next/FileUpload.cjs.js +1 -1
  387. package/dist/next/FileUpload.js +1 -1
  388. package/dist/next/{Footer-DhBE3lNY.js → Footer-BeT6tWIv.js} +100 -83
  389. package/dist/next/Footer-BeT6tWIv.js.map +1 -0
  390. package/dist/next/{Footer-C98DQNB3.cjs → Footer-C_hq989i.cjs} +99 -82
  391. package/dist/next/Footer-C_hq989i.cjs.map +1 -0
  392. package/dist/next/Footer.cjs.js +1 -1
  393. package/dist/next/Footer.js +1 -1
  394. package/dist/next/{FormGroup-DXvH4AmB.cjs → FormGroup-6Ss6pNqV.cjs} +40 -37
  395. package/dist/next/{FormGroup-DXvH4AmB.cjs.map → FormGroup-6Ss6pNqV.cjs.map} +1 -1
  396. package/dist/next/{FormGroup-DSDuqKWJ.js → FormGroup-DbUqgg_b.js} +40 -37
  397. package/dist/next/{FormGroup-DSDuqKWJ.js.map → FormGroup-DbUqgg_b.js.map} +1 -1
  398. package/dist/next/FormGroup.cjs.js +1 -1
  399. package/dist/next/FormGroup.js +1 -1
  400. package/dist/next/{IconButton-C3WpabtT.cjs → IconButton-VSz8qAIg.cjs} +43 -51
  401. package/dist/next/{IconButton-C3WpabtT.cjs.map → IconButton-VSz8qAIg.cjs.map} +1 -1
  402. package/dist/next/{IconButton-B_j-S10f.js → IconButton-qQljwBB2.js} +43 -51
  403. package/dist/next/{IconButton-B_j-S10f.js.map → IconButton-qQljwBB2.js.map} +1 -1
  404. package/dist/next/IconButton.cjs.js +1 -1
  405. package/dist/next/IconButton.js +1 -1
  406. package/dist/next/{MarkdownRenderer-r0prlhyN.js → MarkdownRenderer-B7lwemDw.js} +14 -12
  407. package/dist/next/MarkdownRenderer-B7lwemDw.js.map +1 -0
  408. package/dist/next/{MarkdownRenderer-ByOcqHm_.cjs → MarkdownRenderer-BvfBDz9X.cjs} +14 -12
  409. package/dist/next/MarkdownRenderer-BvfBDz9X.cjs.map +1 -0
  410. package/dist/next/MarkdownRenderer.cjs.js +1 -1
  411. package/dist/next/MarkdownRenderer.js +1 -1
  412. package/dist/next/MessagePopUp.cjs.js +1 -1
  413. package/dist/next/MessagePopUp.js +1 -1
  414. package/dist/next/{MessagePopup-BFKRiymY.js → MessagePopup-B5OaSUBr.js} +21 -18
  415. package/dist/next/MessagePopup-B5OaSUBr.js.map +1 -0
  416. package/dist/next/{MessagePopup-CcM5nRAG.cjs → MessagePopup-BQ4OFvwo.cjs} +21 -18
  417. package/dist/next/MessagePopup-BQ4OFvwo.cjs.map +1 -0
  418. package/dist/next/{MetricBox-B9AG8u6p.cjs → MetricBox-BylPOvoO.cjs} +64 -63
  419. package/dist/next/{MetricBox-B9AG8u6p.cjs.map → MetricBox-BylPOvoO.cjs.map} +1 -1
  420. package/dist/next/{MetricBox-CM85hhlk.js → MetricBox-Dl3iruBZ.js} +64 -63
  421. package/dist/next/{MetricBox-CM85hhlk.js.map → MetricBox-Dl3iruBZ.js.map} +1 -1
  422. package/dist/next/MetricBox.cjs.js +1 -1
  423. package/dist/next/MetricBox.js +1 -1
  424. package/dist/next/{Modal-DIZf7sgL.js → Modal-BARibygG.js} +18 -17
  425. package/dist/next/Modal-BARibygG.js.map +1 -0
  426. package/dist/next/{Modal-hk84_P6s.cjs → Modal-CevpqeOy.cjs} +18 -17
  427. package/dist/next/Modal-CevpqeOy.cjs.map +1 -0
  428. package/dist/next/Modal.cjs.js +1 -1
  429. package/dist/next/Modal.js +1 -1
  430. package/dist/next/{NavBar-kgNrVtKB.js → NavBar-Bucpo8_3.js} +41 -39
  431. package/dist/next/NavBar-Bucpo8_3.js.map +1 -0
  432. package/dist/next/{NavBar-yvxI6w8C.cjs → NavBar-C5FBdZT6.cjs} +41 -39
  433. package/dist/next/NavBar-C5FBdZT6.cjs.map +1 -0
  434. package/dist/next/NavBar.cjs.js +1 -1
  435. package/dist/next/NavBar.js +1 -1
  436. package/dist/next/{NotificationCenter-CLMiEWUG.cjs → NotificationCenter-BD58bbOZ.cjs} +127 -105
  437. package/dist/next/{NotificationCenter-CLMiEWUG.cjs.map → NotificationCenter-BD58bbOZ.cjs.map} +1 -1
  438. package/dist/next/{NotificationCenter-D3Eucn9z.js → NotificationCenter-CSwbscYh.js} +127 -105
  439. package/dist/next/{NotificationCenter-D3Eucn9z.js.map → NotificationCenter-CSwbscYh.js.map} +1 -1
  440. package/dist/next/NotificationCenter.cjs.js +1 -1
  441. package/dist/next/NotificationCenter.js +1 -1
  442. package/dist/next/{Pager-BpTg_723.cjs → Pager-B-xaM28_.cjs} +9 -8
  443. package/dist/next/{Pager-BpTg_723.cjs.map → Pager-B-xaM28_.cjs.map} +1 -1
  444. package/dist/next/{Pager-nKqhRoht.js → Pager-DWzCtb2Q.js} +9 -8
  445. package/dist/next/{Pager-nKqhRoht.js.map → Pager-DWzCtb2Q.js.map} +1 -1
  446. package/dist/next/Pager.cjs.js +1 -1
  447. package/dist/next/Pager.js +1 -1
  448. package/dist/next/{PopOver-DoS-aqXT.cjs → PopOver-Dp4eqN8G.cjs} +41 -40
  449. package/dist/next/{PopOver-DoS-aqXT.cjs.map → PopOver-Dp4eqN8G.cjs.map} +1 -1
  450. package/dist/next/{PopOver-BBFa0Sr0.js → PopOver-QAYHaYcd.js} +41 -40
  451. package/dist/next/{PopOver-BBFa0Sr0.js.map → PopOver-QAYHaYcd.js.map} +1 -1
  452. package/dist/next/PopOver.cjs.js +1 -1
  453. package/dist/next/PopOver.js +1 -1
  454. package/dist/next/{ProgressBar-BIojCvdG.js → ProgressBar-BrO0fvaM.js} +44 -43
  455. package/dist/next/{ProgressBar-BIojCvdG.js.map → ProgressBar-BrO0fvaM.js.map} +1 -1
  456. package/dist/next/{ProgressBar-DyyIhH1C.cjs → ProgressBar-DfXSlpKX.cjs} +44 -43
  457. package/dist/next/{ProgressBar-DyyIhH1C.cjs.map → ProgressBar-DfXSlpKX.cjs.map} +1 -1
  458. package/dist/next/ProgressBar.cjs.js +1 -1
  459. package/dist/next/ProgressBar.js +1 -1
  460. package/dist/next/{RadioButton-V4J4u58H.cjs → RadioButton-6cb-ZRjy.cjs} +41 -41
  461. package/dist/next/{RadioButton-V4J4u58H.cjs.map → RadioButton-6cb-ZRjy.cjs.map} +1 -1
  462. package/dist/next/{RadioButton-B2yQz2_q.js → RadioButton-Dz_e0WUT.js} +43 -43
  463. package/dist/next/{RadioButton-B2yQz2_q.js.map → RadioButton-Dz_e0WUT.js.map} +1 -1
  464. package/dist/next/RadioButton.cjs.js +1 -1
  465. package/dist/next/RadioButton.js +1 -1
  466. package/dist/next/{Rating-C1Lb-VqV.cjs → Rating-C4pqzKNQ.cjs} +36 -35
  467. package/dist/next/{Rating-C1Lb-VqV.cjs.map → Rating-C4pqzKNQ.cjs.map} +1 -1
  468. package/dist/next/{Rating-DQsfA43l.js → Rating-DbQ61tMY.js} +36 -35
  469. package/dist/next/{Rating-DQsfA43l.js.map → Rating-DbQ61tMY.js.map} +1 -1
  470. package/dist/next/Rating.cjs.js +1 -1
  471. package/dist/next/Rating.js +1 -1
  472. package/dist/next/{STT-BygzgjFx.cjs → STT-C6kV0zwW.cjs} +15 -14
  473. package/dist/next/{STT-BygzgjFx.cjs.map → STT-C6kV0zwW.cjs.map} +1 -1
  474. package/dist/next/{STT-DKdM1tbk.js → STT-CCzJFcVP.js} +15 -14
  475. package/dist/next/{STT-DKdM1tbk.js.map → STT-CCzJFcVP.js.map} +1 -1
  476. package/dist/next/ScrollToTop.cjs.js +1 -1
  477. package/dist/next/ScrollToTop.js +1 -1
  478. package/dist/next/{Select-D4QdlQ6W.cjs → Select-CSAN6B98.cjs} +54 -68
  479. package/dist/next/Select-CSAN6B98.cjs.map +1 -0
  480. package/dist/next/{Select-B3JaOW2f.js → Select-CZivQIlV.js} +55 -69
  481. package/dist/next/Select-CZivQIlV.js.map +1 -0
  482. package/dist/next/Select.cjs.js +1 -1
  483. package/dist/next/Select.js +1 -1
  484. package/dist/next/{Sidebar-C6NbdjWV.js → Sidebar-BVeRWv61.js} +55 -74
  485. package/dist/next/Sidebar-BVeRWv61.js.map +1 -0
  486. package/dist/next/{Sidebar-CbQ4ssz-.cjs → Sidebar-DcDJjNrK.cjs} +55 -74
  487. package/dist/next/Sidebar-DcDJjNrK.cjs.map +1 -0
  488. package/dist/next/Sidebar.cjs.js +1 -1
  489. package/dist/next/Sidebar.js +1 -1
  490. package/dist/next/{Skeleton-BCbvshNz.cjs → Skeleton-JgU17y-3.cjs} +27 -26
  491. package/dist/next/{Skeleton-BCbvshNz.cjs.map → Skeleton-JgU17y-3.cjs.map} +1 -1
  492. package/dist/next/{Skeleton-D8Jqmncm.js → Skeleton-rSW1X4hk.js} +27 -26
  493. package/dist/next/{Skeleton-D8Jqmncm.js.map → Skeleton-rSW1X4hk.js.map} +1 -1
  494. package/dist/next/Skeleton.cjs.js +1 -1
  495. package/dist/next/Skeleton.js +1 -1
  496. package/dist/next/{Slider-BLoEjvbT.cjs → Slider-B8e96nMm.cjs} +44 -43
  497. package/dist/next/{Slider-BLoEjvbT.cjs.map → Slider-B8e96nMm.cjs.map} +1 -1
  498. package/dist/next/{Slider-q_hjFuqb.js → Slider-CdSPPw1x.js} +44 -43
  499. package/dist/next/{Slider-q_hjFuqb.js.map → Slider-CdSPPw1x.js.map} +1 -1
  500. package/dist/next/Slider.cjs.js +1 -1
  501. package/dist/next/Slider.js +1 -1
  502. package/dist/next/{Spinner-Bk_yQWCK.cjs → Spinner-B89FhxVt.cjs} +45 -34
  503. package/dist/next/{Spinner-Bk_yQWCK.cjs.map → Spinner-B89FhxVt.cjs.map} +1 -1
  504. package/dist/next/{Spinner-CagtJg0l.js → Spinner-ChiOXzru.js} +45 -34
  505. package/dist/next/{Spinner-CagtJg0l.js.map → Spinner-ChiOXzru.js.map} +1 -1
  506. package/dist/next/Spinner.cjs.js +1 -1
  507. package/dist/next/Spinner.js +1 -1
  508. package/dist/next/{Stepper-b-0SYFcE.js → Stepper-9uHSgp7y.js} +47 -60
  509. package/dist/next/{Stepper-b-0SYFcE.js.map → Stepper-9uHSgp7y.js.map} +1 -1
  510. package/dist/next/{Stepper-CWXKcAae.cjs → Stepper-UwSloxRf.cjs} +47 -60
  511. package/dist/next/{Stepper-CWXKcAae.cjs.map → Stepper-UwSloxRf.cjs.map} +1 -1
  512. package/dist/next/Stepper.cjs.js +1 -1
  513. package/dist/next/Stepper.js +1 -1
  514. package/dist/next/{Tabs-B94nrX75.js → Tabs-CvYx2xtH.js} +45 -44
  515. package/dist/next/Tabs-CvYx2xtH.js.map +1 -0
  516. package/dist/next/{Tabs-Dom5sh_U.cjs → Tabs-D2jqRrxR.cjs} +45 -44
  517. package/dist/next/Tabs-D2jqRrxR.cjs.map +1 -0
  518. package/dist/next/Tabs.cjs.js +1 -1
  519. package/dist/next/Tabs.js +1 -1
  520. package/dist/next/{TagInput-C8hyzJ7f.js → TagInput-DUWgLslk.js} +56 -55
  521. package/dist/next/{TagInput-C8hyzJ7f.js.map → TagInput-DUWgLslk.js.map} +1 -1
  522. package/dist/next/{TagInput-B6PAcCaw.cjs → TagInput-Dym0BPK1.cjs} +56 -55
  523. package/dist/next/{TagInput-B6PAcCaw.cjs.map → TagInput-Dym0BPK1.cjs.map} +1 -1
  524. package/dist/next/TagInput.cjs.js +1 -1
  525. package/dist/next/TagInput.js +1 -1
  526. package/dist/next/{TextArea-Cn2q5KhJ.cjs → TextArea-9AvILSCY.cjs} +37 -37
  527. package/dist/next/{TextArea-Cn2q5KhJ.cjs.map → TextArea-9AvILSCY.cjs.map} +1 -1
  528. package/dist/next/{TextArea-C9VGM6pu.js → TextArea-xg4t0Lzo.js} +37 -37
  529. package/dist/next/{TextArea-C9VGM6pu.js.map → TextArea-xg4t0Lzo.js.map} +1 -1
  530. package/dist/next/TextArea.cjs.js +1 -1
  531. package/dist/next/TextArea.js +1 -1
  532. package/dist/next/{TextInput-CUBY6wCB.cjs → TextInput-Cr0WjibW.cjs} +37 -58
  533. package/dist/next/TextInput-Cr0WjibW.cjs.map +1 -0
  534. package/dist/next/{TextInput-Zywm-WEW.js → TextInput-D9dzooMU.js} +37 -58
  535. package/dist/next/TextInput-D9dzooMU.js.map +1 -0
  536. package/dist/next/TextInput.cjs.js +1 -1
  537. package/dist/next/TextInput.js +1 -1
  538. package/dist/{core/ThemeContext-DJ18CFaV.js → next/ThemeContext-DSYDwr2m.js} +2 -1
  539. package/dist/next/ThemeContext-DSYDwr2m.js.map +1 -0
  540. package/dist/next/{ThemeContext-Iy-HHefR.cjs → ThemeContext-npFEznyu.cjs} +2 -1
  541. package/dist/next/ThemeContext-npFEznyu.cjs.map +1 -0
  542. package/dist/next/ThemeProvider.cjs.js +1 -1
  543. package/dist/next/ThemeProvider.js +1 -1
  544. package/dist/next/{Timeline-CQxYIXCz.js → Timeline-Cg0FWWVc.js} +33 -47
  545. package/dist/next/{Timeline-CQxYIXCz.js.map → Timeline-Cg0FWWVc.js.map} +1 -1
  546. package/dist/next/{Timeline-BWx1ROuN.cjs → Timeline-DXSXZumg.cjs} +33 -47
  547. package/dist/next/{Timeline-BWx1ROuN.cjs.map → Timeline-DXSXZumg.cjs.map} +1 -1
  548. package/dist/next/Timeline.cjs.js +1 -1
  549. package/dist/next/Timeline.js +1 -1
  550. package/dist/next/{Toggle-Cs4ail9L.cjs → Toggle-BNK7uC_N.cjs} +36 -35
  551. package/dist/next/{Toggle-Cs4ail9L.cjs.map → Toggle-BNK7uC_N.cjs.map} +1 -1
  552. package/dist/next/{Toggle-Br6GTHrq.js → Toggle-CnpONDwl.js} +36 -35
  553. package/dist/next/{Toggle-Br6GTHrq.js.map → Toggle-CnpONDwl.js.map} +1 -1
  554. package/dist/next/Toggle.cjs.js +1 -1
  555. package/dist/next/Toggle.js +1 -1
  556. package/dist/next/{Toolbar-DgiSHpuZ.js → Toolbar-007Q19jl.js} +36 -35
  557. package/dist/next/{Toolbar-DgiSHpuZ.js.map → Toolbar-007Q19jl.js.map} +1 -1
  558. package/dist/next/{Toolbar-CyjJbHtq.cjs → Toolbar-DHUozW08.cjs} +36 -35
  559. package/dist/next/{Toolbar-CyjJbHtq.cjs.map → Toolbar-DHUozW08.cjs.map} +1 -1
  560. package/dist/next/Toolbar.cjs.js +1 -1
  561. package/dist/next/Toolbar.js +1 -1
  562. package/dist/next/{Tooltip-D5_lSH1z.js → Tooltip-2XEuDIAw.js} +41 -43
  563. package/dist/next/Tooltip-2XEuDIAw.js.map +1 -0
  564. package/dist/next/{Tooltip-1m3gCuRE.cjs → Tooltip-FCqrcC7D.cjs} +40 -42
  565. package/dist/next/Tooltip-FCqrcC7D.cjs.map +1 -0
  566. package/dist/next/Tooltip.cjs.js +1 -1
  567. package/dist/next/Tooltip.js +1 -1
  568. package/dist/next/index.cjs.js +49 -58
  569. package/dist/next/index.cjs.js.map +1 -1
  570. package/dist/next/index.js +50 -59
  571. package/dist/next/index.js.map +1 -1
  572. package/dist/next/style.css +13026 -8293
  573. package/dist/tsconfig.build.tsbuildinfo +1 -1
  574. package/dist/types/components/Accordion/AccordionBase.d.ts.map +1 -1
  575. package/dist/types/components/Avatar/core/Avatar.d.ts +1 -2
  576. package/dist/types/components/Avatar/core/Avatar.d.ts.map +1 -1
  577. package/dist/types/components/Avatar/next/Avatar.d.ts +1 -2
  578. package/dist/types/components/Avatar/next/Avatar.d.ts.map +1 -1
  579. package/dist/types/components/Badge/BadgeBase.d.ts.map +1 -1
  580. package/dist/types/components/Breadcrumbs/BreadcrumbsBase.d.ts.map +1 -1
  581. package/dist/types/components/Button/ButtonBase.d.ts.map +1 -1
  582. package/dist/types/components/Button/core/Button.d.ts +1 -2
  583. package/dist/types/components/Button/core/Button.d.ts.map +1 -1
  584. package/dist/types/components/Button/next/Button.d.ts +1 -2
  585. package/dist/types/components/Button/next/Button.d.ts.map +1 -1
  586. package/dist/types/components/Card/Card.types.d.ts +27 -6
  587. package/dist/types/components/Card/Card.types.d.ts.map +1 -1
  588. package/dist/types/components/Card/CardBase.d.ts.map +1 -1
  589. package/dist/types/components/Checkbox/core/Checkbox.d.ts +1 -2
  590. package/dist/types/components/Checkbox/core/Checkbox.d.ts.map +1 -1
  591. package/dist/types/components/Checkbox/next/Checkbox.d.ts +1 -2
  592. package/dist/types/components/Checkbox/next/Checkbox.d.ts.map +1 -1
  593. package/dist/types/components/Chip/ChipBase.d.ts.map +1 -1
  594. package/dist/types/components/Chip/ChipGroup/core/ChipGroup.d.ts +1 -2
  595. package/dist/types/components/Chip/ChipGroup/core/ChipGroup.d.ts.map +1 -1
  596. package/dist/types/components/Chip/ChipGroup/next/ChipGroup.d.ts +1 -2
  597. package/dist/types/components/Chip/ChipGroup/next/ChipGroup.d.ts.map +1 -1
  598. package/dist/types/components/DataTable/core/DataTable.d.ts +3 -0
  599. package/dist/types/components/DataTable/core/DataTable.d.ts.map +1 -1
  600. package/dist/types/components/DataTable/next/DataTable.d.ts +3 -0
  601. package/dist/types/components/DataTable/next/DataTable.d.ts.map +1 -1
  602. package/dist/types/components/DateTimePicker/DateTimePickerBase.d.ts.map +1 -1
  603. package/dist/types/components/Divider/Divider.types.d.ts.map +1 -1
  604. package/dist/types/components/Divider/core/Divider.d.ts +1 -2
  605. package/dist/types/components/Divider/core/Divider.d.ts.map +1 -1
  606. package/dist/types/components/Divider/next/Divider.d.ts +1 -2
  607. package/dist/types/components/Divider/next/Divider.d.ts.map +1 -1
  608. package/dist/types/components/Dropdown/Dropdown.types.d.ts +4 -1
  609. package/dist/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  610. package/dist/types/components/Dropdown/DropdownBase.d.ts.map +1 -1
  611. package/dist/types/components/EmptyState/EmptyState.types.d.ts +2 -1
  612. package/dist/types/components/EmptyState/EmptyState.types.d.ts.map +1 -1
  613. package/dist/types/components/FileUpload/FileUpload.types.d.ts +8 -4
  614. package/dist/types/components/FileUpload/FileUpload.types.d.ts.map +1 -1
  615. package/dist/types/components/Footer/Footer.types.d.ts +33 -11
  616. package/dist/types/components/Footer/Footer.types.d.ts.map +1 -1
  617. package/dist/types/components/Footer/FooterBase.d.ts.map +1 -1
  618. package/dist/types/components/IconButton/IconButton.types.d.ts +4 -0
  619. package/dist/types/components/IconButton/IconButton.types.d.ts.map +1 -1
  620. package/dist/types/components/IconButton/core/IconButton.d.ts +1 -2
  621. package/dist/types/components/IconButton/core/IconButton.d.ts.map +1 -1
  622. package/dist/types/components/IconButton/next/IconButton.d.ts +2 -3
  623. package/dist/types/components/IconButton/next/IconButton.d.ts.map +1 -1
  624. package/dist/types/components/MarkdownRenderer/MarkdownRendererBase.d.ts.map +1 -1
  625. package/dist/types/components/MessagePopUp/MessagePopup.types.d.ts +8 -2
  626. package/dist/types/components/MessagePopUp/MessagePopup.types.d.ts.map +1 -1
  627. package/dist/types/components/MessagePopUp/core/MessagePopup.d.ts.map +1 -1
  628. package/dist/types/components/Modal/Modal.types.d.ts +4 -1
  629. package/dist/types/components/Modal/Modal.types.d.ts.map +1 -1
  630. package/dist/types/components/NotificationCenter/NotificationCenter.types.d.ts +4 -2
  631. package/dist/types/components/NotificationCenter/NotificationCenter.types.d.ts.map +1 -1
  632. package/dist/types/components/NotificationCenter/NotificationCenterBase.d.ts.map +1 -1
  633. package/dist/types/components/NotificationCenter/core/NotificationCenter.d.ts.map +1 -1
  634. package/dist/types/components/Pager/Pager.types.d.ts +4 -2
  635. package/dist/types/components/Pager/Pager.types.d.ts.map +1 -1
  636. package/dist/types/components/RadioButton/core/RadioButton.d.ts +1 -2
  637. package/dist/types/components/RadioButton/core/RadioButton.d.ts.map +1 -1
  638. package/dist/types/components/RadioButton/next/RadioButton.d.ts +1 -2
  639. package/dist/types/components/RadioButton/next/RadioButton.d.ts.map +1 -1
  640. package/dist/types/components/Select/Select.types.d.ts +7 -0
  641. package/dist/types/components/Select/Select.types.d.ts.map +1 -1
  642. package/dist/types/components/Select/SelectBase.d.ts.map +1 -1
  643. package/dist/types/components/Select/ThemeSelect/core/ThemeSelect.d.ts +2 -10
  644. package/dist/types/components/Select/ThemeSelect/core/ThemeSelect.d.ts.map +1 -1
  645. package/dist/types/components/Select/ThemeSelect/next/ThemeSelect.d.ts +2 -10
  646. package/dist/types/components/Select/ThemeSelect/next/ThemeSelect.d.ts.map +1 -1
  647. package/dist/types/components/Select/core/Select.d.ts +1 -2
  648. package/dist/types/components/Select/core/Select.d.ts.map +1 -1
  649. package/dist/types/components/Select/next/Select.d.ts +1 -2
  650. package/dist/types/components/Select/next/Select.d.ts.map +1 -1
  651. package/dist/types/components/Sidebar/SidebarBase.d.ts.map +1 -1
  652. package/dist/types/components/Sidebar/next/Sidebar.d.ts.map +1 -1
  653. package/dist/types/components/Stepper/Stepper.types.d.ts +2 -1
  654. package/dist/types/components/Stepper/Stepper.types.d.ts.map +1 -1
  655. package/dist/types/components/Stepper/StepperBase.d.ts.map +1 -1
  656. package/dist/types/components/Tabs/Tabs.types.d.ts +2 -0
  657. package/dist/types/components/Tabs/Tabs.types.d.ts.map +1 -1
  658. package/dist/types/components/TagInput/Taginput.types.d.ts +4 -2
  659. package/dist/types/components/TagInput/Taginput.types.d.ts.map +1 -1
  660. package/dist/types/components/TextInput/TextInput.types.d.ts +5 -0
  661. package/dist/types/components/TextInput/TextInput.types.d.ts.map +1 -1
  662. package/dist/types/components/TextInput/TextInputBase.d.ts +2 -5
  663. package/dist/types/components/TextInput/TextInputBase.d.ts.map +1 -1
  664. package/dist/types/components/Toggle/core/Toggle.d.ts +1 -2
  665. package/dist/types/components/Toggle/core/Toggle.d.ts.map +1 -1
  666. package/dist/types/components/Toggle/next/Toggle.d.ts +1 -2
  667. package/dist/types/components/Toggle/next/Toggle.d.ts.map +1 -1
  668. package/dist/types/components/Toolbar/Toolbar.types.d.ts +2 -1
  669. package/dist/types/components/Toolbar/Toolbar.types.d.ts.map +1 -1
  670. package/dist/types/components/Tooltip/TooltipBase.d.ts.map +1 -1
  671. package/dist/types/context/ThemeContext.d.ts.map +1 -1
  672. package/package.json +13 -4
  673. package/dist/core/Accordion-CY5BCoA7.js.map +0 -1
  674. package/dist/core/Accordion-D6hxjkE1.cjs.map +0 -1
  675. package/dist/core/Badge-C6qp0Eym.cjs.map +0 -1
  676. package/dist/core/Badge-MiX5w_Ui.js.map +0 -1
  677. package/dist/core/Breadcrumbs-BulpkVaU.js.map +0 -1
  678. package/dist/core/Breadcrumbs-hKtLDMrC.cjs.map +0 -1
  679. package/dist/core/Button-CD1ETVvS.cjs.map +0 -1
  680. package/dist/core/Button-sz60qyTn.js.map +0 -1
  681. package/dist/core/Card-Bagax-bx.js.map +0 -1
  682. package/dist/core/Card-DtHJdWNq.cjs.map +0 -1
  683. package/dist/core/Checkbox-CkidkPsK.js.map +0 -1
  684. package/dist/core/Checkbox-dcfbhcGR.cjs.map +0 -1
  685. package/dist/core/Chip-C8spwPgH.cjs.map +0 -1
  686. package/dist/core/Chip-DxwLK-G6.js.map +0 -1
  687. package/dist/core/DateTimePicker-Cq_QZBV5.js.map +0 -1
  688. package/dist/core/DateTimePicker-DU-vjgee.cjs.map +0 -1
  689. package/dist/core/Dropdown-Dlo--tIl.cjs.map +0 -1
  690. package/dist/core/Dropdown-GA_yvFVS.js.map +0 -1
  691. package/dist/core/FileUpload-DJ1wI_Bm.js.map +0 -1
  692. package/dist/core/FileUpload-aqWEEHIW.cjs.map +0 -1
  693. package/dist/core/Footer-9x3F5gZx.js.map +0 -1
  694. package/dist/core/Footer-VpViLKN_.cjs.map +0 -1
  695. package/dist/core/IconButton-Bjjlbqiq.cjs.map +0 -1
  696. package/dist/core/IconButton-DgfUCfo9.js.map +0 -1
  697. package/dist/core/MarkdownRenderer-COnLzf0t.js.map +0 -1
  698. package/dist/core/MarkdownRenderer-OUEnVOLG.cjs.map +0 -1
  699. package/dist/core/MessagePopup-D2nlhTvG.cjs.map +0 -1
  700. package/dist/core/MessagePopup-eNK7XvUn.js.map +0 -1
  701. package/dist/core/Modal-B7IqleCB.cjs.map +0 -1
  702. package/dist/core/Modal-Cy0AsPTV.js.map +0 -1
  703. package/dist/core/NavBar-CBC9YPkH.js.map +0 -1
  704. package/dist/core/NavBar-DUNxiip6.cjs.map +0 -1
  705. package/dist/core/RadioButton-B8QehL7o.js.map +0 -1
  706. package/dist/core/Select-C65ai0xO.cjs.map +0 -1
  707. package/dist/core/Select-bMjOWXRX.js.map +0 -1
  708. package/dist/core/Sidebar-BoMGJwqC.cjs.map +0 -1
  709. package/dist/core/Sidebar-CnGBAT2_.js.map +0 -1
  710. package/dist/core/Stepper-CxZGa2CS.js.map +0 -1
  711. package/dist/core/Stepper-gvaKLuno.cjs.map +0 -1
  712. package/dist/core/Tabs-BaKDr0uF.js.map +0 -1
  713. package/dist/core/Tabs-C6lDM19i.cjs.map +0 -1
  714. package/dist/core/TextInput-5Bpg7Tdt.cjs.map +0 -1
  715. package/dist/core/TextInput-DQPZXEA2.js.map +0 -1
  716. package/dist/core/ThemeContext-DJ18CFaV.js.map +0 -1
  717. package/dist/core/ThemeContext-D_SPnedS.cjs.map +0 -1
  718. package/dist/core/Toggle-Dor7IEx3.cjs.map +0 -1
  719. package/dist/core/Toggle-sPyKNt4P.js.map +0 -1
  720. package/dist/core/Tooltip-BzmV7ztl.cjs.map +0 -1
  721. package/dist/core/Tooltip-iUp73wB4.js.map +0 -1
  722. package/dist/next/Accordion-81qBJa4M.js.map +0 -1
  723. package/dist/next/Accordion-CmbMyudL.cjs.map +0 -1
  724. package/dist/next/Badge-BG9cWEDv.js.map +0 -1
  725. package/dist/next/Badge-DLSfi5vo.cjs.map +0 -1
  726. package/dist/next/Breadcrumbs-IO2iNAjN.js.map +0 -1
  727. package/dist/next/Breadcrumbs-veVO4yuY.cjs.map +0 -1
  728. package/dist/next/Button-DN8rTQSp.js.map +0 -1
  729. package/dist/next/Button-sIKQmn_c.cjs.map +0 -1
  730. package/dist/next/Card-CAH-CrbH.cjs.map +0 -1
  731. package/dist/next/Card-KFr31XTs.js.map +0 -1
  732. package/dist/next/Chip-C7w9CTed.cjs.map +0 -1
  733. package/dist/next/Chip-Qa_1km99.js.map +0 -1
  734. package/dist/next/DateTimePicker-BJnnZBgd.js.map +0 -1
  735. package/dist/next/DateTimePicker-DivMR4Oe.cjs.map +0 -1
  736. package/dist/next/Dropdown-BbdsK4H6.cjs.map +0 -1
  737. package/dist/next/Dropdown-BvUfz8G7.js.map +0 -1
  738. package/dist/next/Footer-C98DQNB3.cjs.map +0 -1
  739. package/dist/next/Footer-DhBE3lNY.js.map +0 -1
  740. package/dist/next/MarkdownRenderer-ByOcqHm_.cjs.map +0 -1
  741. package/dist/next/MarkdownRenderer-r0prlhyN.js.map +0 -1
  742. package/dist/next/MessagePopup-BFKRiymY.js.map +0 -1
  743. package/dist/next/MessagePopup-CcM5nRAG.cjs.map +0 -1
  744. package/dist/next/Modal-DIZf7sgL.js.map +0 -1
  745. package/dist/next/Modal-hk84_P6s.cjs.map +0 -1
  746. package/dist/next/NavBar-kgNrVtKB.js.map +0 -1
  747. package/dist/next/NavBar-yvxI6w8C.cjs.map +0 -1
  748. package/dist/next/Select-B3JaOW2f.js.map +0 -1
  749. package/dist/next/Select-D4QdlQ6W.cjs.map +0 -1
  750. package/dist/next/Sidebar-C6NbdjWV.js.map +0 -1
  751. package/dist/next/Sidebar-CbQ4ssz-.cjs.map +0 -1
  752. package/dist/next/Tabs-B94nrX75.js.map +0 -1
  753. package/dist/next/Tabs-Dom5sh_U.cjs.map +0 -1
  754. package/dist/next/TextInput-CUBY6wCB.cjs.map +0 -1
  755. package/dist/next/TextInput-Zywm-WEW.js.map +0 -1
  756. package/dist/next/ThemeContext-DJ18CFaV.js.map +0 -1
  757. package/dist/next/ThemeContext-Iy-HHefR.cjs.map +0 -1
  758. package/dist/next/Tooltip-1m3gCuRE.cjs.map +0 -1
  759. package/dist/next/Tooltip-D5_lSH1z.js.map +0 -1
  760. package/dist/types/components/Footer/next/ClientFooterWrapper.d.ts +0 -24
  761. package/dist/types/components/Footer/next/ClientFooterWrapper.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Card-KFr31XTs.js","sources":["../../src/components/Card/CardBase.tsx","../../src/components/Card/next/Card.tsx"],"sourcesContent":["import React, { useId, useMemo } from \"react\";\r\nimport { CardBaseProps } from \"./Card.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst CardBase: React.FC<CardBaseProps> = ({\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n cardIcon,\r\n title = \"\",\r\n description = \"\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n imageUrl,\r\n imageAlt,\r\n imageHeight,\r\n imageWidth,\r\n imageFill,\r\n className = \"\",\r\n imageClassName = \"\",\r\n headerClassName = \"\",\r\n bodyClassName = \"\",\r\n footerClassName = \"\",\r\n outline = false,\r\n size = getDefaultSize(),\r\n align = \"center\",\r\n renderHeader,\r\n renderContent,\r\n renderFooter,\r\n actionButtons = [],\r\n useIconButtons = false,\r\n layout = \"vertical\",\r\n loading = false,\r\n children,\r\n \"data-testid\": testId = \"card\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-label\": ariaLabel,\r\n classMap,\r\n SkeletonComponent,\r\n ImageComponent,\r\n}) => {\r\n const autoId = useId();\r\n const headerId = ariaLabelledBy || `${autoId}-header`;\r\n const descriptionId = `${autoId}-description`;\r\n const hasImage = !!imageUrl;\r\n const derivedAriaLabel = ariaLabel || title || description || \"Content card\";\r\n\r\n const FallbackImage = (props: React.ImgHTMLAttributes<HTMLImageElement>) => (\r\n <img {...props} />\r\n );\r\n\r\n const hasImageObj =\r\n typeof imageUrl === \"object\" && imageUrl && \"src\" in imageUrl;\r\n const imgSrc = hasImageObj ? imageUrl.src : (imageUrl as string | undefined);\r\n\r\n const resolvedWidth =\r\n (hasImageObj ? (imageUrl as any).width : undefined) ?? imageWidth;\r\n const resolvedHeight =\r\n (hasImageObj ? (imageUrl as any).height : undefined) ?? imageHeight;\r\n\r\n const imgAlt = imageAlt || `${title || \"Card\"} image`;\r\n\r\n const ImageRenderer = ImageComponent || FallbackImage;\r\n const isNextImage = typeof ImageRenderer !== \"string\";\r\n\r\n const cardClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.card,\r\n classMap[layout],\r\n align && classMap[align],\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n loading && classMap.loading,\r\n className\r\n ),\r\n [\r\n classMap,\r\n layout,\r\n align,\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n outline,\r\n loading,\r\n className,\r\n ]\r\n );\r\n\r\n return (\r\n <div\r\n data-testid={testId}\r\n className={cardClassName}\r\n role=\"region\"\r\n aria-labelledby={title ? headerId : undefined}\r\n aria-label={!title ? derivedAriaLabel : undefined}\r\n aria-busy={loading || undefined}\r\n >\r\n {loading ? (\r\n <SkeletonComponent\r\n width=\"250px\"\r\n height=\"250px\"\r\n data-testid={`${testId}-skeleton`}\r\n />\r\n ) : (\r\n <div className={classMap.content}>\r\n {hasImage &&\r\n (imageFill ? (\r\n <div className={classMap.media}>\r\n <ImageRenderer\r\n src={imgSrc as any}\r\n alt={imgAlt}\r\n className={combineClassNames(classMap.image, imageClassName)}\r\n {...(isNextImage ? { fill: true } : {})}\r\n {...(!isNextImage ? { loading: \"lazy\" as const } : {})}\r\n />\r\n </div>\r\n ) : (\r\n <ImageRenderer\r\n src={imgSrc as any}\r\n alt={imgAlt}\r\n className={combineClassNames(classMap.image, imageClassName)}\r\n width={resolvedWidth ?? 640}\r\n height={resolvedHeight ?? 360}\r\n {...(!isNextImage ? { loading: \"lazy\" as const } : {})}\r\n />\r\n ))}\r\n\r\n <div>\r\n <div\r\n className={combineClassNames(classMap.header, headerClassName)}\r\n id={headerId}\r\n >\r\n {renderHeader ? (\r\n renderHeader()\r\n ) : title ? (\r\n <h2 className={classMap.title}>\r\n {cardIcon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n {React.createElement(cardIcon)}\r\n </span>\r\n )}\r\n {title}\r\n </h2>\r\n ) : null}\r\n </div>\r\n\r\n <div\r\n className={combineClassNames(classMap.body, bodyClassName)}\r\n role=\"group\"\r\n aria-describedby={description ? descriptionId : undefined}\r\n >\r\n {renderContent ? (\r\n renderContent()\r\n ) : (\r\n <>\r\n {description && (\r\n <p id={descriptionId} className={classMap.description}>\r\n {description}\r\n </p>\r\n )}\r\n {children && (\r\n <div className={classMap.children}>{children}</div>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n\r\n {(actionButtons.length > 0 || renderFooter) && (\r\n <div\r\n className={combineClassNames(classMap.footer, footerClassName)}\r\n >\r\n {actionButtons.length > 0 && (\r\n <div className={classMap.actions}>\r\n {actionButtons.map((button, index) =>\r\n useIconButtons && button.icon ? (\r\n <button.iconButtonComponent\r\n key={index}\r\n icon={button.icon}\r\n onClick={button.onClick}\r\n className={classMap.action_button}\r\n theme={button.theme || \"clear\"}\r\n state={button.state || \"\"}\r\n aria-label={button.label}\r\n size={button.size || size}\r\n href={button.href}\r\n loading={button.loading}\r\n />\r\n ) : (\r\n <button.buttonComponent\r\n key={index}\r\n onClick={button.onClick}\r\n className={classMap.action_button}\r\n theme={button.theme || \"secondary\"}\r\n state={button.state || \"\"}\r\n href={button.href}\r\n loading={button.loading}\r\n size={button.size || size}\r\n >\r\n {button.label}\r\n </button.buttonComponent>\r\n )\r\n )}\r\n </div>\r\n )}\r\n {renderFooter && renderFooter()}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nCardBase.displayName = \"CardBase\";\r\n\r\nexport default CardBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Image from \"next/image\";\r\nimport { Button, IconButton, Skeleton } from \"../../../index.next\";\r\nimport styles from \"./Card.module.scss\";\r\nimport CardBase from \"../CardBase\";\r\nimport { CardProps } from \"../Card.types\";\r\n\r\nconst NextImageWrapper: React.FC<React.ComponentProps<typeof Image>> = (\r\n props\r\n) => {\r\n return <Image {...props} />;\r\n};\r\n\r\nconst Card: React.FC<CardProps> = (props) => {\r\n const wrappedButtons = (props.actionButtons ?? []).map((b) => ({\r\n ...b,\r\n buttonComponent: Button,\r\n iconButtonComponent: IconButton,\r\n }));\r\n\r\n return (\r\n <CardBase\r\n {...props}\r\n actionButtons={wrappedButtons}\r\n classMap={styles}\r\n SkeletonComponent={Skeleton}\r\n ImageComponent={NextImageWrapper}\r\n />\r\n );\r\n};\r\n\r\nexport default Card;\r\n"],"names":["title","description","outline","loading","children","Skeleton"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Chip-C7w9CTed.cjs","sources":["../../src/components/Chip/ChipBase.tsx","../../src/components/Chip/next/Chip.tsx"],"sourcesContent":["import { useCallback, useEffect, useState, KeyboardEvent } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport { ChipBaseProps } from \"./Chip.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst ChipBase: React.FC<ChipBaseProps> = ({\r\n id,\r\n message,\r\n visible,\r\n onClose,\r\n icon: Icon,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n position = \"topCenter\",\r\n usePortal = true,\r\n className = \"\",\r\n autoClose = true,\r\n duration = 3000,\r\n closeIcon: CloseIcon,\r\n IconButtonComponent,\r\n classMap,\r\n stackIndex,\r\n \"data-testid\": testId = \"chip\",\r\n}) => {\r\n const [closing, setClosing] = useState(false);\r\n\r\n const handleClose = useCallback(() => {\r\n setClosing(true);\r\n setTimeout(() => onClose?.(), 300);\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (autoClose && visible) {\r\n const timer = setTimeout(() => handleClose(), duration);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [autoClose, duration, visible, handleClose]);\r\n\r\n useEffect(() => {\r\n if (visible) setClosing(false);\r\n }, [visible]);\r\n\r\n useEffect(() => {\r\n if (!visible) return;\r\n const onKey = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") handleClose();\r\n };\r\n window.addEventListener(\"keydown\", onKey);\r\n return () => window.removeEventListener(\"keydown\", onKey);\r\n }, [visible, handleClose]);\r\n\r\n if (!visible && !closing) return null;\r\n\r\n const chipClassName = combineClassNames(\r\n classMap.chip,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n classMap[position],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n closing && classMap.fadeout,\r\n usePortal && classMap.fixed,\r\n className\r\n );\r\n\r\n const isAssertive = state === \"error\" || state === \"warning\";\r\n\r\n const portalEl =\r\n typeof window !== \"undefined\"\r\n ? document.getElementById(\"widget-portal\")\r\n : null;\r\n\r\n const chipElement = (\r\n <div\r\n key={id}\r\n className={chipClassName}\r\n role=\"alert\"\r\n aria-live=\"assertive\"\r\n aria-atomic=\"true\"\r\n data-testid={testId}\r\n style={stackIndex != null ? { zIndex: stackIndex } : undefined}\r\n >\r\n {Icon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <Icon className={classMap.inner_icon} />\r\n </span>\r\n )}\r\n <span className={classMap.message} id={`${testId}-message`}>\r\n {message}\r\n </span>\r\n\r\n <IconButtonComponent\r\n icon={CloseIcon}\r\n size={size}\r\n theme=\"clear\"\r\n ariaLabel=\"Close notification\"\r\n aria-controls={`${testId}-message`}\r\n className={classMap.close}\r\n onClick={handleClose}\r\n shadow=\"none\"\r\n data-testid={`${testId}-chip-close`}\r\n />\r\n </div>\r\n );\r\n\r\n if (usePortal && portalEl) {\r\n return createPortal(chipElement, portalEl);\r\n }\r\n\r\n return chipElement;\r\n};\r\n\r\nChipBase.displayName = \"ChipBase\";\r\nexport default ChipBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport ChipBase from \"../ChipBase\";\r\nimport { CloseIcon } from \"@/Icons\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport styles from \"./Chip.module.scss\";\r\nimport { ChipProps } from \"../Chip.types\";\r\n\r\nconst Chip: React.FC<ChipProps> = (props) => (\r\n <ChipBase\r\n {...props}\r\n classMap={styles}\r\n IconButtonComponent={IconButton}\r\n closeIcon={CloseIcon}\r\n />\r\n);\r\n\r\nexport default Chip;\r\n"],"names":["message","getDefaultSize","getDefaultTheme","getDefaultRounding","getDefaultShadow","CloseIcon","useState","useCallback","useEffect","combineClassNames","capitalize","jsxs","jsx","createPortal","IconButton"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Chip-Qa_1km99.js","sources":["../../src/components/Chip/ChipBase.tsx","../../src/components/Chip/next/Chip.tsx"],"sourcesContent":["import { useCallback, useEffect, useState, KeyboardEvent } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport { ChipBaseProps } from \"./Chip.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst ChipBase: React.FC<ChipBaseProps> = ({\r\n id,\r\n message,\r\n visible,\r\n onClose,\r\n icon: Icon,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n position = \"topCenter\",\r\n usePortal = true,\r\n className = \"\",\r\n autoClose = true,\r\n duration = 3000,\r\n closeIcon: CloseIcon,\r\n IconButtonComponent,\r\n classMap,\r\n stackIndex,\r\n \"data-testid\": testId = \"chip\",\r\n}) => {\r\n const [closing, setClosing] = useState(false);\r\n\r\n const handleClose = useCallback(() => {\r\n setClosing(true);\r\n setTimeout(() => onClose?.(), 300);\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (autoClose && visible) {\r\n const timer = setTimeout(() => handleClose(), duration);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [autoClose, duration, visible, handleClose]);\r\n\r\n useEffect(() => {\r\n if (visible) setClosing(false);\r\n }, [visible]);\r\n\r\n useEffect(() => {\r\n if (!visible) return;\r\n const onKey = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") handleClose();\r\n };\r\n window.addEventListener(\"keydown\", onKey);\r\n return () => window.removeEventListener(\"keydown\", onKey);\r\n }, [visible, handleClose]);\r\n\r\n if (!visible && !closing) return null;\r\n\r\n const chipClassName = combineClassNames(\r\n classMap.chip,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n classMap[position],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n closing && classMap.fadeout,\r\n usePortal && classMap.fixed,\r\n className\r\n );\r\n\r\n const isAssertive = state === \"error\" || state === \"warning\";\r\n\r\n const portalEl =\r\n typeof window !== \"undefined\"\r\n ? document.getElementById(\"widget-portal\")\r\n : null;\r\n\r\n const chipElement = (\r\n <div\r\n key={id}\r\n className={chipClassName}\r\n role=\"alert\"\r\n aria-live=\"assertive\"\r\n aria-atomic=\"true\"\r\n data-testid={testId}\r\n style={stackIndex != null ? { zIndex: stackIndex } : undefined}\r\n >\r\n {Icon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <Icon className={classMap.inner_icon} />\r\n </span>\r\n )}\r\n <span className={classMap.message} id={`${testId}-message`}>\r\n {message}\r\n </span>\r\n\r\n <IconButtonComponent\r\n icon={CloseIcon}\r\n size={size}\r\n theme=\"clear\"\r\n ariaLabel=\"Close notification\"\r\n aria-controls={`${testId}-message`}\r\n className={classMap.close}\r\n onClick={handleClose}\r\n shadow=\"none\"\r\n data-testid={`${testId}-chip-close`}\r\n />\r\n </div>\r\n );\r\n\r\n if (usePortal && portalEl) {\r\n return createPortal(chipElement, portalEl);\r\n }\r\n\r\n return chipElement;\r\n};\r\n\r\nChipBase.displayName = \"ChipBase\";\r\nexport default ChipBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport ChipBase from \"../ChipBase\";\r\nimport { CloseIcon } from \"@/Icons\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport styles from \"./Chip.module.scss\";\r\nimport { ChipProps } from \"../Chip.types\";\r\n\r\nconst Chip: React.FC<ChipProps> = (props) => (\r\n <ChipBase\r\n {...props}\r\n classMap={styles}\r\n IconButtonComponent={IconButton}\r\n closeIcon={CloseIcon}\r\n />\r\n);\r\n\r\nexport default Chip;\r\n"],"names":["message","CloseIcon"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DateTimePicker-BJnnZBgd.js","sources":["../../src/Icons/CalendarIcon.tsx","../../src/components/DateTimePicker/DateTimePickerBase.tsx","../../src/components/DateTimePicker/next/DateTimePicker.tsx"],"sourcesContent":["const CalendarIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M15 4V2M15 4V6M15 4H10.5M3 10V19C3 20.1046 3.89543 21 5 21H19C20.1046 21 21 20.1046 21 19V10H3Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M3 10V6C3 4.89543 3.89543 4 5 4H7\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M7 2V6\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M21 10V6C21 4.89543 20.1046 4 19 4H18.5\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default CalendarIcon;\r\n","import React, { useId, useMemo, useRef } from \"react\";\r\nimport {\r\n DateTimePickerBaseProps,\r\n DateTimePickerProps,\r\n} from \"./DateTimePicker.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { CalendarIcon } from \"../../Icons\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst DateTimePickerBase: React.FC<DateTimePickerBaseProps> = ({\r\n label,\r\n value,\r\n onChange,\r\n min,\r\n max,\r\n name,\r\n required = false,\r\n disabled = false,\r\n size = getDefaultSize(),\r\n outline,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n \"data-testid\": testId = \"datetime-picker\",\r\n classMap,\r\n error,\r\n description,\r\n id,\r\n}) => {\r\n const generatedId = useId();\r\n const inputId = id || generatedId;\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n\r\n const descriptionId = description ? `${inputId}-description` : undefined;\r\n const errorId = error ? `${inputId}-error` : undefined;\r\n\r\n const invalidRange = min && max ? min > max : false;\r\n const outOfBounds = value\r\n ? (min ? value < min : false) || (max ? value > max : false)\r\n : false;\r\n\r\n const openPicker = () => {\r\n const el = inputRef.current;\r\n if (!el) return;\r\n if (typeof el.showPicker === \"function\") el.showPicker();\r\n else el.focus();\r\n };\r\n\r\n const pickerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n className\r\n ),\r\n [\r\n classMap,\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n outline,\r\n disabled,\r\n className,\r\n ]\r\n );\r\n\r\n const describedBy =\r\n [descriptionId, errorId].filter(Boolean).join(\" \") || undefined;\r\n\r\n return (\r\n <div className={pickerClass} data-testid={testId}>\r\n {label && (\r\n <label htmlFor={inputId} className={classMap.label}>\r\n {label} {required && <span aria-hidden=\"true\">*</span>}\r\n </label>\r\n )}\r\n\r\n <div className={classMap.inputWrapper}>\r\n <input\r\n id={inputId}\r\n type=\"datetime-local\"\r\n className={classMap.input}\r\n value={value}\r\n onChange={(e) => onChange?.(e.target.value)}\r\n min={min}\r\n max={max}\r\n name={name}\r\n ref={inputRef}\r\n required={required}\r\n disabled={disabled}\r\n aria-invalid={\r\n Boolean(error) || invalidRange || outOfBounds || undefined\r\n }\r\n aria-describedby={describedBy}\r\n aria-errormessage={error ? errorId : undefined}\r\n aria-label={label || \"Date and time\"}\r\n data-testid={`${testId}-input`}\r\n autoComplete=\"off\"\r\n />\r\n\r\n <button\r\n type=\"button\"\r\n className={classMap.icon}\r\n onClick={openPicker}\r\n disabled={disabled}\r\n aria-label=\"Open date and time picker\"\r\n data-testid={`${testId}-button`}\r\n >\r\n <CalendarIcon />\r\n </button>\r\n </div>\r\n\r\n {description && !error && (\r\n <p id={descriptionId} className={classMap.description}>\r\n {description}\r\n </p>\r\n )}\r\n\r\n {error && (\r\n <p id={errorId} className={classMap.error} role=\"alert\">\r\n {error}\r\n </p>\r\n )}\r\n </div>\r\n );\r\n};\r\nDateTimePickerBase.displayName = \"DateTimePickerBase\";\r\nexport default DateTimePickerBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport DateTimePickerBase from \"../DateTimePickerBase\";\r\nimport styles from \"./DateTimePicker.module.scss\";\r\nimport type { DateTimePickerProps } from \"../DateTimePicker.types\";\r\n\r\nconst DateTimePicker: React.FC<DateTimePickerProps> = (props) => (\r\n <DateTimePickerBase {...props} classMap={styles} />\r\n);\r\n\r\nexport default DateTimePicker;\r\n"],"names":["label","disabled","outline","error","description"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DateTimePicker-DivMR4Oe.cjs","sources":["../../src/Icons/CalendarIcon.tsx","../../src/components/DateTimePicker/DateTimePickerBase.tsx","../../src/components/DateTimePicker/next/DateTimePicker.tsx"],"sourcesContent":["const CalendarIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M15 4V2M15 4V6M15 4H10.5M3 10V19C3 20.1046 3.89543 21 5 21H19C20.1046 21 21 20.1046 21 19V10H3Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M3 10V6C3 4.89543 3.89543 4 5 4H7\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M7 2V6\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M21 10V6C21 4.89543 20.1046 4 19 4H18.5\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default CalendarIcon;\r\n","import React, { useId, useMemo, useRef } from \"react\";\r\nimport {\r\n DateTimePickerBaseProps,\r\n DateTimePickerProps,\r\n} from \"./DateTimePicker.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { CalendarIcon } from \"../../Icons\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst DateTimePickerBase: React.FC<DateTimePickerBaseProps> = ({\r\n label,\r\n value,\r\n onChange,\r\n min,\r\n max,\r\n name,\r\n required = false,\r\n disabled = false,\r\n size = getDefaultSize(),\r\n outline,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n \"data-testid\": testId = \"datetime-picker\",\r\n classMap,\r\n error,\r\n description,\r\n id,\r\n}) => {\r\n const generatedId = useId();\r\n const inputId = id || generatedId;\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n\r\n const descriptionId = description ? `${inputId}-description` : undefined;\r\n const errorId = error ? `${inputId}-error` : undefined;\r\n\r\n const invalidRange = min && max ? min > max : false;\r\n const outOfBounds = value\r\n ? (min ? value < min : false) || (max ? value > max : false)\r\n : false;\r\n\r\n const openPicker = () => {\r\n const el = inputRef.current;\r\n if (!el) return;\r\n if (typeof el.showPicker === \"function\") el.showPicker();\r\n else el.focus();\r\n };\r\n\r\n const pickerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n className\r\n ),\r\n [\r\n classMap,\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n outline,\r\n disabled,\r\n className,\r\n ]\r\n );\r\n\r\n const describedBy =\r\n [descriptionId, errorId].filter(Boolean).join(\" \") || undefined;\r\n\r\n return (\r\n <div className={pickerClass} data-testid={testId}>\r\n {label && (\r\n <label htmlFor={inputId} className={classMap.label}>\r\n {label} {required && <span aria-hidden=\"true\">*</span>}\r\n </label>\r\n )}\r\n\r\n <div className={classMap.inputWrapper}>\r\n <input\r\n id={inputId}\r\n type=\"datetime-local\"\r\n className={classMap.input}\r\n value={value}\r\n onChange={(e) => onChange?.(e.target.value)}\r\n min={min}\r\n max={max}\r\n name={name}\r\n ref={inputRef}\r\n required={required}\r\n disabled={disabled}\r\n aria-invalid={\r\n Boolean(error) || invalidRange || outOfBounds || undefined\r\n }\r\n aria-describedby={describedBy}\r\n aria-errormessage={error ? errorId : undefined}\r\n aria-label={label || \"Date and time\"}\r\n data-testid={`${testId}-input`}\r\n autoComplete=\"off\"\r\n />\r\n\r\n <button\r\n type=\"button\"\r\n className={classMap.icon}\r\n onClick={openPicker}\r\n disabled={disabled}\r\n aria-label=\"Open date and time picker\"\r\n data-testid={`${testId}-button`}\r\n >\r\n <CalendarIcon />\r\n </button>\r\n </div>\r\n\r\n {description && !error && (\r\n <p id={descriptionId} className={classMap.description}>\r\n {description}\r\n </p>\r\n )}\r\n\r\n {error && (\r\n <p id={errorId} className={classMap.error} role=\"alert\">\r\n {error}\r\n </p>\r\n )}\r\n </div>\r\n );\r\n};\r\nDateTimePickerBase.displayName = \"DateTimePickerBase\";\r\nexport default DateTimePickerBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport DateTimePickerBase from \"../DateTimePickerBase\";\r\nimport styles from \"./DateTimePicker.module.scss\";\r\nimport type { DateTimePickerProps } from \"../DateTimePicker.types\";\r\n\r\nconst DateTimePicker: React.FC<DateTimePickerProps> = (props) => (\r\n <DateTimePickerBase {...props} classMap={styles} />\r\n);\r\n\r\nexport default DateTimePicker;\r\n"],"names":["jsxs","jsx","label","disabled","getDefaultSize","outline","getDefaultTheme","getDefaultRounding","getDefaultShadow","error","description","useId","useRef","useMemo","combineClassNames","capitalize"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dropdown-BbdsK4H6.cjs","sources":["../../src/Icons/MenuIcon.tsx","../../src/components/Dropdown/DropdownBase.tsx","../../src/components/Dropdown/next/Dropdown.tsx"],"sourcesContent":["const MenuIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 5H21\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M3 12H21\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M3 19H21\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default MenuIcon;\r\n","import React, {\r\n useState,\r\n useRef,\r\n useEffect,\r\n useCallback,\r\n KeyboardEvent,\r\n useId,\r\n JSX,\r\n ComponentType,\r\n useMemo,\r\n} from \"react\";\r\nimport { BaseDropdownProps, DropdownProps } from \"./Dropdown.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport MenuIcon from \"../../Icons/MenuIcon\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseDropdown: React.FC<BaseDropdownProps> = ({\r\n triggerIcon,\r\n items,\r\n align = \"right\",\r\n className = \"\",\r\n menuClassName = \"\",\r\n ariaLabel = \"Dropdown menu\",\r\n theme = getDefaultTheme(),\r\n toggleRounding = getDefaultRounding(),\r\n menuRounding = getDefaultRounding(),\r\n toggleShadow = getDefaultShadow(),\r\n menuShadow = getDefaultShadow(),\r\n toggleOutline = false,\r\n state = \"\",\r\n \"data-testid\": testId = \"dropdown\",\r\n IconButton,\r\n classMap,\r\n}: BaseDropdownProps): JSX.Element => {\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n const dropdownRef = useRef<HTMLDivElement>(null);\r\n const menuRef = useRef<HTMLDivElement>(null);\r\n const triggerRef = useRef<HTMLElement | null>(null);\r\n const menuId = useId();\r\n\r\n const Icon = triggerIcon ?? MenuIcon;\r\n\r\n const toggleDropdown = () => setOpen((prev) => !prev);\r\n const closeDropdown = () => {\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n triggerRef.current?.focus?.();\r\n };\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n const menuItems =\r\n menuRef.current?.querySelectorAll<HTMLElement>('[role=\"menuitem\"]');\r\n if (menuItems && menuItems.length > 0) {\r\n setActiveIndex(0);\r\n } else {\r\n setActiveIndex(-1);\r\n }\r\n }, [open]);\r\n\r\n useEffect(() => {\r\n if (!open || activeIndex < 0) return;\r\n const menuItems =\r\n menuRef.current?.querySelectorAll<HTMLElement>('[role=\"menuitem\"]');\r\n menuItems?.[activeIndex]?.focus();\r\n }, [activeIndex, open]);\r\n\r\n useEffect(() => {\r\n const handleClickOutside = (e: MouseEvent) => {\r\n if (\r\n dropdownRef.current &&\r\n !dropdownRef.current.contains(e.target as Node)\r\n ) {\r\n closeDropdown();\r\n }\r\n };\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n\r\n if (open && menuRef.current) {\r\n const rect = menuRef.current.getBoundingClientRect();\r\n const right = rect.right > window.innerWidth;\r\n const left = rect.left < 0;\r\n if (right) {\r\n menuRef.current.setAttribute(\"data-overflow-right\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n } else if (left) {\r\n menuRef.current.setAttribute(\"data-overflow-left\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n } else {\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n }\r\n }\r\n\r\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\r\n }, [open]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (!open) return;\r\n\r\n const len = items.length;\r\n const hasItems = len > 0;\r\n\r\n if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n closeDropdown();\r\n return;\r\n }\r\n if (e.key === \"Tab\") {\r\n closeDropdown();\r\n return;\r\n }\r\n\r\n if (!hasItems) return;\r\n\r\n if (e.key === \"ArrowDown\") {\r\n e.preventDefault();\r\n setActiveIndex((prev) => (prev < 0 ? 0 : (prev + 1) % len));\r\n } else if (e.key === \"ArrowUp\") {\r\n e.preventDefault();\r\n setActiveIndex((prev) => (prev < 0 ? len - 1 : (prev - 1 + len) % len));\r\n } else if (e.key === \"Home\") {\r\n e.preventDefault();\r\n setActiveIndex(0);\r\n } else if (e.key === \"End\") {\r\n e.preventDefault();\r\n setActiveIndex(len - 1);\r\n } else if ((e.key === \"Enter\" || e.key === \" \") && activeIndex >= 0) {\r\n const item = items[activeIndex];\r\n if (item) {\r\n item.onClick?.();\r\n closeDropdown();\r\n }\r\n }\r\n },\r\n [open, items, activeIndex]\r\n );\r\n\r\n const menuClassNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.menu,\r\n align === \"right\" ? classMap.alignRight : classMap.alignLeft,\r\n menuShadow && classMap[`shadow${capitalize(menuShadow)}`],\r\n menuRounding && classMap[`round${capitalize(menuRounding)}`],\r\n menuClassName\r\n ),\r\n [classMap, align, menuShadow, menuRounding, menuClassName]\r\n );\r\n\r\n return (\r\n <div\r\n ref={dropdownRef}\r\n className={combineClassNames(classMap.wrapper, className)}\r\n onKeyDown={handleKeyDown}\r\n data-testid={testId}\r\n >\r\n <IconButton\r\n ref={triggerRef as any}\r\n icon={Icon}\r\n ariaLabel={ariaLabel}\r\n aria-haspopup=\"menu\"\r\n aria-expanded={open}\r\n aria-controls={menuId}\r\n rounding={toggleRounding}\r\n shadow={toggleShadow}\r\n outline={toggleOutline}\r\n theme={theme}\r\n state={state}\r\n onClick={toggleDropdown}\r\n data-testid={`${testId}-trigger`}\r\n />\r\n\r\n {open && (\r\n <div\r\n id={menuId}\r\n ref={menuRef}\r\n role=\"menu\"\r\n aria-label={ariaLabel}\r\n aria-orientation=\"vertical\"\r\n className={menuClassNames}\r\n data-testid={`${testId}-menu`}\r\n >\r\n {items.map((item, index) =>\r\n item.href ? (\r\n <a\r\n key={index}\r\n href={item.href}\r\n className={classMap.item}\r\n role=\"menuitem\"\r\n tabIndex={-1}\r\n onClick={() => {\r\n item.onClick?.();\r\n closeDropdown();\r\n }}\r\n data-testid={item[\"data-testid\"]}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </a>\r\n ) : (\r\n <button\r\n key={index}\r\n type=\"button\"\r\n role=\"menuitem\"\r\n tabIndex={-1}\r\n className={classMap.item}\r\n onClick={() => {\r\n item.onClick?.();\r\n closeDropdown();\r\n }}\r\n data-testid={item[\"data-testid\"]}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </button>\r\n )\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\nBaseDropdown.displayName = \"BaseDropdown\";\r\nexport default BaseDropdown;\r\n","\"use client\";\r\nimport React from \"react\";\r\nimport BaseDropdown from \"../DropdownBase\";\r\nimport { DropdownProps } from \"../Dropdown.types\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport styles from \"./Dropdown.module.scss\";\r\n\r\nconst Dropdown: React.FC<DropdownProps> = (props) => {\r\n return <BaseDropdown {...props} IconButton={IconButton} classMap={styles} />;\r\n};\r\n\r\nexport default Dropdown;\r\n"],"names":["jsxs","jsx","getDefaultTheme","getDefaultRounding","getDefaultShadow","IconButton","useState","useRef","useId","useEffect","useCallback","item","useMemo","combineClassNames","capitalize"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dropdown-BvUfz8G7.js","sources":["../../src/Icons/MenuIcon.tsx","../../src/components/Dropdown/DropdownBase.tsx","../../src/components/Dropdown/next/Dropdown.tsx"],"sourcesContent":["const MenuIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 5H21\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M3 12H21\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M3 19H21\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default MenuIcon;\r\n","import React, {\r\n useState,\r\n useRef,\r\n useEffect,\r\n useCallback,\r\n KeyboardEvent,\r\n useId,\r\n JSX,\r\n ComponentType,\r\n useMemo,\r\n} from \"react\";\r\nimport { BaseDropdownProps, DropdownProps } from \"./Dropdown.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport MenuIcon from \"../../Icons/MenuIcon\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseDropdown: React.FC<BaseDropdownProps> = ({\r\n triggerIcon,\r\n items,\r\n align = \"right\",\r\n className = \"\",\r\n menuClassName = \"\",\r\n ariaLabel = \"Dropdown menu\",\r\n theme = getDefaultTheme(),\r\n toggleRounding = getDefaultRounding(),\r\n menuRounding = getDefaultRounding(),\r\n toggleShadow = getDefaultShadow(),\r\n menuShadow = getDefaultShadow(),\r\n toggleOutline = false,\r\n state = \"\",\r\n \"data-testid\": testId = \"dropdown\",\r\n IconButton,\r\n classMap,\r\n}: BaseDropdownProps): JSX.Element => {\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n const dropdownRef = useRef<HTMLDivElement>(null);\r\n const menuRef = useRef<HTMLDivElement>(null);\r\n const triggerRef = useRef<HTMLElement | null>(null);\r\n const menuId = useId();\r\n\r\n const Icon = triggerIcon ?? MenuIcon;\r\n\r\n const toggleDropdown = () => setOpen((prev) => !prev);\r\n const closeDropdown = () => {\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n triggerRef.current?.focus?.();\r\n };\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n const menuItems =\r\n menuRef.current?.querySelectorAll<HTMLElement>('[role=\"menuitem\"]');\r\n if (menuItems && menuItems.length > 0) {\r\n setActiveIndex(0);\r\n } else {\r\n setActiveIndex(-1);\r\n }\r\n }, [open]);\r\n\r\n useEffect(() => {\r\n if (!open || activeIndex < 0) return;\r\n const menuItems =\r\n menuRef.current?.querySelectorAll<HTMLElement>('[role=\"menuitem\"]');\r\n menuItems?.[activeIndex]?.focus();\r\n }, [activeIndex, open]);\r\n\r\n useEffect(() => {\r\n const handleClickOutside = (e: MouseEvent) => {\r\n if (\r\n dropdownRef.current &&\r\n !dropdownRef.current.contains(e.target as Node)\r\n ) {\r\n closeDropdown();\r\n }\r\n };\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n\r\n if (open && menuRef.current) {\r\n const rect = menuRef.current.getBoundingClientRect();\r\n const right = rect.right > window.innerWidth;\r\n const left = rect.left < 0;\r\n if (right) {\r\n menuRef.current.setAttribute(\"data-overflow-right\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n } else if (left) {\r\n menuRef.current.setAttribute(\"data-overflow-left\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n } else {\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n }\r\n }\r\n\r\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\r\n }, [open]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (!open) return;\r\n\r\n const len = items.length;\r\n const hasItems = len > 0;\r\n\r\n if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n closeDropdown();\r\n return;\r\n }\r\n if (e.key === \"Tab\") {\r\n closeDropdown();\r\n return;\r\n }\r\n\r\n if (!hasItems) return;\r\n\r\n if (e.key === \"ArrowDown\") {\r\n e.preventDefault();\r\n setActiveIndex((prev) => (prev < 0 ? 0 : (prev + 1) % len));\r\n } else if (e.key === \"ArrowUp\") {\r\n e.preventDefault();\r\n setActiveIndex((prev) => (prev < 0 ? len - 1 : (prev - 1 + len) % len));\r\n } else if (e.key === \"Home\") {\r\n e.preventDefault();\r\n setActiveIndex(0);\r\n } else if (e.key === \"End\") {\r\n e.preventDefault();\r\n setActiveIndex(len - 1);\r\n } else if ((e.key === \"Enter\" || e.key === \" \") && activeIndex >= 0) {\r\n const item = items[activeIndex];\r\n if (item) {\r\n item.onClick?.();\r\n closeDropdown();\r\n }\r\n }\r\n },\r\n [open, items, activeIndex]\r\n );\r\n\r\n const menuClassNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.menu,\r\n align === \"right\" ? classMap.alignRight : classMap.alignLeft,\r\n menuShadow && classMap[`shadow${capitalize(menuShadow)}`],\r\n menuRounding && classMap[`round${capitalize(menuRounding)}`],\r\n menuClassName\r\n ),\r\n [classMap, align, menuShadow, menuRounding, menuClassName]\r\n );\r\n\r\n return (\r\n <div\r\n ref={dropdownRef}\r\n className={combineClassNames(classMap.wrapper, className)}\r\n onKeyDown={handleKeyDown}\r\n data-testid={testId}\r\n >\r\n <IconButton\r\n ref={triggerRef as any}\r\n icon={Icon}\r\n ariaLabel={ariaLabel}\r\n aria-haspopup=\"menu\"\r\n aria-expanded={open}\r\n aria-controls={menuId}\r\n rounding={toggleRounding}\r\n shadow={toggleShadow}\r\n outline={toggleOutline}\r\n theme={theme}\r\n state={state}\r\n onClick={toggleDropdown}\r\n data-testid={`${testId}-trigger`}\r\n />\r\n\r\n {open && (\r\n <div\r\n id={menuId}\r\n ref={menuRef}\r\n role=\"menu\"\r\n aria-label={ariaLabel}\r\n aria-orientation=\"vertical\"\r\n className={menuClassNames}\r\n data-testid={`${testId}-menu`}\r\n >\r\n {items.map((item, index) =>\r\n item.href ? (\r\n <a\r\n key={index}\r\n href={item.href}\r\n className={classMap.item}\r\n role=\"menuitem\"\r\n tabIndex={-1}\r\n onClick={() => {\r\n item.onClick?.();\r\n closeDropdown();\r\n }}\r\n data-testid={item[\"data-testid\"]}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </a>\r\n ) : (\r\n <button\r\n key={index}\r\n type=\"button\"\r\n role=\"menuitem\"\r\n tabIndex={-1}\r\n className={classMap.item}\r\n onClick={() => {\r\n item.onClick?.();\r\n closeDropdown();\r\n }}\r\n data-testid={item[\"data-testid\"]}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </button>\r\n )\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\nBaseDropdown.displayName = \"BaseDropdown\";\r\nexport default BaseDropdown;\r\n","\"use client\";\r\nimport React from \"react\";\r\nimport BaseDropdown from \"../DropdownBase\";\r\nimport { DropdownProps } from \"../Dropdown.types\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport styles from \"./Dropdown.module.scss\";\r\n\r\nconst Dropdown: React.FC<DropdownProps> = (props) => {\r\n return <BaseDropdown {...props} IconButton={IconButton} classMap={styles} />;\r\n};\r\n\r\nexport default Dropdown;\r\n"],"names":["IconButton","item"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Footer-C98DQNB3.cjs","sources":["../../src/components/Select/ThemeSelect/next/ThemeSelect.tsx","../../src/components/Footer/FooterBase.tsx","../../src/components/Footer/next/Footer.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { useContext, useMemo } from \"react\";\r\nimport { getAllColorSchemes } from \"../../../../styles/colorSchemeRegistry\";\r\nimport { Select } from \"@/index.next\";\r\nimport { ThemeContext } from \"../../../../context/ThemeContext\";\r\nimport { RoundingType, ShadowType, StateType, ThemeType } from \"@/types/types\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"@/config/boreal-style-config\";\r\n\r\ninterface ThemeSelectProps {\r\n theme?: ThemeType;\r\n shadow?: ShadowType;\r\n rounding?: RoundingType;\r\n \"data-testid\"?: string;\r\n state?: StateType;\r\n}\r\n\r\nconst UserThemeSettings: React.FC<ThemeSelectProps> = ({\r\n theme = getDefaultTheme(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n state = \"\",\r\n \"data-testid\": testId = \"theme-select\",\r\n}) => {\r\n const ctx = useContext(ThemeContext);\r\n if (!ctx)\r\n throw new Error(\"ThemeContext is undefined. Wrap with ThemeProvider.\");\r\n\r\n const { selectedScheme, setSelectedScheme, schemes } = ctx;\r\n\r\n const options = useMemo(\r\n () =>\r\n schemes.map((scheme, index) => ({\r\n value: String(index),\r\n label: scheme.name,\r\n })),\r\n [schemes]\r\n );\r\n\r\n return (\r\n <div className={`control-container`}>\r\n <Select\r\n theme={theme}\r\n state={state}\r\n shadow={shadow}\r\n rounding={rounding}\r\n options={options}\r\n data-testid={testId}\r\n value={String(selectedScheme)}\r\n ariaLabel=\"Select Theme\"\r\n onChange={(value: string | number) =>\r\n setSelectedScheme(parseInt(String(value), 10))\r\n }\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default UserThemeSettings;\r\n","import React, { useMemo } from \"react\";\r\nimport { BaseFooterProps } from \"./Footer.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { getDefaultTheme } from \"../../config/boreal-style-config\";\r\nimport { capitalize } from \"@/utils/capitalize\";\r\n\r\nconst FooterBase: React.FC<BaseFooterProps> = ({\r\n theme = getDefaultTheme(),\r\n attachment = \"static\",\r\n shadow = \"none\",\r\n rounding = \"none\",\r\n className = \"\",\r\n \"data-testid\": testId = \"footer\",\r\n copyright,\r\n links = [],\r\n logo,\r\n socialLinks = [],\r\n showThemeSelect = false,\r\n IconButton,\r\n ImageComponent = \"img\",\r\n ThemeSelect,\r\n classMap,\r\n LinkWrapper = ({ href, children, ...rest }) => (\r\n <a href={href} {...rest}>\r\n {children}\r\n </a>\r\n ),\r\n}) => {\r\n const footerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.footer,\r\n classMap[theme],\r\n shadow !== \"none\" && classMap[`shadow${capitalize(shadow)}`],\r\n rounding !== \"none\" && classMap[`round${capitalize(rounding)}`],\r\n classMap[`attachment${capitalize(attachment)}`],\r\n className\r\n ),\r\n [classMap, theme, shadow, rounding, attachment, className]\r\n );\r\n\r\n const isImgLike =\r\n typeof logo === \"string\" ||\r\n (typeof logo === \"object\" && logo && \"src\" in logo);\r\n const logoSrc = isImgLike\r\n ? typeof logo === \"string\"\r\n ? logo\r\n : (logo as any).src\r\n : undefined;\r\n const logoW = isImgLike ? ((logo as any)?.width ?? 20) : undefined;\r\n const logoH = isImgLike ? ((logo as any)?.height ?? 20) : undefined;\r\n\r\n return (\r\n <footer className={footerClass} data-testid={testId}>\r\n <div className={classMap.content}>\r\n <div className={classMap.left} data-testid={`${testId}-left`}>\r\n {isImgLike ? (\r\n <ImageComponent\r\n className={classMap.logo}\r\n data-testid={`${testId}-logo`}\r\n loading=\"lazy\"\r\n src={logoSrc}\r\n alt=\"Logo\"\r\n height={logoH}\r\n width={logoW}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.logo}\r\n role=\"img\"\r\n aria-label=\"Logo\"\r\n data-testid={`${testId}-logo`}\r\n >\r\n {logo}\r\n </span>\r\n )}\r\n\r\n {copyright && (\r\n <div\r\n className={classMap.copyright ?? classMap.left}\r\n data-testid={`${testId}-copyright`}\r\n >\r\n <p>{copyright}</p>\r\n </div>\r\n )}\r\n </div>\r\n\r\n {links.length > 0 && (\r\n <nav\r\n className={classMap.links}\r\n aria-label=\"Footer site links\"\r\n data-testid={`${testId}-nav`}\r\n >\r\n <ul>\r\n {links.map((link, i) => {\r\n const slug = (link.label || link.href || `link-${i}`)\r\n .toLowerCase()\r\n .replace(/\\s+/g, \"-\");\r\n return (\r\n <li key={`${link.href ?? slug}-${i}`}>\r\n <LinkWrapper\r\n href={link.href}\r\n className={classMap.link}\r\n data-testid={`${testId}-link-${slug}`}\r\n >\r\n {link.label}\r\n </LinkWrapper>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n )}\r\n\r\n {showThemeSelect && (\r\n <div\r\n className={classMap.themeToggle}\r\n data-testid={`${testId}-theme-select`}\r\n >\r\n <ThemeSelect theme=\"clear\" shadow=\"none\" aria-label=\"Theme\" />\r\n </div>\r\n )}\r\n\r\n {socialLinks.length > 0 && (\r\n <nav\r\n className={classMap.social}\r\n aria-label=\"Social media\"\r\n data-testid={`${testId}-social`}\r\n >\r\n {socialLinks.map((social, index) => (\r\n <IconButton\r\n key={`${social.href ?? social.title}-${index}`}\r\n icon={social.icon}\r\n href={social.href}\r\n isExternal\r\n shadow=\"none\"\r\n ariaLabel={social.title}\r\n title={social.title}\r\n theme=\"clear\"\r\n data-testid={`${testId}-social-${social.title.toLowerCase().replace(/\\s+/g, \"-\")}`}\r\n />\r\n ))}\r\n </nav>\r\n )}\r\n </div>\r\n </footer>\r\n );\r\n};\r\n\r\nFooterBase.displayName = \"FooterBase\";\r\nexport default FooterBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport FooterBase from \"../FooterBase\";\r\nimport { FooterProps } from \"../Footer.types\";\r\nimport { IconButton, ThemeSelect } from \"@/index.next\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./Footer.module.scss\";\r\nimport Image from \"next/image\";\r\n\r\nconst Footer: React.FC<FooterProps> = (props) => {\r\n return (\r\n <FooterBase\r\n {...props}\r\n IconButton={IconButton}\r\n ImageComponent={Image}\r\n ThemeSelect={ThemeSelect}\r\n LinkWrapper={({ href, children, className, ...rest }) => (\r\n <Link href={href} className={className} {...rest}>\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default Footer;\r\n"],"names":["getDefaultTheme","getDefaultShadow","getDefaultRounding","useContext","ThemeContext","useMemo","jsx","Select","links","logo","IconButton","combineClassNames","capitalize","jsxs","link","social","Image","ThemeSelect","Link"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Footer-DhBE3lNY.js","sources":["../../src/components/Select/ThemeSelect/next/ThemeSelect.tsx","../../src/components/Footer/FooterBase.tsx","../../src/components/Footer/next/Footer.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { useContext, useMemo } from \"react\";\r\nimport { getAllColorSchemes } from \"../../../../styles/colorSchemeRegistry\";\r\nimport { Select } from \"@/index.next\";\r\nimport { ThemeContext } from \"../../../../context/ThemeContext\";\r\nimport { RoundingType, ShadowType, StateType, ThemeType } from \"@/types/types\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"@/config/boreal-style-config\";\r\n\r\ninterface ThemeSelectProps {\r\n theme?: ThemeType;\r\n shadow?: ShadowType;\r\n rounding?: RoundingType;\r\n \"data-testid\"?: string;\r\n state?: StateType;\r\n}\r\n\r\nconst UserThemeSettings: React.FC<ThemeSelectProps> = ({\r\n theme = getDefaultTheme(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n state = \"\",\r\n \"data-testid\": testId = \"theme-select\",\r\n}) => {\r\n const ctx = useContext(ThemeContext);\r\n if (!ctx)\r\n throw new Error(\"ThemeContext is undefined. Wrap with ThemeProvider.\");\r\n\r\n const { selectedScheme, setSelectedScheme, schemes } = ctx;\r\n\r\n const options = useMemo(\r\n () =>\r\n schemes.map((scheme, index) => ({\r\n value: String(index),\r\n label: scheme.name,\r\n })),\r\n [schemes]\r\n );\r\n\r\n return (\r\n <div className={`control-container`}>\r\n <Select\r\n theme={theme}\r\n state={state}\r\n shadow={shadow}\r\n rounding={rounding}\r\n options={options}\r\n data-testid={testId}\r\n value={String(selectedScheme)}\r\n ariaLabel=\"Select Theme\"\r\n onChange={(value: string | number) =>\r\n setSelectedScheme(parseInt(String(value), 10))\r\n }\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default UserThemeSettings;\r\n","import React, { useMemo } from \"react\";\r\nimport { BaseFooterProps } from \"./Footer.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { getDefaultTheme } from \"../../config/boreal-style-config\";\r\nimport { capitalize } from \"@/utils/capitalize\";\r\n\r\nconst FooterBase: React.FC<BaseFooterProps> = ({\r\n theme = getDefaultTheme(),\r\n attachment = \"static\",\r\n shadow = \"none\",\r\n rounding = \"none\",\r\n className = \"\",\r\n \"data-testid\": testId = \"footer\",\r\n copyright,\r\n links = [],\r\n logo,\r\n socialLinks = [],\r\n showThemeSelect = false,\r\n IconButton,\r\n ImageComponent = \"img\",\r\n ThemeSelect,\r\n classMap,\r\n LinkWrapper = ({ href, children, ...rest }) => (\r\n <a href={href} {...rest}>\r\n {children}\r\n </a>\r\n ),\r\n}) => {\r\n const footerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.footer,\r\n classMap[theme],\r\n shadow !== \"none\" && classMap[`shadow${capitalize(shadow)}`],\r\n rounding !== \"none\" && classMap[`round${capitalize(rounding)}`],\r\n classMap[`attachment${capitalize(attachment)}`],\r\n className\r\n ),\r\n [classMap, theme, shadow, rounding, attachment, className]\r\n );\r\n\r\n const isImgLike =\r\n typeof logo === \"string\" ||\r\n (typeof logo === \"object\" && logo && \"src\" in logo);\r\n const logoSrc = isImgLike\r\n ? typeof logo === \"string\"\r\n ? logo\r\n : (logo as any).src\r\n : undefined;\r\n const logoW = isImgLike ? ((logo as any)?.width ?? 20) : undefined;\r\n const logoH = isImgLike ? ((logo as any)?.height ?? 20) : undefined;\r\n\r\n return (\r\n <footer className={footerClass} data-testid={testId}>\r\n <div className={classMap.content}>\r\n <div className={classMap.left} data-testid={`${testId}-left`}>\r\n {isImgLike ? (\r\n <ImageComponent\r\n className={classMap.logo}\r\n data-testid={`${testId}-logo`}\r\n loading=\"lazy\"\r\n src={logoSrc}\r\n alt=\"Logo\"\r\n height={logoH}\r\n width={logoW}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.logo}\r\n role=\"img\"\r\n aria-label=\"Logo\"\r\n data-testid={`${testId}-logo`}\r\n >\r\n {logo}\r\n </span>\r\n )}\r\n\r\n {copyright && (\r\n <div\r\n className={classMap.copyright ?? classMap.left}\r\n data-testid={`${testId}-copyright`}\r\n >\r\n <p>{copyright}</p>\r\n </div>\r\n )}\r\n </div>\r\n\r\n {links.length > 0 && (\r\n <nav\r\n className={classMap.links}\r\n aria-label=\"Footer site links\"\r\n data-testid={`${testId}-nav`}\r\n >\r\n <ul>\r\n {links.map((link, i) => {\r\n const slug = (link.label || link.href || `link-${i}`)\r\n .toLowerCase()\r\n .replace(/\\s+/g, \"-\");\r\n return (\r\n <li key={`${link.href ?? slug}-${i}`}>\r\n <LinkWrapper\r\n href={link.href}\r\n className={classMap.link}\r\n data-testid={`${testId}-link-${slug}`}\r\n >\r\n {link.label}\r\n </LinkWrapper>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n )}\r\n\r\n {showThemeSelect && (\r\n <div\r\n className={classMap.themeToggle}\r\n data-testid={`${testId}-theme-select`}\r\n >\r\n <ThemeSelect theme=\"clear\" shadow=\"none\" aria-label=\"Theme\" />\r\n </div>\r\n )}\r\n\r\n {socialLinks.length > 0 && (\r\n <nav\r\n className={classMap.social}\r\n aria-label=\"Social media\"\r\n data-testid={`${testId}-social`}\r\n >\r\n {socialLinks.map((social, index) => (\r\n <IconButton\r\n key={`${social.href ?? social.title}-${index}`}\r\n icon={social.icon}\r\n href={social.href}\r\n isExternal\r\n shadow=\"none\"\r\n ariaLabel={social.title}\r\n title={social.title}\r\n theme=\"clear\"\r\n data-testid={`${testId}-social-${social.title.toLowerCase().replace(/\\s+/g, \"-\")}`}\r\n />\r\n ))}\r\n </nav>\r\n )}\r\n </div>\r\n </footer>\r\n );\r\n};\r\n\r\nFooterBase.displayName = \"FooterBase\";\r\nexport default FooterBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport FooterBase from \"../FooterBase\";\r\nimport { FooterProps } from \"../Footer.types\";\r\nimport { IconButton, ThemeSelect } from \"@/index.next\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./Footer.module.scss\";\r\nimport Image from \"next/image\";\r\n\r\nconst Footer: React.FC<FooterProps> = (props) => {\r\n return (\r\n <FooterBase\r\n {...props}\r\n IconButton={IconButton}\r\n ImageComponent={Image}\r\n ThemeSelect={ThemeSelect}\r\n LinkWrapper={({ href, children, className, ...rest }) => (\r\n <Link href={href} className={className} {...rest}>\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default Footer;\r\n"],"names":["links","logo","IconButton","social","ThemeSelect"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkdownRenderer-ByOcqHm_.cjs","sources":["../../src/components/MarkdownRenderer/MarkdownRendererBase.tsx","../../src/components/MarkdownRenderer/next/MarkdownRenderer.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { marked } from \"marked\";\r\nimport { BaseMarkdownRendererProps } from \"./MarkdownRenderer.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nfunction safeSanitize(html: string): string {\r\n try {\r\n if (typeof window !== \"undefined\" && \"DOMParser\" in window) {\r\n const doc = new DOMParser().parseFromString(html, \"text/html\");\r\n doc\r\n .querySelectorAll(\"script, iframe, object, embed, link, meta\")\r\n .forEach((el) => el.remove());\r\n\r\n doc.body.querySelectorAll<HTMLElement>(\"*\").forEach((el) => {\r\n [...el.attributes].forEach((attr) => {\r\n const name = attr.name.toLowerCase();\r\n const val = attr.value;\r\n if (name.startsWith(\"on\")) el.removeAttribute(attr.name);\r\n if (\r\n (name === \"href\" || name === \"src\") &&\r\n /^\\s*javascript:/i.test(val)\r\n ) {\r\n el.removeAttribute(attr.name);\r\n }\r\n });\r\n });\r\n\r\n return doc.body.innerHTML;\r\n }\r\n } catch {}\r\n\r\n return html\r\n .replace(/<\\/?(script|iframe|object|embed|meta|link)[^>]*>/gi, \"\")\r\n .replace(/\\son[a-z]+=\"[^\"]*\"/gi, \"\")\r\n .replace(/\\s(href|src)\\s*=\\s*\"(?:\\s*javascript:[^\"]*)\"/gi, \"\");\r\n}\r\n\r\nconst escapeHtml = (s: string) =>\r\n s\r\n .replace(/&/g, \"&amp;\")\r\n .replace(/</g, \"&lt;\")\r\n .replace(/>/g, \"&gt;\")\r\n .replace(/\"/g, \"&quot;\")\r\n .replace(/'/g, \"&#39;\");\r\n\r\nconst BaseMarkdownRenderer: React.FC<BaseMarkdownRendererProps> = ({\r\n content,\r\n className = \"\",\r\n language = \"en\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n \"data-testid\": testId = \"markdown-renderer\",\r\n classMap,\r\n sanitizeHtml,\r\n}) => {\r\n const renderer = useMemo(() => {\r\n const r = new marked.Renderer();\r\n\r\n r.link = ({ href, title, text }) => {\r\n const url = href ?? \"#\";\r\n const isExternal = /^https?:\\/\\//i.test(url);\r\n const t = title ? ` title=\"${escapeHtml(title)}\"` : \"\";\r\n const target = isExternal ? ` target=\"_blank\"` : \"\";\r\n const rel = isExternal ? ` rel=\"noopener noreferrer\"` : \"\";\r\n return `<a href=\"${escapeHtml(url)}\"${t}${target}${rel}>${text}</a>`;\r\n };\r\n\r\n r.image = ({ href, title, text }) => {\r\n const url = href ?? \"\";\r\n const t = title ? ` title=\"${escapeHtml(title)}\"` : \"\";\r\n const alt = escapeHtml(text || \"\");\r\n return `<img src=\"${escapeHtml(url)}\"${t} alt=\"${alt}\" loading=\"lazy\" decoding=\"async\" />`;\r\n };\r\n\r\n return r;\r\n }, []);\r\n\r\n const html = useMemo(() => {\r\n const trimmed = (content ?? \"\").trim();\r\n if (!trimmed) return \"\";\r\n\r\n const raw = marked.parse(trimmed, {\r\n async: false,\r\n renderer,\r\n }) as string;\r\n\r\n const sanitize = sanitizeHtml ?? safeSanitize;\r\n return sanitize(raw);\r\n }, [content, renderer, sanitizeHtml]);\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n ),\r\n [classMap, rounding, shadow, className]\r\n );\r\n\r\n if (!html) {\r\n return (\r\n <div className={classMap.empty} data-testid={testId}>\r\n <p>No content available.</p>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n data-testid={testId}\r\n lang={language}\r\n dangerouslySetInnerHTML={{ __html: html }}\r\n />\r\n );\r\n};\r\n\r\nBaseMarkdownRenderer.displayName = \"BaseMarkdownRenderer\";\r\nexport default BaseMarkdownRenderer;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMarkdownRenderer from \"../MarkdownRendererBase\";\r\nimport styles from \"./MarkdownRenderer.module.scss\";\r\nimport { MarkdownRendererProps } from \"../MarkdownRenderer.types\";\r\n\r\nconst MarkdownRenderer: React.FC<MarkdownRendererProps> = (props) => {\r\n return <BaseMarkdownRenderer {...props} classMap={styles} />;\r\n};\r\n\r\nexport default MarkdownRenderer;\r\n"],"names":["getDefaultRounding","getDefaultShadow","useMemo","marked","combineClassNames","capitalize","jsx"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkdownRenderer-r0prlhyN.js","sources":["../../src/components/MarkdownRenderer/MarkdownRendererBase.tsx","../../src/components/MarkdownRenderer/next/MarkdownRenderer.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { marked } from \"marked\";\r\nimport { BaseMarkdownRendererProps } from \"./MarkdownRenderer.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nfunction safeSanitize(html: string): string {\r\n try {\r\n if (typeof window !== \"undefined\" && \"DOMParser\" in window) {\r\n const doc = new DOMParser().parseFromString(html, \"text/html\");\r\n doc\r\n .querySelectorAll(\"script, iframe, object, embed, link, meta\")\r\n .forEach((el) => el.remove());\r\n\r\n doc.body.querySelectorAll<HTMLElement>(\"*\").forEach((el) => {\r\n [...el.attributes].forEach((attr) => {\r\n const name = attr.name.toLowerCase();\r\n const val = attr.value;\r\n if (name.startsWith(\"on\")) el.removeAttribute(attr.name);\r\n if (\r\n (name === \"href\" || name === \"src\") &&\r\n /^\\s*javascript:/i.test(val)\r\n ) {\r\n el.removeAttribute(attr.name);\r\n }\r\n });\r\n });\r\n\r\n return doc.body.innerHTML;\r\n }\r\n } catch {}\r\n\r\n return html\r\n .replace(/<\\/?(script|iframe|object|embed|meta|link)[^>]*>/gi, \"\")\r\n .replace(/\\son[a-z]+=\"[^\"]*\"/gi, \"\")\r\n .replace(/\\s(href|src)\\s*=\\s*\"(?:\\s*javascript:[^\"]*)\"/gi, \"\");\r\n}\r\n\r\nconst escapeHtml = (s: string) =>\r\n s\r\n .replace(/&/g, \"&amp;\")\r\n .replace(/</g, \"&lt;\")\r\n .replace(/>/g, \"&gt;\")\r\n .replace(/\"/g, \"&quot;\")\r\n .replace(/'/g, \"&#39;\");\r\n\r\nconst BaseMarkdownRenderer: React.FC<BaseMarkdownRendererProps> = ({\r\n content,\r\n className = \"\",\r\n language = \"en\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n \"data-testid\": testId = \"markdown-renderer\",\r\n classMap,\r\n sanitizeHtml,\r\n}) => {\r\n const renderer = useMemo(() => {\r\n const r = new marked.Renderer();\r\n\r\n r.link = ({ href, title, text }) => {\r\n const url = href ?? \"#\";\r\n const isExternal = /^https?:\\/\\//i.test(url);\r\n const t = title ? ` title=\"${escapeHtml(title)}\"` : \"\";\r\n const target = isExternal ? ` target=\"_blank\"` : \"\";\r\n const rel = isExternal ? ` rel=\"noopener noreferrer\"` : \"\";\r\n return `<a href=\"${escapeHtml(url)}\"${t}${target}${rel}>${text}</a>`;\r\n };\r\n\r\n r.image = ({ href, title, text }) => {\r\n const url = href ?? \"\";\r\n const t = title ? ` title=\"${escapeHtml(title)}\"` : \"\";\r\n const alt = escapeHtml(text || \"\");\r\n return `<img src=\"${escapeHtml(url)}\"${t} alt=\"${alt}\" loading=\"lazy\" decoding=\"async\" />`;\r\n };\r\n\r\n return r;\r\n }, []);\r\n\r\n const html = useMemo(() => {\r\n const trimmed = (content ?? \"\").trim();\r\n if (!trimmed) return \"\";\r\n\r\n const raw = marked.parse(trimmed, {\r\n async: false,\r\n renderer,\r\n }) as string;\r\n\r\n const sanitize = sanitizeHtml ?? safeSanitize;\r\n return sanitize(raw);\r\n }, [content, renderer, sanitizeHtml]);\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n ),\r\n [classMap, rounding, shadow, className]\r\n );\r\n\r\n if (!html) {\r\n return (\r\n <div className={classMap.empty} data-testid={testId}>\r\n <p>No content available.</p>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n data-testid={testId}\r\n lang={language}\r\n dangerouslySetInnerHTML={{ __html: html }}\r\n />\r\n );\r\n};\r\n\r\nBaseMarkdownRenderer.displayName = \"BaseMarkdownRenderer\";\r\nexport default BaseMarkdownRenderer;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMarkdownRenderer from \"../MarkdownRendererBase\";\r\nimport styles from \"./MarkdownRenderer.module.scss\";\r\nimport { MarkdownRendererProps } from \"../MarkdownRenderer.types\";\r\n\r\nconst MarkdownRenderer: React.FC<MarkdownRendererProps> = (props) => {\r\n return <BaseMarkdownRenderer {...props} classMap={styles} />;\r\n};\r\n\r\nexport default MarkdownRenderer;\r\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MessagePopup-BFKRiymY.js","sources":["../../src/components/MessagePopUp/MessagePopupBase.tsx","../../src/components/MessagePopUp/next/MessagePopup.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { BaseMessagePopupProps } from \"./MessagePopup.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseMessagePopup: React.FC<BaseMessagePopupProps> = ({\r\n message,\r\n onClose,\r\n onConfirm,\r\n onCancel,\r\n controlsRounding = getDefaultRounding(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n confirmText = \"Confirm\",\r\n cancelText = \"Cancel\",\r\n className = \"\",\r\n \"data-testid\": testId = \"message-popup\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const firstButtonRef = useRef<HTMLButtonElement>(null);\r\n const cancelButtonRef = useRef<HTMLButtonElement>(null);\r\n const closeBtnRef = useRef<HTMLButtonElement>(null);\r\n const openerRef = useRef<HTMLElement | null>(null);\r\n const focusablesRef = useRef<HTMLElement[]>([]);\r\n const messageId = useId();\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n openerRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\r\n let portal = document.getElementById(\"popup-portal\");\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = \"popup-portal\";\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"no-scroll\");\r\n\r\n const roots = Array.from(document.body.children);\r\n const restored: Array<HTMLElement> = [];\r\n roots.forEach((el) => {\r\n if (el !== portal && !el.hasAttribute(\"aria-hidden\")) {\r\n el.setAttribute(\"aria-hidden\", \"true\");\r\n restored.push(el as HTMLElement);\r\n }\r\n });\r\n\r\n const handleEscape = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") onClose();\r\n };\r\n document.addEventListener(\"keydown\", handleEscape);\r\n\r\n return () => {\r\n document.body.classList.remove(\"no-scroll\");\r\n document.removeEventListener(\"keydown\", handleEscape);\r\n restored.forEach((el) => el.removeAttribute(\"aria-hidden\"));\r\n openerRef.current?.focus?.();\r\n };\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (!dialogRef.current) return;\r\n focusablesRef.current = Array.from(\r\n dialogRef.current.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n )\r\n ).filter((el) => !el.hasAttribute(\"disabled\") && el.tabIndex !== -1);\r\n\r\n const target =\r\n firstButtonRef.current ||\r\n cancelButtonRef.current ||\r\n (closeBtnRef.current as HTMLElement | null) ||\r\n focusablesRef.current[0];\r\n target?.focus?.();\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n const list = focusablesRef.current;\r\n if (!list.length) return;\r\n\r\n const first = list[0];\r\n const last = list[list.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const wrapperClass = combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={wrapperClass}\r\n onClick={onClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.content}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={messageId}\r\n tabIndex={-1}\r\n ref={dialogRef}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-dialog`}\r\n >\r\n <IconButton\r\n ref={closeBtnRef as any}\r\n className={classMap.close}\r\n onClick={onClose}\r\n aria-label=\"Close popup\"\r\n icon={CloseIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n type=\"button\"\r\n data-testid={`${testId}-close`}\r\n />\r\n <h2\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </h2>\r\n <div className={classMap.actions} data-testid={`${testId}-actions`}>\r\n {onConfirm && (\r\n <Button\r\n className={classMap.confirm}\r\n state=\"success\"\r\n onClick={onConfirm}\r\n ref={firstButtonRef}\r\n rounding={controlsRounding}\r\n type=\"button\"\r\n data-testid={`${testId}-confirm`}\r\n >\r\n {confirmText}\r\n </Button>\r\n )}\r\n {onCancel && (\r\n <Button\r\n ref={cancelButtonRef}\r\n className={classMap.cancel}\r\n state=\"warning\"\r\n onClick={onCancel}\r\n type=\"button\"\r\n data-testid={`${testId}-cancel`}\r\n >\r\n {cancelText}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nBaseMessagePopup.displayName = \"BaseMessagePopup\";\r\nexport default BaseMessagePopup;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMessagePopUp from \"../MessagePopupBase\";\r\nimport { Button, IconButton } from \"../../../index.next\";\r\nimport styles from \"./MessagePopup.module.scss\";\r\nimport { MessagePopUpProps } from \"../MessagePopup.types\";\r\n\r\nconst MessagePopUp: React.FC<MessagePopUpProps> = (props) => {\r\n return (\r\n <BaseMessagePopUp\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default MessagePopUp;\r\n"],"names":["message","Button","IconButton","BaseMessagePopUp"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MessagePopup-CcM5nRAG.cjs","sources":["../../src/components/MessagePopUp/MessagePopupBase.tsx","../../src/components/MessagePopUp/next/MessagePopup.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { BaseMessagePopupProps } from \"./MessagePopup.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseMessagePopup: React.FC<BaseMessagePopupProps> = ({\r\n message,\r\n onClose,\r\n onConfirm,\r\n onCancel,\r\n controlsRounding = getDefaultRounding(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n confirmText = \"Confirm\",\r\n cancelText = \"Cancel\",\r\n className = \"\",\r\n \"data-testid\": testId = \"message-popup\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const firstButtonRef = useRef<HTMLButtonElement>(null);\r\n const cancelButtonRef = useRef<HTMLButtonElement>(null);\r\n const closeBtnRef = useRef<HTMLButtonElement>(null);\r\n const openerRef = useRef<HTMLElement | null>(null);\r\n const focusablesRef = useRef<HTMLElement[]>([]);\r\n const messageId = useId();\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n openerRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\r\n let portal = document.getElementById(\"popup-portal\");\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = \"popup-portal\";\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"no-scroll\");\r\n\r\n const roots = Array.from(document.body.children);\r\n const restored: Array<HTMLElement> = [];\r\n roots.forEach((el) => {\r\n if (el !== portal && !el.hasAttribute(\"aria-hidden\")) {\r\n el.setAttribute(\"aria-hidden\", \"true\");\r\n restored.push(el as HTMLElement);\r\n }\r\n });\r\n\r\n const handleEscape = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") onClose();\r\n };\r\n document.addEventListener(\"keydown\", handleEscape);\r\n\r\n return () => {\r\n document.body.classList.remove(\"no-scroll\");\r\n document.removeEventListener(\"keydown\", handleEscape);\r\n restored.forEach((el) => el.removeAttribute(\"aria-hidden\"));\r\n openerRef.current?.focus?.();\r\n };\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (!dialogRef.current) return;\r\n focusablesRef.current = Array.from(\r\n dialogRef.current.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n )\r\n ).filter((el) => !el.hasAttribute(\"disabled\") && el.tabIndex !== -1);\r\n\r\n const target =\r\n firstButtonRef.current ||\r\n cancelButtonRef.current ||\r\n (closeBtnRef.current as HTMLElement | null) ||\r\n focusablesRef.current[0];\r\n target?.focus?.();\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n const list = focusablesRef.current;\r\n if (!list.length) return;\r\n\r\n const first = list[0];\r\n const last = list[list.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const wrapperClass = combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={wrapperClass}\r\n onClick={onClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.content}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={messageId}\r\n tabIndex={-1}\r\n ref={dialogRef}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-dialog`}\r\n >\r\n <IconButton\r\n ref={closeBtnRef as any}\r\n className={classMap.close}\r\n onClick={onClose}\r\n aria-label=\"Close popup\"\r\n icon={CloseIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n type=\"button\"\r\n data-testid={`${testId}-close`}\r\n />\r\n <h2\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </h2>\r\n <div className={classMap.actions} data-testid={`${testId}-actions`}>\r\n {onConfirm && (\r\n <Button\r\n className={classMap.confirm}\r\n state=\"success\"\r\n onClick={onConfirm}\r\n ref={firstButtonRef}\r\n rounding={controlsRounding}\r\n type=\"button\"\r\n data-testid={`${testId}-confirm`}\r\n >\r\n {confirmText}\r\n </Button>\r\n )}\r\n {onCancel && (\r\n <Button\r\n ref={cancelButtonRef}\r\n className={classMap.cancel}\r\n state=\"warning\"\r\n onClick={onCancel}\r\n type=\"button\"\r\n data-testid={`${testId}-cancel`}\r\n >\r\n {cancelText}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nBaseMessagePopup.displayName = \"BaseMessagePopup\";\r\nexport default BaseMessagePopup;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMessagePopUp from \"../MessagePopupBase\";\r\nimport { Button, IconButton } from \"../../../index.next\";\r\nimport styles from \"./MessagePopup.module.scss\";\r\nimport { MessagePopUpProps } from \"../MessagePopup.types\";\r\n\r\nconst MessagePopUp: React.FC<MessagePopUpProps> = (props) => {\r\n return (\r\n <BaseMessagePopUp\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default MessagePopUp;\r\n"],"names":["message","getDefaultRounding","getDefaultShadow","Button","IconButton","useState","useRef","useId","useEffect","combineClassNames","capitalize","jsx","jsxs","CloseIcon","BaseMessagePopUp"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Modal-DIZf7sgL.js","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/next/Modal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { BaseModalProps } from \"./Modal.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n onClose,\r\n \"data-testid\": testId = \"modal\",\r\n IconButton,\r\n classMap,\r\n portalId = \"widget-portal\",\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n\r\n const overlayRef = useRef<HTMLDivElement>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const closeBtnRef = useRef<HTMLButtonElement>(null);\r\n const openerRef = useRef<HTMLElement | null>(null);\r\n const focusablesRef = useRef<HTMLElement[]>([]);\r\n\r\n const uid = useId();\r\n const labelId = `${uid}-label`;\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n openerRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\r\n let portal = document.getElementById(portalId);\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = portalId;\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n const siblings = Array.from(document.body.children) as HTMLElement[];\r\n const hidden: HTMLElement[] = [];\r\n siblings.forEach((el) => {\r\n if (el !== portal && !el.hasAttribute(\"aria-hidden\")) {\r\n el.setAttribute(\"aria-hidden\", \"true\");\r\n hidden.push(el);\r\n }\r\n });\r\n\r\n const handleEsc = (e: KeyboardEvent) => {\r\n if (e.key === \"Escape\") onClose();\r\n };\r\n document.addEventListener(\"keydown\", handleEsc as any);\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n document.removeEventListener(\"keydown\", handleEsc as any);\r\n hidden.forEach((el) => el.removeAttribute(\"aria-hidden\"));\r\n openerRef.current?.focus?.();\r\n };\r\n }, [portalId, onClose]);\r\n\r\n useEffect(() => {\r\n if (!isMounted) return;\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n\r\n if (dialogRef.current) {\r\n focusablesRef.current = Array.from(\r\n dialogRef.current.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n )\r\n ).filter((el) => !el.hasAttribute(\"disabled\") && el.tabIndex !== -1);\r\n }\r\n\r\n (\r\n focusablesRef.current[0] ??\r\n closeBtnRef.current ??\r\n dialogRef.current\r\n )?.focus?.();\r\n });\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n const list = focusablesRef.current;\r\n if (!list.length) return;\r\n\r\n const first = list[0];\r\n const last = list[list.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n setIsVisible(false);\r\n setTimeout(() => onClose(), 200);\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const contentClassName = combineClassNames(\r\n classMap.content,\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n ref={overlayRef}\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden\r\n )}\r\n onClick={handleClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n ref={dialogRef}\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={labelId}\r\n tabIndex={-1}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-content`}\r\n >\r\n <h2 id={labelId} className={classMap.srOnly ?? \"sr_only\"}>\r\n Modal Dialog\r\n </h2>\r\n\r\n <IconButton\r\n ref={closeBtnRef as any}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n ariaLabel=\"Close modal\"\r\n onClick={(e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n handleClose();\r\n }}\r\n title=\"Close\"\r\n data-testid={`${testId}-close`}\r\n type=\"button\"\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nBaseModal.displayName = \"BaseModal\";\r\nexport default BaseModal;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport styles from \"./Modal.module.scss\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={styles} />;\r\n};\r\n\r\nexport default Modal;\r\n"],"names":["IconButton","hidden"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Modal-hk84_P6s.cjs","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/next/Modal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { BaseModalProps } from \"./Modal.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n onClose,\r\n \"data-testid\": testId = \"modal\",\r\n IconButton,\r\n classMap,\r\n portalId = \"widget-portal\",\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n\r\n const overlayRef = useRef<HTMLDivElement>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const closeBtnRef = useRef<HTMLButtonElement>(null);\r\n const openerRef = useRef<HTMLElement | null>(null);\r\n const focusablesRef = useRef<HTMLElement[]>([]);\r\n\r\n const uid = useId();\r\n const labelId = `${uid}-label`;\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n openerRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\r\n let portal = document.getElementById(portalId);\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = portalId;\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n const siblings = Array.from(document.body.children) as HTMLElement[];\r\n const hidden: HTMLElement[] = [];\r\n siblings.forEach((el) => {\r\n if (el !== portal && !el.hasAttribute(\"aria-hidden\")) {\r\n el.setAttribute(\"aria-hidden\", \"true\");\r\n hidden.push(el);\r\n }\r\n });\r\n\r\n const handleEsc = (e: KeyboardEvent) => {\r\n if (e.key === \"Escape\") onClose();\r\n };\r\n document.addEventListener(\"keydown\", handleEsc as any);\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n document.removeEventListener(\"keydown\", handleEsc as any);\r\n hidden.forEach((el) => el.removeAttribute(\"aria-hidden\"));\r\n openerRef.current?.focus?.();\r\n };\r\n }, [portalId, onClose]);\r\n\r\n useEffect(() => {\r\n if (!isMounted) return;\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n\r\n if (dialogRef.current) {\r\n focusablesRef.current = Array.from(\r\n dialogRef.current.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n )\r\n ).filter((el) => !el.hasAttribute(\"disabled\") && el.tabIndex !== -1);\r\n }\r\n\r\n (\r\n focusablesRef.current[0] ??\r\n closeBtnRef.current ??\r\n dialogRef.current\r\n )?.focus?.();\r\n });\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n const list = focusablesRef.current;\r\n if (!list.length) return;\r\n\r\n const first = list[0];\r\n const last = list[list.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n setIsVisible(false);\r\n setTimeout(() => onClose(), 200);\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const contentClassName = combineClassNames(\r\n classMap.content,\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n ref={overlayRef}\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden\r\n )}\r\n onClick={handleClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n ref={dialogRef}\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={labelId}\r\n tabIndex={-1}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-content`}\r\n >\r\n <h2 id={labelId} className={classMap.srOnly ?? \"sr_only\"}>\r\n Modal Dialog\r\n </h2>\r\n\r\n <IconButton\r\n ref={closeBtnRef as any}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n ariaLabel=\"Close modal\"\r\n onClick={(e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n handleClose();\r\n }}\r\n title=\"Close\"\r\n data-testid={`${testId}-close`}\r\n type=\"button\"\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nBaseModal.displayName = \"BaseModal\";\r\nexport default BaseModal;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport styles from \"./Modal.module.scss\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={styles} />;\r\n};\r\n\r\nexport default Modal;\r\n"],"names":["getDefaultRounding","getDefaultShadow","IconButton","useState","useRef","useId","useEffect","hidden","combineClassNames","capitalize","jsx","jsxs","CloseIcon"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavBar-kgNrVtKB.js","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/next/NavBar.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BaseNavBarProps } from \"./NavBar.types\";\r\n\r\nconst normalizePath = (p: string) =>\r\n p.endsWith(\"/\") && p.length > 1 ? p.slice(0, -1) : p;\r\nconst slugify = (s: string) =>\r\n s\r\n .toLowerCase()\r\n .trim()\r\n .replace(/\\s+/g, \"-\")\r\n .replace(/[^a-z0-9\\-]/g, \"\");\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n currentPath,\r\n LinkWrapper,\r\n classMap,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n \"data-testid\": testId = \"nav-bar\",\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme, className]\r\n );\r\n\r\n const itemClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.item,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap, shadow, rounding]\r\n );\r\n\r\n const current = normalizePath(currentPath ?? \"/\");\r\n\r\n return (\r\n <nav\r\n aria-label=\"Main navigation\"\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n <ul className={classMap.list}>\r\n {items.map((item) => {\r\n const isActive = normalizePath(item.path) === current;\r\n const slug = slugify(item.label || item.path);\r\n\r\n return (\r\n <li key={`${item.path}-${slug}`} className={classMap.listItem}>\r\n <LinkWrapper\r\n href={item.path}\r\n isActive={isActive}\r\n className={combineClassNames(\r\n itemClass,\r\n isActive && classMap.active\r\n )}\r\n data-testid={`${testId}-nav-item-${slug}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n >\r\n <span className={classMap.linkContent}>\r\n {item.icon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${slug}`}\r\n >\r\n {item.icon}\r\n </span>\r\n )}\r\n <span className={classMap.label}>{item.label}</span>\r\n </span>\r\n </LinkWrapper>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n );\r\n};\r\n\r\nBaseNavBar.displayName = \"BaseNavBar\";\r\nexport default BaseNavBar;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseNavBar from \"../NavBarBase\";\r\nimport Link from \"next/link\";\r\nimport { usePathname } from \"next/navigation\";\r\nimport styles from \"./NavBar.module.scss\";\r\nimport { NavBarProps } from \"../NavBar.types\";\r\n\r\nconst NavBar: React.FC<NavBarProps & { mockPath?: string }> = ({\r\n mockPath,\r\n ...props\r\n}) => {\r\n const pathname = usePathname();\r\n const resolvedPath = mockPath ?? pathname;\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n currentPath={resolvedPath || \"/\"}\r\n LinkWrapper={({\r\n href,\r\n children,\r\n className,\r\n isActive,\r\n \"data-testid\": testId,\r\n }) => (\r\n <Link\r\n href={href}\r\n className={className}\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default NavBar;\r\n"],"names":["item","usePathname"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavBar-yvxI6w8C.cjs","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/next/NavBar.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BaseNavBarProps } from \"./NavBar.types\";\r\n\r\nconst normalizePath = (p: string) =>\r\n p.endsWith(\"/\") && p.length > 1 ? p.slice(0, -1) : p;\r\nconst slugify = (s: string) =>\r\n s\r\n .toLowerCase()\r\n .trim()\r\n .replace(/\\s+/g, \"-\")\r\n .replace(/[^a-z0-9\\-]/g, \"\");\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n currentPath,\r\n LinkWrapper,\r\n classMap,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n \"data-testid\": testId = \"nav-bar\",\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme, className]\r\n );\r\n\r\n const itemClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.item,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap, shadow, rounding]\r\n );\r\n\r\n const current = normalizePath(currentPath ?? \"/\");\r\n\r\n return (\r\n <nav\r\n aria-label=\"Main navigation\"\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n <ul className={classMap.list}>\r\n {items.map((item) => {\r\n const isActive = normalizePath(item.path) === current;\r\n const slug = slugify(item.label || item.path);\r\n\r\n return (\r\n <li key={`${item.path}-${slug}`} className={classMap.listItem}>\r\n <LinkWrapper\r\n href={item.path}\r\n isActive={isActive}\r\n className={combineClassNames(\r\n itemClass,\r\n isActive && classMap.active\r\n )}\r\n data-testid={`${testId}-nav-item-${slug}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n >\r\n <span className={classMap.linkContent}>\r\n {item.icon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${slug}`}\r\n >\r\n {item.icon}\r\n </span>\r\n )}\r\n <span className={classMap.label}>{item.label}</span>\r\n </span>\r\n </LinkWrapper>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n );\r\n};\r\n\r\nBaseNavBar.displayName = \"BaseNavBar\";\r\nexport default BaseNavBar;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseNavBar from \"../NavBarBase\";\r\nimport Link from \"next/link\";\r\nimport { usePathname } from \"next/navigation\";\r\nimport styles from \"./NavBar.module.scss\";\r\nimport { NavBarProps } from \"../NavBar.types\";\r\n\r\nconst NavBar: React.FC<NavBarProps & { mockPath?: string }> = ({\r\n mockPath,\r\n ...props\r\n}) => {\r\n const pathname = usePathname();\r\n const resolvedPath = mockPath ?? pathname;\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n currentPath={resolvedPath || \"/\"}\r\n LinkWrapper={({\r\n href,\r\n children,\r\n className,\r\n isActive,\r\n \"data-testid\": testId,\r\n }) => (\r\n <Link\r\n href={href}\r\n className={className}\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default NavBar;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","useMemo","combineClassNames","capitalize","jsx","item","jsxs","usePathname","Link"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Select-B3JaOW2f.js","sources":["../../src/components/Select/SelectBase.tsx","../../src/components/Select/next/Select.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n ChangeEvent,\r\n useId,\r\n useMemo,\r\n useEffect,\r\n useState,\r\n} from \"react\";\r\nimport { ChevronDownIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BaseSelectProps } from \"./Select.types\";\r\n\r\nconst BaseSelect = forwardRef<HTMLSelectElement, BaseSelectProps>(\r\n (\r\n {\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n options,\r\n value,\r\n onChange,\r\n placeholder = \"Select an option\",\r\n ariaLabel,\r\n ariaDescription,\r\n disabled = false,\r\n className = \"\",\r\n classMap,\r\n asyncOptions,\r\n pollInterval = 0,\r\n required,\r\n name,\r\n \"data-testid\": testId = \"select\",\r\n },\r\n ref\r\n ) => {\r\n const id = useId();\r\n const selectId = `${id}-select`;\r\n const descId = ariaDescription ? `${id}-desc` : undefined;\r\n\r\n const [internalOptions, setInternalOptions] = useState(options);\r\n const [loading, setLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!asyncOptions) return;\r\n\r\n let isMounted = true;\r\n\r\n const load = async () => {\r\n try {\r\n setLoading(true);\r\n const fetched = await asyncOptions(\"\");\r\n if (isMounted) setInternalOptions(fetched);\r\n } catch (err) {\r\n console.error(\"Failed to load options:\", err);\r\n } finally {\r\n if (isMounted) setLoading(false);\r\n }\r\n };\r\n\r\n load();\r\n\r\n if (pollInterval > 0) {\r\n const intervalId = setInterval(load, pollInterval);\r\n return () => {\r\n clearInterval(intervalId);\r\n isMounted = false;\r\n };\r\n }\r\n\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [asyncOptions, pollInterval]);\r\n\r\n const handleChange = (event: ChangeEvent<HTMLSelectElement>) => {\r\n onChange(event.target.value);\r\n };\r\n\r\n const wrapperClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n classMap[theme],\r\n classMap[state],\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled\r\n ),\r\n [classMap, theme, state, className, shadow, rounding, outline, disabled]\r\n );\r\n\r\n const selectClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.select,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline\r\n ),\r\n [classMap, theme, state, shadow, rounding, outline]\r\n );\r\n\r\n const iconClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.icon,\r\n classMap[theme],\r\n disabled && classMap.disabled\r\n ),\r\n [classMap, theme, disabled]\r\n );\r\n\r\n const opts = asyncOptions ? internalOptions : options;\r\n\r\n return (\r\n <div className={wrapperClasses} data-testid={testId}>\r\n <select\r\n ref={ref}\r\n id={selectId}\r\n name={name}\r\n value={value ?? \"\"}\r\n onChange={handleChange}\r\n className={selectClasses}\r\n aria-label={ariaLabel || placeholder}\r\n aria-describedby={descId}\r\n aria-disabled={disabled || undefined}\r\n aria-invalid={state === \"error\" || undefined}\r\n disabled={disabled}\r\n required={required}\r\n data-testid={`${testId}-input`}\r\n >\r\n <option value=\"\" disabled hidden>\r\n {placeholder}\r\n </option>\r\n\r\n {opts.map((option) => (\r\n <option\r\n key={option.value}\r\n value={option.value}\r\n data-testid={`${testId}-option-${option.value}`}\r\n >\r\n {option.label}\r\n </option>\r\n ))}\r\n </select>\r\n\r\n <div\r\n className={iconClasses}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <ChevronDownIcon aria-hidden=\"true\" focusable={false} />\r\n </div>\r\n\r\n {ariaDescription && (\r\n <span\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </span>\r\n )}\r\n\r\n {loading && (\r\n <span className={classMap.loading} aria-live=\"polite\">\r\n Loading options…\r\n </span>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nBaseSelect.displayName = \"BaseSelect\";\r\nexport default BaseSelect;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseSelect from \"../SelectBase\";\r\nimport styles from \"./Select.module.scss\";\r\nimport { SelectProps } from \"../Select.types\";\r\n\r\nconst Select = React.forwardRef<HTMLSelectElement, SelectProps>(\r\n (props, ref) => {\r\n return <BaseSelect {...props} ref={ref} classMap={styles} />;\r\n }\r\n);\r\n\r\nSelect.displayName = \"Select\";\r\nexport default Select;\r\n"],"names":["outline","disabled"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Select-D4QdlQ6W.cjs","sources":["../../src/components/Select/SelectBase.tsx","../../src/components/Select/next/Select.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n ChangeEvent,\r\n useId,\r\n useMemo,\r\n useEffect,\r\n useState,\r\n} from \"react\";\r\nimport { ChevronDownIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BaseSelectProps } from \"./Select.types\";\r\n\r\nconst BaseSelect = forwardRef<HTMLSelectElement, BaseSelectProps>(\r\n (\r\n {\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n options,\r\n value,\r\n onChange,\r\n placeholder = \"Select an option\",\r\n ariaLabel,\r\n ariaDescription,\r\n disabled = false,\r\n className = \"\",\r\n classMap,\r\n asyncOptions,\r\n pollInterval = 0,\r\n required,\r\n name,\r\n \"data-testid\": testId = \"select\",\r\n },\r\n ref\r\n ) => {\r\n const id = useId();\r\n const selectId = `${id}-select`;\r\n const descId = ariaDescription ? `${id}-desc` : undefined;\r\n\r\n const [internalOptions, setInternalOptions] = useState(options);\r\n const [loading, setLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!asyncOptions) return;\r\n\r\n let isMounted = true;\r\n\r\n const load = async () => {\r\n try {\r\n setLoading(true);\r\n const fetched = await asyncOptions(\"\");\r\n if (isMounted) setInternalOptions(fetched);\r\n } catch (err) {\r\n console.error(\"Failed to load options:\", err);\r\n } finally {\r\n if (isMounted) setLoading(false);\r\n }\r\n };\r\n\r\n load();\r\n\r\n if (pollInterval > 0) {\r\n const intervalId = setInterval(load, pollInterval);\r\n return () => {\r\n clearInterval(intervalId);\r\n isMounted = false;\r\n };\r\n }\r\n\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [asyncOptions, pollInterval]);\r\n\r\n const handleChange = (event: ChangeEvent<HTMLSelectElement>) => {\r\n onChange(event.target.value);\r\n };\r\n\r\n const wrapperClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n classMap[theme],\r\n classMap[state],\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled\r\n ),\r\n [classMap, theme, state, className, shadow, rounding, outline, disabled]\r\n );\r\n\r\n const selectClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.select,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline\r\n ),\r\n [classMap, theme, state, shadow, rounding, outline]\r\n );\r\n\r\n const iconClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.icon,\r\n classMap[theme],\r\n disabled && classMap.disabled\r\n ),\r\n [classMap, theme, disabled]\r\n );\r\n\r\n const opts = asyncOptions ? internalOptions : options;\r\n\r\n return (\r\n <div className={wrapperClasses} data-testid={testId}>\r\n <select\r\n ref={ref}\r\n id={selectId}\r\n name={name}\r\n value={value ?? \"\"}\r\n onChange={handleChange}\r\n className={selectClasses}\r\n aria-label={ariaLabel || placeholder}\r\n aria-describedby={descId}\r\n aria-disabled={disabled || undefined}\r\n aria-invalid={state === \"error\" || undefined}\r\n disabled={disabled}\r\n required={required}\r\n data-testid={`${testId}-input`}\r\n >\r\n <option value=\"\" disabled hidden>\r\n {placeholder}\r\n </option>\r\n\r\n {opts.map((option) => (\r\n <option\r\n key={option.value}\r\n value={option.value}\r\n data-testid={`${testId}-option-${option.value}`}\r\n >\r\n {option.label}\r\n </option>\r\n ))}\r\n </select>\r\n\r\n <div\r\n className={iconClasses}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <ChevronDownIcon aria-hidden=\"true\" focusable={false} />\r\n </div>\r\n\r\n {ariaDescription && (\r\n <span\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </span>\r\n )}\r\n\r\n {loading && (\r\n <span className={classMap.loading} aria-live=\"polite\">\r\n Loading options…\r\n </span>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nBaseSelect.displayName = \"BaseSelect\";\r\nexport default BaseSelect;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseSelect from \"../SelectBase\";\r\nimport styles from \"./Select.module.scss\";\r\nimport { SelectProps } from \"../Select.types\";\r\n\r\nconst Select = React.forwardRef<HTMLSelectElement, SelectProps>(\r\n (props, ref) => {\r\n return <BaseSelect {...props} ref={ref} classMap={styles} />;\r\n }\r\n);\r\n\r\nSelect.displayName = \"Select\";\r\nexport default Select;\r\n"],"names":["forwardRef","getDefaultTheme","outline","getDefaultRounding","getDefaultShadow","disabled","useId","useState","useEffect","useMemo","combineClassNames","capitalize","jsxs","jsx","ChevronDownIcon"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Sidebar-C6NbdjWV.js","sources":["../../src/components/Sidebar/SidebarBase.tsx","../../src/components/Sidebar/next/Sidebar.tsx"],"sourcesContent":["import React, { useState, useMemo, useRef, useEffect } from \"react\";\r\nimport { combineClassNames } from \"@/utils/classNames\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"@/config/boreal-style-config\";\r\nimport { capitalize } from \"@/utils/capitalize\";\r\nimport { ChevronDownIcon } from \"@/Icons\";\r\nimport { BaseSidebarProps } from \"./Sidebar.types\";\r\n\r\nconst SidebarBase: React.FC<BaseSidebarProps> = ({\r\n links,\r\n classMap,\r\n currentPath,\r\n LinkComponent = \"a\",\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n showFooter = false,\r\n footerLinks,\r\n footerVersion,\r\n outline = false,\r\n className = \"\",\r\n \"data-testid\": testId = \"sidebar\",\r\n ariaLabel = \"Sidebar navigation\",\r\n ...rest\r\n}) => {\r\n const [openItems, setOpenItems] = useState<Record<string, boolean>>({});\r\n\r\n const idsRef = useRef<Record<string, string>>({});\r\n const seqRef = useRef(0);\r\n const idFor = (label: string) => {\r\n if (!idsRef.current[label]) {\r\n const slug = label\r\n .toLowerCase()\r\n .replace(/\\s+/g, \"-\")\r\n .replace(/[^a-z0-9_-]/g, \"\");\r\n idsRef.current[label] = `${testId}-section-${slug}-${seqRef.current++}`;\r\n }\r\n return idsRef.current[label];\r\n };\r\n\r\n useEffect(() => {\r\n const next: Record<string, boolean> = {};\r\n\r\n const walk = (nodes: typeof links) => {\r\n for (const n of nodes) {\r\n if (n.children?.length) {\r\n const anyChildActive =\r\n n.children.some((c) => c.href && c.href === currentPath) ||\r\n (n.children && walk(n.children));\r\n if (anyChildActive) next[n.label] = true;\r\n }\r\n }\r\n return nodes.some(\r\n (n) =>\r\n (n.href && n.href === currentPath) ||\r\n (!!n.children?.length &&\r\n n.children!.some((c) => c.href === currentPath))\r\n );\r\n };\r\n\r\n walk(links);\r\n setOpenItems((prev) => ({ ...prev, ...next }));\r\n }, [currentPath, links]);\r\n\r\n const toggleItem = (key: string) =>\r\n setOpenItems((prev) => ({ ...prev, [key]: !prev[key] }));\r\n\r\n const submenuRefs = useRef<Record<string, HTMLDivElement | null>>({});\r\n const setSubmenuRef = (key: string, el: HTMLDivElement | null) => {\r\n submenuRefs.current[key] = el;\r\n };\r\n const getSubmenuHeight = (key: string) => {\r\n const el = submenuRefs.current[key];\r\n return el ? `${el.scrollHeight}px` : \"0px\";\r\n };\r\n\r\n const containerClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n className,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline\r\n ),\r\n [classMap, className, theme, state, outline, rounding, shadow]\r\n );\r\n\r\n const renderLinks = (items: typeof links, isChild = false) => (\r\n <ul\r\n className={combineClassNames(\r\n classMap.list,\r\n isChild && classMap.childList\r\n )}\r\n data-testid={`${testId}-list`}\r\n >\r\n {items.map(({ label, href, children, icon }, idx) => {\r\n const key = `${label}-${idx}`;\r\n const isActive = !!href && currentPath === href;\r\n const isOpen = !!openItems[label];\r\n const sectionId = idFor(label);\r\n const buttonId = `${sectionId}-button`;\r\n const panelId = `${sectionId}-panel`;\r\n\r\n return (\r\n <li\r\n key={key}\r\n className={classMap.item}\r\n data-testid={`${testId}-listItem`}\r\n >\r\n {children && children.length > 0 ? (\r\n <>\r\n <button\r\n type=\"button\"\r\n id={buttonId}\r\n className={combineClassNames(\r\n classMap.link,\r\n isOpen && classMap.active\r\n )}\r\n onClick={() => toggleItem(label)}\r\n aria-expanded={isOpen}\r\n aria-controls={panelId}\r\n data-testid={`${testId}-expandItemButton`}\r\n >\r\n {icon && <span className={classMap.icon}>{icon}</span>}\r\n <span data-testid={`${testId}-expandItemLabel`}>{label}</span>\r\n <ChevronDownIcon\r\n className={combineClassNames(\r\n classMap.chevron,\r\n isOpen && classMap.chevronOpen\r\n )}\r\n aria-hidden=\"true\"\r\n focusable={false}\r\n data-testid={`${testId}-expandIcon`}\r\n />\r\n </button>\r\n\r\n <div\r\n id={panelId}\r\n ref={(el) => setSubmenuRef(label, el)}\r\n className={combineClassNames(\r\n classMap.submenu,\r\n isOpen && classMap.submenuOpen\r\n )}\r\n role=\"group\"\r\n aria-labelledby={buttonId}\r\n hidden={!isOpen}\r\n data-testid={`${testId}-subMenu`}\r\n >\r\n {renderLinks(children, true)}\r\n </div>\r\n </>\r\n ) : href ? (\r\n <LinkComponent\r\n href={href}\r\n className={combineClassNames(\r\n classMap.link,\r\n isChild && classMap.childLink,\r\n isActive && classMap.active\r\n )}\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-testid={`${testId}-sidebarLink`}\r\n >\r\n {icon && <span className={classMap.icon}>{icon}</span>}\r\n {label}\r\n </LinkComponent>\r\n ) : (\r\n <span\r\n className={combineClassNames(\r\n classMap.link,\r\n isChild && classMap.childLink\r\n )}\r\n data-testid={`${testId}-sidebarLabel`}\r\n >\r\n {icon && <span className={classMap.icon}>{icon}</span>}\r\n {label}\r\n </span>\r\n )}\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n );\r\n\r\n return (\r\n <nav\r\n className={containerClasses}\r\n aria-label={ariaLabel}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n <div className={classMap.nav}>{renderLinks(links)}</div>\r\n\r\n {showFooter && (\r\n <footer className={classMap.footer} data-testid={`${testId}-footer`}>\r\n {footerLinks?.map(({ label, href }, i) => (\r\n <LinkComponent\r\n key={`${label}-${i}`}\r\n href={href}\r\n className={classMap.footerLink}\r\n data-testid={`${testId}-footerLink`}\r\n >\r\n {label}\r\n </LinkComponent>\r\n ))}\r\n {footerVersion && (\r\n <span\r\n className={classMap.footerVersion}\r\n data-testid={`${testId}-footerVersion`}\r\n >\r\n {footerVersion}\r\n </span>\r\n )}\r\n </footer>\r\n )}\r\n </nav>\r\n );\r\n};\r\n\r\nSidebarBase.displayName = \"SidebarBase\";\r\nexport default SidebarBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Link from \"next/link\";\r\nimport { usePathname } from \"next/navigation\";\r\nimport SidebarBase from \"../SidebarBase\";\r\nimport styles from \"./Sidebar.module.scss\";\r\nimport { SidebarProps } from \"../Sidebar.types\";\r\n\r\nconst Sidebar: React.FC<SidebarProps> = ({ links, ...rest }) => {\r\n const currentPath = usePathname();\r\n\r\n const { currentPath: _ignored, ...safeRest } = rest;\r\n\r\n return (\r\n <SidebarBase\r\n links={links}\r\n classMap={styles}\r\n currentPath={currentPath}\r\n LinkComponent={Link}\r\n key={currentPath}\r\n {...safeRest}\r\n />\r\n );\r\n};\r\n\r\nexport default Sidebar;\r\n"],"names":["footerVersion","outline","_a","usePathname"],"mappings":"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"}