boreal-ui 0.0.76 → 0.0.78

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 (340) hide show
  1. package/README.md +0 -2
  2. package/dist/core/boreal-ui.css +13739 -30851
  3. package/dist/next/{Accordion-Bg8V6T38.js → Accordion-ez41BXtb.js} +73 -94
  4. package/dist/next/{Accordion-Bg8V6T38.js.map → Accordion-ez41BXtb.js.map} +1 -1
  5. package/dist/next/{Accordion-BEa1jxTt.cjs → Accordion-yvdIcWj9.cjs} +74 -95
  6. package/dist/next/{Accordion-BEa1jxTt.cjs.map → Accordion-yvdIcWj9.cjs.map} +1 -1
  7. package/dist/next/Accordion.cjs.js +1 -1
  8. package/dist/next/Accordion.css +593 -0
  9. package/dist/next/Accordion.js +1 -1
  10. package/dist/next/{Avatar-DL_juTQA.cjs → Avatar-C-Z-ZPt8.cjs} +82 -82
  11. package/dist/next/{Avatar-DL_juTQA.cjs.map → Avatar-C-Z-ZPt8.cjs.map} +1 -1
  12. package/dist/next/{Avatar-nnjhILk-.js → Avatar-DymaVXDv.js} +81 -81
  13. package/dist/next/{Avatar-nnjhILk-.js.map → Avatar-DymaVXDv.js.map} +1 -1
  14. package/dist/next/Avatar.cjs.js +1 -1
  15. package/dist/next/Avatar.css +444 -0
  16. package/dist/next/Avatar.js +1 -1
  17. package/dist/next/{Badge-DzcjI-JI.cjs → Badge-56GHYTQN.cjs} +2 -2
  18. package/dist/next/{Badge-DzcjI-JI.cjs.map → Badge-56GHYTQN.cjs.map} +1 -1
  19. package/dist/next/{Badge-uyqxj7ag.js → Badge-BqVwp5Qj.js} +2 -2
  20. package/dist/next/{Badge-uyqxj7ag.js.map → Badge-BqVwp5Qj.js.map} +1 -1
  21. package/dist/next/Badge.cjs.js +1 -1
  22. package/dist/next/Badge.css +640 -0
  23. package/dist/next/Badge.js +1 -1
  24. package/dist/next/{Breadcrumbs-CuvOmgFe.cjs → Breadcrumbs-33eZmvpJ.cjs} +3 -3
  25. package/dist/next/{Breadcrumbs-CuvOmgFe.cjs.map → Breadcrumbs-33eZmvpJ.cjs.map} +1 -1
  26. package/dist/next/{Breadcrumbs-D0AmJB4U.js → Breadcrumbs-eetAtAHU.js} +3 -3
  27. package/dist/next/{Breadcrumbs-D0AmJB4U.js.map → Breadcrumbs-eetAtAHU.js.map} +1 -1
  28. package/dist/next/Breadcrumbs.cjs.js +1 -1
  29. package/dist/next/Breadcrumbs.css +579 -0
  30. package/dist/next/Breadcrumbs.js +1 -1
  31. package/dist/next/{Button-BZmph-Qr.cjs → Button-CmH6HYjc.cjs} +42 -52
  32. package/dist/next/{Button-BZmph-Qr.cjs.map → Button-CmH6HYjc.cjs.map} +1 -1
  33. package/dist/next/{Button-DWpImTmr.js → Button-oSOXL3At.js} +41 -51
  34. package/dist/next/{Button-DWpImTmr.js.map → Button-oSOXL3At.js.map} +1 -1
  35. package/dist/next/Button.cjs.js +1 -1
  36. package/dist/next/Button.css +721 -0
  37. package/dist/next/Button.js +1 -1
  38. package/dist/next/{Card-DnZOsQLP.js → Card-CO--D_GK.js} +65 -75
  39. package/dist/next/{Card-DnZOsQLP.js.map → Card-CO--D_GK.js.map} +1 -1
  40. package/dist/next/{Card-oPTXIvsb.cjs → Card-o8DszZPj.cjs} +65 -75
  41. package/dist/next/{Card-oPTXIvsb.cjs.map → Card-o8DszZPj.cjs.map} +1 -1
  42. package/dist/next/Card.cjs.js +1 -1
  43. package/dist/next/Card.css +993 -0
  44. package/dist/next/Card.js +1 -1
  45. package/dist/next/CheckBox.cjs.js +1 -1
  46. package/dist/next/CheckBox.js +1 -1
  47. package/dist/next/{Checkbox-CRg5oEdB.js → Checkbox-KIXViPTB.js} +45 -55
  48. package/dist/next/{Checkbox-CRg5oEdB.js.map → Checkbox-KIXViPTB.js.map} +1 -1
  49. package/dist/next/{Checkbox-DXNxt-4b.cjs → Checkbox-UqOL3aqk.cjs} +45 -55
  50. package/dist/next/{Checkbox-DXNxt-4b.cjs.map → Checkbox-UqOL3aqk.cjs.map} +1 -1
  51. package/dist/next/Checkbox.css +756 -0
  52. package/dist/next/{Chip-DpMTNARP.cjs → Chip-BQv3NoJL.cjs} +47 -57
  53. package/dist/next/{Chip-DpMTNARP.cjs.map → Chip-BQv3NoJL.cjs.map} +1 -1
  54. package/dist/next/{Chip-Cg7khsSn.js → Chip-D-QH1huh.js} +47 -57
  55. package/dist/next/{Chip-Cg7khsSn.js.map → Chip-D-QH1huh.js.map} +1 -1
  56. package/dist/next/Chip.cjs.js +1 -1
  57. package/dist/next/Chip.css +598 -0
  58. package/dist/next/Chip.js +1 -1
  59. package/dist/next/{CircularProgress-CzFUYDX1.cjs → CircularProgress-BG83Q-uO.cjs} +33 -43
  60. package/dist/next/{CircularProgress-CzFUYDX1.cjs.map → CircularProgress-BG83Q-uO.cjs.map} +1 -1
  61. package/dist/next/{CircularProgress-Dn1VXFsq.js → CircularProgress-Bfanw-2S.js} +33 -43
  62. package/dist/next/{CircularProgress-Dn1VXFsq.js.map → CircularProgress-Bfanw-2S.js.map} +1 -1
  63. package/dist/next/CircularProgress.cjs.js +1 -1
  64. package/dist/next/CircularProgress.css +528 -0
  65. package/dist/next/CircularProgress.js +1 -1
  66. package/dist/next/{ColorPicker-CCzSZDjx.js → ColorPicker-BJfyM0Ay.js} +26 -47
  67. package/dist/next/{ColorPicker-CCzSZDjx.js.map → ColorPicker-BJfyM0Ay.js.map} +1 -1
  68. package/dist/next/{ColorPicker-ByPKPsMz.cjs → ColorPicker-DmubVH4p.cjs} +26 -47
  69. package/dist/next/{ColorPicker-ByPKPsMz.cjs.map → ColorPicker-DmubVH4p.cjs.map} +1 -1
  70. package/dist/next/ColorPicker.cjs.js +1 -1
  71. package/dist/next/ColorPicker.css +346 -0
  72. package/dist/next/ColorPicker.js +1 -1
  73. package/dist/next/{CommandPalette-D6R9_gmo.js → CommandPalette-CNaU5jTY.js} +38 -48
  74. package/dist/next/{CommandPalette-D6R9_gmo.js.map → CommandPalette-CNaU5jTY.js.map} +1 -1
  75. package/dist/next/{CommandPalette-BvjlLE14.cjs → CommandPalette-_Lpb0UOI.cjs} +38 -48
  76. package/dist/next/{CommandPalette-BvjlLE14.cjs.map → CommandPalette-_Lpb0UOI.cjs.map} +1 -1
  77. package/dist/next/CommandPalette.cjs.js +1 -1
  78. package/dist/next/CommandPalette.css +624 -0
  79. package/dist/next/CommandPalette.js +1 -1
  80. package/dist/next/{DataTable-Bt6D__oo.cjs → DataTable-BAwMYdQb.cjs} +29 -50
  81. package/dist/next/{DataTable-Bt6D__oo.cjs.map → DataTable-BAwMYdQb.cjs.map} +1 -1
  82. package/dist/next/{DataTable-CZj_U9rg.js → DataTable-F9mtABNi.js} +28 -49
  83. package/dist/next/{DataTable-CZj_U9rg.js.map → DataTable-F9mtABNi.js.map} +1 -1
  84. package/dist/next/DataTable.cjs.js +1 -1
  85. package/dist/next/DataTable.css +444 -0
  86. package/dist/next/DataTable.js +1 -1
  87. package/dist/next/{DateTimePicker-Cols3qxt.cjs → DateTimePicker-CU-b9irX.cjs} +34 -55
  88. package/dist/next/{DateTimePicker-Cols3qxt.cjs.map → DateTimePicker-CU-b9irX.cjs.map} +1 -1
  89. package/dist/next/{DateTimePicker-DB2exnHd.js → DateTimePicker-WVVLqcd9.js} +34 -55
  90. package/dist/next/{DateTimePicker-DB2exnHd.js.map → DateTimePicker-WVVLqcd9.js.map} +1 -1
  91. package/dist/next/DateTimePicker.cjs.js +1 -1
  92. package/dist/next/DateTimePicker.css +563 -0
  93. package/dist/next/DateTimePicker.js +1 -1
  94. package/dist/next/{Divider-Dr0xlon0.cjs → Divider-BGxUapmt.cjs} +16 -37
  95. package/dist/next/{Divider-Dr0xlon0.cjs.map → Divider-BGxUapmt.cjs.map} +1 -1
  96. package/dist/next/{Divider-DXGze_D2.js → Divider-BXSDTRTU.js} +16 -37
  97. package/dist/next/{Divider-DXGze_D2.js.map → Divider-BXSDTRTU.js.map} +1 -1
  98. package/dist/next/Divider.cjs.js +1 -1
  99. package/dist/next/Divider.css +248 -0
  100. package/dist/next/Divider.js +1 -1
  101. package/dist/next/{Dropdown-B7PgWHlY.js → Dropdown-B7vrHg0z.js} +3 -3
  102. package/dist/next/{Dropdown-B7PgWHlY.js.map → Dropdown-B7vrHg0z.js.map} +1 -1
  103. package/dist/next/{Dropdown-kQLhr7_M.cjs → Dropdown-CUYItZDk.cjs} +3 -3
  104. package/dist/next/{Dropdown-kQLhr7_M.cjs.map → Dropdown-CUYItZDk.cjs.map} +1 -1
  105. package/dist/next/Dropdown.cjs.js +1 -1
  106. package/dist/next/Dropdown.css +317 -0
  107. package/dist/next/Dropdown.js +1 -1
  108. package/dist/next/{EmptyState-DCCDQWOQ.js → EmptyState-MT9_qwrB.js} +44 -33
  109. package/dist/next/{EmptyState-DCCDQWOQ.js.map → EmptyState-MT9_qwrB.js.map} +1 -1
  110. package/dist/next/{EmptyState-BH1X81TH.cjs → EmptyState-sh7Vn6eC.cjs} +44 -33
  111. package/dist/next/{EmptyState-BH1X81TH.cjs.map → EmptyState-sh7Vn6eC.cjs.map} +1 -1
  112. package/dist/next/EmptyState.cjs.js +1 -1
  113. package/dist/next/EmptyState.css +663 -0
  114. package/dist/next/EmptyState.js +1 -1
  115. package/dist/next/{FileUpload-BQW5ol7P.js → FileUpload-Bvj5JEBv.js} +48 -58
  116. package/dist/next/{FileUpload-BQW5ol7P.js.map → FileUpload-Bvj5JEBv.js.map} +1 -1
  117. package/dist/next/{FileUpload-C9Ke2cTs.cjs → FileUpload-CD_i5Md2.cjs} +48 -58
  118. package/dist/next/{FileUpload-C9Ke2cTs.cjs.map → FileUpload-CD_i5Md2.cjs.map} +1 -1
  119. package/dist/next/FileUpload.cjs.js +1 -1
  120. package/dist/next/FileUpload.css +474 -0
  121. package/dist/next/FileUpload.js +1 -1
  122. package/dist/next/{Footer-Dl_wQwsb.js → Footer-Bdu_9H3p.js} +38 -48
  123. package/dist/next/{Footer-Dl_wQwsb.js.map → Footer-Bdu_9H3p.js.map} +1 -1
  124. package/dist/next/{Footer-i9rgxATK.cjs → Footer-DJjzgwpc.cjs} +38 -48
  125. package/dist/next/{Footer-i9rgxATK.cjs.map → Footer-DJjzgwpc.cjs.map} +1 -1
  126. package/dist/next/Footer.cjs.js +1 -1
  127. package/dist/next/Footer.css +493 -0
  128. package/dist/next/Footer.js +1 -1
  129. package/dist/next/{FormGroup-B4Xb3X61.cjs → FormGroup-BWJAlt3K.cjs} +28 -36
  130. package/dist/next/{FormGroup-B4Xb3X61.cjs.map → FormGroup-BWJAlt3K.cjs.map} +1 -1
  131. package/dist/next/{FormGroup-AHYiWnkX.js → FormGroup-QrGjujWn.js} +28 -36
  132. package/dist/next/{FormGroup-AHYiWnkX.js.map → FormGroup-QrGjujWn.js.map} +1 -1
  133. package/dist/next/FormGroup.cjs.js +1 -1
  134. package/dist/next/FormGroup.css +419 -0
  135. package/dist/next/FormGroup.js +1 -1
  136. package/dist/next/{IconButton-BWw3WPaS.js → IconButton-0JJ1aiqr.js} +2 -2
  137. package/dist/next/{IconButton-BWw3WPaS.js.map → IconButton-0JJ1aiqr.js.map} +1 -1
  138. package/dist/next/{IconButton-4ySBEhn1.cjs → IconButton-C66aQhKe.cjs} +2 -2
  139. package/dist/next/{IconButton-4ySBEhn1.cjs.map → IconButton-C66aQhKe.cjs.map} +1 -1
  140. package/dist/next/IconButton.cjs.js +1 -1
  141. package/dist/next/IconButton.css +570 -0
  142. package/dist/next/IconButton.js +1 -1
  143. package/dist/next/{MarkdownRenderer-CO_rlPOB.cjs → MarkdownRenderer-BQ1-Kd73.cjs} +25 -14
  144. package/dist/next/{MarkdownRenderer-CO_rlPOB.cjs.map → MarkdownRenderer-BQ1-Kd73.cjs.map} +1 -1
  145. package/dist/next/{MarkdownRenderer-CGnuIkVY.js → MarkdownRenderer-CmK00as_.js} +25 -14
  146. package/dist/next/{MarkdownRenderer-CGnuIkVY.js.map → MarkdownRenderer-CmK00as_.js.map} +1 -1
  147. package/dist/next/MarkdownRenderer.cjs.js +1 -1
  148. package/dist/next/MarkdownRenderer.css +483 -0
  149. package/dist/next/MarkdownRenderer.js +1 -1
  150. package/dist/next/{MessagePopup-D_gZy6eH.cjs → MessagePopup-CizqwWmH.cjs} +4 -4
  151. package/dist/next/{MessagePopup-D_gZy6eH.cjs.map → MessagePopup-CizqwWmH.cjs.map} +1 -1
  152. package/dist/next/{MessagePopup-DIrdAeyg.js → MessagePopup-DLodDCIa.js} +4 -4
  153. package/dist/next/{MessagePopup-DIrdAeyg.js.map → MessagePopup-DLodDCIa.js.map} +1 -1
  154. package/dist/next/MessagePopup.cjs.js +1 -1
  155. package/dist/next/MessagePopup.css +296 -0
  156. package/dist/next/MessagePopup.js +1 -1
  157. package/dist/next/{MetricBox-CeONzyEu.cjs → MetricBox-C55LoIfn.cjs} +43 -53
  158. package/dist/next/{MetricBox-CeONzyEu.cjs.map → MetricBox-C55LoIfn.cjs.map} +1 -1
  159. package/dist/next/{MetricBox-D9-RmZoy.js → MetricBox-CHNmWcTq.js} +43 -53
  160. package/dist/next/{MetricBox-D9-RmZoy.js.map → MetricBox-CHNmWcTq.js.map} +1 -1
  161. package/dist/next/MetricBox.cjs.js +1 -1
  162. package/dist/next/MetricBox.css +635 -0
  163. package/dist/next/MetricBox.js +1 -1
  164. package/dist/next/{Modal-Dre8TMtr.js → Modal-BajWiIo7.js} +3 -3
  165. package/dist/next/{Modal-Dre8TMtr.js.map → Modal-BajWiIo7.js.map} +1 -1
  166. package/dist/next/{Modal-D7hNuMII.cjs → Modal-j59Cj0t1.cjs} +3 -3
  167. package/dist/next/{Modal-D7hNuMII.cjs.map → Modal-j59Cj0t1.cjs.map} +1 -1
  168. package/dist/next/Modal.cjs.js +1 -1
  169. package/dist/next/Modal.css +320 -0
  170. package/dist/next/Modal.js +1 -1
  171. package/dist/next/{NavBar-dpbPYT0w.js → NavBar-B0G7ZuqP.js} +33 -43
  172. package/dist/next/{NavBar-dpbPYT0w.js.map → NavBar-B0G7ZuqP.js.map} +1 -1
  173. package/dist/next/{NavBar-d-Hx7gkg.cjs → NavBar-Cd6FlBPY.cjs} +33 -43
  174. package/dist/next/{NavBar-d-Hx7gkg.cjs.map → NavBar-Cd6FlBPY.cjs.map} +1 -1
  175. package/dist/next/NavBar.cjs.js +1 -1
  176. package/dist/next/NavBar.css +498 -0
  177. package/dist/next/NavBar.js +1 -1
  178. package/dist/next/{NotificationCenter-BrAzv2oD.js → NotificationCenter-BDd4Zr8Y.js} +39 -49
  179. package/dist/next/{NotificationCenter-BrAzv2oD.js.map → NotificationCenter-BDd4Zr8Y.js.map} +1 -1
  180. package/dist/next/{NotificationCenter-JIX-pouI.cjs → NotificationCenter-obd1jF2n.cjs} +39 -49
  181. package/dist/next/{NotificationCenter-JIX-pouI.cjs.map → NotificationCenter-obd1jF2n.cjs.map} +1 -1
  182. package/dist/next/NotificationCenter.cjs.js +1 -1
  183. package/dist/next/NotificationCenter.css +475 -0
  184. package/dist/next/NotificationCenter.js +1 -1
  185. package/dist/next/{Pager-DcibmVu1.cjs → Pager-8dIVqCGz.cjs} +4 -4
  186. package/dist/next/{Pager-DcibmVu1.cjs.map → Pager-8dIVqCGz.cjs.map} +1 -1
  187. package/dist/next/{Pager-DFKfUn1s.js → Pager-C7n5x44P.js} +4 -4
  188. package/dist/next/{Pager-DFKfUn1s.js.map → Pager-C7n5x44P.js.map} +1 -1
  189. package/dist/next/Pager.cjs.js +1 -1
  190. package/dist/next/Pager.css +173 -0
  191. package/dist/next/Pager.js +1 -1
  192. package/dist/next/{PopOver-CpSdILYS.cjs → PopOver-D8BwV2PM.cjs} +36 -46
  193. package/dist/next/{PopOver-CpSdILYS.cjs.map → PopOver-D8BwV2PM.cjs.map} +1 -1
  194. package/dist/next/{PopOver-CUON_Abe.js → PopOver-Dmf41W2o.js} +36 -46
  195. package/dist/next/{PopOver-CUON_Abe.js.map → PopOver-Dmf41W2o.js.map} +1 -1
  196. package/dist/next/PopOver.cjs.js +1 -1
  197. package/dist/next/PopOver.css +417 -0
  198. package/dist/next/PopOver.js +1 -1
  199. package/dist/next/{ProgressBar-CMYDs8uL.js → ProgressBar-BgCHpDo8.js} +44 -54
  200. package/dist/next/{ProgressBar-CMYDs8uL.js.map → ProgressBar-BgCHpDo8.js.map} +1 -1
  201. package/dist/next/{ProgressBar-sg1jxDfy.cjs → ProgressBar-DUarHTA6.cjs} +44 -54
  202. package/dist/next/{ProgressBar-sg1jxDfy.cjs.map → ProgressBar-DUarHTA6.cjs.map} +1 -1
  203. package/dist/next/ProgressBar.cjs.js +1 -1
  204. package/dist/next/ProgressBar.css +441 -0
  205. package/dist/next/ProgressBar.js +1 -1
  206. package/dist/next/{RadioButton-z26U6POV.js → RadioButton-BN63UX0c.js} +34 -44
  207. package/dist/next/{RadioButton-z26U6POV.js.map → RadioButton-BN63UX0c.js.map} +1 -1
  208. package/dist/next/{RadioButton-X5L9U53Y.cjs → RadioButton-Dla9uVC6.cjs} +34 -44
  209. package/dist/next/{RadioButton-X5L9U53Y.cjs.map → RadioButton-Dla9uVC6.cjs.map} +1 -1
  210. package/dist/next/RadioButton.cjs.js +1 -1
  211. package/dist/next/RadioButton.css +454 -0
  212. package/dist/next/RadioButton.js +1 -1
  213. package/dist/next/{Rating-DXYBYXmx.cjs → Rating-B8A_4Z44.cjs} +30 -40
  214. package/dist/next/{Rating-DXYBYXmx.cjs.map → Rating-B8A_4Z44.cjs.map} +1 -1
  215. package/dist/next/{Rating-D6JEDvn4.js → Rating-CCZoQJEB.js} +30 -40
  216. package/dist/next/{Rating-D6JEDvn4.js.map → Rating-CCZoQJEB.js.map} +1 -1
  217. package/dist/next/Rating.cjs.js +1 -1
  218. package/dist/next/Rating.css +402 -0
  219. package/dist/next/Rating.js +1 -1
  220. package/dist/next/{ScrollToTop-Cw7LXubo.js → ScrollToTop-C7ThHvxg.js} +2 -2
  221. package/dist/next/{ScrollToTop-Cw7LXubo.js.map → ScrollToTop-C7ThHvxg.js.map} +1 -1
  222. package/dist/next/{ScrollToTop-CBRFQNC0.cjs → ScrollToTop-CJxWoVhg.cjs} +2 -2
  223. package/dist/next/{ScrollToTop-CBRFQNC0.cjs.map → ScrollToTop-CJxWoVhg.cjs.map} +1 -1
  224. package/dist/next/ScrollToTop.cjs.js +1 -1
  225. package/dist/next/ScrollToTop.css +215 -0
  226. package/dist/next/ScrollToTop.js +1 -1
  227. package/dist/next/{Select-DAD4xA1b.cjs → Select-CiyDDVhq.cjs} +2 -2
  228. package/dist/next/{Select-DAD4xA1b.cjs.map → Select-CiyDDVhq.cjs.map} +1 -1
  229. package/dist/next/{Select-b8fO1q2K.js → Select-D4bH7djH.js} +2 -2
  230. package/dist/next/{Select-b8fO1q2K.js.map → Select-D4bH7djH.js.map} +1 -1
  231. package/dist/next/Select.cjs.js +1 -1
  232. package/dist/next/Select.css +459 -0
  233. package/dist/next/Select.js +1 -1
  234. package/dist/next/{Sidebar-BwW51HwF.js → Sidebar-3dbu221x.js} +2 -2
  235. package/dist/next/{Sidebar-BwW51HwF.js.map → Sidebar-3dbu221x.js.map} +1 -1
  236. package/dist/next/{Sidebar-U5BQKtKR.cjs → Sidebar-DpUTsAza.cjs} +2 -2
  237. package/dist/next/{Sidebar-U5BQKtKR.cjs.map → Sidebar-DpUTsAza.cjs.map} +1 -1
  238. package/dist/next/Sidebar.cjs.js +1 -1
  239. package/dist/next/Sidebar.css +515 -0
  240. package/dist/next/Sidebar.js +1 -1
  241. package/dist/next/{Skeleton-N1-8bK7i.cjs → Skeleton-B0mlVpUX.cjs} +22 -32
  242. package/dist/next/{Skeleton-N1-8bK7i.cjs.map → Skeleton-B0mlVpUX.cjs.map} +1 -1
  243. package/dist/next/{Skeleton-Bk8l48-D.js → Skeleton-BiBul6J3.js} +21 -31
  244. package/dist/next/{Skeleton-Bk8l48-D.js.map → Skeleton-BiBul6J3.js.map} +1 -1
  245. package/dist/next/Skeleton.cjs.js +1 -1
  246. package/dist/next/Skeleton.css +288 -0
  247. package/dist/next/Skeleton.js +1 -1
  248. package/dist/next/{Slider-DOGkUQYT.js → Slider-B4G0kHQA.js} +38 -48
  249. package/dist/next/{Slider-DOGkUQYT.js.map → Slider-B4G0kHQA.js.map} +1 -1
  250. package/dist/next/{Slider-BPtajU2m.cjs → Slider-Cli7b9xm.cjs} +39 -49
  251. package/dist/next/{Slider-BPtajU2m.cjs.map → Slider-Cli7b9xm.cjs.map} +1 -1
  252. package/dist/next/Slider.cjs.js +1 -1
  253. package/dist/next/Slider.css +645 -0
  254. package/dist/next/Slider.js +1 -1
  255. package/dist/next/{Spinner-CmaoTjNr.cjs → Spinner-BSjLK_0H.cjs} +33 -43
  256. package/dist/next/{Spinner-CmaoTjNr.cjs.map → Spinner-BSjLK_0H.cjs.map} +1 -1
  257. package/dist/next/{Spinner-D7jfVZGm.js → Spinner-C9Xiao9p.js} +32 -42
  258. package/dist/next/{Spinner-D7jfVZGm.js.map → Spinner-C9Xiao9p.js.map} +1 -1
  259. package/dist/next/Spinner.cjs.js +1 -1
  260. package/dist/next/Spinner.css +390 -0
  261. package/dist/next/Spinner.js +1 -1
  262. package/dist/next/{Stepper-C0cNzpY8.cjs → Stepper-CpgJBKz7.cjs} +36 -46
  263. package/dist/next/{Stepper-C0cNzpY8.cjs.map → Stepper-CpgJBKz7.cjs.map} +1 -1
  264. package/dist/next/{Stepper-CSh2wccK.js → Stepper-em6Gl32O.js} +36 -46
  265. package/dist/next/{Stepper-CSh2wccK.js.map → Stepper-em6Gl32O.js.map} +1 -1
  266. package/dist/next/Stepper.cjs.js +1 -1
  267. package/dist/next/Stepper.css +404 -0
  268. package/dist/next/Stepper.js +1 -1
  269. package/dist/next/{Tabs-Dors0bVs.js → Tabs-B5GbuYuA.js} +2 -2
  270. package/dist/next/{Tabs-Dors0bVs.js.map → Tabs-B5GbuYuA.js.map} +1 -1
  271. package/dist/next/{Tabs-B6zeG5AB.cjs → Tabs-or9GGDS3.cjs} +2 -2
  272. package/dist/next/{Tabs-B6zeG5AB.cjs.map → Tabs-or9GGDS3.cjs.map} +1 -1
  273. package/dist/next/Tabs.cjs.js +1 -1
  274. package/dist/next/Tabs.css +407 -0
  275. package/dist/next/Tabs.js +1 -1
  276. package/dist/next/{TagInput-V3zvXcNq.js → TagInput-8nVGDluu.js} +44 -54
  277. package/dist/next/{TagInput-V3zvXcNq.js.map → TagInput-8nVGDluu.js.map} +1 -1
  278. package/dist/next/{TagInput-ceV9Jjqe.cjs → TagInput-DVmBv7Mn.cjs} +44 -54
  279. package/dist/next/{TagInput-ceV9Jjqe.cjs.map → TagInput-DVmBv7Mn.cjs.map} +1 -1
  280. package/dist/next/TagInput.cjs.js +1 -1
  281. package/dist/next/TagInput.css +521 -0
  282. package/dist/next/TagInput.js +1 -1
  283. package/dist/next/{TextArea-BXmbrq4-.cjs → TextArea-Bh0FdkP2.cjs} +2 -2
  284. package/dist/next/{TextArea-BXmbrq4-.cjs.map → TextArea-Bh0FdkP2.cjs.map} +1 -1
  285. package/dist/next/{TextArea-BSO1_gaS.js → TextArea-CQgoM2yj.js} +2 -2
  286. package/dist/next/{TextArea-BSO1_gaS.js.map → TextArea-CQgoM2yj.js.map} +1 -1
  287. package/dist/next/TextArea.cjs.js +1 -1
  288. package/dist/next/TextArea.css +450 -0
  289. package/dist/next/TextArea.js +1 -1
  290. package/dist/next/{TextInput-7nN8g78V.cjs → TextInput-BRl37zMW.cjs} +3 -3
  291. package/dist/next/{TextInput-7nN8g78V.cjs.map → TextInput-BRl37zMW.cjs.map} +1 -1
  292. package/dist/next/{TextInput-yUHEWbdK.js → TextInput-CKM34-yu.js} +3 -3
  293. package/dist/next/{TextInput-yUHEWbdK.js.map → TextInput-CKM34-yu.js.map} +1 -1
  294. package/dist/next/TextInput.cjs.js +1 -1
  295. package/dist/next/TextInput.css +438 -0
  296. package/dist/next/TextInput.js +1 -1
  297. package/dist/next/{Timeline-BTsKMULd.js → Timeline-BF_ru3Qq.js} +2 -2
  298. package/dist/next/{Timeline-BTsKMULd.js.map → Timeline-BF_ru3Qq.js.map} +1 -1
  299. package/dist/next/{Timeline-Dep_oZrh.cjs → Timeline-uKeDlojT.cjs} +2 -2
  300. package/dist/next/{Timeline-Dep_oZrh.cjs.map → Timeline-uKeDlojT.cjs.map} +1 -1
  301. package/dist/next/Timeline.cjs.js +1 -1
  302. package/dist/next/Timeline.css +455 -0
  303. package/dist/next/Timeline.js +1 -1
  304. package/dist/next/{Toggle-BomUbOZa.js → Toggle-CegN5JEB.js} +2 -2
  305. package/dist/next/{Toggle-BomUbOZa.js.map → Toggle-CegN5JEB.js.map} +1 -1
  306. package/dist/next/{Toggle-C9uZG3i5.cjs → Toggle-CfIi--aC.cjs} +2 -2
  307. package/dist/next/{Toggle-C9uZG3i5.cjs.map → Toggle-CfIi--aC.cjs.map} +1 -1
  308. package/dist/next/Toggle.cjs.js +1 -1
  309. package/dist/next/Toggle.css +464 -0
  310. package/dist/next/Toggle.js +1 -1
  311. package/dist/next/{Toolbar-Be-YQqmX.js → Toolbar-DqBlTLsk.js} +30 -40
  312. package/dist/next/{Toolbar-Be-YQqmX.js.map → Toolbar-DqBlTLsk.js.map} +1 -1
  313. package/dist/next/{Toolbar-roQbIEcD.cjs → Toolbar-DqsQznCj.cjs} +31 -41
  314. package/dist/next/{Toolbar-roQbIEcD.cjs.map → Toolbar-DqsQznCj.cjs.map} +1 -1
  315. package/dist/next/Toolbar.cjs.js +1 -1
  316. package/dist/next/Toolbar.css +367 -0
  317. package/dist/next/Toolbar.js +1 -1
  318. package/dist/next/{Tooltip-DVI61ebD.cjs → Tooltip-LnIFKvJC.cjs} +35 -45
  319. package/dist/next/{Tooltip-DVI61ebD.cjs.map → Tooltip-LnIFKvJC.cjs.map} +1 -1
  320. package/dist/next/{Tooltip-lxpnIfpO.js → Tooltip-o7L3wCNR.js} +34 -44
  321. package/dist/next/{Tooltip-lxpnIfpO.js.map → Tooltip-o7L3wCNR.js.map} +1 -1
  322. package/dist/next/Tooltip.cjs.js +1 -1
  323. package/dist/next/Tooltip.css +529 -0
  324. package/dist/next/Tooltip.js +1 -1
  325. package/dist/next/{Typography-B6VNZtxH.cjs → Typography-BAQ61z2R.cjs} +2 -2
  326. package/dist/next/{Typography-B6VNZtxH.cjs.map → Typography-BAQ61z2R.cjs.map} +1 -1
  327. package/dist/next/{Typography-BdS7h4Eq.js → Typography-BDswZ9eq.js} +2 -2
  328. package/dist/next/{Typography-BdS7h4Eq.js.map → Typography-BDswZ9eq.js.map} +1 -1
  329. package/dist/next/Typography.cjs.js +1 -1
  330. package/dist/next/Typography.css +294 -0
  331. package/dist/next/Typography.js +1 -1
  332. package/dist/next/globals.css +674 -0
  333. package/dist/next/index.cjs.js +66 -76
  334. package/dist/next/index.cjs.js.map +1 -1
  335. package/dist/next/index.css +241 -0
  336. package/dist/next/index.js +66 -76
  337. package/dist/next/index.js.map +1 -1
  338. package/package.json +10 -6
  339. package/dist/generated-docs/Typography.props.js +0 -204
  340. package/dist/next/boreal-ui.css +0 -36643
@@ -0,0 +1,215 @@
1
+ @charset "UTF-8";
2
+ /**
3
+ * ---------------------------------------------------------------------
4
+ * theme.scss
5
+ * ---------------------------------------------------------------------
6
+ * Global design tokens and theme configuration for the Boreal UI system.
7
+ * This file defines SCSS variables, maps, and constants for:
8
+ * - Colors (brand, background, feedback, text)
9
+ * - Fonts (families, sizes, weights)
10
+ * - Spacing
11
+ * - Border radii
12
+ * - Shadows
13
+ * - Transitions
14
+ * - Z-index layers
15
+ * - Thematic color maps
16
+ * - UI states (success, error, warning)
17
+ * - Rounding and shadow presets
18
+ *
19
+ * All variables support the `!default` flag to allow overrides via user-defined themes.
20
+ * ---------------------------------------------------------------------
21
+ *
22
+ * == Color Palette ==
23
+ * $primary-color – Brand primary color
24
+ * $secondary-color – Secondary accent color
25
+ * $tertiary-color – Alternate accent color
26
+ * $quaternary-color – Alternate accent color
27
+ * $background-color – Main background color (dark)
28
+ * $background-color-surface – Surface layer background (cards, modals)
29
+ * $error-color, $success-color, $warning-color – Feedback states
30
+ * $link-color – Link default color
31
+ * $link-hover-color – Link hover state
32
+ * $text-color, $text-color-light, $text-color-primary, $text-color-secondary – Text coloring
33
+ *
34
+ * == Typography ==
35
+ * $font-family-primary / secondary – Primary typefaces
36
+ * $font-size-xxs to $font-size-xxl – Font size scale
37
+ * $font-weight-light to bolder – Font weights
38
+ *
39
+ * == Spacing ==
40
+ * $spacing-xxs to $spacing-xl – Margin/padding utility scale
41
+ *
42
+ * == Border Radius ==
43
+ * $border-radius-xs to full – Border rounding presets
44
+ *
45
+ * == Shadows ==
46
+ * $box-shadow-light to intense – Shadow elevation levels
47
+ * $inverted-shadows – Shadows used on dark surfaces (e.g. modals)
48
+ *
49
+ * == Transitions ==
50
+ * $transition-fast / default / slow – Standard easing transitions
51
+ *
52
+ * == Z-Index Layers ==
53
+ * $z-index-drawer – For slide-out panels
54
+ * $z-index-modal – For modals and overlays
55
+ * $z-index-tooltip – Highest layer for tooltips and floating labels
56
+ *
57
+ * == Theme Map ==
58
+ * $themes: map of theme names (e.g. "primary", "secondary") to their visual styles
59
+ * - Each theme includes: bg, hover, text, border, text-hover
60
+ *
61
+ * == State Map ==
62
+ * $states: visual styles for UI feedback states (success, error, warning)
63
+ *
64
+ * == Rounding / Shadow Maps ==
65
+ * $rounding: key-value pairs for component rounding levels
66
+ * $shadow: key-value pairs for shadow levels
67
+ */
68
+ /**
69
+ * -----------------------------------------------------
70
+ * _breakpoints.scss
71
+ * -----------------------------------------------------
72
+ * These constants define the standard device-width breakpoints
73
+ * used in responsive media queries throughout the theme.
74
+ *
75
+ * - $breakpoint-xs: 320px (Extra small, portrait phones)
76
+ * - $breakpoint-sm: 480px (Small devices, larger phones)
77
+ * - $breakpoint-md: 768px (Medium devices, tablets)
78
+ * - $breakpoint-lg: 1024px (Large devices, desktops)
79
+ * - $breakpoint-xl: 1280px (Extra large desktops)
80
+ * - $breakpoint-xxl: 1536px (Widescreens, large monitors)
81
+ *
82
+ * $breakpoints map:
83
+ * Use this map to loop over breakpoints or access named values.
84
+ */
85
+ ._wrapper_c3kuy_85 {
86
+ position: fixed;
87
+ bottom: calc(65px + env(safe-area-inset-bottom, 0px));
88
+ right: var(--spacing-sm);
89
+ z-index: 2003;
90
+ cursor: pointer;
91
+ opacity: 0.9;
92
+ transition: opacity var(--transition-default), transform var(--transition-default);
93
+ }
94
+ ._wrapper_c3kuy_85:hover {
95
+ opacity: 1;
96
+ transform: scale(1.05);
97
+ }
98
+ @media (width <= 319.98px) {
99
+ ._wrapper_c3kuy_85:hover {
100
+ transform: scale(1.02);
101
+ }
102
+ }
103
+ @media (width <= 319.98px) {
104
+ ._wrapper_c3kuy_85 {
105
+ bottom: calc(56px + env(safe-area-inset-bottom, 0px));
106
+ right: var(--spacing-xs);
107
+ }
108
+ }
109
+ @media (min-width: 1024px) {
110
+ ._wrapper_c3kuy_85 {
111
+ bottom: calc(72px + env(safe-area-inset-bottom, 0px));
112
+ right: var(--spacing-md);
113
+ }
114
+ }
115
+ ._wrapper_c3kuy_85 ._button_c3kuy_115 {
116
+ display: flex;
117
+ align-items: center;
118
+ justify-content: center;
119
+ cursor: pointer;
120
+ background-color: transparent;
121
+ border: none;
122
+ padding: 0;
123
+ margin: 0;
124
+ }
125
+ ._wrapper_c3kuy_85 ._button_c3kuy_115:focus-visible {
126
+ outline: 2px solid var(--focus-outline-color, var(--primary-color));
127
+ outline-offset: 3px;
128
+ border-radius: 8px;
129
+ }
130
+ ._wrapper_c3kuy_85 ._icon_c3kuy_130 {
131
+ font-size: var(--font-size-label);
132
+ color: var(--text-color-primary);
133
+ background-color: var(--background-color-lighter);
134
+ padding: var(--spacing-xs);
135
+ width: 100%;
136
+ height: 100%;
137
+ }
138
+ @media (width <= 319.98px) {
139
+ ._wrapper_c3kuy_85 ._icon_c3kuy_130 {
140
+ font-size: var(--font-size-caption);
141
+ padding: 1px;
142
+ }
143
+ }
144
+ @media (min-width: 1024px) {
145
+ ._wrapper_c3kuy_85 ._icon_c3kuy_130 {
146
+ font-size: var(--font-size-body-sm);
147
+ padding: var(--spacing-sm);
148
+ }
149
+ }
150
+
151
+ ._roundNone_c3kuy_151 ._icon_c3kuy_130 {
152
+ border-radius: var(--border-radius-none);
153
+ }
154
+
155
+ ._roundSmall_c3kuy_155 ._icon_c3kuy_130 {
156
+ border-radius: var(--border-radius-sm);
157
+ }
158
+
159
+ ._roundMedium_c3kuy_159 ._icon_c3kuy_130 {
160
+ border-radius: var(--border-radius-md);
161
+ }
162
+
163
+ ._roundLarge_c3kuy_163 ._icon_c3kuy_130 {
164
+ border-radius: var(--border-radius-lg);
165
+ }
166
+
167
+ ._roundFull_c3kuy_167 ._icon_c3kuy_130 {
168
+ border-radius: var(--border-radius-full);
169
+ }
170
+
171
+ ._shadowNone_c3kuy_171 ._icon_c3kuy_130 {
172
+ box-shadow: var(--box-shadow-none);
173
+ }
174
+
175
+ ._shadowLight_c3kuy_175 ._icon_c3kuy_130 {
176
+ box-shadow: var(--box-shadow-light);
177
+ }
178
+
179
+ ._shadowMedium_c3kuy_179 ._icon_c3kuy_130 {
180
+ box-shadow: var(--box-shadow-medium);
181
+ }
182
+
183
+ ._shadowStrong_c3kuy_183 ._icon_c3kuy_130 {
184
+ box-shadow: var(--box-shadow-heavy);
185
+ }
186
+
187
+ ._shadowIntense_c3kuy_187 ._icon_c3kuy_130 {
188
+ box-shadow: var(--box-shadow-intense);
189
+ }
190
+
191
+ @media (prefers-reduced-motion: reduce) {
192
+ ._wrapper_c3kuy_85,
193
+ ._wrapper_c3kuy_85 * {
194
+ transition: none !important;
195
+ }
196
+ ._wrapper_c3kuy_85:hover {
197
+ transform: none !important;
198
+ }
199
+ }
200
+ @media (hover: none) {
201
+ ._wrapper_c3kuy_85:hover {
202
+ transform: none;
203
+ }
204
+ }
205
+ @media (forced-colors: active) {
206
+ ._wrapper_c3kuy_85 ._icon_c3kuy_130 {
207
+ background: Canvas;
208
+ color: ButtonText;
209
+ border: 1px solid ButtonText;
210
+ }
211
+ ._wrapper_c3kuy_85 ._button_c3kuy_115:focus-visible {
212
+ outline: 2px solid Highlight;
213
+ outline-offset: 3px;
214
+ }
215
+ }
@@ -1,4 +1,4 @@
1
- import { S } from "./ScrollToTop-Cw7LXubo.js";
1
+ import { S } from "./ScrollToTop-C7ThHvxg.js";
2
2
  export {
3
3
  S as default
4
4
  };
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const require$$2 = require("react/jsx-runtime");
2
+ require('./Select.css');const require$$2 = require("react/jsx-runtime");
3
3
  const React = require("react");
4
4
  const CheveronDownIcon = require("./CheveronDownIcon-CyoOZUNY.cjs");
5
5
  const classNames = require("./classNames-BcWMx052.cjs");
@@ -255,4 +255,4 @@ const Select = React.forwardRef((props, ref) => {
255
255
  });
256
256
  Select.displayName = "Select";
257
257
  exports.Select = Select;
258
- //# sourceMappingURL=Select-DAD4xA1b.cjs.map
258
+ //# sourceMappingURL=Select-CiyDDVhq.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select-DAD4xA1b.cjs","sources":["../../src/components/Select/SelectBase.tsx","../../src/components/Select/next/Select.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n ChangeEvent,\r\n useId,\r\n useMemo,\r\n useEffect,\r\n useState,\r\n} from \"react\";\r\nimport { ChevronDownIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BaseSelectProps } from \"./Select.types\";\r\n\r\nconst BaseSelect = forwardRef<HTMLSelectElement, BaseSelectProps>(\r\n (\r\n {\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n options,\r\n value,\r\n onChange,\r\n placeholder = \"Select an option\",\r\n disabled = false,\r\n className = \"\",\r\n classMap,\r\n asyncOptions,\r\n pollInterval = 0,\r\n required,\r\n name,\r\n label,\r\n labelPosition = \"top\",\r\n id,\r\n form,\r\n autoComplete,\r\n role,\r\n tabIndex,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-description\": ariaDescription,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n \"aria-busy\": ariaBusy,\r\n \"aria-live\": ariaLive = \"polite\",\r\n \"data-testid\": testId = \"select\",\r\n },\r\n ref,\r\n ) => {\r\n const generatedId = useId();\r\n const selectId = id || `${generatedId}-select`;\r\n const internalDescriptionId = ariaDescription\r\n ? `${generatedId}-desc`\r\n : undefined;\r\n\r\n const [internalOptions, setInternalOptions] = useState(options);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const hasLabel = Boolean(label);\r\n\r\n const layoutClasses = useMemo(() => {\r\n const posClass = hasLabel\r\n ? classMap[`label${capitalize(labelPosition)}`]\r\n : undefined;\r\n\r\n return combineClassNames(classMap.layout, posClass);\r\n }, [classMap, hasLabel, labelPosition]);\r\n\r\n const labelClasses = useMemo(\r\n () => combineClassNames(classMap.label, classMap.labelOverlay),\r\n [classMap],\r\n );\r\n\r\n const computedDescribedBy = useMemo(() => {\r\n const ids = [ariaDescribedBy, internalDescriptionId].filter(Boolean);\r\n return ids.length > 0 ? ids.join(\" \") : undefined;\r\n }, [ariaDescribedBy, internalDescriptionId]);\r\n\r\n const computedAriaLabel = ariaLabelledBy\r\n ? undefined\r\n : ariaLabel || placeholder;\r\n\r\n const labelNode = hasLabel ? (\r\n <div className={labelClasses} data-testid={`${testId}-label`}>\r\n {label}\r\n </div>\r\n ) : null;\r\n\r\n useEffect(() => {\r\n if (!asyncOptions) return;\r\n\r\n let isMounted = true;\r\n\r\n const load = async () => {\r\n try {\r\n setLoading(true);\r\n const fetched = await asyncOptions(\"\");\r\n if (isMounted) setInternalOptions(fetched);\r\n } catch (err) {\r\n console.error(\"Failed to load options:\", err);\r\n } finally {\r\n if (isMounted) setLoading(false);\r\n }\r\n };\r\n\r\n load();\r\n\r\n if (pollInterval > 0) {\r\n const intervalId = setInterval(load, pollInterval);\r\n return () => {\r\n clearInterval(intervalId);\r\n isMounted = false;\r\n };\r\n }\r\n\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [asyncOptions, pollInterval]);\r\n\r\n const handleChange = (event: ChangeEvent<HTMLSelectElement>) => {\r\n onChange(event.target.value);\r\n };\r\n\r\n const wrapperClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n classMap[theme],\r\n classMap[state],\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n ),\r\n [classMap, theme, state, className, shadow, rounding, outline, disabled],\r\n );\r\n\r\n const selectClasses = useMemo(\r\n () => combineClassNames(classMap.select, outline && classMap.outline),\r\n [classMap, outline],\r\n );\r\n\r\n const iconClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.icon,\r\n classMap[theme],\r\n disabled && classMap.disabled,\r\n ),\r\n [classMap, theme, disabled],\r\n );\r\n\r\n const opts = asyncOptions ? internalOptions : options;\r\n\r\n return (\r\n <div className={layoutClasses} data-testid={`${testId}-layout`}>\r\n {(labelPosition === \"top\" || labelPosition === \"left\") && labelNode}\r\n\r\n <div className={wrapperClasses} data-testid={testId}>\r\n <select\r\n ref={ref}\r\n id={selectId}\r\n name={name}\r\n form={form}\r\n autoComplete={autoComplete}\r\n role={role}\r\n tabIndex={tabIndex}\r\n value={value ?? \"\"}\r\n onChange={handleChange}\r\n className={selectClasses}\r\n aria-label={computedAriaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-description={ariaDescription}\r\n aria-describedby={computedDescribedBy}\r\n aria-disabled={disabled || undefined}\r\n aria-invalid={ariaInvalid ?? (state === \"error\" || undefined)}\r\n aria-required={ariaRequired ?? (required || undefined)}\r\n aria-busy={ariaBusy ?? (loading || undefined)}\r\n disabled={disabled}\r\n required={required}\r\n data-testid={`${testId}-input`}\r\n >\r\n <option value=\"\" disabled hidden>\r\n {placeholder}\r\n </option>\r\n\r\n {opts.map((option) => (\r\n <option\r\n key={option.value}\r\n value={option.value}\r\n disabled={option.disabled}\r\n data-testid={`${testId}-option-${option.value}`}\r\n >\r\n {option.label}\r\n </option>\r\n ))}\r\n </select>\r\n\r\n <div\r\n className={iconClasses}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <ChevronDownIcon aria-hidden=\"true\" focusable={false} />\r\n </div>\r\n\r\n {ariaDescription && (\r\n <span\r\n id={internalDescriptionId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </span>\r\n )}\r\n\r\n {loading && (\r\n <span\r\n className={classMap.loading}\r\n aria-live={ariaLive}\r\n data-testid={`${testId}-loading`}\r\n >\r\n Loading options…\r\n </span>\r\n )}\r\n </div>\r\n\r\n {(labelPosition === \"bottom\" || labelPosition === \"right\") && labelNode}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\nBaseSelect.displayName = \"BaseSelect\";\r\nexport default BaseSelect;\r\n","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport BaseSelect from \"../SelectBase\";\r\nimport styles from \"./Select.module.scss\";\r\nimport { SelectProps } from \"../Select.types\";\r\n\r\nconst Select = forwardRef<HTMLSelectElement, SelectProps>((props, ref) => {\r\n return <BaseSelect {...props} ref={ref} classMap={styles} />;\r\n});\r\n\r\nSelect.displayName = \"Select\";\r\nexport default Select;\r\n"],"names":["forwardRef","getDefaultTheme","outline","getDefaultRounding","getDefaultShadow","disabled","label","useId","useState","useMemo","capitalize","combineClassNames","jsx","useEffect","jsxs","ChevronDownIcon"],"mappings":";;;;;;;AAkBA,MAAM,aAAaA,MAAAA;AAAAA,EACjB,CACE;AAAA,IACE,QAAQC,kBAAAA,gBAAA;AAAA,IACR,QAAQ;AAAA,IACR,SAAAC,WAAU;AAAA,IACV,WAAWC,kBAAAA,mBAAA;AAAA,IACX,SAASC,kBAAAA,iBAAA;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd,UAAAC,YAAW;AAAA,IACX,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,OAAAC;AAAA,IACA,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,IACpB,oBAAoB;AAAA,IACpB,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,aAAa,WAAW;AAAA,IACxB,eAAe,SAAS;AAAA,EAAA,GAE1B,QACG;AACH,UAAM,cAAcC,MAAAA,MAAA;AACpB,UAAM,WAAW,MAAM,GAAG,WAAW;AACrC,UAAM,wBAAwB,kBAC1B,GAAG,WAAW,UACd;AAEJ,UAAM,CAAC,iBAAiB,kBAAkB,IAAIC,MAAAA,SAAS,OAAO;AAC9D,UAAM,CAAC,SAAS,UAAU,IAAIA,MAAAA,SAAS,KAAK;AAE5C,UAAM,WAAW,QAAQF,MAAK;AAE9B,UAAM,gBAAgBG,MAAAA,QAAQ,MAAM;AAClC,YAAM,WAAW,WACb,SAAS,QAAQC,WAAAA,WAAW,aAAa,CAAC,EAAE,IAC5C;AAEJ,aAAOC,6BAAkB,SAAS,QAAQ,QAAQ;AAAA,IACpD,GAAG,CAAC,UAAU,UAAU,aAAa,CAAC;AAEtC,UAAM,eAAeF,MAAAA;AAAAA,MACnB,MAAME,WAAAA,kBAAkB,SAAS,OAAO,SAAS,YAAY;AAAA,MAC7D,CAAC,QAAQ;AAAA,IAAA;AAGX,UAAM,sBAAsBF,MAAAA,QAAQ,MAAM;AACxC,YAAM,MAAM,CAAC,iBAAiB,qBAAqB,EAAE,OAAO,OAAO;AACnE,aAAO,IAAI,SAAS,IAAI,IAAI,KAAK,GAAG,IAAI;AAAA,IAC1C,GAAG,CAAC,iBAAiB,qBAAqB,CAAC;AAE3C,UAAM,oBAAoB,iBACtB,SACA,aAAa;AAEjB,UAAM,YAAY,WAChBG,2BAAAA,IAAC,OAAA,EAAI,WAAW,cAAc,eAAa,GAAG,MAAM,UACjD,UAAAN,OAAA,CACH,IACE;AAEJO,UAAAA,UAAU,MAAM;AACd,UAAI,CAAC,aAAc;AAEnB,UAAI,YAAY;AAEhB,YAAM,OAAO,YAAY;AACvB,YAAI;AACF,qBAAW,IAAI;AACf,gBAAM,UAAU,MAAM,aAAa,EAAE;AACrC,cAAI,8BAA8B,OAAO;AAAA,QAC3C,SAAS,KAAK;AACZ,kBAAQ,MAAM,2BAA2B,GAAG;AAAA,QAC9C,UAAA;AACE,cAAI,sBAAsB,KAAK;AAAA,QACjC;AAAA,MACF;AAEA,WAAA;AAEA,UAAI,eAAe,GAAG;AACpB,cAAM,aAAa,YAAY,MAAM,YAAY;AACjD,eAAO,MAAM;AACX,wBAAc,UAAU;AACxB,sBAAY;AAAA,QACd;AAAA,MACF;AAEA,aAAO,MAAM;AACX,oBAAY;AAAA,MACd;AAAA,IACF,GAAG,CAAC,cAAc,YAAY,CAAC;AAE/B,UAAM,eAAe,CAAC,UAA0C;AAC9D,eAAS,MAAM,OAAO,KAAK;AAAA,IAC7B;AAEA,UAAM,iBAAiBJ,MAAAA;AAAAA,MACrB,MACEE,WAAAA;AAAAA,QACE,SAAS;AAAA,QACT,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACd;AAAA,QACA,UAAU,SAAS,SAASD,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,QAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,QACnDR,YAAW,SAAS;AAAA,QACpBG,aAAY,SAAS;AAAA,MAAA;AAAA,MAEzB,CAAC,UAAU,OAAO,OAAO,WAAW,QAAQ,UAAUH,UAASG,SAAQ;AAAA,IAAA;AAGzE,UAAM,gBAAgBI,MAAAA;AAAAA,MACpB,MAAME,WAAAA,kBAAkB,SAAS,QAAQT,YAAW,SAAS,OAAO;AAAA,MACpE,CAAC,UAAUA,QAAO;AAAA,IAAA;AAGpB,UAAM,cAAcO,MAAAA;AAAAA,MAClB,MACEE,WAAAA;AAAAA,QACE,SAAS;AAAA,QACT,SAAS,KAAK;AAAA,QACdN,aAAY,SAAS;AAAA,MAAA;AAAA,MAEzB,CAAC,UAAU,OAAOA,SAAQ;AAAA,IAAA;AAG5B,UAAM,OAAO,eAAe,kBAAkB;AAE9C,2CACG,OAAA,EAAI,WAAW,eAAe,eAAa,GAAG,MAAM,WACjD,UAAA;AAAA,OAAA,kBAAkB,SAAS,kBAAkB,WAAW;AAAA,MAE1DS,2BAAAA,KAAC,OAAA,EAAI,WAAW,gBAAgB,eAAa,QAC3C,UAAA;AAAA,QAAAA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA,IAAI;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAO,SAAS;AAAA,YAChB,UAAU;AAAA,YACV,WAAW;AAAA,YACX,cAAY;AAAA,YACZ,mBAAiB;AAAA,YACjB,oBAAkB;AAAA,YAClB,oBAAkB;AAAA,YAClB,iBAAeT,aAAY;AAAA,YAC3B,gBAAc,gBAAgB,UAAU,WAAW;AAAA,YACnD,iBAAe,iBAAiB,YAAY;AAAA,YAC5C,aAAW,aAAa,WAAW;AAAA,YACnC,UAAAA;AAAA,YACA;AAAA,YACA,eAAa,GAAG,MAAM;AAAA,YAEtB,UAAA;AAAA,cAAAO,2BAAAA,IAAC,YAAO,OAAM,IAAG,UAAQ,MAAC,QAAM,MAC7B,UAAA,YAAA,CACH;AAAA,cAEC,KAAK,IAAI,CAAC,WACTA,2BAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEC,OAAO,OAAO;AAAA,kBACd,UAAU,OAAO;AAAA,kBACjB,eAAa,GAAG,MAAM,WAAW,OAAO,KAAK;AAAA,kBAE5C,UAAA,OAAO;AAAA,gBAAA;AAAA,gBALH,OAAO;AAAA,cAAA,CAOf;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGHA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,YACX,eAAY;AAAA,YACZ,eAAa,GAAG,MAAM;AAAA,YAEtB,UAAAA,2BAAAA,IAACG,kCAAA,EAAgB,eAAY,QAAO,WAAW,MAAA,CAAO;AAAA,UAAA;AAAA,QAAA;AAAA,QAGvD,mBACCH,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,WAAU;AAAA,YACV,eAAa,GAAG,MAAM;AAAA,YAErB,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAIJ,WACCA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,SAAS;AAAA,YACpB,aAAW;AAAA,YACX,eAAa,GAAG,MAAM;AAAA,YACvB,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED,GAEJ;AAAA,OAEE,kBAAkB,YAAY,kBAAkB,YAAY;AAAA,IAAA,GAChE;AAAA,EAEJ;AACF;AAEA,WAAW,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3OzB,MAAM,SAASZ,MAAAA,WAA2C,CAAC,OAAO,QAAQ;AACxE,wCAAQ,YAAA,EAAY,GAAG,OAAO,KAAU,UAAU,QAAQ;AAC5D,CAAC;AAED,OAAO,cAAc;;"}
1
+ {"version":3,"file":"Select-CiyDDVhq.cjs","sources":["../../src/components/Select/SelectBase.tsx","../../src/components/Select/next/Select.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n ChangeEvent,\r\n useId,\r\n useMemo,\r\n useEffect,\r\n useState,\r\n} from \"react\";\r\nimport { ChevronDownIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BaseSelectProps } from \"./Select.types\";\r\n\r\nconst BaseSelect = forwardRef<HTMLSelectElement, BaseSelectProps>(\r\n (\r\n {\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n options,\r\n value,\r\n onChange,\r\n placeholder = \"Select an option\",\r\n disabled = false,\r\n className = \"\",\r\n classMap,\r\n asyncOptions,\r\n pollInterval = 0,\r\n required,\r\n name,\r\n label,\r\n labelPosition = \"top\",\r\n id,\r\n form,\r\n autoComplete,\r\n role,\r\n tabIndex,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-description\": ariaDescription,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n \"aria-busy\": ariaBusy,\r\n \"aria-live\": ariaLive = \"polite\",\r\n \"data-testid\": testId = \"select\",\r\n },\r\n ref,\r\n ) => {\r\n const generatedId = useId();\r\n const selectId = id || `${generatedId}-select`;\r\n const internalDescriptionId = ariaDescription\r\n ? `${generatedId}-desc`\r\n : undefined;\r\n\r\n const [internalOptions, setInternalOptions] = useState(options);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const hasLabel = Boolean(label);\r\n\r\n const layoutClasses = useMemo(() => {\r\n const posClass = hasLabel\r\n ? classMap[`label${capitalize(labelPosition)}`]\r\n : undefined;\r\n\r\n return combineClassNames(classMap.layout, posClass);\r\n }, [classMap, hasLabel, labelPosition]);\r\n\r\n const labelClasses = useMemo(\r\n () => combineClassNames(classMap.label, classMap.labelOverlay),\r\n [classMap],\r\n );\r\n\r\n const computedDescribedBy = useMemo(() => {\r\n const ids = [ariaDescribedBy, internalDescriptionId].filter(Boolean);\r\n return ids.length > 0 ? ids.join(\" \") : undefined;\r\n }, [ariaDescribedBy, internalDescriptionId]);\r\n\r\n const computedAriaLabel = ariaLabelledBy\r\n ? undefined\r\n : ariaLabel || placeholder;\r\n\r\n const labelNode = hasLabel ? (\r\n <div className={labelClasses} data-testid={`${testId}-label`}>\r\n {label}\r\n </div>\r\n ) : null;\r\n\r\n useEffect(() => {\r\n if (!asyncOptions) return;\r\n\r\n let isMounted = true;\r\n\r\n const load = async () => {\r\n try {\r\n setLoading(true);\r\n const fetched = await asyncOptions(\"\");\r\n if (isMounted) setInternalOptions(fetched);\r\n } catch (err) {\r\n console.error(\"Failed to load options:\", err);\r\n } finally {\r\n if (isMounted) setLoading(false);\r\n }\r\n };\r\n\r\n load();\r\n\r\n if (pollInterval > 0) {\r\n const intervalId = setInterval(load, pollInterval);\r\n return () => {\r\n clearInterval(intervalId);\r\n isMounted = false;\r\n };\r\n }\r\n\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [asyncOptions, pollInterval]);\r\n\r\n const handleChange = (event: ChangeEvent<HTMLSelectElement>) => {\r\n onChange(event.target.value);\r\n };\r\n\r\n const wrapperClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n classMap[theme],\r\n classMap[state],\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n ),\r\n [classMap, theme, state, className, shadow, rounding, outline, disabled],\r\n );\r\n\r\n const selectClasses = useMemo(\r\n () => combineClassNames(classMap.select, outline && classMap.outline),\r\n [classMap, outline],\r\n );\r\n\r\n const iconClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.icon,\r\n classMap[theme],\r\n disabled && classMap.disabled,\r\n ),\r\n [classMap, theme, disabled],\r\n );\r\n\r\n const opts = asyncOptions ? internalOptions : options;\r\n\r\n return (\r\n <div className={layoutClasses} data-testid={`${testId}-layout`}>\r\n {(labelPosition === \"top\" || labelPosition === \"left\") && labelNode}\r\n\r\n <div className={wrapperClasses} data-testid={testId}>\r\n <select\r\n ref={ref}\r\n id={selectId}\r\n name={name}\r\n form={form}\r\n autoComplete={autoComplete}\r\n role={role}\r\n tabIndex={tabIndex}\r\n value={value ?? \"\"}\r\n onChange={handleChange}\r\n className={selectClasses}\r\n aria-label={computedAriaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-description={ariaDescription}\r\n aria-describedby={computedDescribedBy}\r\n aria-disabled={disabled || undefined}\r\n aria-invalid={ariaInvalid ?? (state === \"error\" || undefined)}\r\n aria-required={ariaRequired ?? (required || undefined)}\r\n aria-busy={ariaBusy ?? (loading || undefined)}\r\n disabled={disabled}\r\n required={required}\r\n data-testid={`${testId}-input`}\r\n >\r\n <option value=\"\" disabled hidden>\r\n {placeholder}\r\n </option>\r\n\r\n {opts.map((option) => (\r\n <option\r\n key={option.value}\r\n value={option.value}\r\n disabled={option.disabled}\r\n data-testid={`${testId}-option-${option.value}`}\r\n >\r\n {option.label}\r\n </option>\r\n ))}\r\n </select>\r\n\r\n <div\r\n className={iconClasses}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <ChevronDownIcon aria-hidden=\"true\" focusable={false} />\r\n </div>\r\n\r\n {ariaDescription && (\r\n <span\r\n id={internalDescriptionId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </span>\r\n )}\r\n\r\n {loading && (\r\n <span\r\n className={classMap.loading}\r\n aria-live={ariaLive}\r\n data-testid={`${testId}-loading`}\r\n >\r\n Loading options…\r\n </span>\r\n )}\r\n </div>\r\n\r\n {(labelPosition === \"bottom\" || labelPosition === \"right\") && labelNode}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\nBaseSelect.displayName = \"BaseSelect\";\r\nexport default BaseSelect;\r\n","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport BaseSelect from \"../SelectBase\";\r\nimport styles from \"./Select.module.scss\";\r\nimport { SelectProps } from \"../Select.types\";\r\n\r\nconst Select = forwardRef<HTMLSelectElement, SelectProps>((props, ref) => {\r\n return <BaseSelect {...props} ref={ref} classMap={styles} />;\r\n});\r\n\r\nSelect.displayName = \"Select\";\r\nexport default Select;\r\n"],"names":["forwardRef","getDefaultTheme","outline","getDefaultRounding","getDefaultShadow","disabled","label","useId","useState","useMemo","capitalize","combineClassNames","jsx","useEffect","jsxs","ChevronDownIcon"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { C as ChevronDownIcon } from "./CheveronDownIcon-Cn9jj-ku.js";
4
4
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
5
5
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
6
6
  import { d as getDefaultTheme, a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-DsaRlxmw.js";
7
- const BaseSelect = forwardRef(
7
+ import './Select.css';const BaseSelect = forwardRef(
8
8
  ({
9
9
  theme = getDefaultTheme(),
10
10
  state = "",
@@ -256,4 +256,4 @@ Select.displayName = "Select";
256
256
  export {
257
257
  Select as S
258
258
  };
259
- //# sourceMappingURL=Select-b8fO1q2K.js.map
259
+ //# sourceMappingURL=Select-D4bH7djH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select-b8fO1q2K.js","sources":["../../src/components/Select/SelectBase.tsx","../../src/components/Select/next/Select.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n ChangeEvent,\r\n useId,\r\n useMemo,\r\n useEffect,\r\n useState,\r\n} from \"react\";\r\nimport { ChevronDownIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BaseSelectProps } from \"./Select.types\";\r\n\r\nconst BaseSelect = forwardRef<HTMLSelectElement, BaseSelectProps>(\r\n (\r\n {\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n options,\r\n value,\r\n onChange,\r\n placeholder = \"Select an option\",\r\n disabled = false,\r\n className = \"\",\r\n classMap,\r\n asyncOptions,\r\n pollInterval = 0,\r\n required,\r\n name,\r\n label,\r\n labelPosition = \"top\",\r\n id,\r\n form,\r\n autoComplete,\r\n role,\r\n tabIndex,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-description\": ariaDescription,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n \"aria-busy\": ariaBusy,\r\n \"aria-live\": ariaLive = \"polite\",\r\n \"data-testid\": testId = \"select\",\r\n },\r\n ref,\r\n ) => {\r\n const generatedId = useId();\r\n const selectId = id || `${generatedId}-select`;\r\n const internalDescriptionId = ariaDescription\r\n ? `${generatedId}-desc`\r\n : undefined;\r\n\r\n const [internalOptions, setInternalOptions] = useState(options);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const hasLabel = Boolean(label);\r\n\r\n const layoutClasses = useMemo(() => {\r\n const posClass = hasLabel\r\n ? classMap[`label${capitalize(labelPosition)}`]\r\n : undefined;\r\n\r\n return combineClassNames(classMap.layout, posClass);\r\n }, [classMap, hasLabel, labelPosition]);\r\n\r\n const labelClasses = useMemo(\r\n () => combineClassNames(classMap.label, classMap.labelOverlay),\r\n [classMap],\r\n );\r\n\r\n const computedDescribedBy = useMemo(() => {\r\n const ids = [ariaDescribedBy, internalDescriptionId].filter(Boolean);\r\n return ids.length > 0 ? ids.join(\" \") : undefined;\r\n }, [ariaDescribedBy, internalDescriptionId]);\r\n\r\n const computedAriaLabel = ariaLabelledBy\r\n ? undefined\r\n : ariaLabel || placeholder;\r\n\r\n const labelNode = hasLabel ? (\r\n <div className={labelClasses} data-testid={`${testId}-label`}>\r\n {label}\r\n </div>\r\n ) : null;\r\n\r\n useEffect(() => {\r\n if (!asyncOptions) return;\r\n\r\n let isMounted = true;\r\n\r\n const load = async () => {\r\n try {\r\n setLoading(true);\r\n const fetched = await asyncOptions(\"\");\r\n if (isMounted) setInternalOptions(fetched);\r\n } catch (err) {\r\n console.error(\"Failed to load options:\", err);\r\n } finally {\r\n if (isMounted) setLoading(false);\r\n }\r\n };\r\n\r\n load();\r\n\r\n if (pollInterval > 0) {\r\n const intervalId = setInterval(load, pollInterval);\r\n return () => {\r\n clearInterval(intervalId);\r\n isMounted = false;\r\n };\r\n }\r\n\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [asyncOptions, pollInterval]);\r\n\r\n const handleChange = (event: ChangeEvent<HTMLSelectElement>) => {\r\n onChange(event.target.value);\r\n };\r\n\r\n const wrapperClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n classMap[theme],\r\n classMap[state],\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n ),\r\n [classMap, theme, state, className, shadow, rounding, outline, disabled],\r\n );\r\n\r\n const selectClasses = useMemo(\r\n () => combineClassNames(classMap.select, outline && classMap.outline),\r\n [classMap, outline],\r\n );\r\n\r\n const iconClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.icon,\r\n classMap[theme],\r\n disabled && classMap.disabled,\r\n ),\r\n [classMap, theme, disabled],\r\n );\r\n\r\n const opts = asyncOptions ? internalOptions : options;\r\n\r\n return (\r\n <div className={layoutClasses} data-testid={`${testId}-layout`}>\r\n {(labelPosition === \"top\" || labelPosition === \"left\") && labelNode}\r\n\r\n <div className={wrapperClasses} data-testid={testId}>\r\n <select\r\n ref={ref}\r\n id={selectId}\r\n name={name}\r\n form={form}\r\n autoComplete={autoComplete}\r\n role={role}\r\n tabIndex={tabIndex}\r\n value={value ?? \"\"}\r\n onChange={handleChange}\r\n className={selectClasses}\r\n aria-label={computedAriaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-description={ariaDescription}\r\n aria-describedby={computedDescribedBy}\r\n aria-disabled={disabled || undefined}\r\n aria-invalid={ariaInvalid ?? (state === \"error\" || undefined)}\r\n aria-required={ariaRequired ?? (required || undefined)}\r\n aria-busy={ariaBusy ?? (loading || undefined)}\r\n disabled={disabled}\r\n required={required}\r\n data-testid={`${testId}-input`}\r\n >\r\n <option value=\"\" disabled hidden>\r\n {placeholder}\r\n </option>\r\n\r\n {opts.map((option) => (\r\n <option\r\n key={option.value}\r\n value={option.value}\r\n disabled={option.disabled}\r\n data-testid={`${testId}-option-${option.value}`}\r\n >\r\n {option.label}\r\n </option>\r\n ))}\r\n </select>\r\n\r\n <div\r\n className={iconClasses}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <ChevronDownIcon aria-hidden=\"true\" focusable={false} />\r\n </div>\r\n\r\n {ariaDescription && (\r\n <span\r\n id={internalDescriptionId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </span>\r\n )}\r\n\r\n {loading && (\r\n <span\r\n className={classMap.loading}\r\n aria-live={ariaLive}\r\n data-testid={`${testId}-loading`}\r\n >\r\n Loading options…\r\n </span>\r\n )}\r\n </div>\r\n\r\n {(labelPosition === \"bottom\" || labelPosition === \"right\") && labelNode}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\nBaseSelect.displayName = \"BaseSelect\";\r\nexport default BaseSelect;\r\n","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport BaseSelect from \"../SelectBase\";\r\nimport styles from \"./Select.module.scss\";\r\nimport { SelectProps } from \"../Select.types\";\r\n\r\nconst Select = forwardRef<HTMLSelectElement, SelectProps>((props, ref) => {\r\n return <BaseSelect {...props} ref={ref} classMap={styles} />;\r\n});\r\n\r\nSelect.displayName = \"Select\";\r\nexport default Select;\r\n"],"names":["outline","disabled","label"],"mappings":"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"}
1
+ {"version":3,"file":"Select-D4bH7djH.js","sources":["../../src/components/Select/SelectBase.tsx","../../src/components/Select/next/Select.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n ChangeEvent,\r\n useId,\r\n useMemo,\r\n useEffect,\r\n useState,\r\n} from \"react\";\r\nimport { ChevronDownIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BaseSelectProps } from \"./Select.types\";\r\n\r\nconst BaseSelect = forwardRef<HTMLSelectElement, BaseSelectProps>(\r\n (\r\n {\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n options,\r\n value,\r\n onChange,\r\n placeholder = \"Select an option\",\r\n disabled = false,\r\n className = \"\",\r\n classMap,\r\n asyncOptions,\r\n pollInterval = 0,\r\n required,\r\n name,\r\n label,\r\n labelPosition = \"top\",\r\n id,\r\n form,\r\n autoComplete,\r\n role,\r\n tabIndex,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-description\": ariaDescription,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n \"aria-busy\": ariaBusy,\r\n \"aria-live\": ariaLive = \"polite\",\r\n \"data-testid\": testId = \"select\",\r\n },\r\n ref,\r\n ) => {\r\n const generatedId = useId();\r\n const selectId = id || `${generatedId}-select`;\r\n const internalDescriptionId = ariaDescription\r\n ? `${generatedId}-desc`\r\n : undefined;\r\n\r\n const [internalOptions, setInternalOptions] = useState(options);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const hasLabel = Boolean(label);\r\n\r\n const layoutClasses = useMemo(() => {\r\n const posClass = hasLabel\r\n ? classMap[`label${capitalize(labelPosition)}`]\r\n : undefined;\r\n\r\n return combineClassNames(classMap.layout, posClass);\r\n }, [classMap, hasLabel, labelPosition]);\r\n\r\n const labelClasses = useMemo(\r\n () => combineClassNames(classMap.label, classMap.labelOverlay),\r\n [classMap],\r\n );\r\n\r\n const computedDescribedBy = useMemo(() => {\r\n const ids = [ariaDescribedBy, internalDescriptionId].filter(Boolean);\r\n return ids.length > 0 ? ids.join(\" \") : undefined;\r\n }, [ariaDescribedBy, internalDescriptionId]);\r\n\r\n const computedAriaLabel = ariaLabelledBy\r\n ? undefined\r\n : ariaLabel || placeholder;\r\n\r\n const labelNode = hasLabel ? (\r\n <div className={labelClasses} data-testid={`${testId}-label`}>\r\n {label}\r\n </div>\r\n ) : null;\r\n\r\n useEffect(() => {\r\n if (!asyncOptions) return;\r\n\r\n let isMounted = true;\r\n\r\n const load = async () => {\r\n try {\r\n setLoading(true);\r\n const fetched = await asyncOptions(\"\");\r\n if (isMounted) setInternalOptions(fetched);\r\n } catch (err) {\r\n console.error(\"Failed to load options:\", err);\r\n } finally {\r\n if (isMounted) setLoading(false);\r\n }\r\n };\r\n\r\n load();\r\n\r\n if (pollInterval > 0) {\r\n const intervalId = setInterval(load, pollInterval);\r\n return () => {\r\n clearInterval(intervalId);\r\n isMounted = false;\r\n };\r\n }\r\n\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [asyncOptions, pollInterval]);\r\n\r\n const handleChange = (event: ChangeEvent<HTMLSelectElement>) => {\r\n onChange(event.target.value);\r\n };\r\n\r\n const wrapperClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n classMap[theme],\r\n classMap[state],\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n ),\r\n [classMap, theme, state, className, shadow, rounding, outline, disabled],\r\n );\r\n\r\n const selectClasses = useMemo(\r\n () => combineClassNames(classMap.select, outline && classMap.outline),\r\n [classMap, outline],\r\n );\r\n\r\n const iconClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.icon,\r\n classMap[theme],\r\n disabled && classMap.disabled,\r\n ),\r\n [classMap, theme, disabled],\r\n );\r\n\r\n const opts = asyncOptions ? internalOptions : options;\r\n\r\n return (\r\n <div className={layoutClasses} data-testid={`${testId}-layout`}>\r\n {(labelPosition === \"top\" || labelPosition === \"left\") && labelNode}\r\n\r\n <div className={wrapperClasses} data-testid={testId}>\r\n <select\r\n ref={ref}\r\n id={selectId}\r\n name={name}\r\n form={form}\r\n autoComplete={autoComplete}\r\n role={role}\r\n tabIndex={tabIndex}\r\n value={value ?? \"\"}\r\n onChange={handleChange}\r\n className={selectClasses}\r\n aria-label={computedAriaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-description={ariaDescription}\r\n aria-describedby={computedDescribedBy}\r\n aria-disabled={disabled || undefined}\r\n aria-invalid={ariaInvalid ?? (state === \"error\" || undefined)}\r\n aria-required={ariaRequired ?? (required || undefined)}\r\n aria-busy={ariaBusy ?? (loading || undefined)}\r\n disabled={disabled}\r\n required={required}\r\n data-testid={`${testId}-input`}\r\n >\r\n <option value=\"\" disabled hidden>\r\n {placeholder}\r\n </option>\r\n\r\n {opts.map((option) => (\r\n <option\r\n key={option.value}\r\n value={option.value}\r\n disabled={option.disabled}\r\n data-testid={`${testId}-option-${option.value}`}\r\n >\r\n {option.label}\r\n </option>\r\n ))}\r\n </select>\r\n\r\n <div\r\n className={iconClasses}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <ChevronDownIcon aria-hidden=\"true\" focusable={false} />\r\n </div>\r\n\r\n {ariaDescription && (\r\n <span\r\n id={internalDescriptionId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </span>\r\n )}\r\n\r\n {loading && (\r\n <span\r\n className={classMap.loading}\r\n aria-live={ariaLive}\r\n data-testid={`${testId}-loading`}\r\n >\r\n Loading options…\r\n </span>\r\n )}\r\n </div>\r\n\r\n {(labelPosition === \"bottom\" || labelPosition === \"right\") && labelNode}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\nBaseSelect.displayName = \"BaseSelect\";\r\nexport default BaseSelect;\r\n","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport BaseSelect from \"../SelectBase\";\r\nimport styles from \"./Select.module.scss\";\r\nimport { SelectProps } from \"../Select.types\";\r\n\r\nconst Select = forwardRef<HTMLSelectElement, SelectProps>((props, ref) => {\r\n return <BaseSelect {...props} ref={ref} classMap={styles} />;\r\n});\r\n\r\nSelect.displayName = \"Select\";\r\nexport default Select;\r\n"],"names":["outline","disabled","label"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const Select = require("./Select-DAD4xA1b.cjs");
2
+ const Select = require("./Select-CiyDDVhq.cjs");
3
3
  module.exports = Select.Select;
4
4
  //# sourceMappingURL=Select.cjs.js.map