boreal-ui 0.0.71 → 0.0.73

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 (982) hide show
  1. package/dist/core/{Accordion-Cn-Lzpin.cjs → Accordion-7FjsUwVp.cjs} +49 -17
  2. package/dist/core/Accordion-7FjsUwVp.cjs.map +1 -0
  3. package/dist/core/{Accordion-Cvvsfx1g.js → Accordion-Bp-rbJiD.js} +50 -18
  4. package/dist/core/Accordion-Bp-rbJiD.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-BM8AwOB6.js → Avatar-Ct2kXkNR.js} +59 -22
  8. package/dist/core/Avatar-Ct2kXkNR.js.map +1 -0
  9. package/dist/core/{Avatar-DOg8W9yf.cjs → Avatar-jxGFijtF.cjs} +58 -21
  10. package/dist/core/Avatar-jxGFijtF.cjs.map +1 -0
  11. package/dist/core/Avatar.cjs.js +1 -1
  12. package/dist/core/Avatar.js +1 -1
  13. package/dist/core/{Badge-C0Twrrjc.js → Badge-BOd5dF4l.js} +28 -10
  14. package/dist/core/Badge-BOd5dF4l.js.map +1 -0
  15. package/dist/core/{Badge-tFIHQcKi.cjs → Badge-oXVUTleI.cjs} +28 -10
  16. package/dist/core/Badge-oXVUTleI.cjs.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-CALCSPkH.cjs → Breadcrumbs-B7hp9_u1.cjs} +41 -25
  20. package/dist/core/Breadcrumbs-B7hp9_u1.cjs.map +1 -0
  21. package/dist/core/{Breadcrumbs-C2IzEdls.js → Breadcrumbs-C1Z59ffV.js} +42 -26
  22. package/dist/core/Breadcrumbs-C1Z59ffV.js.map +1 -0
  23. package/dist/core/Breadcrumbs.cjs.js +2 -4
  24. package/dist/core/Breadcrumbs.cjs.js.map +1 -1
  25. package/dist/core/Breadcrumbs.js +1 -2
  26. package/dist/core/{Button-CC0Q_XPy.js → Button-IALg9VKr.js} +53 -15
  27. package/dist/core/Button-IALg9VKr.js.map +1 -0
  28. package/dist/core/{Button-zvElXSem.cjs → Button-nxtJFOWD.cjs} +53 -15
  29. package/dist/core/Button-nxtJFOWD.cjs.map +1 -0
  30. package/dist/core/Button.cjs.js +1 -1
  31. package/dist/core/Button.js +1 -1
  32. package/dist/core/{Card-DRM65kM-.cjs → Card-C3kfPs8j.cjs} +87 -28
  33. package/dist/core/Card-C3kfPs8j.cjs.map +1 -0
  34. package/dist/core/{Card-BjLC4t0w.js → Card-dazG4EK1.js} +87 -28
  35. package/dist/core/Card-dazG4EK1.js.map +1 -0
  36. package/dist/core/Card.cjs.js +1 -1
  37. package/dist/core/Card.js +1 -1
  38. package/dist/core/CheckBox.cjs.js +1 -1
  39. package/dist/core/CheckBox.js +1 -1
  40. package/dist/core/Checkbox-DmMDTc5Z.js +193 -0
  41. package/dist/core/Checkbox-DmMDTc5Z.js.map +1 -0
  42. package/dist/core/Checkbox-JWFInEW_.cjs +192 -0
  43. package/dist/core/Checkbox-JWFInEW_.cjs.map +1 -0
  44. package/dist/core/{Chip-BjbtoFKm.js → Chip-DSBIjvJZ.js} +45 -12
  45. package/dist/core/Chip-DSBIjvJZ.js.map +1 -0
  46. package/dist/core/{Chip-c2mN7R-R.cjs → Chip-DV-l08jr.cjs} +44 -11
  47. package/dist/core/Chip-DV-l08jr.cjs.map +1 -0
  48. package/dist/core/Chip.cjs.js +1 -1
  49. package/dist/core/Chip.js +1 -1
  50. package/dist/core/{CircularProgress-DpLsV7FP.cjs → CircularProgress-CAlIuRfH.cjs} +32 -15
  51. package/dist/core/CircularProgress-CAlIuRfH.cjs.map +1 -0
  52. package/dist/core/{CircularProgress-CGqwPSPq.js → CircularProgress-DEZZm76L.js} +32 -15
  53. package/dist/core/CircularProgress-DEZZm76L.js.map +1 -0
  54. package/dist/core/CircularProgress.cjs.js +1 -1
  55. package/dist/core/CircularProgress.js +1 -1
  56. package/dist/core/{ColorPicker-CpHTSayd.js → ColorPicker-BpJgDnaw.js} +79 -12
  57. package/dist/core/ColorPicker-BpJgDnaw.js.map +1 -0
  58. package/dist/core/{ColorPicker-CzL1SJCT.cjs → ColorPicker-j6djvLOC.cjs} +79 -12
  59. package/dist/core/ColorPicker-j6djvLOC.cjs.map +1 -0
  60. package/dist/core/ColorPicker.cjs.js +1 -1
  61. package/dist/core/ColorPicker.js +1 -1
  62. package/dist/core/CommandPalette-BBjIib6T.js +447 -0
  63. package/dist/core/CommandPalette-BBjIib6T.js.map +1 -0
  64. package/dist/core/CommandPalette-BtpQ9cio.cjs +446 -0
  65. package/dist/core/CommandPalette-BtpQ9cio.cjs.map +1 -0
  66. package/dist/core/CommandPalette.cjs.js +1 -1
  67. package/dist/core/CommandPalette.js +1 -1
  68. package/dist/core/DataTable-CCPWihcW.cjs +313 -0
  69. package/dist/core/DataTable-CCPWihcW.cjs.map +1 -0
  70. package/dist/core/DataTable-FIxUWKG4.js +314 -0
  71. package/dist/core/DataTable-FIxUWKG4.js.map +1 -0
  72. package/dist/core/DataTable.cjs.js +1 -1
  73. package/dist/core/DataTable.js +1 -1
  74. package/dist/core/{DateTimePicker-D7bRXphw.cjs → DateTimePicker-Ul1dl1A1.cjs} +90 -25
  75. package/dist/core/DateTimePicker-Ul1dl1A1.cjs.map +1 -0
  76. package/dist/core/{DateTimePicker-BzS1nP5J.js → DateTimePicker-u2p4sBbR.js} +90 -25
  77. package/dist/core/DateTimePicker-u2p4sBbR.js.map +1 -0
  78. package/dist/core/DateTimePicker.cjs.js +1 -1
  79. package/dist/core/DateTimePicker.js +1 -1
  80. package/dist/core/{Divider-7akvm9JA.js → Divider-C34MwVBv.js} +19 -12
  81. package/dist/core/Divider-C34MwVBv.js.map +1 -0
  82. package/dist/core/{Divider-CaSuFc3G.cjs → Divider-CgUoL8NV.cjs} +19 -12
  83. package/dist/core/Divider-CgUoL8NV.cjs.map +1 -0
  84. package/dist/core/Divider.cjs.js +1 -1
  85. package/dist/core/Divider.js +1 -1
  86. package/dist/core/{Dropdown-CjPfU1K-.cjs → Dropdown-B7-_OH9p.cjs} +158 -72
  87. package/dist/core/Dropdown-B7-_OH9p.cjs.map +1 -0
  88. package/dist/core/{Dropdown-CR3xr5K-.js → Dropdown-BGJ8mGhg.js} +159 -73
  89. package/dist/core/Dropdown-BGJ8mGhg.js.map +1 -0
  90. package/dist/core/Dropdown.cjs.js +1 -1
  91. package/dist/core/Dropdown.js +1 -1
  92. package/dist/core/{EmptyState-Cp3ocTQX.js → EmptyState-CCSPIDo3.js} +45 -45
  93. package/dist/core/EmptyState-CCSPIDo3.js.map +1 -0
  94. package/dist/core/{EmptyState-P-MSItCX.cjs → EmptyState-Du2xqi6G.cjs} +45 -45
  95. package/dist/core/EmptyState-Du2xqi6G.cjs.map +1 -0
  96. package/dist/core/EmptyState.cjs.js +1 -1
  97. package/dist/core/EmptyState.js +1 -1
  98. package/dist/core/{FileUpload-DbMxpH-U.cjs → FileUpload-BR9-eENT.cjs} +203 -63
  99. package/dist/core/FileUpload-BR9-eENT.cjs.map +1 -0
  100. package/dist/core/{FileUpload-9fIxslAo.js → FileUpload-BWjOciA3.js} +204 -64
  101. package/dist/core/FileUpload-BWjOciA3.js.map +1 -0
  102. package/dist/core/FileUpload.cjs.js +1 -1
  103. package/dist/core/FileUpload.js +1 -1
  104. package/dist/core/Footer-60sTURxB.cjs +272 -0
  105. package/dist/core/Footer-60sTURxB.cjs.map +1 -0
  106. package/dist/core/Footer-CkSzN_PI.js +273 -0
  107. package/dist/core/Footer-CkSzN_PI.js.map +1 -0
  108. package/dist/core/Footer.cjs.js +1 -1
  109. package/dist/core/Footer.js +1 -1
  110. package/dist/core/{FormGroup-DDZ1D_CI.js → FormGroup-qqHKY5fP.js} +66 -33
  111. package/dist/core/FormGroup-qqHKY5fP.js.map +1 -0
  112. package/dist/core/{FormGroup-Cit_2_Wo.cjs → FormGroup-s3n6ZiDT.cjs} +66 -33
  113. package/dist/core/FormGroup-s3n6ZiDT.cjs.map +1 -0
  114. package/dist/core/FormGroup.cjs.js +1 -1
  115. package/dist/core/FormGroup.js +1 -1
  116. package/dist/core/{IconButton-Bio6Azm-.cjs → IconButton-C_ktew-6.cjs} +57 -36
  117. package/dist/core/IconButton-C_ktew-6.cjs.map +1 -0
  118. package/dist/core/{IconButton-BMZhwYXB.js → IconButton-ChJJCB4O.js} +57 -36
  119. package/dist/core/IconButton-ChJJCB4O.js.map +1 -0
  120. package/dist/core/IconButton.cjs.js +1 -1
  121. package/dist/core/IconButton.js +1 -1
  122. package/dist/core/{MarkdownRenderer-Bn6vcfSd.cjs → MarkdownRenderer-CBPB1PJt.cjs} +25 -5
  123. package/dist/core/MarkdownRenderer-CBPB1PJt.cjs.map +1 -0
  124. package/dist/core/{MarkdownRenderer-Co787hku.js → MarkdownRenderer-EbqPYLEM.js} +25 -5
  125. package/dist/core/MarkdownRenderer-EbqPYLEM.js.map +1 -0
  126. package/dist/core/MarkdownRenderer.cjs.js +1 -1
  127. package/dist/core/MarkdownRenderer.js +1 -1
  128. package/dist/core/{MessagePopup-aKDackiq.js → MessagePopup-D6xuwdAv.js} +21 -10
  129. package/dist/core/MessagePopup-D6xuwdAv.js.map +1 -0
  130. package/dist/core/{MessagePopup-BwKMX9NS.cjs → MessagePopup-DIfdILWZ.cjs} +21 -10
  131. package/dist/core/MessagePopup-DIfdILWZ.cjs.map +1 -0
  132. package/dist/core/MessagePopup.cjs.js +1 -1
  133. package/dist/core/MessagePopup.js +1 -1
  134. package/dist/core/{MetricBox-CPug-nxo.js → MetricBox-BlkBoGCL.js} +35 -8
  135. package/dist/core/MetricBox-BlkBoGCL.js.map +1 -0
  136. package/dist/core/{MetricBox-DVo4UUQv.cjs → MetricBox-Dq8ZwEGV.cjs} +35 -8
  137. package/dist/core/MetricBox-Dq8ZwEGV.cjs.map +1 -0
  138. package/dist/core/MetricBox.cjs.js +1 -1
  139. package/dist/core/MetricBox.js +1 -1
  140. package/dist/core/{Modal-DCBP18Ov.js → Modal-DVz_GNOL.js} +16 -8
  141. package/dist/core/Modal-DVz_GNOL.js.map +1 -0
  142. package/dist/core/{Modal-CIkYf4MD.cjs → Modal-DhpY3Kt6.cjs} +16 -8
  143. package/dist/core/Modal-DhpY3Kt6.cjs.map +1 -0
  144. package/dist/core/Modal.cjs.js +1 -1
  145. package/dist/core/Modal.js +1 -1
  146. package/dist/core/{NavBar-BcL7Dh52.js → NavBar-DelYH3IR.js} +58 -33
  147. package/dist/core/NavBar-DelYH3IR.js.map +1 -0
  148. package/dist/core/{NavBar-DKDzRFJ6.cjs → NavBar-Dq1f1NSn.cjs} +58 -33
  149. package/dist/core/NavBar-Dq1f1NSn.cjs.map +1 -0
  150. package/dist/core/NavBar.cjs.js +1 -1
  151. package/dist/core/NavBar.js +1 -1
  152. package/dist/core/{NotificationCenter-DfOOEt9N.cjs → NotificationCenter-CsKJTZhk.cjs} +117 -72
  153. package/dist/core/NotificationCenter-CsKJTZhk.cjs.map +1 -0
  154. package/dist/core/{NotificationCenter-DLCzWNve.js → NotificationCenter-MTRIDmMm.js} +118 -73
  155. package/dist/core/NotificationCenter-MTRIDmMm.js.map +1 -0
  156. package/dist/core/NotificationCenter.cjs.js +2 -4
  157. package/dist/core/NotificationCenter.cjs.js.map +1 -1
  158. package/dist/core/NotificationCenter.js +2 -3
  159. package/dist/core/Pager-B2MEqAOV.js +225 -0
  160. package/dist/core/Pager-B2MEqAOV.js.map +1 -0
  161. package/dist/core/Pager-wl7_umU4.cjs +224 -0
  162. package/dist/core/Pager-wl7_umU4.cjs.map +1 -0
  163. package/dist/core/Pager.cjs.js +1 -1
  164. package/dist/core/Pager.js +1 -1
  165. package/dist/core/{PopOver-IzDFOu7Y.cjs → PopOver-B87GGM3R.cjs} +39 -16
  166. package/dist/core/PopOver-B87GGM3R.cjs.map +1 -0
  167. package/dist/core/{PopOver-Bt80x5vL.js → PopOver-lRqOHUJg.js} +39 -16
  168. package/dist/core/PopOver-lRqOHUJg.js.map +1 -0
  169. package/dist/core/PopOver.cjs.js +1 -1
  170. package/dist/core/PopOver.js +1 -1
  171. package/dist/core/{ProgressBar-BbIZLV1t.cjs → ProgressBar-Cjw7Npjq.cjs} +45 -32
  172. package/dist/core/ProgressBar-Cjw7Npjq.cjs.map +1 -0
  173. package/dist/core/{ProgressBar-BLcSyVgQ.js → ProgressBar-pVPs5lsA.js} +45 -32
  174. package/dist/core/ProgressBar-pVPs5lsA.js.map +1 -0
  175. package/dist/core/ProgressBar.cjs.js +1 -1
  176. package/dist/core/ProgressBar.js +1 -1
  177. package/dist/core/{RadioButton-DygrrlH_.js → RadioButton-BM0-FaUG.js} +15 -3
  178. package/dist/core/RadioButton-BM0-FaUG.js.map +1 -0
  179. package/dist/core/{RadioButton-BxdmcaZg.cjs → RadioButton-QK6SCEbU.cjs} +15 -3
  180. package/dist/core/RadioButton-QK6SCEbU.cjs.map +1 -0
  181. package/dist/core/RadioButton.cjs.js +1 -1
  182. package/dist/core/RadioButton.js +1 -1
  183. package/dist/core/{Rating-B4qbA_y6.js → Rating-C7xfIXYT.js} +45 -21
  184. package/dist/core/Rating-C7xfIXYT.js.map +1 -0
  185. package/dist/core/{Rating-U1MIoh5b.cjs → Rating-CIo6DFh5.cjs} +45 -21
  186. package/dist/core/Rating-CIo6DFh5.cjs.map +1 -0
  187. package/dist/core/Rating.cjs.js +1 -1
  188. package/dist/core/Rating.js +1 -1
  189. package/dist/core/{ScrollToTop-Bdm78oOs.js → ScrollToTop-BYyKPqix.js} +20 -5
  190. package/dist/core/ScrollToTop-BYyKPqix.js.map +1 -0
  191. package/dist/core/{ScrollToTop-DKOwe6z3.cjs → ScrollToTop-CK74BkzY.cjs} +20 -5
  192. package/dist/core/ScrollToTop-CK74BkzY.cjs.map +1 -0
  193. package/dist/core/ScrollToTop.cjs.js +1 -1
  194. package/dist/core/ScrollToTop.js +1 -1
  195. package/dist/core/{Select-DnCmFsPq.js → Select-CeyJGftD.js} +61 -28
  196. package/dist/core/Select-CeyJGftD.js.map +1 -0
  197. package/dist/core/{Select-CeGp-Feb.cjs → Select-KiOrD0xY.cjs} +61 -28
  198. package/dist/core/Select-KiOrD0xY.cjs.map +1 -0
  199. package/dist/core/Select.cjs.js +1 -1
  200. package/dist/core/Select.js +1 -1
  201. package/dist/core/{Sidebar-PLVBm7te.js → Sidebar-BWzuQw-r.js} +75 -26
  202. package/dist/core/Sidebar-BWzuQw-r.js.map +1 -0
  203. package/dist/core/{Sidebar-BMvvoT9j.cjs → Sidebar-DrEQ7PwW.cjs} +75 -26
  204. package/dist/core/Sidebar-DrEQ7PwW.cjs.map +1 -0
  205. package/dist/core/Sidebar.cjs.js +1 -1
  206. package/dist/core/Sidebar.js +1 -1
  207. package/dist/core/{Skeleton-tetAZCSl.cjs → Skeleton-BXeQBgX2.cjs} +34 -11
  208. package/dist/core/Skeleton-BXeQBgX2.cjs.map +1 -0
  209. package/dist/core/{Skeleton-BjpQHG5i.js → Skeleton-C-L3OgVt.js} +34 -11
  210. package/dist/core/Skeleton-C-L3OgVt.js.map +1 -0
  211. package/dist/core/Skeleton.cjs.js +1 -1
  212. package/dist/core/Skeleton.js +1 -1
  213. package/dist/core/{Slider-S8KnYlkd.cjs → Slider-Davbqf_v.cjs} +43 -9
  214. package/dist/core/Slider-Davbqf_v.cjs.map +1 -0
  215. package/dist/core/{Slider-WsZnPCUo.js → Slider-Dxcryk5j.js} +43 -9
  216. package/dist/core/Slider-Dxcryk5j.js.map +1 -0
  217. package/dist/core/Slider.cjs.js +1 -1
  218. package/dist/core/Slider.js +1 -1
  219. package/dist/core/{Spinner-D1CHbKYU.js → Spinner-C0bxVDCy.js} +15 -7
  220. package/dist/core/Spinner-C0bxVDCy.js.map +1 -0
  221. package/dist/core/{Spinner-JTcQ_d4T.cjs → Spinner-DvzolXTI.cjs} +15 -7
  222. package/dist/core/Spinner-DvzolXTI.cjs.map +1 -0
  223. package/dist/core/Spinner.cjs.js +1 -1
  224. package/dist/core/Spinner.js +1 -1
  225. package/dist/core/{Stepper-JNVBVHc3.cjs → Stepper-CQRJID19.cjs} +25 -12
  226. package/dist/core/Stepper-CQRJID19.cjs.map +1 -0
  227. package/dist/core/{Stepper-C6xjvhZJ.js → Stepper-SDJM-Jju.js} +25 -12
  228. package/dist/core/Stepper-SDJM-Jju.js.map +1 -0
  229. package/dist/core/Stepper.cjs.js +1 -1
  230. package/dist/core/Stepper.js +1 -1
  231. package/dist/core/{Tabs-DkdkDwei.js → Tabs-B4HRqGuB.js} +16 -7
  232. package/dist/core/Tabs-B4HRqGuB.js.map +1 -0
  233. package/dist/core/{Tabs-BFn-TRKL.cjs → Tabs-r1nyJCFz.cjs} +16 -7
  234. package/dist/core/Tabs-r1nyJCFz.cjs.map +1 -0
  235. package/dist/core/Tabs.cjs.js +1 -1
  236. package/dist/core/Tabs.js +1 -1
  237. package/dist/core/{TagInput-Bvoe6pm0.js → TagInput-CcuMIlmi.js} +47 -34
  238. package/dist/core/TagInput-CcuMIlmi.js.map +1 -0
  239. package/dist/core/{TagInput-Ce3BWJaw.cjs → TagInput-pWRdhaP3.cjs} +46 -33
  240. package/dist/core/TagInput-pWRdhaP3.cjs.map +1 -0
  241. package/dist/core/TagInput.cjs.js +1 -1
  242. package/dist/core/TagInput.js +1 -1
  243. package/dist/core/{TextArea-UeNb21Ch.cjs → TextArea-BKmmcXld.cjs} +51 -11
  244. package/dist/core/TextArea-BKmmcXld.cjs.map +1 -0
  245. package/dist/core/{TextArea-CdulzkDh.js → TextArea-Ufou1zw1.js} +51 -11
  246. package/dist/core/TextArea-Ufou1zw1.js.map +1 -0
  247. package/dist/core/TextArea.cjs.js +1 -1
  248. package/dist/core/TextArea.js +1 -1
  249. package/dist/core/{TextInput-lFozK5mA.js → TextInput-BaiDGrKw.js} +112 -89
  250. package/dist/core/TextInput-BaiDGrKw.js.map +1 -0
  251. package/dist/core/{TextInput-DcONHL6m.cjs → TextInput-DbAsQxjr.cjs} +112 -89
  252. package/dist/core/TextInput-DbAsQxjr.cjs.map +1 -0
  253. package/dist/core/TextInput.cjs.js +1 -1
  254. package/dist/core/TextInput.js +1 -1
  255. package/dist/core/{ThemeContext-DOlnx89D.cjs → ThemeContext-4edI_44t.cjs} +2 -2
  256. package/dist/{next/ThemeContext-DA4TVcjV.cjs.map → core/ThemeContext-4edI_44t.cjs.map} +1 -1
  257. package/dist/{next/ThemeContext-BsFZ0Cl7.js → core/ThemeContext-nYSJ_G6L.js} +2 -2
  258. package/dist/{next/ThemeContext-BsFZ0Cl7.js.map → core/ThemeContext-nYSJ_G6L.js.map} +1 -1
  259. package/dist/core/ThemeProvider.cjs.js +1 -1
  260. package/dist/core/ThemeProvider.js +1 -1
  261. package/dist/core/Timeline-BRLd8boJ.js +194 -0
  262. package/dist/core/Timeline-BRLd8boJ.js.map +1 -0
  263. package/dist/core/Timeline-CfTmjEVS.cjs +193 -0
  264. package/dist/core/Timeline-CfTmjEVS.cjs.map +1 -0
  265. package/dist/core/Timeline.cjs.js +1 -1
  266. package/dist/core/Timeline.js +1 -1
  267. package/dist/core/{Toggle-B4bJ4Jcj.cjs → Toggle-BRUwXOhV.cjs} +27 -10
  268. package/dist/core/Toggle-BRUwXOhV.cjs.map +1 -0
  269. package/dist/core/{Toggle-DxNHxjZn.js → Toggle-DL0Nhwgr.js} +27 -10
  270. package/dist/core/Toggle-DL0Nhwgr.js.map +1 -0
  271. package/dist/core/Toggle.cjs.js +1 -1
  272. package/dist/core/Toggle.js +1 -1
  273. package/dist/core/{Toolbar-DKSfwRUz.cjs → Toolbar-CxJxebIJ.cjs} +30 -10
  274. package/dist/core/Toolbar-CxJxebIJ.cjs.map +1 -0
  275. package/dist/core/{Toolbar-CQNKVKK8.js → Toolbar-fSghH1_-.js} +30 -10
  276. package/dist/core/Toolbar-fSghH1_-.js.map +1 -0
  277. package/dist/core/Toolbar.cjs.js +1 -1
  278. package/dist/core/Toolbar.js +1 -1
  279. package/dist/core/{Tooltip-DS7DSyij.cjs → Tooltip-_e_4s6pE.cjs} +70 -19
  280. package/dist/core/Tooltip-_e_4s6pE.cjs.map +1 -0
  281. package/dist/core/{Tooltip-BzRqlOTz.js → Tooltip-wKNLA3ua.js} +71 -20
  282. package/dist/core/Tooltip-wKNLA3ua.js.map +1 -0
  283. package/dist/core/Tooltip.cjs.js +1 -1
  284. package/dist/core/Tooltip.js +1 -1
  285. package/dist/core/{Typography-DFXpv9CF.js → Typography-D0hPzK5Y.js} +20 -4
  286. package/dist/core/Typography-D0hPzK5Y.js.map +1 -0
  287. package/dist/core/{Typography-CrSonr_W.cjs → Typography-DdTiWRgQ.cjs} +20 -4
  288. package/dist/core/Typography-DdTiWRgQ.cjs.map +1 -0
  289. package/dist/core/Typography.cjs.js +1 -1
  290. package/dist/core/Typography.js +1 -1
  291. package/dist/{next/boreal-style-config-Rr5d5Qts.cjs → core/boreal-style-config-C1UIwOFN.cjs} +4 -1
  292. package/dist/core/boreal-style-config-C1UIwOFN.cjs.map +1 -0
  293. package/dist/core/{boreal-style-config-BILmxkZG.js → boreal-style-config-DsaRlxmw.js} +4 -1
  294. package/dist/core/boreal-style-config-DsaRlxmw.js.map +1 -0
  295. package/dist/core/boreal-ui.css +451 -44
  296. package/dist/core/index.cjs.js +49 -49
  297. package/dist/core/index.js +50 -50
  298. package/dist/next/{Accordion-CWYy3ivV.cjs → Accordion-BEa1jxTt.cjs} +97 -65
  299. package/dist/next/Accordion-BEa1jxTt.cjs.map +1 -0
  300. package/dist/next/{Accordion-BGmQxSLY.js → Accordion-Bg8V6T38.js} +98 -66
  301. package/dist/next/Accordion-Bg8V6T38.js.map +1 -0
  302. package/dist/next/Accordion.cjs.js +1 -1
  303. package/dist/next/Accordion.js +1 -1
  304. package/dist/next/{Avatar-D3l1T_H7.js → Avatar-CiFxswSP.js} +59 -22
  305. package/dist/next/Avatar-CiFxswSP.js.map +1 -0
  306. package/dist/next/{Avatar-aNqEuazN.cjs → Avatar-iZKOY9MH.cjs} +58 -21
  307. package/dist/next/Avatar-iZKOY9MH.cjs.map +1 -0
  308. package/dist/next/Avatar.cjs.js +1 -1
  309. package/dist/next/Avatar.js +1 -1
  310. package/dist/next/{Badge-BYC1gEgw.cjs → Badge-DzcjI-JI.cjs} +28 -10
  311. package/dist/next/Badge-DzcjI-JI.cjs.map +1 -0
  312. package/dist/next/{Badge-4PrdXKYJ.js → Badge-WP2DFssv.js} +28 -10
  313. package/dist/next/Badge-WP2DFssv.js.map +1 -0
  314. package/dist/next/Badge.cjs.js +1 -1
  315. package/dist/next/Badge.js +1 -1
  316. package/dist/next/{Breadcrumbs-DrLy6lxS.js → Breadcrumbs-B60a5DUy.js} +42 -26
  317. package/dist/next/Breadcrumbs-B60a5DUy.js.map +1 -0
  318. package/dist/next/{Breadcrumbs--HIh4k3A.cjs → Breadcrumbs-CV5iM8BP.cjs} +41 -25
  319. package/dist/next/Breadcrumbs-CV5iM8BP.cjs.map +1 -0
  320. package/dist/next/Breadcrumbs.cjs.js +2 -4
  321. package/dist/next/Breadcrumbs.cjs.js.map +1 -1
  322. package/dist/next/Breadcrumbs.js +1 -2
  323. package/dist/next/{Button-CARQQF9h.js → Button-BfgUzkgN.js} +98 -60
  324. package/dist/next/Button-BfgUzkgN.js.map +1 -0
  325. package/dist/next/{Button-CfP7f3xF.cjs → Button-DMCOgi4K.cjs} +98 -60
  326. package/dist/next/Button-DMCOgi4K.cjs.map +1 -0
  327. package/dist/next/Button.cjs.js +1 -1
  328. package/dist/next/Button.js +1 -1
  329. package/dist/next/{Card-WoaRWnDq.cjs → Card-0Pm8Vjjn.cjs} +152 -87
  330. package/dist/next/Card-0Pm8Vjjn.cjs.map +1 -0
  331. package/dist/next/{Card-B_J1YknX.js → Card-CSFC7mpW.js} +152 -87
  332. package/dist/next/Card-CSFC7mpW.js.map +1 -0
  333. package/dist/next/Card.cjs.js +1 -1
  334. package/dist/next/Card.js +1 -1
  335. package/dist/next/CheckBox.cjs.js +1 -1
  336. package/dist/next/CheckBox.js +1 -1
  337. package/dist/next/Checkbox-BlWHxhjw.js +243 -0
  338. package/dist/next/Checkbox-BlWHxhjw.js.map +1 -0
  339. package/dist/next/Checkbox-DXNxt-4b.cjs +242 -0
  340. package/dist/next/Checkbox-DXNxt-4b.cjs.map +1 -0
  341. package/dist/next/{Chip-Ben13vdt.cjs → Chip-CB1mcRA1.cjs} +93 -60
  342. package/dist/next/Chip-CB1mcRA1.cjs.map +1 -0
  343. package/dist/next/{Chip-CGlXrV7g.js → Chip-CuaKFQku.js} +94 -61
  344. package/dist/next/Chip-CuaKFQku.js.map +1 -0
  345. package/dist/next/Chip.cjs.js +1 -1
  346. package/dist/next/Chip.js +1 -1
  347. package/dist/next/{CircularProgress-R9oZ2NqR.cjs → CircularProgress-CzFUYDX1.cjs} +68 -51
  348. package/dist/next/CircularProgress-CzFUYDX1.cjs.map +1 -0
  349. package/dist/next/{CircularProgress-C3Hd3lut.js → CircularProgress-Dn1VXFsq.js} +68 -51
  350. package/dist/next/CircularProgress-Dn1VXFsq.js.map +1 -0
  351. package/dist/next/CircularProgress.cjs.js +1 -1
  352. package/dist/next/CircularProgress.js +1 -1
  353. package/dist/next/ColorPicker-ByPKPsMz.cjs +232 -0
  354. package/dist/next/ColorPicker-ByPKPsMz.cjs.map +1 -0
  355. package/dist/next/ColorPicker-CCzSZDjx.js +233 -0
  356. package/dist/next/ColorPicker-CCzSZDjx.js.map +1 -0
  357. package/dist/next/ColorPicker.cjs.js +1 -1
  358. package/dist/next/ColorPicker.js +1 -1
  359. package/dist/next/CommandPalette-BQEJG5yN.cjs +495 -0
  360. package/dist/next/CommandPalette-BQEJG5yN.cjs.map +1 -0
  361. package/dist/next/CommandPalette-Cxx3Ey9J.js +496 -0
  362. package/dist/next/CommandPalette-Cxx3Ey9J.js.map +1 -0
  363. package/dist/next/CommandPalette.cjs.js +1 -1
  364. package/dist/next/CommandPalette.js +1 -1
  365. package/dist/next/DataTable-Bt6D__oo.cjs +359 -0
  366. package/dist/next/DataTable-Bt6D__oo.cjs.map +1 -0
  367. package/dist/next/DataTable-CZj_U9rg.js +360 -0
  368. package/dist/next/DataTable-CZj_U9rg.js.map +1 -0
  369. package/dist/next/DataTable.cjs.js +1 -1
  370. package/dist/next/DataTable.js +1 -1
  371. package/dist/next/DateTimePicker-CdPvr6Mc.js +323 -0
  372. package/dist/next/DateTimePicker-CdPvr6Mc.js.map +1 -0
  373. package/dist/next/DateTimePicker-Cols3qxt.cjs +322 -0
  374. package/dist/next/DateTimePicker-Cols3qxt.cjs.map +1 -0
  375. package/dist/next/DateTimePicker.cjs.js +1 -1
  376. package/dist/next/DateTimePicker.js +1 -1
  377. package/dist/next/{Divider-DZ7hdt_B.js → Divider-DXGze_D2.js} +46 -39
  378. package/dist/next/Divider-DXGze_D2.js.map +1 -0
  379. package/dist/next/{Divider-C0voHnSK.cjs → Divider-Dr0xlon0.cjs} +46 -39
  380. package/dist/next/Divider-Dr0xlon0.cjs.map +1 -0
  381. package/dist/next/Divider.cjs.js +1 -1
  382. package/dist/next/Divider.js +1 -1
  383. package/dist/next/{Dropdown-VXFj_bFP.js → Dropdown-79ZIBUjB.js} +159 -73
  384. package/dist/next/Dropdown-79ZIBUjB.js.map +1 -0
  385. package/dist/next/{Dropdown-BkgFTyAd.cjs → Dropdown-BfvCn_20.cjs} +158 -72
  386. package/dist/next/Dropdown-BfvCn_20.cjs.map +1 -0
  387. package/dist/next/Dropdown.cjs.js +1 -1
  388. package/dist/next/Dropdown.js +1 -1
  389. package/dist/next/{EmptyState-DEXnMGP_.cjs → EmptyState-Dy1Xeyzp.cjs} +45 -45
  390. package/dist/next/EmptyState-Dy1Xeyzp.cjs.map +1 -0
  391. package/dist/next/{EmptyState-C9ZcLwdE.js → EmptyState-oXCSBosz.js} +45 -45
  392. package/dist/next/EmptyState-oXCSBosz.js.map +1 -0
  393. package/dist/next/EmptyState.cjs.js +1 -1
  394. package/dist/next/EmptyState.js +1 -1
  395. package/dist/next/FileUpload-C1DVXFK7.cjs +619 -0
  396. package/dist/next/FileUpload-C1DVXFK7.cjs.map +1 -0
  397. package/dist/next/FileUpload-qiY8YpDz.js +620 -0
  398. package/dist/next/FileUpload-qiY8YpDz.js.map +1 -0
  399. package/dist/next/FileUpload.cjs.js +1 -1
  400. package/dist/next/FileUpload.js +1 -1
  401. package/dist/next/Footer-4L7pu4Gp.cjs +324 -0
  402. package/dist/next/Footer-4L7pu4Gp.cjs.map +1 -0
  403. package/dist/next/Footer-DIPBB0is.js +325 -0
  404. package/dist/next/Footer-DIPBB0is.js.map +1 -0
  405. package/dist/next/Footer.cjs.js +1 -1
  406. package/dist/next/Footer.js +1 -1
  407. package/dist/next/FormGroup-AHYiWnkX.js +209 -0
  408. package/dist/next/FormGroup-AHYiWnkX.js.map +1 -0
  409. package/dist/next/FormGroup-B4Xb3X61.cjs +208 -0
  410. package/dist/next/FormGroup-B4Xb3X61.cjs.map +1 -0
  411. package/dist/next/FormGroup.cjs.js +1 -1
  412. package/dist/next/FormGroup.js +1 -1
  413. package/dist/next/{IconButton-D3MIvof0.cjs → IconButton-C4OC99ig.cjs} +57 -36
  414. package/dist/next/IconButton-C4OC99ig.cjs.map +1 -0
  415. package/dist/next/{IconButton-Cl0mZxov.js → IconButton-CNiln4Qf.js} +57 -36
  416. package/dist/next/IconButton-CNiln4Qf.js.map +1 -0
  417. package/dist/next/IconButton.cjs.js +1 -1
  418. package/dist/next/IconButton.js +1 -1
  419. package/dist/next/{MarkdownRenderer-yVj97cUU.js → MarkdownRenderer-CGnuIkVY.js} +25 -5
  420. package/dist/next/MarkdownRenderer-CGnuIkVY.js.map +1 -0
  421. package/dist/next/{MarkdownRenderer-BxR_D4HC.cjs → MarkdownRenderer-CO_rlPOB.cjs} +25 -5
  422. package/dist/next/MarkdownRenderer-CO_rlPOB.cjs.map +1 -0
  423. package/dist/next/MarkdownRenderer.cjs.js +1 -1
  424. package/dist/next/MarkdownRenderer.js +1 -1
  425. package/dist/next/{MessagePopup-CyO5NAiy.js → MessagePopup-BscnzqBa.js} +21 -10
  426. package/dist/next/MessagePopup-BscnzqBa.js.map +1 -0
  427. package/dist/next/{MessagePopup-DX7KfiyF.cjs → MessagePopup-lIFn7LZ2.cjs} +21 -10
  428. package/dist/next/MessagePopup-lIFn7LZ2.cjs.map +1 -0
  429. package/dist/next/MessagePopup.cjs.js +1 -1
  430. package/dist/next/MessagePopup.js +1 -1
  431. package/dist/next/{MetricBox-CKKlOQGM.js → MetricBox-Br-_66aB.js} +81 -54
  432. package/dist/next/MetricBox-Br-_66aB.js.map +1 -0
  433. package/dist/next/MetricBox-CeONzyEu.cjs +206 -0
  434. package/dist/next/MetricBox-CeONzyEu.cjs.map +1 -0
  435. package/dist/next/MetricBox.cjs.js +1 -1
  436. package/dist/next/MetricBox.js +1 -1
  437. package/dist/next/{Modal-TdYJrZnP.cjs → Modal-Baxb-_FV.cjs} +16 -8
  438. package/dist/next/Modal-Baxb-_FV.cjs.map +1 -0
  439. package/dist/next/{Modal-CJnNyxLT.js → Modal-ClsOP_6R.js} +16 -8
  440. package/dist/next/Modal-ClsOP_6R.js.map +1 -0
  441. package/dist/next/Modal.cjs.js +1 -1
  442. package/dist/next/Modal.js +1 -1
  443. package/dist/next/NavBar-BXnGlk49.cjs +201 -0
  444. package/dist/next/NavBar-BXnGlk49.cjs.map +1 -0
  445. package/dist/next/NavBar-Bmf1C-io.js +202 -0
  446. package/dist/next/NavBar-Bmf1C-io.js.map +1 -0
  447. package/dist/next/NavBar.cjs.js +1 -1
  448. package/dist/next/NavBar.js +1 -1
  449. package/dist/next/{NotificationCenter-Bo2NcO55.js → NotificationCenter-BrXxvcLm.js} +158 -113
  450. package/dist/next/NotificationCenter-BrXxvcLm.js.map +1 -0
  451. package/dist/next/{NotificationCenter-COZtpamq.cjs → NotificationCenter-XcbhUqkh.cjs} +157 -112
  452. package/dist/next/NotificationCenter-XcbhUqkh.cjs.map +1 -0
  453. package/dist/next/NotificationCenter.cjs.js +2 -4
  454. package/dist/next/NotificationCenter.cjs.js.map +1 -1
  455. package/dist/next/NotificationCenter.js +2 -3
  456. package/dist/next/Pager-DesOcELM.cjs +226 -0
  457. package/dist/next/Pager-DesOcELM.cjs.map +1 -0
  458. package/dist/next/Pager-Dq-KkMmi.js +227 -0
  459. package/dist/next/Pager-Dq-KkMmi.js.map +1 -0
  460. package/dist/next/Pager.cjs.js +1 -1
  461. package/dist/next/Pager.js +1 -1
  462. package/dist/next/{PopOver-_Fhr-zDB.cjs → PopOver-CpSdILYS.cjs} +78 -55
  463. package/dist/next/PopOver-CpSdILYS.cjs.map +1 -0
  464. package/dist/next/{PopOver-D300C5Sg.js → PopOver-Dp_vC53_.js} +78 -55
  465. package/dist/next/PopOver-Dp_vC53_.js.map +1 -0
  466. package/dist/next/PopOver.cjs.js +1 -1
  467. package/dist/next/PopOver.js +1 -1
  468. package/dist/next/ProgressBar-Bf_ZzYzI.js +199 -0
  469. package/dist/next/ProgressBar-Bf_ZzYzI.js.map +1 -0
  470. package/dist/next/ProgressBar-sg1jxDfy.cjs +198 -0
  471. package/dist/next/ProgressBar-sg1jxDfy.cjs.map +1 -0
  472. package/dist/next/ProgressBar.cjs.js +1 -1
  473. package/dist/next/ProgressBar.js +1 -1
  474. package/dist/next/{RadioButton-BkLrVidx.cjs → RadioButton-X5L9U53Y.cjs} +52 -40
  475. package/dist/next/RadioButton-X5L9U53Y.cjs.map +1 -0
  476. package/dist/next/{RadioButton-D-BZDfsG.js → RadioButton-z26U6POV.js} +52 -40
  477. package/dist/next/RadioButton-z26U6POV.js.map +1 -0
  478. package/dist/next/RadioButton.cjs.js +1 -1
  479. package/dist/next/RadioButton.js +1 -1
  480. package/dist/next/{Rating-DnjJd_Sd.js → Rating-D6JEDvn4.js} +78 -54
  481. package/dist/next/Rating-D6JEDvn4.js.map +1 -0
  482. package/dist/next/{Rating-DTdMdPfy.cjs → Rating-DXYBYXmx.cjs} +78 -54
  483. package/dist/next/Rating-DXYBYXmx.cjs.map +1 -0
  484. package/dist/next/Rating.cjs.js +1 -1
  485. package/dist/next/Rating.js +1 -1
  486. package/dist/next/{ScrollToTop-B_-WfAAW.cjs → ScrollToTop-CBRFQNC0.cjs} +20 -5
  487. package/dist/next/ScrollToTop-CBRFQNC0.cjs.map +1 -0
  488. package/dist/next/{ScrollToTop-goObm3qq.js → ScrollToTop-Cw7LXubo.js} +20 -5
  489. package/dist/next/ScrollToTop-Cw7LXubo.js.map +1 -0
  490. package/dist/next/ScrollToTop.cjs.js +1 -1
  491. package/dist/next/ScrollToTop.js +1 -1
  492. package/dist/next/{Select-CY0pPJEK.cjs → Select-DAD4xA1b.cjs} +90 -57
  493. package/dist/next/Select-DAD4xA1b.cjs.map +1 -0
  494. package/dist/next/{Select-CItGjqiA.js → Select-DPL__SwJ.js} +90 -57
  495. package/dist/next/Select-DPL__SwJ.js.map +1 -0
  496. package/dist/next/Select.cjs.js +1 -1
  497. package/dist/next/Select.js +1 -1
  498. package/dist/next/{Sidebar-yllRZuSW.cjs → Sidebar-BXmF-Nl2.cjs} +75 -26
  499. package/dist/next/Sidebar-BXmF-Nl2.cjs.map +1 -0
  500. package/dist/next/{Sidebar-C8QSoGsE.js → Sidebar-CWjyCeQj.js} +75 -26
  501. package/dist/next/Sidebar-CWjyCeQj.js.map +1 -0
  502. package/dist/next/Sidebar.cjs.js +1 -1
  503. package/dist/next/Sidebar.js +1 -1
  504. package/dist/next/Skeleton-Bk8l48-D.js +141 -0
  505. package/dist/next/Skeleton-Bk8l48-D.js.map +1 -0
  506. package/dist/next/Skeleton-N1-8bK7i.cjs +140 -0
  507. package/dist/next/Skeleton-N1-8bK7i.cjs.map +1 -0
  508. package/dist/next/Skeleton.cjs.js +1 -1
  509. package/dist/next/Skeleton.js +1 -1
  510. package/dist/next/Slider-BC9XlsEQ.js +208 -0
  511. package/dist/next/Slider-BC9XlsEQ.js.map +1 -0
  512. package/dist/next/Slider-BPtajU2m.cjs +207 -0
  513. package/dist/next/Slider-BPtajU2m.cjs.map +1 -0
  514. package/dist/next/Slider.cjs.js +1 -1
  515. package/dist/next/Slider.js +1 -1
  516. package/dist/next/{Spinner-COpCxB1_.cjs → Spinner-CmaoTjNr.cjs} +51 -43
  517. package/dist/next/Spinner-CmaoTjNr.cjs.map +1 -0
  518. package/dist/next/{Spinner-DgHFzfrq.js → Spinner-D7jfVZGm.js} +51 -43
  519. package/dist/next/Spinner-D7jfVZGm.js.map +1 -0
  520. package/dist/next/Spinner.cjs.js +1 -1
  521. package/dist/next/Spinner.js +1 -1
  522. package/dist/next/{Stepper-Bqt2vsZw.js → Stepper-CTd99d_F.js} +63 -50
  523. package/dist/next/Stepper-CTd99d_F.js.map +1 -0
  524. package/dist/next/{Stepper-Dyhw2IRi.cjs → Stepper-P9DL0HZW.cjs} +63 -50
  525. package/dist/next/Stepper-P9DL0HZW.cjs.map +1 -0
  526. package/dist/next/Stepper.cjs.js +1 -1
  527. package/dist/next/Stepper.js +1 -1
  528. package/dist/next/{Tabs-DqeWKCtM.cjs → Tabs-B6zeG5AB.cjs} +16 -7
  529. package/dist/next/Tabs-B6zeG5AB.cjs.map +1 -0
  530. package/dist/next/{Tabs-B9ZCknnG.js → Tabs-tZjEVd-U.js} +16 -7
  531. package/dist/next/Tabs-tZjEVd-U.js.map +1 -0
  532. package/dist/next/Tabs.cjs.js +1 -1
  533. package/dist/next/Tabs.js +1 -1
  534. package/dist/next/{TagInput-BdF4k1f2.js → TagInput-CXvw8ogs.js} +92 -79
  535. package/dist/next/TagInput-CXvw8ogs.js.map +1 -0
  536. package/dist/next/{TagInput-Bkz8dFHQ.cjs → TagInput-DldSDmHu.cjs} +91 -78
  537. package/dist/next/TagInput-DldSDmHu.cjs.map +1 -0
  538. package/dist/next/TagInput.cjs.js +1 -1
  539. package/dist/next/TagInput.js +1 -1
  540. package/dist/next/{TextArea-GUnAVpIS.cjs → TextArea-BXmbrq4-.cjs} +51 -11
  541. package/dist/next/TextArea-BXmbrq4-.cjs.map +1 -0
  542. package/dist/next/{TextArea-DN6CeRB2.js → TextArea-CWscnEZW.js} +51 -11
  543. package/dist/next/TextArea-CWscnEZW.js.map +1 -0
  544. package/dist/next/TextArea.cjs.js +1 -1
  545. package/dist/next/TextArea.js +1 -1
  546. package/dist/next/{TextInput-BjOiLWZE.js → TextInput-3ZD3ccXf.js} +112 -89
  547. package/dist/next/TextInput-3ZD3ccXf.js.map +1 -0
  548. package/dist/next/{TextInput-BogGxTmE.cjs → TextInput-cfBWD6de.cjs} +112 -89
  549. package/dist/next/TextInput-cfBWD6de.cjs.map +1 -0
  550. package/dist/next/TextInput.cjs.js +1 -1
  551. package/dist/next/TextInput.js +1 -1
  552. package/dist/next/{ThemeContext-DA4TVcjV.cjs → ThemeContext-CNPp2bRD.cjs} +2 -2
  553. package/dist/{core/ThemeContext-DOlnx89D.cjs.map → next/ThemeContext-CNPp2bRD.cjs.map} +1 -1
  554. package/dist/{core/ThemeContext-BsFZ0Cl7.js → next/ThemeContext-nYSJ_G6L.js} +2 -2
  555. package/dist/{core/ThemeContext-BsFZ0Cl7.js.map → next/ThemeContext-nYSJ_G6L.js.map} +1 -1
  556. package/dist/next/ThemeProvider.cjs.js +1 -1
  557. package/dist/next/ThemeProvider.js +1 -1
  558. package/dist/next/Timeline-Bd6k_2az.js +223 -0
  559. package/dist/next/Timeline-Bd6k_2az.js.map +1 -0
  560. package/dist/next/Timeline-Dep_oZrh.cjs +222 -0
  561. package/dist/next/Timeline-Dep_oZrh.cjs.map +1 -0
  562. package/dist/next/Timeline.cjs.js +1 -1
  563. package/dist/next/Timeline.js +1 -1
  564. package/dist/next/{Toggle-BDiAYcT4.js → Toggle-Bl8weXv8.js} +27 -10
  565. package/dist/next/Toggle-Bl8weXv8.js.map +1 -0
  566. package/dist/next/{Toggle-D_g5fvKG.cjs → Toggle-C9uZG3i5.cjs} +27 -10
  567. package/dist/next/Toggle-C9uZG3i5.cjs.map +1 -0
  568. package/dist/next/Toggle.cjs.js +1 -1
  569. package/dist/next/Toggle.js +1 -1
  570. package/dist/next/{Toolbar-BueVwC2Y.js → Toolbar-DyzNvwQv.js} +63 -43
  571. package/dist/next/Toolbar-DyzNvwQv.js.map +1 -0
  572. package/dist/next/{Toolbar-DnxBBQex.cjs → Toolbar-s0krbHKU.cjs} +63 -43
  573. package/dist/next/Toolbar-s0krbHKU.cjs.map +1 -0
  574. package/dist/next/Toolbar.cjs.js +1 -1
  575. package/dist/next/Toolbar.js +1 -1
  576. package/dist/next/Tooltip-Ba5YWT7r.js +215 -0
  577. package/dist/next/Tooltip-Ba5YWT7r.js.map +1 -0
  578. package/dist/next/Tooltip-DVI61ebD.cjs +214 -0
  579. package/dist/next/Tooltip-DVI61ebD.cjs.map +1 -0
  580. package/dist/next/Tooltip.cjs.js +1 -1
  581. package/dist/next/Tooltip.js +1 -1
  582. package/dist/next/{Typography-Dg4Vc3Tm.cjs → Typography-B6VNZtxH.cjs} +20 -4
  583. package/dist/next/Typography-B6VNZtxH.cjs.map +1 -0
  584. package/dist/next/{Typography-SgeXdVdI.js → Typography-BdS7h4Eq.js} +20 -4
  585. package/dist/next/Typography-BdS7h4Eq.js.map +1 -0
  586. package/dist/next/Typography.cjs.js +1 -1
  587. package/dist/next/Typography.js +1 -1
  588. package/dist/{core/boreal-style-config-Rr5d5Qts.cjs → next/boreal-style-config-C1UIwOFN.cjs} +4 -1
  589. package/dist/next/boreal-style-config-C1UIwOFN.cjs.map +1 -0
  590. package/dist/next/{boreal-style-config-BILmxkZG.js → boreal-style-config-DsaRlxmw.js} +4 -1
  591. package/dist/next/boreal-style-config-DsaRlxmw.js.map +1 -0
  592. package/dist/next/boreal-ui.css +2796 -2478
  593. package/dist/next/index.cjs.js +72 -72
  594. package/dist/next/index.js +73 -73
  595. package/dist/tsconfig.build.tsbuildinfo +1 -1
  596. package/dist/types/components/Accordion/Accordion.types.d.ts +53 -13
  597. package/dist/types/components/Accordion/Accordion.types.d.ts.map +1 -1
  598. package/dist/types/components/Accordion/AccordionBase.d.ts.map +1 -1
  599. package/dist/types/components/Avatar/Avatar.types.d.ts +44 -21
  600. package/dist/types/components/Avatar/Avatar.types.d.ts.map +1 -1
  601. package/dist/types/components/Avatar/AvatarBase.d.ts.map +1 -1
  602. package/dist/types/components/Badge/Badge.types.d.ts +44 -13
  603. package/dist/types/components/Badge/Badge.types.d.ts.map +1 -1
  604. package/dist/types/components/Badge/BadgeBase.d.ts.map +1 -1
  605. package/dist/types/components/Breadcrumbs/Breadcrumbs.types.d.ts +29 -9
  606. package/dist/types/components/Breadcrumbs/Breadcrumbs.types.d.ts.map +1 -1
  607. package/dist/types/components/Breadcrumbs/BreadcrumbsBase.d.ts.map +1 -1
  608. package/dist/types/components/Button/Button.types.d.ts +63 -5
  609. package/dist/types/components/Button/Button.types.d.ts.map +1 -1
  610. package/dist/types/components/Button/ButtonBase.d.ts.map +1 -1
  611. package/dist/types/components/Card/Card.types.d.ts +68 -14
  612. package/dist/types/components/Card/Card.types.d.ts.map +1 -1
  613. package/dist/types/components/Card/CardBase.d.ts.map +1 -1
  614. package/dist/types/components/Card/core/Card.d.ts.map +1 -1
  615. package/dist/types/components/Checkbox/Checkbox.types.d.ts +42 -3
  616. package/dist/types/components/Checkbox/Checkbox.types.d.ts.map +1 -1
  617. package/dist/types/components/Checkbox/CheckboxBase.d.ts.map +1 -1
  618. package/dist/types/components/Checkbox/core/Checkbox.d.ts.map +1 -1
  619. package/dist/types/components/Chip/Chip.types.d.ts +33 -5
  620. package/dist/types/components/Chip/Chip.types.d.ts.map +1 -1
  621. package/dist/types/components/Chip/ChipBase.d.ts.map +1 -1
  622. package/dist/types/components/CircularProgress/CircularProgress.types.d.ts +41 -9
  623. package/dist/types/components/CircularProgress/CircularProgress.types.d.ts.map +1 -1
  624. package/dist/types/components/CircularProgress/CircularProgressBase.d.ts.map +1 -1
  625. package/dist/types/components/ColorPicker/ColorPicker.types.d.ts +35 -2
  626. package/dist/types/components/ColorPicker/ColorPicker.types.d.ts.map +1 -1
  627. package/dist/types/components/ColorPicker/ColorPickerBase.d.ts.map +1 -1
  628. package/dist/types/components/CommandPalette/CommandPalette.types.d.ts +38 -2
  629. package/dist/types/components/CommandPalette/CommandPalette.types.d.ts.map +1 -1
  630. package/dist/types/components/CommandPalette/CommandPaletteBase.d.ts +1 -5
  631. package/dist/types/components/CommandPalette/CommandPaletteBase.d.ts.map +1 -1
  632. package/dist/types/components/DataTable/DataTable.types.d.ts +84 -1
  633. package/dist/types/components/DataTable/DataTable.types.d.ts.map +1 -1
  634. package/dist/types/components/DataTable/DataTableBase.d.ts +1 -1
  635. package/dist/types/components/DataTable/DataTableBase.d.ts.map +1 -1
  636. package/dist/types/components/DataTable/core/DataTable.d.ts.map +1 -1
  637. package/dist/types/components/DateTimePicker/DateTimePicker.types.d.ts +42 -2
  638. package/dist/types/components/DateTimePicker/DateTimePicker.types.d.ts.map +1 -1
  639. package/dist/types/components/DateTimePicker/DateTimePickerBase.d.ts.map +1 -1
  640. package/dist/types/components/Divider/Divider.types.d.ts +19 -1
  641. package/dist/types/components/Divider/Divider.types.d.ts.map +1 -1
  642. package/dist/types/components/Divider/DividerBase.d.ts.map +1 -1
  643. package/dist/types/components/Dropdown/Dropdown.types.d.ts +93 -7
  644. package/dist/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  645. package/dist/types/components/Dropdown/DropdownBase.d.ts.map +1 -1
  646. package/dist/types/components/EmptyState/EmptyState.types.d.ts +45 -7
  647. package/dist/types/components/EmptyState/EmptyState.types.d.ts.map +1 -1
  648. package/dist/types/components/EmptyState/EmptyStateBase.d.ts.map +1 -1
  649. package/dist/types/components/FileUpload/FileUpload.types.d.ts +52 -4
  650. package/dist/types/components/FileUpload/FileUpload.types.d.ts.map +1 -1
  651. package/dist/types/components/FileUpload/FileUploadBase.d.ts.map +1 -1
  652. package/dist/types/components/Footer/Footer.types.d.ts +101 -7
  653. package/dist/types/components/Footer/Footer.types.d.ts.map +1 -1
  654. package/dist/types/components/Footer/FooterBase.d.ts.map +1 -1
  655. package/dist/types/components/FormGroup/FormGroup.types.d.ts +42 -4
  656. package/dist/types/components/FormGroup/FormGroup.types.d.ts.map +1 -1
  657. package/dist/types/components/FormGroup/FormGroupBase.d.ts.map +1 -1
  658. package/dist/types/components/IconButton/IconButton.types.d.ts +41 -2
  659. package/dist/types/components/IconButton/IconButton.types.d.ts.map +1 -1
  660. package/dist/types/components/IconButton/IconButtonBase.d.ts.map +1 -1
  661. package/dist/types/components/MarkdownRenderer/MarkdownRenderer.types.d.ts +27 -1
  662. package/dist/types/components/MarkdownRenderer/MarkdownRenderer.types.d.ts.map +1 -1
  663. package/dist/types/components/MarkdownRenderer/MarkdownRendererBase.d.ts.map +1 -1
  664. package/dist/types/components/MessagePopup/MessagePopup.types.d.ts +30 -0
  665. package/dist/types/components/MessagePopup/MessagePopup.types.d.ts.map +1 -1
  666. package/dist/types/components/MessagePopup/MessagePopupBase.d.ts.map +1 -1
  667. package/dist/types/components/MetricBox/MetricBox.types.d.ts +38 -0
  668. package/dist/types/components/MetricBox/MetricBox.types.d.ts.map +1 -1
  669. package/dist/types/components/MetricBox/MetricBoxBase.d.ts.map +1 -1
  670. package/dist/types/components/Modal/Modal.types.d.ts +21 -0
  671. package/dist/types/components/Modal/Modal.types.d.ts.map +1 -1
  672. package/dist/types/components/Modal/ModalBase.d.ts.map +1 -1
  673. package/dist/types/components/NavBar/NavBar.types.d.ts +25 -0
  674. package/dist/types/components/NavBar/NavBar.types.d.ts.map +1 -1
  675. package/dist/types/components/NavBar/NavBarBase.d.ts.map +1 -1
  676. package/dist/types/components/NotificationCenter/NotificationCenter.constants.d.ts +7 -0
  677. package/dist/types/components/NotificationCenter/NotificationCenter.constants.d.ts.map +1 -0
  678. package/dist/types/components/NotificationCenter/NotificationCenter.types.d.ts +24 -5
  679. package/dist/types/components/NotificationCenter/NotificationCenter.types.d.ts.map +1 -1
  680. package/dist/types/components/NotificationCenter/NotificationCenterBase.d.ts.map +1 -1
  681. package/dist/types/components/Pager/Pager.types.d.ts +18 -0
  682. package/dist/types/components/Pager/Pager.types.d.ts.map +1 -1
  683. package/dist/types/components/Pager/PagerBase.d.ts.map +1 -1
  684. package/dist/types/components/PopOver/PopOver.types.d.ts +23 -0
  685. package/dist/types/components/PopOver/PopOver.types.d.ts.map +1 -1
  686. package/dist/types/components/PopOver/PopOverBase.d.ts.map +1 -1
  687. package/dist/types/components/ProgressBar/ProgressBar.types.d.ts +40 -9
  688. package/dist/types/components/ProgressBar/ProgressBar.types.d.ts.map +1 -1
  689. package/dist/types/components/ProgressBar/ProgressBarBase.d.ts.map +1 -1
  690. package/dist/types/components/RadioButton/RadioButton.types.d.ts +21 -0
  691. package/dist/types/components/RadioButton/RadioButton.types.d.ts.map +1 -1
  692. package/dist/types/components/RadioButton/RadioButtonBase.d.ts.map +1 -1
  693. package/dist/types/components/Rating/Rating.types.d.ts +31 -1
  694. package/dist/types/components/Rating/Rating.types.d.ts.map +1 -1
  695. package/dist/types/components/Rating/RatingBase.d.ts.map +1 -1
  696. package/dist/types/components/ScrollToTop/ScrollToTop.types.d.ts +30 -2
  697. package/dist/types/components/ScrollToTop/ScrollToTop.types.d.ts.map +1 -1
  698. package/dist/types/components/ScrollToTop/ScrollToTopBase.d.ts.map +1 -1
  699. package/dist/types/components/Select/Select.types.d.ts +93 -17
  700. package/dist/types/components/Select/Select.types.d.ts.map +1 -1
  701. package/dist/types/components/Select/SelectBase.d.ts.map +1 -1
  702. package/dist/types/components/Sidebar/Sidebar.types.d.ts +57 -3
  703. package/dist/types/components/Sidebar/Sidebar.types.d.ts.map +1 -1
  704. package/dist/types/components/Sidebar/SidebarBase.d.ts.map +1 -1
  705. package/dist/types/components/Skeleton/Skeleton.types.d.ts +33 -2
  706. package/dist/types/components/Skeleton/Skeleton.types.d.ts.map +1 -1
  707. package/dist/types/components/Skeleton/SkeletonBase.d.ts.map +1 -1
  708. package/dist/types/components/Slider/Slider.types.d.ts +26 -1
  709. package/dist/types/components/Slider/Slider.types.d.ts.map +1 -1
  710. package/dist/types/components/Slider/SliderBase.d.ts.map +1 -1
  711. package/dist/types/components/Spinner/Spinner.types.d.ts +31 -1
  712. package/dist/types/components/Spinner/Spinner.types.d.ts.map +1 -1
  713. package/dist/types/components/Spinner/SpinnerBase.d.ts.map +1 -1
  714. package/dist/types/components/Stepper/Stepper.types.d.ts +24 -0
  715. package/dist/types/components/Stepper/Stepper.types.d.ts.map +1 -1
  716. package/dist/types/components/Stepper/StepperBase.d.ts.map +1 -1
  717. package/dist/types/components/Tabs/Tabs.types.d.ts +24 -4
  718. package/dist/types/components/Tabs/Tabs.types.d.ts.map +1 -1
  719. package/dist/types/components/Tabs/TabsBase.d.ts.map +1 -1
  720. package/dist/types/components/TagInput/TagInput.types.d.ts +50 -4
  721. package/dist/types/components/TagInput/TagInput.types.d.ts.map +1 -1
  722. package/dist/types/components/TagInput/TagInputBase.d.ts.map +1 -1
  723. package/dist/types/components/TextArea/TextArea.types.d.ts +33 -19
  724. package/dist/types/components/TextArea/TextArea.types.d.ts.map +1 -1
  725. package/dist/types/components/TextArea/TextAreaBase.d.ts.map +1 -1
  726. package/dist/types/components/TextInput/TextInput.types.d.ts +77 -19
  727. package/dist/types/components/TextInput/TextInput.types.d.ts.map +1 -1
  728. package/dist/types/components/TextInput/TextInputBase.d.ts.map +1 -1
  729. package/dist/types/components/Timeline/Timeline.types.d.ts +21 -5
  730. package/dist/types/components/Timeline/Timeline.types.d.ts.map +1 -1
  731. package/dist/types/components/Timeline/TimelineBase.d.ts.map +1 -1
  732. package/dist/types/components/Toggle/Toggle.types.d.ts +37 -0
  733. package/dist/types/components/Toggle/Toggle.types.d.ts.map +1 -1
  734. package/dist/types/components/Toggle/ToggleBase.d.ts.map +1 -1
  735. package/dist/types/components/Toolbar/Toolbar.types.d.ts +40 -7
  736. package/dist/types/components/Toolbar/Toolbar.types.d.ts.map +1 -1
  737. package/dist/types/components/Toolbar/ToolbarBase.d.ts.map +1 -1
  738. package/dist/types/components/Tooltip/Tooltip.types.d.ts +50 -1
  739. package/dist/types/components/Tooltip/Tooltip.types.d.ts.map +1 -1
  740. package/dist/types/components/Tooltip/TooltipBase.d.ts.map +1 -1
  741. package/dist/types/components/Typography/Typography.types.d.ts +9 -1
  742. package/dist/types/components/Typography/Typography.types.d.ts.map +1 -1
  743. package/dist/types/components/Typography/TypographyBase.d.ts +1 -1
  744. package/dist/types/components/Typography/TypographyBase.d.ts.map +1 -1
  745. package/dist/types/config/boreal-style-config.d.ts +8 -1
  746. package/dist/types/config/boreal-style-config.d.ts.map +1 -1
  747. package/package.json +162 -127
  748. package/dist/core/Accordion-Cn-Lzpin.cjs.map +0 -1
  749. package/dist/core/Accordion-Cvvsfx1g.js.map +0 -1
  750. package/dist/core/Avatar-BM8AwOB6.js.map +0 -1
  751. package/dist/core/Avatar-DOg8W9yf.cjs.map +0 -1
  752. package/dist/core/Badge-C0Twrrjc.js.map +0 -1
  753. package/dist/core/Badge-tFIHQcKi.cjs.map +0 -1
  754. package/dist/core/Breadcrumbs-C2IzEdls.js.map +0 -1
  755. package/dist/core/Breadcrumbs-CALCSPkH.cjs.map +0 -1
  756. package/dist/core/Button-CC0Q_XPy.js.map +0 -1
  757. package/dist/core/Button-zvElXSem.cjs.map +0 -1
  758. package/dist/core/Card-BjLC4t0w.js.map +0 -1
  759. package/dist/core/Card-DRM65kM-.cjs.map +0 -1
  760. package/dist/core/Checkbox-BdNhCbz_.js +0 -153
  761. package/dist/core/Checkbox-BdNhCbz_.js.map +0 -1
  762. package/dist/core/Checkbox-JvYzNuZp.cjs +0 -152
  763. package/dist/core/Checkbox-JvYzNuZp.cjs.map +0 -1
  764. package/dist/core/Chip-BjbtoFKm.js.map +0 -1
  765. package/dist/core/Chip-c2mN7R-R.cjs.map +0 -1
  766. package/dist/core/CircularProgress-CGqwPSPq.js.map +0 -1
  767. package/dist/core/CircularProgress-DpLsV7FP.cjs.map +0 -1
  768. package/dist/core/ColorPicker-CpHTSayd.js.map +0 -1
  769. package/dist/core/ColorPicker-CzL1SJCT.cjs.map +0 -1
  770. package/dist/core/CommandPalette-BcPsaNIk.js +0 -267
  771. package/dist/core/CommandPalette-BcPsaNIk.js.map +0 -1
  772. package/dist/core/CommandPalette-Cv79G0W9.cjs +0 -266
  773. package/dist/core/CommandPalette-Cv79G0W9.cjs.map +0 -1
  774. package/dist/core/DataTable-DIpKxAT_.cjs +0 -188
  775. package/dist/core/DataTable-DIpKxAT_.cjs.map +0 -1
  776. package/dist/core/DataTable-Dv6Bv-wh.js +0 -189
  777. package/dist/core/DataTable-Dv6Bv-wh.js.map +0 -1
  778. package/dist/core/DateTimePicker-BzS1nP5J.js.map +0 -1
  779. package/dist/core/DateTimePicker-D7bRXphw.cjs.map +0 -1
  780. package/dist/core/Divider-7akvm9JA.js.map +0 -1
  781. package/dist/core/Divider-CaSuFc3G.cjs.map +0 -1
  782. package/dist/core/Dropdown-CR3xr5K-.js.map +0 -1
  783. package/dist/core/Dropdown-CjPfU1K-.cjs.map +0 -1
  784. package/dist/core/EmptyState-Cp3ocTQX.js.map +0 -1
  785. package/dist/core/EmptyState-P-MSItCX.cjs.map +0 -1
  786. package/dist/core/FileUpload-9fIxslAo.js.map +0 -1
  787. package/dist/core/FileUpload-DbMxpH-U.cjs.map +0 -1
  788. package/dist/core/Footer-B9J4a1Ro.cjs +0 -217
  789. package/dist/core/Footer-B9J4a1Ro.cjs.map +0 -1
  790. package/dist/core/Footer-gOtEBvFb.js +0 -218
  791. package/dist/core/Footer-gOtEBvFb.js.map +0 -1
  792. package/dist/core/FormGroup-Cit_2_Wo.cjs.map +0 -1
  793. package/dist/core/FormGroup-DDZ1D_CI.js.map +0 -1
  794. package/dist/core/IconButton-BMZhwYXB.js.map +0 -1
  795. package/dist/core/IconButton-Bio6Azm-.cjs.map +0 -1
  796. package/dist/core/MarkdownRenderer-Bn6vcfSd.cjs.map +0 -1
  797. package/dist/core/MarkdownRenderer-Co787hku.js.map +0 -1
  798. package/dist/core/MessagePopup-BwKMX9NS.cjs.map +0 -1
  799. package/dist/core/MessagePopup-aKDackiq.js.map +0 -1
  800. package/dist/core/MetricBox-CPug-nxo.js.map +0 -1
  801. package/dist/core/MetricBox-DVo4UUQv.cjs.map +0 -1
  802. package/dist/core/Modal-CIkYf4MD.cjs.map +0 -1
  803. package/dist/core/Modal-DCBP18Ov.js.map +0 -1
  804. package/dist/core/NavBar-BcL7Dh52.js.map +0 -1
  805. package/dist/core/NavBar-DKDzRFJ6.cjs.map +0 -1
  806. package/dist/core/NotificationCenter-DLCzWNve.js.map +0 -1
  807. package/dist/core/NotificationCenter-DfOOEt9N.cjs.map +0 -1
  808. package/dist/core/Pager-DBHI7yRW.js +0 -187
  809. package/dist/core/Pager-DBHI7yRW.js.map +0 -1
  810. package/dist/core/Pager-Dv6D3kXa.cjs +0 -186
  811. package/dist/core/Pager-Dv6D3kXa.cjs.map +0 -1
  812. package/dist/core/PopOver-Bt80x5vL.js.map +0 -1
  813. package/dist/core/PopOver-IzDFOu7Y.cjs.map +0 -1
  814. package/dist/core/ProgressBar-BLcSyVgQ.js.map +0 -1
  815. package/dist/core/ProgressBar-BbIZLV1t.cjs.map +0 -1
  816. package/dist/core/RadioButton-BxdmcaZg.cjs.map +0 -1
  817. package/dist/core/RadioButton-DygrrlH_.js.map +0 -1
  818. package/dist/core/Rating-B4qbA_y6.js.map +0 -1
  819. package/dist/core/Rating-U1MIoh5b.cjs.map +0 -1
  820. package/dist/core/ScrollToTop-Bdm78oOs.js.map +0 -1
  821. package/dist/core/ScrollToTop-DKOwe6z3.cjs.map +0 -1
  822. package/dist/core/Select-CeGp-Feb.cjs.map +0 -1
  823. package/dist/core/Select-DnCmFsPq.js.map +0 -1
  824. package/dist/core/Sidebar-BMvvoT9j.cjs.map +0 -1
  825. package/dist/core/Sidebar-PLVBm7te.js.map +0 -1
  826. package/dist/core/Skeleton-BjpQHG5i.js.map +0 -1
  827. package/dist/core/Skeleton-tetAZCSl.cjs.map +0 -1
  828. package/dist/core/Slider-S8KnYlkd.cjs.map +0 -1
  829. package/dist/core/Slider-WsZnPCUo.js.map +0 -1
  830. package/dist/core/Spinner-D1CHbKYU.js.map +0 -1
  831. package/dist/core/Spinner-JTcQ_d4T.cjs.map +0 -1
  832. package/dist/core/Stepper-C6xjvhZJ.js.map +0 -1
  833. package/dist/core/Stepper-JNVBVHc3.cjs.map +0 -1
  834. package/dist/core/Tabs-BFn-TRKL.cjs.map +0 -1
  835. package/dist/core/Tabs-DkdkDwei.js.map +0 -1
  836. package/dist/core/TagInput-Bvoe6pm0.js.map +0 -1
  837. package/dist/core/TagInput-Ce3BWJaw.cjs.map +0 -1
  838. package/dist/core/TextArea-CdulzkDh.js.map +0 -1
  839. package/dist/core/TextArea-UeNb21Ch.cjs.map +0 -1
  840. package/dist/core/TextInput-DcONHL6m.cjs.map +0 -1
  841. package/dist/core/TextInput-lFozK5mA.js.map +0 -1
  842. package/dist/core/Timeline-C-FaSSxr.js +0 -155
  843. package/dist/core/Timeline-C-FaSSxr.js.map +0 -1
  844. package/dist/core/Timeline-CM31Cti_.cjs +0 -154
  845. package/dist/core/Timeline-CM31Cti_.cjs.map +0 -1
  846. package/dist/core/Toggle-B4bJ4Jcj.cjs.map +0 -1
  847. package/dist/core/Toggle-DxNHxjZn.js.map +0 -1
  848. package/dist/core/Toolbar-CQNKVKK8.js.map +0 -1
  849. package/dist/core/Toolbar-DKSfwRUz.cjs.map +0 -1
  850. package/dist/core/Tooltip-BzRqlOTz.js.map +0 -1
  851. package/dist/core/Tooltip-DS7DSyij.cjs.map +0 -1
  852. package/dist/core/Typography-CrSonr_W.cjs.map +0 -1
  853. package/dist/core/Typography-DFXpv9CF.js.map +0 -1
  854. package/dist/core/boreal-style-config-BILmxkZG.js.map +0 -1
  855. package/dist/core/boreal-style-config-Rr5d5Qts.cjs.map +0 -1
  856. package/dist/next/Accordion-BGmQxSLY.js.map +0 -1
  857. package/dist/next/Accordion-CWYy3ivV.cjs.map +0 -1
  858. package/dist/next/Avatar-D3l1T_H7.js.map +0 -1
  859. package/dist/next/Avatar-aNqEuazN.cjs.map +0 -1
  860. package/dist/next/Badge-4PrdXKYJ.js.map +0 -1
  861. package/dist/next/Badge-BYC1gEgw.cjs.map +0 -1
  862. package/dist/next/Breadcrumbs--HIh4k3A.cjs.map +0 -1
  863. package/dist/next/Breadcrumbs-DrLy6lxS.js.map +0 -1
  864. package/dist/next/Button-CARQQF9h.js.map +0 -1
  865. package/dist/next/Button-CfP7f3xF.cjs.map +0 -1
  866. package/dist/next/Card-B_J1YknX.js.map +0 -1
  867. package/dist/next/Card-WoaRWnDq.cjs.map +0 -1
  868. package/dist/next/Checkbox-C6DZ3PSD.cjs +0 -201
  869. package/dist/next/Checkbox-C6DZ3PSD.cjs.map +0 -1
  870. package/dist/next/Checkbox-ClhCa1K9.js +0 -202
  871. package/dist/next/Checkbox-ClhCa1K9.js.map +0 -1
  872. package/dist/next/Chip-Ben13vdt.cjs.map +0 -1
  873. package/dist/next/Chip-CGlXrV7g.js.map +0 -1
  874. package/dist/next/CircularProgress-C3Hd3lut.js.map +0 -1
  875. package/dist/next/CircularProgress-R9oZ2NqR.cjs.map +0 -1
  876. package/dist/next/ColorPicker-C4n_QzLE.js +0 -166
  877. package/dist/next/ColorPicker-C4n_QzLE.js.map +0 -1
  878. package/dist/next/ColorPicker-wDTOI4jh.cjs +0 -165
  879. package/dist/next/ColorPicker-wDTOI4jh.cjs.map +0 -1
  880. package/dist/next/CommandPalette-B-qhSIcP.cjs +0 -315
  881. package/dist/next/CommandPalette-B-qhSIcP.cjs.map +0 -1
  882. package/dist/next/CommandPalette-CLe5dspX.js +0 -316
  883. package/dist/next/CommandPalette-CLe5dspX.js.map +0 -1
  884. package/dist/next/DataTable-C9yi1-h5.cjs +0 -233
  885. package/dist/next/DataTable-C9yi1-h5.cjs.map +0 -1
  886. package/dist/next/DataTable-CPrmW5w0.js +0 -234
  887. package/dist/next/DataTable-CPrmW5w0.js.map +0 -1
  888. package/dist/next/DateTimePicker-BzfEJxVQ.cjs +0 -257
  889. package/dist/next/DateTimePicker-BzfEJxVQ.cjs.map +0 -1
  890. package/dist/next/DateTimePicker-Cf8gB9Uf.js +0 -258
  891. package/dist/next/DateTimePicker-Cf8gB9Uf.js.map +0 -1
  892. package/dist/next/Divider-C0voHnSK.cjs.map +0 -1
  893. package/dist/next/Divider-DZ7hdt_B.js.map +0 -1
  894. package/dist/next/Dropdown-BkgFTyAd.cjs.map +0 -1
  895. package/dist/next/Dropdown-VXFj_bFP.js.map +0 -1
  896. package/dist/next/EmptyState-C9ZcLwdE.js.map +0 -1
  897. package/dist/next/EmptyState-DEXnMGP_.cjs.map +0 -1
  898. package/dist/next/FileUpload-2KSre6xp.cjs +0 -479
  899. package/dist/next/FileUpload-2KSre6xp.cjs.map +0 -1
  900. package/dist/next/FileUpload-CjQJNL7t.js +0 -480
  901. package/dist/next/FileUpload-CjQJNL7t.js.map +0 -1
  902. package/dist/next/Footer-CReI_mpq.js +0 -270
  903. package/dist/next/Footer-CReI_mpq.js.map +0 -1
  904. package/dist/next/Footer-DPZhRbf9.cjs +0 -269
  905. package/dist/next/Footer-DPZhRbf9.cjs.map +0 -1
  906. package/dist/next/FormGroup-B9yxTKxp.js +0 -176
  907. package/dist/next/FormGroup-B9yxTKxp.js.map +0 -1
  908. package/dist/next/FormGroup-W7B4Ej-t.cjs +0 -175
  909. package/dist/next/FormGroup-W7B4Ej-t.cjs.map +0 -1
  910. package/dist/next/IconButton-Cl0mZxov.js.map +0 -1
  911. package/dist/next/IconButton-D3MIvof0.cjs.map +0 -1
  912. package/dist/next/MarkdownRenderer-BxR_D4HC.cjs.map +0 -1
  913. package/dist/next/MarkdownRenderer-yVj97cUU.js.map +0 -1
  914. package/dist/next/MessagePopup-CyO5NAiy.js.map +0 -1
  915. package/dist/next/MessagePopup-DX7KfiyF.cjs.map +0 -1
  916. package/dist/next/MetricBox-B2-l8cVO.cjs +0 -179
  917. package/dist/next/MetricBox-B2-l8cVO.cjs.map +0 -1
  918. package/dist/next/MetricBox-CKKlOQGM.js.map +0 -1
  919. package/dist/next/Modal-CJnNyxLT.js.map +0 -1
  920. package/dist/next/Modal-TdYJrZnP.cjs.map +0 -1
  921. package/dist/next/NavBar-B06L4zxJ.cjs +0 -176
  922. package/dist/next/NavBar-B06L4zxJ.cjs.map +0 -1
  923. package/dist/next/NavBar-D8oceBmB.js +0 -177
  924. package/dist/next/NavBar-D8oceBmB.js.map +0 -1
  925. package/dist/next/NotificationCenter-Bo2NcO55.js.map +0 -1
  926. package/dist/next/NotificationCenter-COZtpamq.cjs.map +0 -1
  927. package/dist/next/Pager-BBG2hp_T.js +0 -189
  928. package/dist/next/Pager-BBG2hp_T.js.map +0 -1
  929. package/dist/next/Pager-CVNoZgLk.cjs +0 -188
  930. package/dist/next/Pager-CVNoZgLk.cjs.map +0 -1
  931. package/dist/next/PopOver-D300C5Sg.js.map +0 -1
  932. package/dist/next/PopOver-_Fhr-zDB.cjs.map +0 -1
  933. package/dist/next/ProgressBar-BI4bjuDK.js +0 -188
  934. package/dist/next/ProgressBar-BI4bjuDK.js.map +0 -1
  935. package/dist/next/ProgressBar-Bk7qClkI.cjs +0 -187
  936. package/dist/next/ProgressBar-Bk7qClkI.cjs.map +0 -1
  937. package/dist/next/RadioButton-BkLrVidx.cjs.map +0 -1
  938. package/dist/next/RadioButton-D-BZDfsG.js.map +0 -1
  939. package/dist/next/Rating-DTdMdPfy.cjs.map +0 -1
  940. package/dist/next/Rating-DnjJd_Sd.js.map +0 -1
  941. package/dist/next/ScrollToTop-B_-WfAAW.cjs.map +0 -1
  942. package/dist/next/ScrollToTop-goObm3qq.js.map +0 -1
  943. package/dist/next/Select-CItGjqiA.js.map +0 -1
  944. package/dist/next/Select-CY0pPJEK.cjs.map +0 -1
  945. package/dist/next/Sidebar-C8QSoGsE.js.map +0 -1
  946. package/dist/next/Sidebar-yllRZuSW.cjs.map +0 -1
  947. package/dist/next/Skeleton-DT7qYlqM.js +0 -118
  948. package/dist/next/Skeleton-DT7qYlqM.js.map +0 -1
  949. package/dist/next/Skeleton-YTWvOtCq.cjs +0 -117
  950. package/dist/next/Skeleton-YTWvOtCq.cjs.map +0 -1
  951. package/dist/next/Slider-CG_242Zv.cjs +0 -173
  952. package/dist/next/Slider-CG_242Zv.cjs.map +0 -1
  953. package/dist/next/Slider-DXYXQ52q.js +0 -174
  954. package/dist/next/Slider-DXYXQ52q.js.map +0 -1
  955. package/dist/next/Spinner-COpCxB1_.cjs.map +0 -1
  956. package/dist/next/Spinner-DgHFzfrq.js.map +0 -1
  957. package/dist/next/Stepper-Bqt2vsZw.js.map +0 -1
  958. package/dist/next/Stepper-Dyhw2IRi.cjs.map +0 -1
  959. package/dist/next/Tabs-B9ZCknnG.js.map +0 -1
  960. package/dist/next/Tabs-DqeWKCtM.cjs.map +0 -1
  961. package/dist/next/TagInput-BdF4k1f2.js.map +0 -1
  962. package/dist/next/TagInput-Bkz8dFHQ.cjs.map +0 -1
  963. package/dist/next/TextArea-DN6CeRB2.js.map +0 -1
  964. package/dist/next/TextArea-GUnAVpIS.cjs.map +0 -1
  965. package/dist/next/TextInput-BjOiLWZE.js.map +0 -1
  966. package/dist/next/TextInput-BogGxTmE.cjs.map +0 -1
  967. package/dist/next/Timeline-1gGPeWoc.cjs +0 -183
  968. package/dist/next/Timeline-1gGPeWoc.cjs.map +0 -1
  969. package/dist/next/Timeline-BJq3RTWG.js +0 -184
  970. package/dist/next/Timeline-BJq3RTWG.js.map +0 -1
  971. package/dist/next/Toggle-BDiAYcT4.js.map +0 -1
  972. package/dist/next/Toggle-D_g5fvKG.cjs.map +0 -1
  973. package/dist/next/Toolbar-BueVwC2Y.js.map +0 -1
  974. package/dist/next/Toolbar-DnxBBQex.cjs.map +0 -1
  975. package/dist/next/Tooltip-BQuUSBWE.js +0 -164
  976. package/dist/next/Tooltip-BQuUSBWE.js.map +0 -1
  977. package/dist/next/Tooltip-DrsJZe1I.cjs +0 -163
  978. package/dist/next/Tooltip-DrsJZe1I.cjs.map +0 -1
  979. package/dist/next/Typography-Dg4Vc3Tm.cjs.map +0 -1
  980. package/dist/next/Typography-SgeXdVdI.js.map +0 -1
  981. package/dist/next/boreal-style-config-BILmxkZG.js.map +0 -1
  982. package/dist/next/boreal-style-config-Rr5d5Qts.cjs.map +0 -1
@@ -3,9 +3,9 @@ const require$$2 = require("react/jsx-runtime");
3
3
  const React = require("react");
4
4
  const classNames = require("./classNames-BcWMx052.cjs");
5
5
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
6
- const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
6
+ const borealStyleConfig = require("./boreal-style-config-C1UIwOFN.cjs");
7
7
  ;/* empty css */
8
- const IconButton = require("./IconButton-D3MIvof0.cjs");
8
+ const IconButton = require("./IconButton-C4OC99ig.cjs");
9
9
  const EyeIcon = (props) => /* @__PURE__ */ require$$2.jsxs(
10
10
  "svg",
11
11
  {
@@ -165,8 +165,6 @@ const TextInputBase = React.forwardRef(
165
165
  placeholder = "Enter text",
166
166
  password = false,
167
167
  readOnly = false,
168
- ariaLabel,
169
- ariaDescription,
170
168
  theme = borealStyleConfig.getDefaultTheme(),
171
169
  rounding = borealStyleConfig.getDefaultRounding(),
172
170
  shadow = borealStyleConfig.getDefaultShadow(),
@@ -174,11 +172,12 @@ const TextInputBase = React.forwardRef(
174
172
  state = "",
175
173
  disabled: disabled2 = false,
176
174
  autocomplete = false,
177
- "data-testid": testId = "text-input",
178
- classMap,
179
175
  outline: outline2 = false,
176
+ classMap,
180
177
  IconButton: IconButton2,
181
178
  className = "",
179
+ srOnlyText,
180
+ "data-testid": testId = "text-input",
182
181
  ...rest
183
182
  }, ref) => {
184
183
  const [showPassword, setShowPassword] = React.useState(false);
@@ -188,15 +187,44 @@ const TextInputBase = React.forwardRef(
188
187
  required,
189
188
  autoComplete: autoCompleteProp,
190
189
  type: typeProp,
190
+ role,
191
+ "aria-label": ariaLabel,
192
+ "aria-labelledby": ariaLabelledBy,
193
+ "aria-describedby": ariaDescribedBy,
194
+ "aria-invalid": ariaInvalid,
195
+ "aria-required": ariaRequired,
196
+ "aria-readonly": ariaReadOnly,
197
+ "aria-disabled": ariaDisabled,
198
+ "aria-description": ariaDescription,
199
+ "aria-activedescendant": ariaActiveDescendant,
200
+ "aria-haspopup": ariaHasPopup,
201
+ "aria-expanded": ariaExpanded,
202
+ "aria-controls": ariaControls,
191
203
  ...restInput
192
204
  } = rest;
193
205
  const inputId = idProp || autoId;
206
+ const hasLabel = Boolean(label2);
207
+ const generatedDescriptionId = srOnlyText ? `${inputId}-sr-description` : void 0;
208
+ const computedAriaDescribedBy = [ariaDescribedBy, generatedDescriptionId].filter(Boolean).join(" ") || void 0;
209
+ const computedAriaLabel = hasLabel ? void 0 : ariaLabel || placeholder || "Text input";
210
+ const computedPlaceholder = hasLabel ? " " : placeholder;
194
211
  const inputType = password ? showPassword ? "text" : "password" : typeProp || "text";
195
- const descId = ariaDescription ? `${inputId}-description` : void 0;
196
212
  const isError = state === "error";
197
213
  const computedAutoComplete = autoCompleteProp ?? (autocomplete ? password ? "current-password" : "on" : "off");
198
- const togglePasswordVisibility = () => setShowPassword((prev) => !prev);
199
- const hasLabel = Boolean(label2);
214
+ const computedAriaInvalid = ariaInvalid ?? (isError || void 0);
215
+ const computedAriaRequired = ariaRequired ?? (required || void 0);
216
+ const computedAriaReadOnly = ariaReadOnly ?? (readOnly || void 0);
217
+ const computedAriaDisabled = ariaDisabled ?? (disabled2 || void 0);
218
+ const togglePasswordVisibility = () => {
219
+ setShowPassword((prev) => !prev);
220
+ };
221
+ const containerClass = React.useMemo(
222
+ () => classNames.combineClassNames(
223
+ classMap.container,
224
+ classMap[`label${capitalize.capitalize(labelPosition)}`]
225
+ ),
226
+ [classMap, labelPosition]
227
+ );
200
228
  const wrapperClass = React.useMemo(
201
229
  () => classNames.combineClassNames(
202
230
  classMap.textInput,
@@ -222,86 +250,81 @@ const TextInputBase = React.forwardRef(
222
250
  ),
223
251
  [classMap, theme, disabled2]
224
252
  );
225
- const computedAriaLabel = hasLabel ? void 0 : ariaLabel || placeholder;
226
- const computedPlaceholder = hasLabel ? " " : placeholder;
227
- return /* @__PURE__ */ require$$2.jsxs(
228
- "div",
229
- {
230
- className: classNames.combineClassNames(
231
- classMap.container,
232
- classMap[`label${capitalize.capitalize(labelPosition)}`]
253
+ return /* @__PURE__ */ require$$2.jsxs("div", { className: containerClass, "data-testid": testId, children: [
254
+ label2 && /* @__PURE__ */ require$$2.jsx(
255
+ "label",
256
+ {
257
+ htmlFor: inputId,
258
+ className: classMap.label,
259
+ "data-testid": `${testId}-label`,
260
+ children: label2
261
+ }
262
+ ),
263
+ /* @__PURE__ */ require$$2.jsxs("div", { className: wrapperClass, "data-testid": `${testId}-wrapper`, children: [
264
+ Icon && /* @__PURE__ */ require$$2.jsx(
265
+ "div",
266
+ {
267
+ className: iconClasses,
268
+ "aria-hidden": "true",
269
+ "data-testid": `${testId}-icon`,
270
+ children: /* @__PURE__ */ require$$2.jsx(Icon, { "aria-hidden": true })
271
+ }
233
272
  ),
234
- "data-testid": testId,
235
- children: [
236
- label2 && /* @__PURE__ */ require$$2.jsx(
237
- "label",
238
- {
239
- htmlFor: inputId,
240
- className: classMap.label,
241
- "data-testid": `${testId}-label`,
242
- children: label2
243
- }
244
- ),
245
- /* @__PURE__ */ require$$2.jsxs("div", { className: wrapperClass, "data-testid": testId, children: [
246
- Icon && /* @__PURE__ */ require$$2.jsx(
247
- "div",
248
- {
249
- className: iconClasses,
250
- "aria-hidden": "true",
251
- "data-testid": `${testId}-icon`,
252
- children: /* @__PURE__ */ require$$2.jsx(Icon, { "aria-hidden": "true" })
253
- }
254
- ),
255
- /* @__PURE__ */ require$$2.jsx(
256
- "input",
257
- {
258
- ref,
259
- id: inputId,
260
- type: inputType,
261
- className: inputClasses,
262
- placeholder: computedPlaceholder,
263
- "aria-label": computedAriaLabel,
264
- "aria-describedby": descId,
265
- "aria-disabled": disabled2 || void 0,
266
- "aria-invalid": isError || void 0,
267
- "aria-required": required || void 0,
268
- "aria-readonly": readOnly || void 0,
269
- autoComplete: computedAutoComplete,
270
- onChange: (e) => onChange == null ? void 0 : onChange(e.currentTarget.value, e),
271
- readOnly,
272
- disabled: disabled2,
273
- required,
274
- "data-testid": `${testId}-input`,
275
- ...restInput
276
- }
277
- ),
278
- password && /* @__PURE__ */ require$$2.jsx(
279
- IconButton2,
280
- {
281
- type: "button",
282
- className: classMap.togglePassword,
283
- onClick: togglePasswordVisibility,
284
- theme: "clear",
285
- shadow: "none",
286
- "aria-label": showPassword ? "Hide password" : "Show password",
287
- "aria-pressed": showPassword,
288
- "data-testid": `${testId}-password-toggle`,
289
- icon: showPassword ? EyeSlashIcon : EyeIcon
290
- }
291
- ),
292
- ariaDescription && /* @__PURE__ */ require$$2.jsx(
293
- "span",
294
- {
295
- id: descId,
296
- className: "sr_only",
297
- "data-testid": `${testId}-description`,
298
- children: ariaDescription
299
- }
300
- )
301
- ] })
302
- ]
303
- }
304
- );
273
+ /* @__PURE__ */ require$$2.jsx(
274
+ "input",
275
+ {
276
+ ref,
277
+ id: inputId,
278
+ type: inputType,
279
+ className: inputClasses,
280
+ placeholder: computedPlaceholder,
281
+ role,
282
+ "aria-label": computedAriaLabel,
283
+ "aria-labelledby": ariaLabelledBy,
284
+ "aria-describedby": computedAriaDescribedBy,
285
+ "aria-invalid": computedAriaInvalid,
286
+ "aria-required": computedAriaRequired,
287
+ "aria-readonly": computedAriaReadOnly,
288
+ "aria-disabled": computedAriaDisabled,
289
+ "aria-description": ariaDescription,
290
+ "aria-activedescendant": ariaActiveDescendant,
291
+ "aria-haspopup": ariaHasPopup,
292
+ "aria-expanded": ariaExpanded,
293
+ "aria-controls": ariaControls,
294
+ autoComplete: computedAutoComplete,
295
+ onChange: (e) => onChange == null ? void 0 : onChange(e.currentTarget.value, e),
296
+ readOnly,
297
+ disabled: disabled2,
298
+ required,
299
+ "data-testid": `${testId}-input`,
300
+ ...restInput
301
+ }
302
+ ),
303
+ password && /* @__PURE__ */ require$$2.jsx(
304
+ IconButton2,
305
+ {
306
+ type: "button",
307
+ className: classMap.togglePassword,
308
+ onClick: togglePasswordVisibility,
309
+ theme: "clear",
310
+ shadow: "none",
311
+ "aria-label": showPassword ? "Hide password" : "Show password",
312
+ "aria-pressed": showPassword,
313
+ "data-testid": `${testId}-password-toggle`,
314
+ icon: showPassword ? EyeSlashIcon : EyeIcon
315
+ }
316
+ ),
317
+ srOnlyText && /* @__PURE__ */ require$$2.jsx(
318
+ "span",
319
+ {
320
+ id: generatedDescriptionId,
321
+ className: classMap.srOnly || "sr_only",
322
+ "data-testid": `${testId}-sr-only-text`,
323
+ children: srOnlyText
324
+ }
325
+ )
326
+ ] })
327
+ ] });
305
328
  }
306
329
  );
307
330
  TextInputBase.displayName = "TextInputBase";
@@ -318,4 +341,4 @@ const TextInput = React.forwardRef((props, ref) => {
318
341
  });
319
342
  TextInput.displayName = "TextInput";
320
343
  exports.TextInput = TextInput;
321
- //# sourceMappingURL=TextInput-BogGxTmE.cjs.map
344
+ //# sourceMappingURL=TextInput-cfBWD6de.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextInput-cfBWD6de.cjs","sources":["../../src/Icons/EyeIcon.tsx","../../src/Icons/EyeSlashIcon.tsx","../../src/components/TextInput/TextInputBase.tsx","../../src/components/TextInput/next/TextInput.tsx"],"sourcesContent":["const EyeIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\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 strokeWidth=\"1.5\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 13C6.6 5 17.4 5 21 13\"\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=\"M12 17C10.3431 17 9 15.6569 9 14C9 12.3431 10.3431 11 12 11C13.6569 11 15 12.3431 15 14C15 15.6569 13.6569 17 12 17Z\"\r\n fill=\"currentColor\"\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 EyeIcon;\r\n","const EyeSlashIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\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=\"M19.5 16L17.0248 12.6038\"\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=\"M12 17.5V14\"\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=\"M4.5 16L6.96895 12.6124\"\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 8C6.6 16 17.4 16 21 8\"\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 EyeSlashIcon;\r\n","import {\r\n forwardRef,\r\n useState,\r\n useId,\r\n InputHTMLAttributes,\r\n useMemo,\r\n} from \"react\";\r\nimport { EyeIcon, EyeSlashIcon } from \"../../Icons\";\r\nimport { TextInputBaseProps } from \"./TextInput.types\";\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\n\r\nconst TextInputBase = forwardRef<HTMLInputElement, TextInputBaseProps>(\r\n (\r\n {\r\n icon: Icon,\r\n label,\r\n labelPosition = \"top\",\r\n placeholder = \"Enter text\",\r\n password = false,\r\n readOnly = false,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n onChange,\r\n state = \"\",\r\n disabled = false,\r\n autocomplete = false,\r\n outline = false,\r\n classMap,\r\n IconButton,\r\n className = \"\",\r\n srOnlyText,\r\n \"data-testid\": testId = \"text-input\",\r\n ...rest\r\n },\r\n ref,\r\n ) => {\r\n const [showPassword, setShowPassword] = useState(false);\r\n\r\n const autoId = useId();\r\n\r\n const {\r\n id: idProp,\r\n required,\r\n autoComplete: autoCompleteProp,\r\n type: typeProp,\r\n role,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n \"aria-readonly\": ariaReadOnly,\r\n \"aria-disabled\": ariaDisabled,\r\n \"aria-description\": ariaDescription,\r\n \"aria-activedescendant\": ariaActiveDescendant,\r\n \"aria-haspopup\": ariaHasPopup,\r\n \"aria-expanded\": ariaExpanded,\r\n \"aria-controls\": ariaControls,\r\n ...restInput\r\n } = rest as InputHTMLAttributes<HTMLInputElement> & {\r\n role?: React.AriaRole;\r\n \"aria-label\"?: string;\r\n \"aria-labelledby\"?: string;\r\n \"aria-describedby\"?: string;\r\n \"aria-invalid\"?: boolean | \"true\" | \"false\" | \"grammar\" | \"spelling\";\r\n \"aria-required\"?: boolean;\r\n \"aria-readonly\"?: boolean;\r\n \"aria-disabled\"?: boolean;\r\n \"aria-description\"?: string;\r\n \"aria-activedescendant\"?: string;\r\n \"aria-haspopup\"?:\r\n | boolean\r\n | \"false\"\r\n | \"true\"\r\n | \"menu\"\r\n | \"listbox\"\r\n | \"tree\"\r\n | \"grid\"\r\n | \"dialog\";\r\n \"aria-expanded\"?: boolean;\r\n \"aria-controls\"?: string;\r\n };\r\n\r\n const inputId = idProp || autoId;\r\n const hasLabel = Boolean(label);\r\n\r\n const generatedDescriptionId = srOnlyText\r\n ? `${inputId}-sr-description`\r\n : undefined;\r\n\r\n const computedAriaDescribedBy =\r\n [ariaDescribedBy, generatedDescriptionId].filter(Boolean).join(\" \") ||\r\n undefined;\r\n\r\n const computedAriaLabel = hasLabel\r\n ? undefined\r\n : ariaLabel || placeholder || \"Text input\";\r\n\r\n const computedPlaceholder = hasLabel ? \" \" : placeholder;\r\n\r\n const inputType = password\r\n ? showPassword\r\n ? \"text\"\r\n : \"password\"\r\n : typeProp || \"text\";\r\n\r\n const isError = state === \"error\";\r\n\r\n const computedAutoComplete =\r\n autoCompleteProp ??\r\n (autocomplete ? (password ? \"current-password\" : \"on\") : \"off\");\r\n\r\n const computedAriaInvalid = ariaInvalid ?? (isError || undefined);\r\n const computedAriaRequired = ariaRequired ?? (required || undefined);\r\n const computedAriaReadOnly = ariaReadOnly ?? (readOnly || undefined);\r\n const computedAriaDisabled = ariaDisabled ?? (disabled || undefined);\r\n\r\n const togglePasswordVisibility = () => {\r\n setShowPassword((prev) => !prev);\r\n };\r\n\r\n const containerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.container,\r\n classMap[`label${capitalize(labelPosition)}`],\r\n ),\r\n [classMap, labelPosition],\r\n );\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.textInput,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className,\r\n ),\r\n [classMap, theme, state, outline, disabled, shadow, rounding, className],\r\n );\r\n\r\n const inputClasses = useMemo(\r\n () => combineClassNames(classMap.textInput, outline && classMap.outline),\r\n [classMap, outline],\r\n );\r\n\r\n const iconClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.iconContainer,\r\n classMap[theme],\r\n disabled && classMap.disabled,\r\n ),\r\n [classMap, theme, disabled],\r\n );\r\n\r\n return (\r\n <div className={containerClass} data-testid={testId}>\r\n {label && (\r\n <label\r\n htmlFor={inputId}\r\n className={classMap.label}\r\n data-testid={`${testId}-label`}\r\n >\r\n {label}\r\n </label>\r\n )}\r\n\r\n <div className={wrapperClass} data-testid={`${testId}-wrapper`}>\r\n {Icon && (\r\n <div\r\n className={iconClasses}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <Icon aria-hidden={true} />\r\n </div>\r\n )}\r\n <input\r\n ref={ref}\r\n id={inputId}\r\n type={inputType}\r\n className={inputClasses}\r\n placeholder={computedPlaceholder}\r\n role={role}\r\n aria-label={computedAriaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={computedAriaDescribedBy}\r\n aria-invalid={computedAriaInvalid}\r\n aria-required={computedAriaRequired}\r\n aria-readonly={computedAriaReadOnly}\r\n aria-disabled={computedAriaDisabled}\r\n aria-description={ariaDescription}\r\n aria-activedescendant={ariaActiveDescendant}\r\n aria-haspopup={ariaHasPopup}\r\n aria-expanded={ariaExpanded}\r\n aria-controls={ariaControls}\r\n autoComplete={computedAutoComplete}\r\n onChange={(e) => onChange?.(e.currentTarget.value, e)}\r\n readOnly={readOnly}\r\n disabled={disabled}\r\n required={required}\r\n data-testid={`${testId}-input`}\r\n {...restInput}\r\n />\r\n\r\n {password && (\r\n <IconButton\r\n type=\"button\"\r\n className={classMap.togglePassword}\r\n onClick={togglePasswordVisibility}\r\n theme=\"clear\"\r\n shadow=\"none\"\r\n aria-label={showPassword ? \"Hide password\" : \"Show password\"}\r\n aria-pressed={showPassword}\r\n data-testid={`${testId}-password-toggle`}\r\n icon={showPassword ? EyeSlashIcon : EyeIcon}\r\n />\r\n )}\r\n\r\n {srOnlyText && (\r\n <span\r\n id={generatedDescriptionId}\r\n className={classMap.srOnly || \"sr_only\"}\r\n data-testid={`${testId}-sr-only-text`}\r\n >\r\n {srOnlyText}\r\n </span>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n },\r\n);\r\n\r\nTextInputBase.displayName = \"TextInputBase\";\r\n\r\nexport default TextInputBase;\r\n","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport styles from \"./TextInput.module.scss\";\r\nimport { TextInputProps } from \"../TextInput.types\";\r\nimport TextInputBase from \"../TextInputBase\";\r\nimport { IconButton } from \"@/index.next\";\r\n\r\nconst TextInput = forwardRef<HTMLInputElement, TextInputProps>((props, ref) => {\r\n return (\r\n <TextInputBase\r\n {...props}\r\n IconButton={IconButton}\r\n ref={ref}\r\n classMap={styles}\r\n />\r\n );\r\n});\r\n\r\nTextInput.displayName = \"TextInput\";\r\nexport default TextInput;\r\n"],"names":["jsxs","jsx","forwardRef","label","getDefaultTheme","getDefaultRounding","getDefaultShadow","disabled","outline","IconButton","useState","useId","useMemo","combineClassNames","capitalize"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const TextInput = require("./TextInput-BogGxTmE.cjs");
2
+ const TextInput = require("./TextInput-cfBWD6de.cjs");
3
3
  module.exports = TextInput.TextInput;
4
4
  //# sourceMappingURL=TextInput.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { T } from "./TextInput-BjOiLWZE.js";
1
+ import { T } from "./TextInput-3ZD3ccXf.js";
2
2
  export {
3
3
  T as default
4
4
  };
@@ -2,7 +2,7 @@
2
2
  const require$$2 = require("react/jsx-runtime");
3
3
  const React = require("react");
4
4
  const registerColorSheme = require("./registerColorSheme-nhYu5hbY.cjs");
5
- const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
5
+ const borealStyleConfig = require("./boreal-style-config-C1UIwOFN.cjs");
6
6
  const colorSchemes = require("./colorSchemes.cjs.js");
7
7
  const ThemeContext = React.createContext(
8
8
  void 0
@@ -195,4 +195,4 @@ const ThemeProvider = ({ children, customSchemes = [], initialScheme }) => {
195
195
  };
196
196
  exports.ThemeContext = ThemeContext;
197
197
  exports.ThemeProvider = ThemeProvider;
198
- //# sourceMappingURL=ThemeContext-DA4TVcjV.cjs.map
198
+ //# sourceMappingURL=ThemeContext-CNPp2bRD.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeContext-DOlnx89D.cjs","sources":["../../src/context/ThemeContext.tsx"],"sourcesContent":["\"use client\";\r\n\r\n/**\r\n * ---------------------------------------------------------------------\r\n * ThemeProvider.tsx\r\n * ---------------------------------------------------------------------\r\n * Provides a React context for managing and applying color schemes\r\n * dynamically across the Boreal UI system.\r\n *\r\n * Responsibilities:\r\n * - Registers any custom color schemes at runtime\r\n * - Sets the active color scheme based on `localStorage` or fallback default\r\n * - Dynamically updates CSS custom properties (`--*`) on the `:root`\r\n * to reflect the selected theme's color values\r\n * - Ensures text color contrast by calculating luminance and WCAG ratios\r\n *\r\n * Includes:\r\n * - Lightness adjustment utilities for generating `*-light` and `*-hover` variants\r\n * - Contrast checking and accessible text color fallbacks\r\n * - `ThemeContext` with `selectedScheme` index and setter\r\n *\r\n * Hooks:\r\n * - `useEffect` to register schemes and sync saved theme index\r\n * - `useEffect` to apply all computed color variables to `document.documentElement`\r\n *\r\n * Usage:\r\n * ```tsx\r\n * <ThemeProvider customSchemes={[customTheme]}>\r\n * <App />\r\n * </ThemeProvider>\r\n * ```\r\n *\r\n * Access via context:\r\n * ```ts\r\n * const { selectedScheme, setSelectedScheme } = useContext(ThemeContext);\r\n * ```\r\n */\r\n\r\nimport React, {\r\n createContext,\r\n useState,\r\n useEffect,\r\n useLayoutEffect,\r\n useMemo,\r\n} from \"react\";\r\nimport {\r\n getAllColorSchemes,\r\n registerColorScheme,\r\n} from \"../styles/colorSchemeRegistry\";\r\nimport { getDefaultColorSchemeName } from \"../config/boreal-style-config\";\r\nimport { colorSchemes } from \"../styles/Themes\";\r\nimport { ThemeContextType, ThemeProviderProps } from \"./ThemeContext.types\";\r\n\r\nexport const ThemeContext = createContext<ThemeContextType | undefined>(\r\n undefined,\r\n);\r\n\r\nconst fallbackIndex = colorSchemes.findIndex(\r\n (scheme) => scheme.name === getDefaultColorSchemeName(),\r\n);\r\nconst defaultIndex = fallbackIndex !== -1 ? fallbackIndex : 0;\r\n\r\nconst STORAGE_KEY = \"boreal:selectedScheme\";\r\n\r\nfunction shallowEqualByName(a: { name: string }[], b: { name: string }[]) {\r\n if (a === b) return true;\r\n if (a.length !== b.length) return false;\r\n for (let i = 0; i < a.length; i++) {\r\n if (a[i].name !== b[i].name) return false;\r\n }\r\n return true;\r\n}\r\n\r\nconst ThemeProvider: React.FC<\r\n ThemeProviderProps & { initialScheme?: number }\r\n> = ({ children, customSchemes = [], initialScheme }) => {\r\n if (fallbackIndex === -1 && process.env.NODE_ENV === \"development\") {\r\n console.warn(\r\n `Default color scheme \"${getDefaultColorSchemeName()}\" not found. Falling back to index 0.`,\r\n );\r\n }\r\n\r\n const [selectedScheme, setSelectedScheme] = useState<number>(() => {\r\n if (typeof initialScheme === \"number\") return initialScheme;\r\n\r\n if (typeof window !== \"undefined\") {\r\n try {\r\n const saved = localStorage.getItem(STORAGE_KEY);\r\n if (saved != null) return parseInt(saved, 10);\r\n } catch {\r\n console.error(\"Failed to load saved theme index\");\r\n }\r\n }\r\n return defaultIndex;\r\n });\r\n\r\n const [schemes, setSchemes] = useState(() => getAllColorSchemes());\r\n\r\n const customSchemesKey = useMemo(\r\n () => JSON.stringify(customSchemes ?? []),\r\n [customSchemes],\r\n );\r\n\r\n useEffect(() => {\r\n try {\r\n const parsed = JSON.parse(customSchemesKey);\r\n if (Array.isArray(parsed) && parsed.length > 0) {\r\n registerColorScheme(parsed);\r\n }\r\n } catch {\r\n console.error(\"Failed to parse custom schemes\");\r\n }\r\n\r\n const next = getAllColorSchemes();\r\n setSchemes((prev) => (shallowEqualByName(prev, next) ? prev : next));\r\n }, [customSchemesKey]);\r\n\r\n useLayoutEffect(() => {\r\n const allSchemes = getAllColorSchemes();\r\n const scheme = allSchemes[selectedScheme] ?? allSchemes[defaultIndex];\r\n\r\n const {\r\n primaryColor,\r\n secondaryColor,\r\n tertiaryColor,\r\n quaternaryColor,\r\n backgroundColor,\r\n forceTextColor,\r\n } = scheme;\r\n\r\n const hexToHSL = (hex: string) => {\r\n const r = parseInt(hex.slice(1, 3), 16) / 255;\r\n const g = parseInt(hex.slice(3, 5), 16) / 255;\r\n const b = parseInt(hex.slice(5, 7), 16) / 255;\r\n const max = Math.max(r, g, b),\r\n min = Math.min(r, g, b);\r\n let h = 0,\r\n s = 0;\r\n const l = (max + min) / 2;\r\n if (max !== min) {\r\n const d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n switch (max) {\r\n case r:\r\n h = (g - b) / d + (g < b ? 6 : 0);\r\n break;\r\n case g:\r\n h = (b - r) / d + 2;\r\n break;\r\n case b:\r\n h = (r - g) / d + 4;\r\n break;\r\n }\r\n h /= 6;\r\n }\r\n return {\r\n h: Math.round(h * 360),\r\n s: Math.round(s * 100),\r\n l: Math.round(l * 100),\r\n };\r\n };\r\n\r\n const hslToHex = (h: number, s: number, l: number): string => {\r\n s /= 100;\r\n l /= 100;\r\n const k = (n: number) => (n + h / 30) % 12;\r\n const a = s * Math.min(l, 1 - l);\r\n const f = (n: number) =>\r\n Math.round(\r\n 255 *\r\n (l - a * Math.max(-1, Math.min(k(n) - 3, Math.min(9 - k(n), 1)))),\r\n );\r\n return `#${[f(0), f(8), f(4)].map((x) => x.toString(16).padStart(2, \"0\")).join(\"\")}`;\r\n };\r\n\r\n const adjustLightness = (hex: string, percent: number): string => {\r\n const { h, s, l } = hexToHSL(hex);\r\n return hslToHex(h, s, Math.min(100, Math.max(0, l + percent)));\r\n };\r\n\r\n const relativeLuminance = (hex: string): number => {\r\n const rgb = [1, 3, 5].map((i) => {\r\n const c = parseInt(hex.slice(i, i + 2), 16) / 255;\r\n return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\r\n });\r\n return 0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2];\r\n };\r\n\r\n const contrastRatio = (a: string, b: string): number => {\r\n const lum1 = relativeLuminance(a);\r\n const lum2 = relativeLuminance(b);\r\n const lighter = Math.max(lum1, lum2);\r\n const darker = Math.min(lum1, lum2);\r\n return (lighter + 0.05) / (darker + 0.05);\r\n };\r\n\r\n const getAccessibleTextColor = (bg: string): string =>\r\n contrastRatio(bg, \"#000000\") >= 4.5 ? \"#000000\" : \"#FFFFFF\";\r\n\r\n const getAdaptiveBorderColor = (\r\n backgroundHex: string,\r\n amountLight = 14,\r\n amountDark = 14,\r\n ): string => {\r\n const { h, s, l } = hexToHSL(backgroundHex);\r\n\r\n const nextLightness =\r\n l >= 50 ? Math.max(0, l - amountDark) : Math.min(100, l + amountLight);\r\n\r\n const nextSaturation = s > 8 ? Math.max(0, s - 8) : s;\r\n\r\n return hslToHex(h, nextSaturation, nextLightness);\r\n };\r\n\r\n const vars = {\r\n \"--primary-color\": primaryColor,\r\n \"--primary-color-light\": adjustLightness(primaryColor, 10),\r\n \"--primary-color-hover\": adjustLightness(primaryColor, -10),\r\n \"--text-color-primary\":\r\n forceTextColor ?? getAccessibleTextColor(primaryColor),\r\n \"--text-color-primary-contrast\":\r\n forceTextColor ?? getAccessibleTextColor(backgroundColor),\r\n \"--text-color\": getAccessibleTextColor(backgroundColor),\r\n \"--text-color-light\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n 20,\r\n ),\r\n \"--text-color-lighter\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n 40,\r\n ),\r\n \"--secondary-color\": secondaryColor,\r\n \"--secondary-color-light\": adjustLightness(secondaryColor, 10),\r\n \"--secondary-color-hover\": adjustLightness(secondaryColor, -10),\r\n \"--text-color-secondary\": getAccessibleTextColor(secondaryColor),\r\n\r\n \"--tertiary-color\": tertiaryColor,\r\n \"--tertiary-color-light\": adjustLightness(tertiaryColor, 10),\r\n \"--tertiary-color-hover\": adjustLightness(tertiaryColor, -10),\r\n \"--text-color-tertiary\": getAccessibleTextColor(tertiaryColor),\r\n\r\n \"--quaternary-color\": quaternaryColor,\r\n \"--quaternary-color-light\": adjustLightness(quaternaryColor, 10),\r\n \"--quaternary-color-hover\": adjustLightness(quaternaryColor, -10),\r\n \"--text-color-quaternary\": getAccessibleTextColor(quaternaryColor),\r\n\r\n \"--background-color\": backgroundColor,\r\n \"--background-color-dark\": adjustLightness(backgroundColor, -10),\r\n \"--background-color-darker\": adjustLightness(backgroundColor, -25),\r\n \"--background-color-light\": adjustLightness(backgroundColor, 10),\r\n \"--background-color-lighter\": adjustLightness(backgroundColor, 20),\r\n\r\n \"--link-color\": getAccessibleTextColor(backgroundColor),\r\n \"--link-hover-color\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n -20,\r\n ),\r\n \"--link-hover-color-primary\": adjustLightness(primaryColor, -10),\r\n \"--link-hover-color-secondary\": adjustLightness(secondaryColor, -10),\r\n \"--link-hover-color-tertiary\": adjustLightness(tertiaryColor, -10),\r\n \"--link-hover-color-quaternary\": adjustLightness(quaternaryColor, -10),\r\n\r\n \"--focus-outline-color\": getAccessibleTextColor(backgroundColor),\r\n \"--divider-color\": getAdaptiveBorderColor(backgroundColor),\r\n \"--border-color\": getAdaptiveBorderColor(backgroundColor),\r\n \"--border-color-subtle\": getAdaptiveBorderColor(backgroundColor, 10, 10),\r\n \"--border-color-strong\": getAdaptiveBorderColor(backgroundColor, 20, 20),\r\n } as const;\r\n\r\n const rootStyle = document.documentElement.style;\r\n for (const [k, v] of Object.entries(vars)) rootStyle.setProperty(k, v);\r\n\r\n try {\r\n localStorage.setItem(STORAGE_KEY, String(selectedScheme));\r\n } catch {\r\n console.error(\"Failed to save theme index\");\r\n }\r\n }, [selectedScheme]);\r\n\r\n return (\r\n <ThemeContext.Provider\r\n value={{ selectedScheme, setSelectedScheme, schemes }}\r\n >\r\n {children}\r\n </ThemeContext.Provider>\r\n );\r\n};\r\n\r\nexport default ThemeProvider;\r\n"],"names":["createContext","colorSchemes","getDefaultColorSchemeName","useState","getAllColorSchemes","useMemo","useEffect","registerColorScheme","useLayoutEffect","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ThemeContext-CNPp2bRD.cjs","sources":["../../src/context/ThemeContext.tsx"],"sourcesContent":["\"use client\";\r\n\r\n/**\r\n * ---------------------------------------------------------------------\r\n * ThemeProvider.tsx\r\n * ---------------------------------------------------------------------\r\n * Provides a React context for managing and applying color schemes\r\n * dynamically across the Boreal UI system.\r\n *\r\n * Responsibilities:\r\n * - Registers any custom color schemes at runtime\r\n * - Sets the active color scheme based on `localStorage` or fallback default\r\n * - Dynamically updates CSS custom properties (`--*`) on the `:root`\r\n * to reflect the selected theme's color values\r\n * - Ensures text color contrast by calculating luminance and WCAG ratios\r\n *\r\n * Includes:\r\n * - Lightness adjustment utilities for generating `*-light` and `*-hover` variants\r\n * - Contrast checking and accessible text color fallbacks\r\n * - `ThemeContext` with `selectedScheme` index and setter\r\n *\r\n * Hooks:\r\n * - `useEffect` to register schemes and sync saved theme index\r\n * - `useEffect` to apply all computed color variables to `document.documentElement`\r\n *\r\n * Usage:\r\n * ```tsx\r\n * <ThemeProvider customSchemes={[customTheme]}>\r\n * <App />\r\n * </ThemeProvider>\r\n * ```\r\n *\r\n * Access via context:\r\n * ```ts\r\n * const { selectedScheme, setSelectedScheme } = useContext(ThemeContext);\r\n * ```\r\n */\r\n\r\nimport React, {\r\n createContext,\r\n useState,\r\n useEffect,\r\n useLayoutEffect,\r\n useMemo,\r\n} from \"react\";\r\nimport {\r\n getAllColorSchemes,\r\n registerColorScheme,\r\n} from \"../styles/colorSchemeRegistry\";\r\nimport { getDefaultColorSchemeName } from \"../config/boreal-style-config\";\r\nimport { colorSchemes } from \"../styles/Themes\";\r\nimport { ThemeContextType, ThemeProviderProps } from \"./ThemeContext.types\";\r\n\r\nexport const ThemeContext = createContext<ThemeContextType | undefined>(\r\n undefined,\r\n);\r\n\r\nconst fallbackIndex = colorSchemes.findIndex(\r\n (scheme) => scheme.name === getDefaultColorSchemeName(),\r\n);\r\nconst defaultIndex = fallbackIndex !== -1 ? fallbackIndex : 0;\r\n\r\nconst STORAGE_KEY = \"boreal:selectedScheme\";\r\n\r\nfunction shallowEqualByName(a: { name: string }[], b: { name: string }[]) {\r\n if (a === b) return true;\r\n if (a.length !== b.length) return false;\r\n for (let i = 0; i < a.length; i++) {\r\n if (a[i].name !== b[i].name) return false;\r\n }\r\n return true;\r\n}\r\n\r\nconst ThemeProvider: React.FC<\r\n ThemeProviderProps & { initialScheme?: number }\r\n> = ({ children, customSchemes = [], initialScheme }) => {\r\n if (fallbackIndex === -1 && process.env.NODE_ENV === \"development\") {\r\n console.warn(\r\n `Default color scheme \"${getDefaultColorSchemeName()}\" not found. Falling back to index 0.`,\r\n );\r\n }\r\n\r\n const [selectedScheme, setSelectedScheme] = useState<number>(() => {\r\n if (typeof initialScheme === \"number\") return initialScheme;\r\n\r\n if (typeof window !== \"undefined\") {\r\n try {\r\n const saved = localStorage.getItem(STORAGE_KEY);\r\n if (saved != null) return parseInt(saved, 10);\r\n } catch {\r\n console.error(\"Failed to load saved theme index\");\r\n }\r\n }\r\n return defaultIndex;\r\n });\r\n\r\n const [schemes, setSchemes] = useState(() => getAllColorSchemes());\r\n\r\n const customSchemesKey = useMemo(\r\n () => JSON.stringify(customSchemes ?? []),\r\n [customSchemes],\r\n );\r\n\r\n useEffect(() => {\r\n try {\r\n const parsed = JSON.parse(customSchemesKey);\r\n if (Array.isArray(parsed) && parsed.length > 0) {\r\n registerColorScheme(parsed);\r\n }\r\n } catch {\r\n console.error(\"Failed to parse custom schemes\");\r\n }\r\n\r\n const next = getAllColorSchemes();\r\n setSchemes((prev) => (shallowEqualByName(prev, next) ? prev : next));\r\n }, [customSchemesKey]);\r\n\r\n useLayoutEffect(() => {\r\n const allSchemes = getAllColorSchemes();\r\n const scheme = allSchemes[selectedScheme] ?? allSchemes[defaultIndex];\r\n\r\n const {\r\n primaryColor,\r\n secondaryColor,\r\n tertiaryColor,\r\n quaternaryColor,\r\n backgroundColor,\r\n forceTextColor,\r\n } = scheme;\r\n\r\n const hexToHSL = (hex: string) => {\r\n const r = parseInt(hex.slice(1, 3), 16) / 255;\r\n const g = parseInt(hex.slice(3, 5), 16) / 255;\r\n const b = parseInt(hex.slice(5, 7), 16) / 255;\r\n const max = Math.max(r, g, b),\r\n min = Math.min(r, g, b);\r\n let h = 0,\r\n s = 0;\r\n const l = (max + min) / 2;\r\n if (max !== min) {\r\n const d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n switch (max) {\r\n case r:\r\n h = (g - b) / d + (g < b ? 6 : 0);\r\n break;\r\n case g:\r\n h = (b - r) / d + 2;\r\n break;\r\n case b:\r\n h = (r - g) / d + 4;\r\n break;\r\n }\r\n h /= 6;\r\n }\r\n return {\r\n h: Math.round(h * 360),\r\n s: Math.round(s * 100),\r\n l: Math.round(l * 100),\r\n };\r\n };\r\n\r\n const hslToHex = (h: number, s: number, l: number): string => {\r\n s /= 100;\r\n l /= 100;\r\n const k = (n: number) => (n + h / 30) % 12;\r\n const a = s * Math.min(l, 1 - l);\r\n const f = (n: number) =>\r\n Math.round(\r\n 255 *\r\n (l - a * Math.max(-1, Math.min(k(n) - 3, Math.min(9 - k(n), 1)))),\r\n );\r\n return `#${[f(0), f(8), f(4)].map((x) => x.toString(16).padStart(2, \"0\")).join(\"\")}`;\r\n };\r\n\r\n const adjustLightness = (hex: string, percent: number): string => {\r\n const { h, s, l } = hexToHSL(hex);\r\n return hslToHex(h, s, Math.min(100, Math.max(0, l + percent)));\r\n };\r\n\r\n const relativeLuminance = (hex: string): number => {\r\n const rgb = [1, 3, 5].map((i) => {\r\n const c = parseInt(hex.slice(i, i + 2), 16) / 255;\r\n return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\r\n });\r\n return 0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2];\r\n };\r\n\r\n const contrastRatio = (a: string, b: string): number => {\r\n const lum1 = relativeLuminance(a);\r\n const lum2 = relativeLuminance(b);\r\n const lighter = Math.max(lum1, lum2);\r\n const darker = Math.min(lum1, lum2);\r\n return (lighter + 0.05) / (darker + 0.05);\r\n };\r\n\r\n const getAccessibleTextColor = (bg: string): string =>\r\n contrastRatio(bg, \"#000000\") >= 4.5 ? \"#000000\" : \"#FFFFFF\";\r\n\r\n const getAdaptiveBorderColor = (\r\n backgroundHex: string,\r\n amountLight = 14,\r\n amountDark = 14,\r\n ): string => {\r\n const { h, s, l } = hexToHSL(backgroundHex);\r\n\r\n const nextLightness =\r\n l >= 50 ? Math.max(0, l - amountDark) : Math.min(100, l + amountLight);\r\n\r\n const nextSaturation = s > 8 ? Math.max(0, s - 8) : s;\r\n\r\n return hslToHex(h, nextSaturation, nextLightness);\r\n };\r\n\r\n const vars = {\r\n \"--primary-color\": primaryColor,\r\n \"--primary-color-light\": adjustLightness(primaryColor, 10),\r\n \"--primary-color-hover\": adjustLightness(primaryColor, -10),\r\n \"--text-color-primary\":\r\n forceTextColor ?? getAccessibleTextColor(primaryColor),\r\n \"--text-color-primary-contrast\":\r\n forceTextColor ?? getAccessibleTextColor(backgroundColor),\r\n \"--text-color\": getAccessibleTextColor(backgroundColor),\r\n \"--text-color-light\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n 20,\r\n ),\r\n \"--text-color-lighter\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n 40,\r\n ),\r\n \"--secondary-color\": secondaryColor,\r\n \"--secondary-color-light\": adjustLightness(secondaryColor, 10),\r\n \"--secondary-color-hover\": adjustLightness(secondaryColor, -10),\r\n \"--text-color-secondary\": getAccessibleTextColor(secondaryColor),\r\n\r\n \"--tertiary-color\": tertiaryColor,\r\n \"--tertiary-color-light\": adjustLightness(tertiaryColor, 10),\r\n \"--tertiary-color-hover\": adjustLightness(tertiaryColor, -10),\r\n \"--text-color-tertiary\": getAccessibleTextColor(tertiaryColor),\r\n\r\n \"--quaternary-color\": quaternaryColor,\r\n \"--quaternary-color-light\": adjustLightness(quaternaryColor, 10),\r\n \"--quaternary-color-hover\": adjustLightness(quaternaryColor, -10),\r\n \"--text-color-quaternary\": getAccessibleTextColor(quaternaryColor),\r\n\r\n \"--background-color\": backgroundColor,\r\n \"--background-color-dark\": adjustLightness(backgroundColor, -10),\r\n \"--background-color-darker\": adjustLightness(backgroundColor, -25),\r\n \"--background-color-light\": adjustLightness(backgroundColor, 10),\r\n \"--background-color-lighter\": adjustLightness(backgroundColor, 20),\r\n\r\n \"--link-color\": getAccessibleTextColor(backgroundColor),\r\n \"--link-hover-color\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n -20,\r\n ),\r\n \"--link-hover-color-primary\": adjustLightness(primaryColor, -10),\r\n \"--link-hover-color-secondary\": adjustLightness(secondaryColor, -10),\r\n \"--link-hover-color-tertiary\": adjustLightness(tertiaryColor, -10),\r\n \"--link-hover-color-quaternary\": adjustLightness(quaternaryColor, -10),\r\n\r\n \"--focus-outline-color\": getAccessibleTextColor(backgroundColor),\r\n \"--divider-color\": getAdaptiveBorderColor(backgroundColor),\r\n \"--border-color\": getAdaptiveBorderColor(backgroundColor),\r\n \"--border-color-subtle\": getAdaptiveBorderColor(backgroundColor, 10, 10),\r\n \"--border-color-strong\": getAdaptiveBorderColor(backgroundColor, 20, 20),\r\n } as const;\r\n\r\n const rootStyle = document.documentElement.style;\r\n for (const [k, v] of Object.entries(vars)) rootStyle.setProperty(k, v);\r\n\r\n try {\r\n localStorage.setItem(STORAGE_KEY, String(selectedScheme));\r\n } catch {\r\n console.error(\"Failed to save theme index\");\r\n }\r\n }, [selectedScheme]);\r\n\r\n return (\r\n <ThemeContext.Provider\r\n value={{ selectedScheme, setSelectedScheme, schemes }}\r\n >\r\n {children}\r\n </ThemeContext.Provider>\r\n );\r\n};\r\n\r\nexport default ThemeProvider;\r\n"],"names":["createContext","colorSchemes","getDefaultColorSchemeName","useState","getAllColorSchemes","useMemo","useEffect","registerColorScheme","useLayoutEffect","jsx"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { createContext, useState, useMemo, useEffect, useLayoutEffect } from "react";
3
3
  import { g as getAllColorSchemes, r as registerColorScheme } from "./registerColorSheme-BPX0H7hl.js";
4
- import { g as getDefaultColorSchemeName } from "./boreal-style-config-BILmxkZG.js";
4
+ import { g as getDefaultColorSchemeName } from "./boreal-style-config-DsaRlxmw.js";
5
5
  import { colorSchemes } from "./colorSchemes.js";
6
6
  const ThemeContext = createContext(
7
7
  void 0
@@ -196,4 +196,4 @@ export {
196
196
  ThemeProvider as T,
197
197
  ThemeContext as a
198
198
  };
199
- //# sourceMappingURL=ThemeContext-BsFZ0Cl7.js.map
199
+ //# sourceMappingURL=ThemeContext-nYSJ_G6L.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeContext-BsFZ0Cl7.js","sources":["../../src/context/ThemeContext.tsx"],"sourcesContent":["\"use client\";\r\n\r\n/**\r\n * ---------------------------------------------------------------------\r\n * ThemeProvider.tsx\r\n * ---------------------------------------------------------------------\r\n * Provides a React context for managing and applying color schemes\r\n * dynamically across the Boreal UI system.\r\n *\r\n * Responsibilities:\r\n * - Registers any custom color schemes at runtime\r\n * - Sets the active color scheme based on `localStorage` or fallback default\r\n * - Dynamically updates CSS custom properties (`--*`) on the `:root`\r\n * to reflect the selected theme's color values\r\n * - Ensures text color contrast by calculating luminance and WCAG ratios\r\n *\r\n * Includes:\r\n * - Lightness adjustment utilities for generating `*-light` and `*-hover` variants\r\n * - Contrast checking and accessible text color fallbacks\r\n * - `ThemeContext` with `selectedScheme` index and setter\r\n *\r\n * Hooks:\r\n * - `useEffect` to register schemes and sync saved theme index\r\n * - `useEffect` to apply all computed color variables to `document.documentElement`\r\n *\r\n * Usage:\r\n * ```tsx\r\n * <ThemeProvider customSchemes={[customTheme]}>\r\n * <App />\r\n * </ThemeProvider>\r\n * ```\r\n *\r\n * Access via context:\r\n * ```ts\r\n * const { selectedScheme, setSelectedScheme } = useContext(ThemeContext);\r\n * ```\r\n */\r\n\r\nimport React, {\r\n createContext,\r\n useState,\r\n useEffect,\r\n useLayoutEffect,\r\n useMemo,\r\n} from \"react\";\r\nimport {\r\n getAllColorSchemes,\r\n registerColorScheme,\r\n} from \"../styles/colorSchemeRegistry\";\r\nimport { getDefaultColorSchemeName } from \"../config/boreal-style-config\";\r\nimport { colorSchemes } from \"../styles/Themes\";\r\nimport { ThemeContextType, ThemeProviderProps } from \"./ThemeContext.types\";\r\n\r\nexport const ThemeContext = createContext<ThemeContextType | undefined>(\r\n undefined,\r\n);\r\n\r\nconst fallbackIndex = colorSchemes.findIndex(\r\n (scheme) => scheme.name === getDefaultColorSchemeName(),\r\n);\r\nconst defaultIndex = fallbackIndex !== -1 ? fallbackIndex : 0;\r\n\r\nconst STORAGE_KEY = \"boreal:selectedScheme\";\r\n\r\nfunction shallowEqualByName(a: { name: string }[], b: { name: string }[]) {\r\n if (a === b) return true;\r\n if (a.length !== b.length) return false;\r\n for (let i = 0; i < a.length; i++) {\r\n if (a[i].name !== b[i].name) return false;\r\n }\r\n return true;\r\n}\r\n\r\nconst ThemeProvider: React.FC<\r\n ThemeProviderProps & { initialScheme?: number }\r\n> = ({ children, customSchemes = [], initialScheme }) => {\r\n if (fallbackIndex === -1 && process.env.NODE_ENV === \"development\") {\r\n console.warn(\r\n `Default color scheme \"${getDefaultColorSchemeName()}\" not found. Falling back to index 0.`,\r\n );\r\n }\r\n\r\n const [selectedScheme, setSelectedScheme] = useState<number>(() => {\r\n if (typeof initialScheme === \"number\") return initialScheme;\r\n\r\n if (typeof window !== \"undefined\") {\r\n try {\r\n const saved = localStorage.getItem(STORAGE_KEY);\r\n if (saved != null) return parseInt(saved, 10);\r\n } catch {\r\n console.error(\"Failed to load saved theme index\");\r\n }\r\n }\r\n return defaultIndex;\r\n });\r\n\r\n const [schemes, setSchemes] = useState(() => getAllColorSchemes());\r\n\r\n const customSchemesKey = useMemo(\r\n () => JSON.stringify(customSchemes ?? []),\r\n [customSchemes],\r\n );\r\n\r\n useEffect(() => {\r\n try {\r\n const parsed = JSON.parse(customSchemesKey);\r\n if (Array.isArray(parsed) && parsed.length > 0) {\r\n registerColorScheme(parsed);\r\n }\r\n } catch {\r\n console.error(\"Failed to parse custom schemes\");\r\n }\r\n\r\n const next = getAllColorSchemes();\r\n setSchemes((prev) => (shallowEqualByName(prev, next) ? prev : next));\r\n }, [customSchemesKey]);\r\n\r\n useLayoutEffect(() => {\r\n const allSchemes = getAllColorSchemes();\r\n const scheme = allSchemes[selectedScheme] ?? allSchemes[defaultIndex];\r\n\r\n const {\r\n primaryColor,\r\n secondaryColor,\r\n tertiaryColor,\r\n quaternaryColor,\r\n backgroundColor,\r\n forceTextColor,\r\n } = scheme;\r\n\r\n const hexToHSL = (hex: string) => {\r\n const r = parseInt(hex.slice(1, 3), 16) / 255;\r\n const g = parseInt(hex.slice(3, 5), 16) / 255;\r\n const b = parseInt(hex.slice(5, 7), 16) / 255;\r\n const max = Math.max(r, g, b),\r\n min = Math.min(r, g, b);\r\n let h = 0,\r\n s = 0;\r\n const l = (max + min) / 2;\r\n if (max !== min) {\r\n const d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n switch (max) {\r\n case r:\r\n h = (g - b) / d + (g < b ? 6 : 0);\r\n break;\r\n case g:\r\n h = (b - r) / d + 2;\r\n break;\r\n case b:\r\n h = (r - g) / d + 4;\r\n break;\r\n }\r\n h /= 6;\r\n }\r\n return {\r\n h: Math.round(h * 360),\r\n s: Math.round(s * 100),\r\n l: Math.round(l * 100),\r\n };\r\n };\r\n\r\n const hslToHex = (h: number, s: number, l: number): string => {\r\n s /= 100;\r\n l /= 100;\r\n const k = (n: number) => (n + h / 30) % 12;\r\n const a = s * Math.min(l, 1 - l);\r\n const f = (n: number) =>\r\n Math.round(\r\n 255 *\r\n (l - a * Math.max(-1, Math.min(k(n) - 3, Math.min(9 - k(n), 1)))),\r\n );\r\n return `#${[f(0), f(8), f(4)].map((x) => x.toString(16).padStart(2, \"0\")).join(\"\")}`;\r\n };\r\n\r\n const adjustLightness = (hex: string, percent: number): string => {\r\n const { h, s, l } = hexToHSL(hex);\r\n return hslToHex(h, s, Math.min(100, Math.max(0, l + percent)));\r\n };\r\n\r\n const relativeLuminance = (hex: string): number => {\r\n const rgb = [1, 3, 5].map((i) => {\r\n const c = parseInt(hex.slice(i, i + 2), 16) / 255;\r\n return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\r\n });\r\n return 0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2];\r\n };\r\n\r\n const contrastRatio = (a: string, b: string): number => {\r\n const lum1 = relativeLuminance(a);\r\n const lum2 = relativeLuminance(b);\r\n const lighter = Math.max(lum1, lum2);\r\n const darker = Math.min(lum1, lum2);\r\n return (lighter + 0.05) / (darker + 0.05);\r\n };\r\n\r\n const getAccessibleTextColor = (bg: string): string =>\r\n contrastRatio(bg, \"#000000\") >= 4.5 ? \"#000000\" : \"#FFFFFF\";\r\n\r\n const getAdaptiveBorderColor = (\r\n backgroundHex: string,\r\n amountLight = 14,\r\n amountDark = 14,\r\n ): string => {\r\n const { h, s, l } = hexToHSL(backgroundHex);\r\n\r\n const nextLightness =\r\n l >= 50 ? Math.max(0, l - amountDark) : Math.min(100, l + amountLight);\r\n\r\n const nextSaturation = s > 8 ? Math.max(0, s - 8) : s;\r\n\r\n return hslToHex(h, nextSaturation, nextLightness);\r\n };\r\n\r\n const vars = {\r\n \"--primary-color\": primaryColor,\r\n \"--primary-color-light\": adjustLightness(primaryColor, 10),\r\n \"--primary-color-hover\": adjustLightness(primaryColor, -10),\r\n \"--text-color-primary\":\r\n forceTextColor ?? getAccessibleTextColor(primaryColor),\r\n \"--text-color-primary-contrast\":\r\n forceTextColor ?? getAccessibleTextColor(backgroundColor),\r\n \"--text-color\": getAccessibleTextColor(backgroundColor),\r\n \"--text-color-light\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n 20,\r\n ),\r\n \"--text-color-lighter\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n 40,\r\n ),\r\n \"--secondary-color\": secondaryColor,\r\n \"--secondary-color-light\": adjustLightness(secondaryColor, 10),\r\n \"--secondary-color-hover\": adjustLightness(secondaryColor, -10),\r\n \"--text-color-secondary\": getAccessibleTextColor(secondaryColor),\r\n\r\n \"--tertiary-color\": tertiaryColor,\r\n \"--tertiary-color-light\": adjustLightness(tertiaryColor, 10),\r\n \"--tertiary-color-hover\": adjustLightness(tertiaryColor, -10),\r\n \"--text-color-tertiary\": getAccessibleTextColor(tertiaryColor),\r\n\r\n \"--quaternary-color\": quaternaryColor,\r\n \"--quaternary-color-light\": adjustLightness(quaternaryColor, 10),\r\n \"--quaternary-color-hover\": adjustLightness(quaternaryColor, -10),\r\n \"--text-color-quaternary\": getAccessibleTextColor(quaternaryColor),\r\n\r\n \"--background-color\": backgroundColor,\r\n \"--background-color-dark\": adjustLightness(backgroundColor, -10),\r\n \"--background-color-darker\": adjustLightness(backgroundColor, -25),\r\n \"--background-color-light\": adjustLightness(backgroundColor, 10),\r\n \"--background-color-lighter\": adjustLightness(backgroundColor, 20),\r\n\r\n \"--link-color\": getAccessibleTextColor(backgroundColor),\r\n \"--link-hover-color\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n -20,\r\n ),\r\n \"--link-hover-color-primary\": adjustLightness(primaryColor, -10),\r\n \"--link-hover-color-secondary\": adjustLightness(secondaryColor, -10),\r\n \"--link-hover-color-tertiary\": adjustLightness(tertiaryColor, -10),\r\n \"--link-hover-color-quaternary\": adjustLightness(quaternaryColor, -10),\r\n\r\n \"--focus-outline-color\": getAccessibleTextColor(backgroundColor),\r\n \"--divider-color\": getAdaptiveBorderColor(backgroundColor),\r\n \"--border-color\": getAdaptiveBorderColor(backgroundColor),\r\n \"--border-color-subtle\": getAdaptiveBorderColor(backgroundColor, 10, 10),\r\n \"--border-color-strong\": getAdaptiveBorderColor(backgroundColor, 20, 20),\r\n } as const;\r\n\r\n const rootStyle = document.documentElement.style;\r\n for (const [k, v] of Object.entries(vars)) rootStyle.setProperty(k, v);\r\n\r\n try {\r\n localStorage.setItem(STORAGE_KEY, String(selectedScheme));\r\n } catch {\r\n console.error(\"Failed to save theme index\");\r\n }\r\n }, [selectedScheme]);\r\n\r\n return (\r\n <ThemeContext.Provider\r\n value={{ selectedScheme, setSelectedScheme, schemes }}\r\n >\r\n {children}\r\n </ThemeContext.Provider>\r\n );\r\n};\r\n\r\nexport default ThemeProvider;\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThemeContext-nYSJ_G6L.js","sources":["../../src/context/ThemeContext.tsx"],"sourcesContent":["\"use client\";\r\n\r\n/**\r\n * ---------------------------------------------------------------------\r\n * ThemeProvider.tsx\r\n * ---------------------------------------------------------------------\r\n * Provides a React context for managing and applying color schemes\r\n * dynamically across the Boreal UI system.\r\n *\r\n * Responsibilities:\r\n * - Registers any custom color schemes at runtime\r\n * - Sets the active color scheme based on `localStorage` or fallback default\r\n * - Dynamically updates CSS custom properties (`--*`) on the `:root`\r\n * to reflect the selected theme's color values\r\n * - Ensures text color contrast by calculating luminance and WCAG ratios\r\n *\r\n * Includes:\r\n * - Lightness adjustment utilities for generating `*-light` and `*-hover` variants\r\n * - Contrast checking and accessible text color fallbacks\r\n * - `ThemeContext` with `selectedScheme` index and setter\r\n *\r\n * Hooks:\r\n * - `useEffect` to register schemes and sync saved theme index\r\n * - `useEffect` to apply all computed color variables to `document.documentElement`\r\n *\r\n * Usage:\r\n * ```tsx\r\n * <ThemeProvider customSchemes={[customTheme]}>\r\n * <App />\r\n * </ThemeProvider>\r\n * ```\r\n *\r\n * Access via context:\r\n * ```ts\r\n * const { selectedScheme, setSelectedScheme } = useContext(ThemeContext);\r\n * ```\r\n */\r\n\r\nimport React, {\r\n createContext,\r\n useState,\r\n useEffect,\r\n useLayoutEffect,\r\n useMemo,\r\n} from \"react\";\r\nimport {\r\n getAllColorSchemes,\r\n registerColorScheme,\r\n} from \"../styles/colorSchemeRegistry\";\r\nimport { getDefaultColorSchemeName } from \"../config/boreal-style-config\";\r\nimport { colorSchemes } from \"../styles/Themes\";\r\nimport { ThemeContextType, ThemeProviderProps } from \"./ThemeContext.types\";\r\n\r\nexport const ThemeContext = createContext<ThemeContextType | undefined>(\r\n undefined,\r\n);\r\n\r\nconst fallbackIndex = colorSchemes.findIndex(\r\n (scheme) => scheme.name === getDefaultColorSchemeName(),\r\n);\r\nconst defaultIndex = fallbackIndex !== -1 ? fallbackIndex : 0;\r\n\r\nconst STORAGE_KEY = \"boreal:selectedScheme\";\r\n\r\nfunction shallowEqualByName(a: { name: string }[], b: { name: string }[]) {\r\n if (a === b) return true;\r\n if (a.length !== b.length) return false;\r\n for (let i = 0; i < a.length; i++) {\r\n if (a[i].name !== b[i].name) return false;\r\n }\r\n return true;\r\n}\r\n\r\nconst ThemeProvider: React.FC<\r\n ThemeProviderProps & { initialScheme?: number }\r\n> = ({ children, customSchemes = [], initialScheme }) => {\r\n if (fallbackIndex === -1 && process.env.NODE_ENV === \"development\") {\r\n console.warn(\r\n `Default color scheme \"${getDefaultColorSchemeName()}\" not found. Falling back to index 0.`,\r\n );\r\n }\r\n\r\n const [selectedScheme, setSelectedScheme] = useState<number>(() => {\r\n if (typeof initialScheme === \"number\") return initialScheme;\r\n\r\n if (typeof window !== \"undefined\") {\r\n try {\r\n const saved = localStorage.getItem(STORAGE_KEY);\r\n if (saved != null) return parseInt(saved, 10);\r\n } catch {\r\n console.error(\"Failed to load saved theme index\");\r\n }\r\n }\r\n return defaultIndex;\r\n });\r\n\r\n const [schemes, setSchemes] = useState(() => getAllColorSchemes());\r\n\r\n const customSchemesKey = useMemo(\r\n () => JSON.stringify(customSchemes ?? []),\r\n [customSchemes],\r\n );\r\n\r\n useEffect(() => {\r\n try {\r\n const parsed = JSON.parse(customSchemesKey);\r\n if (Array.isArray(parsed) && parsed.length > 0) {\r\n registerColorScheme(parsed);\r\n }\r\n } catch {\r\n console.error(\"Failed to parse custom schemes\");\r\n }\r\n\r\n const next = getAllColorSchemes();\r\n setSchemes((prev) => (shallowEqualByName(prev, next) ? prev : next));\r\n }, [customSchemesKey]);\r\n\r\n useLayoutEffect(() => {\r\n const allSchemes = getAllColorSchemes();\r\n const scheme = allSchemes[selectedScheme] ?? allSchemes[defaultIndex];\r\n\r\n const {\r\n primaryColor,\r\n secondaryColor,\r\n tertiaryColor,\r\n quaternaryColor,\r\n backgroundColor,\r\n forceTextColor,\r\n } = scheme;\r\n\r\n const hexToHSL = (hex: string) => {\r\n const r = parseInt(hex.slice(1, 3), 16) / 255;\r\n const g = parseInt(hex.slice(3, 5), 16) / 255;\r\n const b = parseInt(hex.slice(5, 7), 16) / 255;\r\n const max = Math.max(r, g, b),\r\n min = Math.min(r, g, b);\r\n let h = 0,\r\n s = 0;\r\n const l = (max + min) / 2;\r\n if (max !== min) {\r\n const d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n switch (max) {\r\n case r:\r\n h = (g - b) / d + (g < b ? 6 : 0);\r\n break;\r\n case g:\r\n h = (b - r) / d + 2;\r\n break;\r\n case b:\r\n h = (r - g) / d + 4;\r\n break;\r\n }\r\n h /= 6;\r\n }\r\n return {\r\n h: Math.round(h * 360),\r\n s: Math.round(s * 100),\r\n l: Math.round(l * 100),\r\n };\r\n };\r\n\r\n const hslToHex = (h: number, s: number, l: number): string => {\r\n s /= 100;\r\n l /= 100;\r\n const k = (n: number) => (n + h / 30) % 12;\r\n const a = s * Math.min(l, 1 - l);\r\n const f = (n: number) =>\r\n Math.round(\r\n 255 *\r\n (l - a * Math.max(-1, Math.min(k(n) - 3, Math.min(9 - k(n), 1)))),\r\n );\r\n return `#${[f(0), f(8), f(4)].map((x) => x.toString(16).padStart(2, \"0\")).join(\"\")}`;\r\n };\r\n\r\n const adjustLightness = (hex: string, percent: number): string => {\r\n const { h, s, l } = hexToHSL(hex);\r\n return hslToHex(h, s, Math.min(100, Math.max(0, l + percent)));\r\n };\r\n\r\n const relativeLuminance = (hex: string): number => {\r\n const rgb = [1, 3, 5].map((i) => {\r\n const c = parseInt(hex.slice(i, i + 2), 16) / 255;\r\n return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\r\n });\r\n return 0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2];\r\n };\r\n\r\n const contrastRatio = (a: string, b: string): number => {\r\n const lum1 = relativeLuminance(a);\r\n const lum2 = relativeLuminance(b);\r\n const lighter = Math.max(lum1, lum2);\r\n const darker = Math.min(lum1, lum2);\r\n return (lighter + 0.05) / (darker + 0.05);\r\n };\r\n\r\n const getAccessibleTextColor = (bg: string): string =>\r\n contrastRatio(bg, \"#000000\") >= 4.5 ? \"#000000\" : \"#FFFFFF\";\r\n\r\n const getAdaptiveBorderColor = (\r\n backgroundHex: string,\r\n amountLight = 14,\r\n amountDark = 14,\r\n ): string => {\r\n const { h, s, l } = hexToHSL(backgroundHex);\r\n\r\n const nextLightness =\r\n l >= 50 ? Math.max(0, l - amountDark) : Math.min(100, l + amountLight);\r\n\r\n const nextSaturation = s > 8 ? Math.max(0, s - 8) : s;\r\n\r\n return hslToHex(h, nextSaturation, nextLightness);\r\n };\r\n\r\n const vars = {\r\n \"--primary-color\": primaryColor,\r\n \"--primary-color-light\": adjustLightness(primaryColor, 10),\r\n \"--primary-color-hover\": adjustLightness(primaryColor, -10),\r\n \"--text-color-primary\":\r\n forceTextColor ?? getAccessibleTextColor(primaryColor),\r\n \"--text-color-primary-contrast\":\r\n forceTextColor ?? getAccessibleTextColor(backgroundColor),\r\n \"--text-color\": getAccessibleTextColor(backgroundColor),\r\n \"--text-color-light\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n 20,\r\n ),\r\n \"--text-color-lighter\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n 40,\r\n ),\r\n \"--secondary-color\": secondaryColor,\r\n \"--secondary-color-light\": adjustLightness(secondaryColor, 10),\r\n \"--secondary-color-hover\": adjustLightness(secondaryColor, -10),\r\n \"--text-color-secondary\": getAccessibleTextColor(secondaryColor),\r\n\r\n \"--tertiary-color\": tertiaryColor,\r\n \"--tertiary-color-light\": adjustLightness(tertiaryColor, 10),\r\n \"--tertiary-color-hover\": adjustLightness(tertiaryColor, -10),\r\n \"--text-color-tertiary\": getAccessibleTextColor(tertiaryColor),\r\n\r\n \"--quaternary-color\": quaternaryColor,\r\n \"--quaternary-color-light\": adjustLightness(quaternaryColor, 10),\r\n \"--quaternary-color-hover\": adjustLightness(quaternaryColor, -10),\r\n \"--text-color-quaternary\": getAccessibleTextColor(quaternaryColor),\r\n\r\n \"--background-color\": backgroundColor,\r\n \"--background-color-dark\": adjustLightness(backgroundColor, -10),\r\n \"--background-color-darker\": adjustLightness(backgroundColor, -25),\r\n \"--background-color-light\": adjustLightness(backgroundColor, 10),\r\n \"--background-color-lighter\": adjustLightness(backgroundColor, 20),\r\n\r\n \"--link-color\": getAccessibleTextColor(backgroundColor),\r\n \"--link-hover-color\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n -20,\r\n ),\r\n \"--link-hover-color-primary\": adjustLightness(primaryColor, -10),\r\n \"--link-hover-color-secondary\": adjustLightness(secondaryColor, -10),\r\n \"--link-hover-color-tertiary\": adjustLightness(tertiaryColor, -10),\r\n \"--link-hover-color-quaternary\": adjustLightness(quaternaryColor, -10),\r\n\r\n \"--focus-outline-color\": getAccessibleTextColor(backgroundColor),\r\n \"--divider-color\": getAdaptiveBorderColor(backgroundColor),\r\n \"--border-color\": getAdaptiveBorderColor(backgroundColor),\r\n \"--border-color-subtle\": getAdaptiveBorderColor(backgroundColor, 10, 10),\r\n \"--border-color-strong\": getAdaptiveBorderColor(backgroundColor, 20, 20),\r\n } as const;\r\n\r\n const rootStyle = document.documentElement.style;\r\n for (const [k, v] of Object.entries(vars)) rootStyle.setProperty(k, v);\r\n\r\n try {\r\n localStorage.setItem(STORAGE_KEY, String(selectedScheme));\r\n } catch {\r\n console.error(\"Failed to save theme index\");\r\n }\r\n }, [selectedScheme]);\r\n\r\n return (\r\n <ThemeContext.Provider\r\n value={{ selectedScheme, setSelectedScheme, schemes }}\r\n >\r\n {children}\r\n </ThemeContext.Provider>\r\n );\r\n};\r\n\r\nexport default ThemeProvider;\r\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const ThemeContext = require("./ThemeContext-DA4TVcjV.cjs");
3
+ const ThemeContext = require("./ThemeContext-CNPp2bRD.cjs");
4
4
  exports.ThemeContext = ThemeContext.ThemeContext;
5
5
  exports.ThemeProvider = ThemeContext.ThemeProvider;
6
6
  //# sourceMappingURL=ThemeProvider.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { a, T } from "./ThemeContext-BsFZ0Cl7.js";
1
+ import { a, T } from "./ThemeContext-nYSJ_G6L.js";
2
2
  export {
3
3
  a as ThemeContext,
4
4
  T as ThemeProvider