boreal-ui 0.0.39 → 0.0.41

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 (461) hide show
  1. package/dist/core/{Badge-DOn6E2bS.cjs → Badge-CyGz8K5W.cjs} +4 -1
  2. package/dist/core/Badge-CyGz8K5W.cjs.map +1 -0
  3. package/dist/core/{Badge-Dpjq6lUF.js → Badge-DnE8lt7-.js} +4 -1
  4. package/dist/core/Badge-DnE8lt7-.js.map +1 -0
  5. package/dist/core/Badge.cjs.js +1 -1
  6. package/dist/core/Badge.js +1 -1
  7. package/dist/core/{Card-D-GQwaUJ.js → Card-CbGHr_tX.js} +6 -5
  8. package/dist/core/Card-CbGHr_tX.js.map +1 -0
  9. package/dist/core/{Card-DftqfPue.cjs → Card-De2epy0R.cjs} +6 -5
  10. package/dist/core/Card-De2epy0R.cjs.map +1 -0
  11. package/dist/core/Card.cjs.js +1 -1
  12. package/dist/core/Card.js +1 -1
  13. package/dist/core/{Chip-D4vbSudX.js → Chip-BjbtoFKm.js} +2 -2
  14. package/dist/core/{Chip-D4vbSudX.js.map → Chip-BjbtoFKm.js.map} +1 -1
  15. package/dist/core/{Chip-CWsfLyyU.cjs → Chip-c2mN7R-R.cjs} +2 -2
  16. package/dist/core/{Chip-CWsfLyyU.cjs.map → Chip-c2mN7R-R.cjs.map} +1 -1
  17. package/dist/core/Chip.cjs.js +1 -1
  18. package/dist/core/Chip.js +1 -1
  19. package/dist/core/{CommandPalette-CXKBDCbP.cjs → CommandPalette-CPhVbQAc.cjs} +2 -2
  20. package/dist/core/{CommandPalette-CXKBDCbP.cjs.map → CommandPalette-CPhVbQAc.cjs.map} +1 -1
  21. package/dist/core/{CommandPalette-N556smLj.js → CommandPalette-Df69KRv4.js} +2 -2
  22. package/dist/core/{CommandPalette-N556smLj.js.map → CommandPalette-Df69KRv4.js.map} +1 -1
  23. package/dist/core/CommandPalette.cjs.js +1 -1
  24. package/dist/core/CommandPalette.js +1 -1
  25. package/dist/core/{Dropdown-CwofYHjq.js → Dropdown-CR3xr5K-.js} +2 -2
  26. package/dist/core/{Dropdown-CwofYHjq.js.map → Dropdown-CR3xr5K-.js.map} +1 -1
  27. package/dist/core/{Dropdown-DvwHouyC.cjs → Dropdown-CjPfU1K-.cjs} +2 -2
  28. package/dist/core/{Dropdown-DvwHouyC.cjs.map → Dropdown-CjPfU1K-.cjs.map} +1 -1
  29. package/dist/core/Dropdown.cjs.js +1 -1
  30. package/dist/core/Dropdown.js +1 -1
  31. package/dist/core/{FileUpload-Du7vDDdf.cjs → FileUpload-BJ3RJxT3.cjs} +3 -3
  32. package/dist/core/{FileUpload-Du7vDDdf.cjs.map → FileUpload-BJ3RJxT3.cjs.map} +1 -1
  33. package/dist/core/{FileUpload-Q8aDsaFs.js → FileUpload-C0eHx1h8.js} +3 -3
  34. package/dist/core/{FileUpload-Q8aDsaFs.js.map → FileUpload-C0eHx1h8.js.map} +1 -1
  35. package/dist/core/FileUpload.cjs.js +1 -1
  36. package/dist/core/FileUpload.js +1 -1
  37. package/dist/core/{Footer-DMOA1W7N.cjs → Footer-CYIUIgV1.cjs} +3 -3
  38. package/dist/core/Footer-CYIUIgV1.cjs.map +1 -0
  39. package/dist/core/{Footer-zO4RGjCl.js → Footer-D9RimHx9.js} +3 -3
  40. package/dist/core/Footer-D9RimHx9.js.map +1 -0
  41. package/dist/core/Footer.cjs.js +1 -1
  42. package/dist/core/Footer.js +1 -1
  43. package/dist/core/{FormGroup-C2TWC17P.cjs → FormGroup-Cit_2_Wo.cjs} +5 -8
  44. package/dist/core/FormGroup-Cit_2_Wo.cjs.map +1 -0
  45. package/dist/core/{FormGroup-tSK_NN0-.js → FormGroup-DDZ1D_CI.js} +5 -8
  46. package/dist/core/FormGroup-DDZ1D_CI.js.map +1 -0
  47. package/dist/core/FormGroup.cjs.js +1 -1
  48. package/dist/core/FormGroup.js +1 -1
  49. package/dist/core/{IconButton-_lxTppua.js → IconButton-BMZhwYXB.js} +2 -2
  50. package/dist/core/IconButton-BMZhwYXB.js.map +1 -0
  51. package/dist/core/{IconButton-CR9bTZoJ.cjs → IconButton-Bio6Azm-.cjs} +2 -2
  52. package/dist/core/IconButton-Bio6Azm-.cjs.map +1 -0
  53. package/dist/core/IconButton.cjs.js +1 -1
  54. package/dist/core/IconButton.js +1 -1
  55. package/dist/core/{MarkdownRenderer-LUXCa_a8.cjs → MarkdownRenderer-Bn6vcfSd.cjs} +3 -2
  56. package/dist/core/MarkdownRenderer-Bn6vcfSd.cjs.map +1 -0
  57. package/dist/core/{MarkdownRenderer-B1LmmpZm.js → MarkdownRenderer-Co787hku.js} +3 -2
  58. package/dist/core/MarkdownRenderer-Co787hku.js.map +1 -0
  59. package/dist/core/MarkdownRenderer.cjs.js +1 -1
  60. package/dist/core/MarkdownRenderer.js +1 -1
  61. package/dist/core/MessagePopUp.cjs.js +1 -1
  62. package/dist/core/MessagePopUp.js +1 -1
  63. package/dist/core/{MessagePopup-BlbPMecd.js → MessagePopup-B3lEfar7.js} +2 -2
  64. package/dist/core/{MessagePopup-BlbPMecd.js.map → MessagePopup-B3lEfar7.js.map} +1 -1
  65. package/dist/core/{MessagePopup-hxloT7aK.cjs → MessagePopup-CtdpuRFv.cjs} +2 -2
  66. package/dist/core/{MessagePopup-hxloT7aK.cjs.map → MessagePopup-CtdpuRFv.cjs.map} +1 -1
  67. package/dist/core/{MetricBox-Dh911MS2.js → MetricBox-CPug-nxo.js} +11 -2
  68. package/dist/core/MetricBox-CPug-nxo.js.map +1 -0
  69. package/dist/core/{MetricBox-BcOdQM-l.cjs → MetricBox-DVo4UUQv.cjs} +11 -2
  70. package/dist/core/MetricBox-DVo4UUQv.cjs.map +1 -0
  71. package/dist/core/MetricBox.cjs.js +1 -1
  72. package/dist/core/MetricBox.js +1 -1
  73. package/dist/core/{Modal-D1G1Csp9.js → Modal-DFhYDYb9.js} +2 -2
  74. package/dist/core/{Modal-D1G1Csp9.js.map → Modal-DFhYDYb9.js.map} +1 -1
  75. package/dist/core/{Modal-D-ZoA_xx.cjs → Modal-FB4mTmQW.cjs} +2 -2
  76. package/dist/core/{Modal-D-ZoA_xx.cjs.map → Modal-FB4mTmQW.cjs.map} +1 -1
  77. package/dist/core/Modal.cjs.js +1 -1
  78. package/dist/core/Modal.js +1 -1
  79. package/dist/core/{NotificationCenter-BrUNpJAx.js → NotificationCenter-DLCzWNve.js} +2 -2
  80. package/dist/core/{NotificationCenter-BrUNpJAx.js.map → NotificationCenter-DLCzWNve.js.map} +1 -1
  81. package/dist/core/{NotificationCenter-Dqwu2Z6s.cjs → NotificationCenter-DfOOEt9N.cjs} +2 -2
  82. package/dist/core/{NotificationCenter-Dqwu2Z6s.cjs.map → NotificationCenter-DfOOEt9N.cjs.map} +1 -1
  83. package/dist/core/NotificationCenter.cjs.js +1 -1
  84. package/dist/core/NotificationCenter.js +1 -1
  85. package/dist/core/{Pager-CZF6O7rq.js → Pager-DBHI7yRW.js} +2 -2
  86. package/dist/core/{Pager-CZF6O7rq.js.map → Pager-DBHI7yRW.js.map} +1 -1
  87. package/dist/core/{Pager-C_SG4CIc.cjs → Pager-Dv6D3kXa.cjs} +2 -2
  88. package/dist/core/{Pager-C_SG4CIc.cjs.map → Pager-Dv6D3kXa.cjs.map} +1 -1
  89. package/dist/core/Pager.cjs.js +1 -1
  90. package/dist/core/Pager.js +1 -1
  91. package/dist/core/{Skeleton-Cwn3_gc7.js → Skeleton-BjpQHG5i.js} +2 -2
  92. package/dist/core/{Skeleton-Cwn3_gc7.js.map → Skeleton-BjpQHG5i.js.map} +1 -1
  93. package/dist/core/{Skeleton-BLVD5mDI.cjs → Skeleton-tetAZCSl.cjs} +2 -2
  94. package/dist/core/{Skeleton-BLVD5mDI.cjs.map → Skeleton-tetAZCSl.cjs.map} +1 -1
  95. package/dist/core/Skeleton.cjs.js +1 -1
  96. package/dist/core/Skeleton.js +1 -1
  97. package/dist/core/{Spinner-D81UG24n.js → Spinner-D1CHbKYU.js} +2 -2
  98. package/dist/core/Spinner-D1CHbKYU.js.map +1 -0
  99. package/dist/core/{Spinner-CEIk_hpT.cjs → Spinner-JTcQ_d4T.cjs} +2 -2
  100. package/dist/core/Spinner-JTcQ_d4T.cjs.map +1 -0
  101. package/dist/core/Spinner.cjs.js +1 -1
  102. package/dist/core/Spinner.js +1 -1
  103. package/dist/core/{Stepper-Cjb7ckXo.js → Stepper-C6xjvhZJ.js} +2 -2
  104. package/dist/core/{Stepper-Cjb7ckXo.js.map → Stepper-C6xjvhZJ.js.map} +1 -1
  105. package/dist/core/{Stepper-BuCLqbtQ.cjs → Stepper-JNVBVHc3.cjs} +2 -2
  106. package/dist/core/{Stepper-BuCLqbtQ.cjs.map → Stepper-JNVBVHc3.cjs.map} +1 -1
  107. package/dist/core/Stepper.cjs.js +1 -1
  108. package/dist/core/Stepper.js +1 -1
  109. package/dist/core/TagInput.cjs.js +1 -1
  110. package/dist/core/TagInput.js +1 -1
  111. package/dist/core/{Taginput-DgbxDttA.cjs → Taginput-BXCxdLf0.cjs} +3 -3
  112. package/dist/core/{Taginput-DgbxDttA.cjs.map → Taginput-BXCxdLf0.cjs.map} +1 -1
  113. package/dist/core/{Taginput-CKekAR72.js → Taginput-CoxxwLXg.js} +3 -3
  114. package/dist/core/{Taginput-CKekAR72.js.map → Taginput-CoxxwLXg.js.map} +1 -1
  115. package/dist/core/{TextInput-DFOjxri2.cjs → TextInput-DYALlUc_.cjs} +2 -2
  116. package/dist/core/{TextInput-DFOjxri2.cjs.map → TextInput-DYALlUc_.cjs.map} +1 -1
  117. package/dist/core/{TextInput-7kV66ccj.js → TextInput-qw-jAx_3.js} +2 -2
  118. package/dist/core/{TextInput-7kV66ccj.js.map → TextInput-qw-jAx_3.js.map} +1 -1
  119. package/dist/core/TextInput.cjs.js +1 -1
  120. package/dist/core/TextInput.js +1 -1
  121. package/dist/core/{style.css → boreal-ui.css} +6976 -6974
  122. package/dist/core/index.cjs.js +20 -20
  123. package/dist/core/index.js +20 -20
  124. package/dist/next/{Accordion-DKNh8FaP.cjs → Accordion-BPWTEHym.cjs} +50 -50
  125. package/dist/next/{Accordion-DKNh8FaP.cjs.map → Accordion-BPWTEHym.cjs.map} +1 -1
  126. package/dist/next/{Accordion-BkiAI6vY.js → Accordion-DY243Bq9.js} +50 -50
  127. package/dist/next/{Accordion-BkiAI6vY.js.map → Accordion-DY243Bq9.js.map} +1 -1
  128. package/dist/next/Accordion.cjs.js +1 -1
  129. package/dist/next/Accordion.js +1 -1
  130. package/dist/next/{Avatar-ijMVfQpY.js → Avatar-B-Ws4Ueo.js} +42 -42
  131. package/dist/next/{Avatar-ijMVfQpY.js.map → Avatar-B-Ws4Ueo.js.map} +1 -1
  132. package/dist/next/{Avatar-Ctm74prt.cjs → Avatar-B9sMyRWr.cjs} +42 -42
  133. package/dist/next/{Avatar-Ctm74prt.cjs.map → Avatar-B9sMyRWr.cjs.map} +1 -1
  134. package/dist/next/Avatar.cjs.js +1 -1
  135. package/dist/next/Avatar.js +1 -1
  136. package/dist/next/{Badge-k6Dk5S_p.js → Badge-BZNYm0IU.js} +34 -31
  137. package/dist/next/Badge-BZNYm0IU.js.map +1 -0
  138. package/dist/next/{Badge-DbmM5wGc.cjs → Badge-dTyh833r.cjs} +34 -31
  139. package/dist/next/Badge-dTyh833r.cjs.map +1 -0
  140. package/dist/next/Badge.cjs.js +1 -1
  141. package/dist/next/Badge.js +1 -1
  142. package/dist/next/{Breadcrumbs-CWv3TrV_.js → Breadcrumbs-BPWmV24h.js} +39 -39
  143. package/dist/next/{Breadcrumbs-CWv3TrV_.js.map → Breadcrumbs-BPWmV24h.js.map} +1 -1
  144. package/dist/next/{Breadcrumbs-BrH6_8Kt.cjs → Breadcrumbs-BcXj2PgR.cjs} +39 -39
  145. package/dist/next/{Breadcrumbs-BrH6_8Kt.cjs.map → Breadcrumbs-BcXj2PgR.cjs.map} +1 -1
  146. package/dist/next/Breadcrumbs.cjs.js +1 -1
  147. package/dist/next/Breadcrumbs.js +1 -1
  148. package/dist/next/{Button-D8Kff8sN.cjs → Button-B1Fh4G0_.cjs} +47 -47
  149. package/dist/next/{Button-D8Kff8sN.cjs.map → Button-B1Fh4G0_.cjs.map} +1 -1
  150. package/dist/next/{Button-BjY7f3mw.js → Button-uZ3xTOOt.js} +47 -47
  151. package/dist/next/{Button-BjY7f3mw.js.map → Button-uZ3xTOOt.js.map} +1 -1
  152. package/dist/next/Button.cjs.js +1 -1
  153. package/dist/next/Button.js +1 -1
  154. package/dist/next/{Card-DhxLw6XZ.js → Card-B_qtwaqj.js} +68 -67
  155. package/dist/next/Card-B_qtwaqj.js.map +1 -0
  156. package/dist/next/{Card-BFmGnvxN.cjs → Card-CqXJPdqV.cjs} +68 -67
  157. package/dist/next/Card-CqXJPdqV.cjs.map +1 -0
  158. package/dist/next/Card.cjs.js +1 -1
  159. package/dist/next/Card.js +1 -1
  160. package/dist/next/CheckBox.cjs.js +1 -1
  161. package/dist/next/CheckBox.js +1 -1
  162. package/dist/next/{Checkbox-DVr6H6mN.js → Checkbox-BJ0rBZLF.js} +44 -44
  163. package/dist/next/{Checkbox-DVr6H6mN.js.map → Checkbox-BJ0rBZLF.js.map} +1 -1
  164. package/dist/next/{Checkbox-B-y0lEjJ.cjs → Checkbox-Ch7osD3y.cjs} +44 -44
  165. package/dist/next/{Checkbox-B-y0lEjJ.cjs.map → Checkbox-Ch7osD3y.cjs.map} +1 -1
  166. package/dist/next/{Chip-C8ayWG9-.js → Chip-BB3Awc2g.js} +51 -51
  167. package/dist/next/{Chip-C8ayWG9-.js.map → Chip-BB3Awc2g.js.map} +1 -1
  168. package/dist/next/{Chip-C4-KUcHh.cjs → Chip-DzFaUPed.cjs} +51 -51
  169. package/dist/next/{Chip-C4-KUcHh.cjs.map → Chip-DzFaUPed.cjs.map} +1 -1
  170. package/dist/next/Chip.cjs.js +1 -1
  171. package/dist/next/Chip.js +1 -1
  172. package/dist/next/{CircularProgress-Cz9G0WeQ.js → CircularProgress-BUqdguII.js} +37 -37
  173. package/dist/next/{CircularProgress-Cz9G0WeQ.js.map → CircularProgress-BUqdguII.js.map} +1 -1
  174. package/dist/next/{CircularProgress-UhpLA94q.cjs → CircularProgress-Cp2pGFmc.cjs} +37 -37
  175. package/dist/next/{CircularProgress-UhpLA94q.cjs.map → CircularProgress-Cp2pGFmc.cjs.map} +1 -1
  176. package/dist/next/CircularProgress.cjs.js +1 -1
  177. package/dist/next/CircularProgress.js +1 -1
  178. package/dist/next/{ColorPicker-DvgeIT_p.cjs → ColorPicker-BHtO2mbU.cjs} +38 -38
  179. package/dist/next/{ColorPicker-DvgeIT_p.cjs.map → ColorPicker-BHtO2mbU.cjs.map} +1 -1
  180. package/dist/next/{ColorPicker-1naDOGhp.js → ColorPicker-ChWOekWP.js} +38 -38
  181. package/dist/next/{ColorPicker-1naDOGhp.js.map → ColorPicker-ChWOekWP.js.map} +1 -1
  182. package/dist/next/ColorPicker.cjs.js +1 -1
  183. package/dist/next/ColorPicker.js +1 -1
  184. package/dist/next/{CommandPalette-ypXbi8zW.cjs → CommandPalette-BT9X_yL0.cjs} +42 -42
  185. package/dist/next/{CommandPalette-ypXbi8zW.cjs.map → CommandPalette-BT9X_yL0.cjs.map} +1 -1
  186. package/dist/next/{CommandPalette-XP4v5FE6.js → CommandPalette-DEf12Et3.js} +42 -42
  187. package/dist/next/{CommandPalette-XP4v5FE6.js.map → CommandPalette-DEf12Et3.js.map} +1 -1
  188. package/dist/next/CommandPalette.cjs.js +1 -1
  189. package/dist/next/CommandPalette.js +1 -1
  190. package/dist/next/{DataTable-jUelgv2H.js → DataTable-CnvOkZrU.js} +40 -40
  191. package/dist/next/{DataTable-jUelgv2H.js.map → DataTable-CnvOkZrU.js.map} +1 -1
  192. package/dist/next/{DataTable-jq0suGoA.cjs → DataTable-DQ1QRyZw.cjs} +40 -40
  193. package/dist/next/{DataTable-jq0suGoA.cjs.map → DataTable-DQ1QRyZw.cjs.map} +1 -1
  194. package/dist/next/DataTable.cjs.js +1 -1
  195. package/dist/next/DataTable.js +1 -1
  196. package/dist/next/{DateTimePicker-D5gEfxvd.cjs → DateTimePicker-2M4AJJXm.cjs} +46 -46
  197. package/dist/next/{DateTimePicker-D5gEfxvd.cjs.map → DateTimePicker-2M4AJJXm.cjs.map} +1 -1
  198. package/dist/next/{DateTimePicker-BTm6T3-E.js → DateTimePicker-IvBWNgkK.js} +46 -46
  199. package/dist/next/{DateTimePicker-BTm6T3-E.js.map → DateTimePicker-IvBWNgkK.js.map} +1 -1
  200. package/dist/next/DateTimePicker.cjs.js +1 -1
  201. package/dist/next/DateTimePicker.js +1 -1
  202. package/dist/next/{Divider-BYKFFi3a.js → Divider-BCCzNbAE.js} +28 -28
  203. package/dist/next/{Divider-BYKFFi3a.js.map → Divider-BCCzNbAE.js.map} +1 -1
  204. package/dist/next/{Divider-CczNc7mx.cjs → Divider-ByDYa4v6.cjs} +28 -28
  205. package/dist/next/{Divider-CczNc7mx.cjs.map → Divider-ByDYa4v6.cjs.map} +1 -1
  206. package/dist/next/Divider.cjs.js +1 -1
  207. package/dist/next/Divider.js +1 -1
  208. package/dist/next/{Dropdown-yaMx19im.cjs → Dropdown-DEdk2QjS.cjs} +22 -22
  209. package/dist/next/{Dropdown-yaMx19im.cjs.map → Dropdown-DEdk2QjS.cjs.map} +1 -1
  210. package/dist/next/{Dropdown-CJGb6wyQ.js → Dropdown-qdxH-NQR.js} +22 -22
  211. package/dist/next/{Dropdown-CJGb6wyQ.js.map → Dropdown-qdxH-NQR.js.map} +1 -1
  212. package/dist/next/Dropdown.cjs.js +1 -1
  213. package/dist/next/Dropdown.js +1 -1
  214. package/dist/next/{EmptyState-DIymA2cZ.js → EmptyState-BNzFHAk3.js} +31 -31
  215. package/dist/next/{EmptyState-DIymA2cZ.js.map → EmptyState-BNzFHAk3.js.map} +1 -1
  216. package/dist/next/{EmptyState-CGPIGpz2.cjs → EmptyState-CXyx1WlG.cjs} +31 -31
  217. package/dist/next/{EmptyState-CGPIGpz2.cjs.map → EmptyState-CXyx1WlG.cjs.map} +1 -1
  218. package/dist/next/EmptyState.cjs.js +1 -1
  219. package/dist/next/EmptyState.js +1 -1
  220. package/dist/next/{FileUpload-CIued3w1.js → FileUpload-DBSXPL55.js} +52 -52
  221. package/dist/next/{FileUpload-CIued3w1.js.map → FileUpload-DBSXPL55.js.map} +1 -1
  222. package/dist/next/{FileUpload-MVXOV0j9.cjs → FileUpload-DwlqapHn.cjs} +52 -52
  223. package/dist/next/{FileUpload-MVXOV0j9.cjs.map → FileUpload-DwlqapHn.cjs.map} +1 -1
  224. package/dist/next/FileUpload.cjs.js +1 -1
  225. package/dist/next/FileUpload.js +1 -1
  226. package/dist/next/{Footer-DAZLz11H.cjs → Footer-BxrsmJyY.cjs} +45 -45
  227. package/dist/next/Footer-BxrsmJyY.cjs.map +1 -0
  228. package/dist/next/{Footer-BSEbf6CL.js → Footer-CP_PaLon.js} +45 -45
  229. package/dist/next/Footer-CP_PaLon.js.map +1 -0
  230. package/dist/next/Footer.cjs.js +1 -1
  231. package/dist/next/Footer.js +1 -1
  232. package/dist/next/{FormGroup-DbUqgg_b.js → FormGroup-QfUhtyhx.js} +34 -37
  233. package/dist/next/FormGroup-QfUhtyhx.js.map +1 -0
  234. package/dist/next/{FormGroup-6Ss6pNqV.cjs → FormGroup-U3EwnB0M.cjs} +34 -37
  235. package/dist/next/FormGroup-U3EwnB0M.cjs.map +1 -0
  236. package/dist/next/FormGroup.cjs.js +1 -1
  237. package/dist/next/FormGroup.js +1 -1
  238. package/dist/next/{IconButton-VSz8qAIg.cjs → IconButton-2l-_HOMB.cjs} +31 -31
  239. package/dist/next/IconButton-2l-_HOMB.cjs.map +1 -0
  240. package/dist/next/{IconButton-qQljwBB2.js → IconButton-BTUFKRZt.js} +31 -31
  241. package/dist/next/IconButton-BTUFKRZt.js.map +1 -0
  242. package/dist/next/IconButton.cjs.js +1 -1
  243. package/dist/next/IconButton.js +1 -1
  244. package/dist/next/{MarkdownRenderer-B7lwemDw.js → MarkdownRenderer-B8_D0j7d.js} +14 -13
  245. package/dist/next/{MarkdownRenderer-B7lwemDw.js.map → MarkdownRenderer-B8_D0j7d.js.map} +1 -1
  246. package/dist/next/{MarkdownRenderer-BvfBDz9X.cjs → MarkdownRenderer-l6hdKOt0.cjs} +14 -13
  247. package/dist/next/{MarkdownRenderer-BvfBDz9X.cjs.map → MarkdownRenderer-l6hdKOt0.cjs.map} +1 -1
  248. package/dist/next/MarkdownRenderer.cjs.js +1 -1
  249. package/dist/next/MarkdownRenderer.js +1 -1
  250. package/dist/next/MessagePopUp.cjs.js +1 -1
  251. package/dist/next/MessagePopUp.js +1 -1
  252. package/dist/next/{MessagePopup-B5OaSUBr.js → MessagePopup-N2n3NvgX.js} +19 -19
  253. package/dist/next/{MessagePopup-B5OaSUBr.js.map → MessagePopup-N2n3NvgX.js.map} +1 -1
  254. package/dist/next/{MessagePopup-BQ4OFvwo.cjs → MessagePopup-PB3e2lTg.cjs} +19 -19
  255. package/dist/next/{MessagePopup-BQ4OFvwo.cjs.map → MessagePopup-PB3e2lTg.cjs.map} +1 -1
  256. package/dist/next/{MetricBox-Dl3iruBZ.js → MetricBox-BjdAzOrZ.js} +57 -48
  257. package/dist/next/MetricBox-BjdAzOrZ.js.map +1 -0
  258. package/dist/next/{MetricBox-BylPOvoO.cjs → MetricBox-C3B6Bkcb.cjs} +57 -48
  259. package/dist/next/MetricBox-C3B6Bkcb.cjs.map +1 -0
  260. package/dist/next/MetricBox.cjs.js +1 -1
  261. package/dist/next/MetricBox.js +1 -1
  262. package/dist/next/{Modal-CevpqeOy.cjs → Modal-DHTrvNfc.cjs} +17 -17
  263. package/dist/next/{Modal-CevpqeOy.cjs.map → Modal-DHTrvNfc.cjs.map} +1 -1
  264. package/dist/next/{Modal-BARibygG.js → Modal-QTq5IcKa.js} +17 -17
  265. package/dist/next/{Modal-BARibygG.js.map → Modal-QTq5IcKa.js.map} +1 -1
  266. package/dist/next/Modal.cjs.js +1 -1
  267. package/dist/next/Modal.js +1 -1
  268. package/dist/next/{NavBar-C5FBdZT6.cjs → NavBar-Ds_02bAe.cjs} +40 -40
  269. package/dist/next/{NavBar-C5FBdZT6.cjs.map → NavBar-Ds_02bAe.cjs.map} +1 -1
  270. package/dist/next/{NavBar-Bucpo8_3.js → NavBar-v_ckzQIo.js} +40 -40
  271. package/dist/next/{NavBar-Bucpo8_3.js.map → NavBar-v_ckzQIo.js.map} +1 -1
  272. package/dist/next/NavBar.cjs.js +1 -1
  273. package/dist/next/NavBar.js +1 -1
  274. package/dist/next/{NotificationCenter-BD58bbOZ.cjs → NotificationCenter-DbYxpoy6.cjs} +43 -43
  275. package/dist/next/{NotificationCenter-BD58bbOZ.cjs.map → NotificationCenter-DbYxpoy6.cjs.map} +1 -1
  276. package/dist/next/{NotificationCenter-CSwbscYh.js → NotificationCenter-DxK09uJd.js} +43 -43
  277. package/dist/next/{NotificationCenter-CSwbscYh.js.map → NotificationCenter-DxK09uJd.js.map} +1 -1
  278. package/dist/next/NotificationCenter.cjs.js +1 -1
  279. package/dist/next/NotificationCenter.js +1 -1
  280. package/dist/next/{Pager-B-xaM28_.cjs → Pager-BU5RjNwR.cjs} +7 -7
  281. package/dist/next/{Pager-B-xaM28_.cjs.map → Pager-BU5RjNwR.cjs.map} +1 -1
  282. package/dist/next/{Pager-DWzCtb2Q.js → Pager-CtzyTqIl.js} +7 -7
  283. package/dist/next/{Pager-DWzCtb2Q.js.map → Pager-CtzyTqIl.js.map} +1 -1
  284. package/dist/next/Pager.cjs.js +1 -1
  285. package/dist/next/Pager.js +1 -1
  286. package/dist/next/{PopOver-QAYHaYcd.js → PopOver-CmPp9PkL.js} +40 -40
  287. package/dist/next/{PopOver-QAYHaYcd.js.map → PopOver-CmPp9PkL.js.map} +1 -1
  288. package/dist/next/{PopOver-Dp4eqN8G.cjs → PopOver-ixERZLpM.cjs} +40 -40
  289. package/dist/next/{PopOver-Dp4eqN8G.cjs.map → PopOver-ixERZLpM.cjs.map} +1 -1
  290. package/dist/next/PopOver.cjs.js +1 -1
  291. package/dist/next/PopOver.js +1 -1
  292. package/dist/next/{ProgressBar-BrO0fvaM.js → ProgressBar-BoU2HJv3.js} +42 -42
  293. package/dist/next/{ProgressBar-BrO0fvaM.js.map → ProgressBar-BoU2HJv3.js.map} +1 -1
  294. package/dist/next/{ProgressBar-DfXSlpKX.cjs → ProgressBar-C6zKbiq5.cjs} +42 -42
  295. package/dist/next/{ProgressBar-DfXSlpKX.cjs.map → ProgressBar-C6zKbiq5.cjs.map} +1 -1
  296. package/dist/next/ProgressBar.cjs.js +1 -1
  297. package/dist/next/ProgressBar.js +1 -1
  298. package/dist/next/{RadioButton-6cb-ZRjy.cjs → RadioButton-BCu934Uo.cjs} +38 -38
  299. package/dist/next/{RadioButton-6cb-ZRjy.cjs.map → RadioButton-BCu934Uo.cjs.map} +1 -1
  300. package/dist/next/{RadioButton-Dz_e0WUT.js → RadioButton-C14Rsx9o.js} +38 -38
  301. package/dist/next/{RadioButton-Dz_e0WUT.js.map → RadioButton-C14Rsx9o.js.map} +1 -1
  302. package/dist/next/RadioButton.cjs.js +1 -1
  303. package/dist/next/RadioButton.js +1 -1
  304. package/dist/next/{Rating-C4pqzKNQ.cjs → Rating-C9BgQANc.cjs} +34 -34
  305. package/dist/next/{Rating-C4pqzKNQ.cjs.map → Rating-C9BgQANc.cjs.map} +1 -1
  306. package/dist/next/{Rating-DbQ61tMY.js → Rating-aheV3uZJ.js} +34 -34
  307. package/dist/next/{Rating-DbQ61tMY.js.map → Rating-aheV3uZJ.js.map} +1 -1
  308. package/dist/next/Rating.cjs.js +1 -1
  309. package/dist/next/Rating.js +1 -1
  310. package/dist/next/{STT-CCzJFcVP.js → STT-CFFr1_Ls.js} +14 -14
  311. package/dist/next/{STT-CCzJFcVP.js.map → STT-CFFr1_Ls.js.map} +1 -1
  312. package/dist/next/{STT-C6kV0zwW.cjs → STT-GyAuX3-m.cjs} +14 -14
  313. package/dist/next/{STT-C6kV0zwW.cjs.map → STT-GyAuX3-m.cjs.map} +1 -1
  314. package/dist/next/ScrollToTop.cjs.js +1 -1
  315. package/dist/next/ScrollToTop.js +1 -1
  316. package/dist/next/{Select-CZivQIlV.js → Select-CPwU0IV9.js} +32 -32
  317. package/dist/next/{Select-CZivQIlV.js.map → Select-CPwU0IV9.js.map} +1 -1
  318. package/dist/next/{Select-CSAN6B98.cjs → Select-Dgcy2vVe.cjs} +32 -32
  319. package/dist/next/{Select-CSAN6B98.cjs.map → Select-Dgcy2vVe.cjs.map} +1 -1
  320. package/dist/next/Select.cjs.js +1 -1
  321. package/dist/next/Select.js +1 -1
  322. package/dist/next/{Sidebar-BVeRWv61.js → Sidebar-CJ4VrQIW.js} +38 -38
  323. package/dist/next/{Sidebar-BVeRWv61.js.map → Sidebar-CJ4VrQIW.js.map} +1 -1
  324. package/dist/next/{Sidebar-DcDJjNrK.cjs → Sidebar-DajVSn82.cjs} +38 -38
  325. package/dist/next/{Sidebar-DcDJjNrK.cjs.map → Sidebar-DajVSn82.cjs.map} +1 -1
  326. package/dist/next/Sidebar.cjs.js +1 -1
  327. package/dist/next/Sidebar.js +1 -1
  328. package/dist/next/{Skeleton-rSW1X4hk.js → Skeleton-D8C29p3K.js} +27 -27
  329. package/dist/next/{Skeleton-rSW1X4hk.js.map → Skeleton-D8C29p3K.js.map} +1 -1
  330. package/dist/next/{Skeleton-JgU17y-3.cjs → Skeleton-Dmz7m0dj.cjs} +27 -27
  331. package/dist/next/{Skeleton-JgU17y-3.cjs.map → Skeleton-Dmz7m0dj.cjs.map} +1 -1
  332. package/dist/next/Skeleton.cjs.js +1 -1
  333. package/dist/next/Skeleton.js +1 -1
  334. package/dist/next/{Slider-CdSPPw1x.js → Slider-BOAgWYkH.js} +43 -43
  335. package/dist/next/{Slider-CdSPPw1x.js.map → Slider-BOAgWYkH.js.map} +1 -1
  336. package/dist/next/{Slider-B8e96nMm.cjs → Slider-DQM9nV1P.cjs} +43 -43
  337. package/dist/next/{Slider-B8e96nMm.cjs.map → Slider-DQM9nV1P.cjs.map} +1 -1
  338. package/dist/next/Slider.cjs.js +1 -1
  339. package/dist/next/Slider.js +1 -1
  340. package/dist/next/{Spinner-B89FhxVt.cjs → Spinner-0GZngKjG.cjs} +38 -38
  341. package/dist/next/Spinner-0GZngKjG.cjs.map +1 -0
  342. package/dist/next/{Spinner-ChiOXzru.js → Spinner-BFAOf4tt.js} +38 -38
  343. package/dist/next/Spinner-BFAOf4tt.js.map +1 -0
  344. package/dist/next/Spinner.cjs.js +1 -1
  345. package/dist/next/Spinner.js +1 -1
  346. package/dist/next/{Stepper-9uHSgp7y.js → Stepper-B03bz8wT.js} +40 -40
  347. package/dist/next/{Stepper-9uHSgp7y.js.map → Stepper-B03bz8wT.js.map} +1 -1
  348. package/dist/next/{Stepper-UwSloxRf.cjs → Stepper-XZSIlydV.cjs} +40 -40
  349. package/dist/next/{Stepper-UwSloxRf.cjs.map → Stepper-XZSIlydV.cjs.map} +1 -1
  350. package/dist/next/Stepper.cjs.js +1 -1
  351. package/dist/next/Stepper.js +1 -1
  352. package/dist/next/{Tabs-D2jqRrxR.cjs → Tabs-D8Efg8wn.cjs} +44 -44
  353. package/dist/next/{Tabs-D2jqRrxR.cjs.map → Tabs-D8Efg8wn.cjs.map} +1 -1
  354. package/dist/next/{Tabs-CvYx2xtH.js → Tabs-DmrS_FUa.js} +44 -44
  355. package/dist/next/{Tabs-CvYx2xtH.js.map → Tabs-DmrS_FUa.js.map} +1 -1
  356. package/dist/next/Tabs.cjs.js +1 -1
  357. package/dist/next/Tabs.js +1 -1
  358. package/dist/next/{TagInput-Dym0BPK1.cjs → TagInput-Bfjg9pZQ.cjs} +48 -48
  359. package/dist/next/{TagInput-Dym0BPK1.cjs.map → TagInput-Bfjg9pZQ.cjs.map} +1 -1
  360. package/dist/next/{TagInput-DUWgLslk.js → TagInput-CtYKwhEi.js} +48 -48
  361. package/dist/next/{TagInput-DUWgLslk.js.map → TagInput-CtYKwhEi.js.map} +1 -1
  362. package/dist/next/TagInput.cjs.js +1 -1
  363. package/dist/next/TagInput.js +1 -1
  364. package/dist/next/{TextArea-xg4t0Lzo.js → TextArea-n9HgwyJE.js} +25 -25
  365. package/dist/next/{TextArea-xg4t0Lzo.js.map → TextArea-n9HgwyJE.js.map} +1 -1
  366. package/dist/next/{TextArea-9AvILSCY.cjs → TextArea-rwkjK4Rf.cjs} +25 -25
  367. package/dist/next/{TextArea-9AvILSCY.cjs.map → TextArea-rwkjK4Rf.cjs.map} +1 -1
  368. package/dist/next/TextArea.cjs.js +1 -1
  369. package/dist/next/TextArea.js +1 -1
  370. package/dist/next/{TextInput-D9dzooMU.js → TextInput-ChmIMzj2.js} +26 -26
  371. package/dist/next/{TextInput-D9dzooMU.js.map → TextInput-ChmIMzj2.js.map} +1 -1
  372. package/dist/next/{TextInput-Cr0WjibW.cjs → TextInput-Z2izAjJj.cjs} +26 -26
  373. package/dist/next/{TextInput-Cr0WjibW.cjs.map → TextInput-Z2izAjJj.cjs.map} +1 -1
  374. package/dist/next/TextInput.cjs.js +1 -1
  375. package/dist/next/TextInput.js +1 -1
  376. package/dist/next/{Timeline-DXSXZumg.cjs → Timeline-3bNOgI6C.cjs} +28 -28
  377. package/dist/next/{Timeline-DXSXZumg.cjs.map → Timeline-3bNOgI6C.cjs.map} +1 -1
  378. package/dist/next/{Timeline-Cg0FWWVc.js → Timeline-9947mxJO.js} +28 -28
  379. package/dist/next/{Timeline-Cg0FWWVc.js.map → Timeline-9947mxJO.js.map} +1 -1
  380. package/dist/next/Timeline.cjs.js +1 -1
  381. package/dist/next/Timeline.js +1 -1
  382. package/dist/next/{Toggle-CnpONDwl.js → Toggle-C60HtU15.js} +30 -30
  383. package/dist/next/{Toggle-CnpONDwl.js.map → Toggle-C60HtU15.js.map} +1 -1
  384. package/dist/next/{Toggle-BNK7uC_N.cjs → Toggle-XcxNC4zl.cjs} +30 -30
  385. package/dist/next/{Toggle-BNK7uC_N.cjs.map → Toggle-XcxNC4zl.cjs.map} +1 -1
  386. package/dist/next/Toggle.cjs.js +1 -1
  387. package/dist/next/Toggle.js +1 -1
  388. package/dist/next/{Toolbar-DHUozW08.cjs → Toolbar-C45B_I44.cjs} +35 -35
  389. package/dist/next/{Toolbar-DHUozW08.cjs.map → Toolbar-C45B_I44.cjs.map} +1 -1
  390. package/dist/next/{Toolbar-007Q19jl.js → Toolbar-Dq1qqx4P.js} +35 -35
  391. package/dist/next/{Toolbar-007Q19jl.js.map → Toolbar-Dq1qqx4P.js.map} +1 -1
  392. package/dist/next/Toolbar.cjs.js +1 -1
  393. package/dist/next/Toolbar.js +1 -1
  394. package/dist/next/{Tooltip-2XEuDIAw.js → Tooltip-BHIA1zE1.js} +39 -39
  395. package/dist/next/{Tooltip-2XEuDIAw.js.map → Tooltip-BHIA1zE1.js.map} +1 -1
  396. package/dist/next/{Tooltip-FCqrcC7D.cjs → Tooltip-BXd5FXXv.cjs} +39 -39
  397. package/dist/next/{Tooltip-FCqrcC7D.cjs.map → Tooltip-BXd5FXXv.cjs.map} +1 -1
  398. package/dist/next/Tooltip.cjs.js +1 -1
  399. package/dist/next/Tooltip.js +1 -1
  400. package/dist/next/{style.css → boreal-ui.css} +9636 -9636
  401. package/dist/next/{image-VX9Ty9NQ.cjs → image-A4nTeRaX.cjs} +1079 -1025
  402. package/dist/next/image-A4nTeRaX.cjs.map +1 -0
  403. package/dist/next/{image-CEz9QtOW.js → image-BBS8QO15.js} +1083 -1029
  404. package/dist/next/image-BBS8QO15.js.map +1 -0
  405. package/dist/next/index.cjs.js +69 -69
  406. package/dist/next/index.js +69 -69
  407. package/dist/next/link-CxWP3aXr.js +3829 -0
  408. package/dist/next/link-CxWP3aXr.js.map +1 -0
  409. package/dist/next/link-lNk_lOdS.cjs +3828 -0
  410. package/dist/next/link-lNk_lOdS.cjs.map +1 -0
  411. package/dist/next/navigation-CZU71Pmb.cjs +2443 -0
  412. package/dist/next/navigation-CZU71Pmb.cjs.map +1 -0
  413. package/dist/next/navigation-DxXFNXZM.js +2444 -0
  414. package/dist/next/navigation-DxXFNXZM.js.map +1 -0
  415. package/dist/tsconfig.build.tsbuildinfo +1 -1
  416. package/dist/types/components/Badge/BadgeBase.d.ts.map +1 -1
  417. package/dist/types/components/Card/CardBase.d.ts.map +1 -1
  418. package/dist/types/components/FormGroup/FormGroupBase.d.ts.map +1 -1
  419. package/dist/types/components/MarkdownRenderer/MarkdownRendererBase.d.ts.map +1 -1
  420. package/dist/types/components/MetricBox/MetricBoxBase.d.ts.map +1 -1
  421. package/package.json +12 -11
  422. package/dist/core/Badge-DOn6E2bS.cjs.map +0 -1
  423. package/dist/core/Badge-Dpjq6lUF.js.map +0 -1
  424. package/dist/core/Card-D-GQwaUJ.js.map +0 -1
  425. package/dist/core/Card-DftqfPue.cjs.map +0 -1
  426. package/dist/core/Footer-DMOA1W7N.cjs.map +0 -1
  427. package/dist/core/Footer-zO4RGjCl.js.map +0 -1
  428. package/dist/core/FormGroup-C2TWC17P.cjs.map +0 -1
  429. package/dist/core/FormGroup-tSK_NN0-.js.map +0 -1
  430. package/dist/core/IconButton-CR9bTZoJ.cjs.map +0 -1
  431. package/dist/core/IconButton-_lxTppua.js.map +0 -1
  432. package/dist/core/MarkdownRenderer-B1LmmpZm.js.map +0 -1
  433. package/dist/core/MarkdownRenderer-LUXCa_a8.cjs.map +0 -1
  434. package/dist/core/MetricBox-BcOdQM-l.cjs.map +0 -1
  435. package/dist/core/MetricBox-Dh911MS2.js.map +0 -1
  436. package/dist/core/Spinner-CEIk_hpT.cjs.map +0 -1
  437. package/dist/core/Spinner-D81UG24n.js.map +0 -1
  438. package/dist/next/Badge-DbmM5wGc.cjs.map +0 -1
  439. package/dist/next/Badge-k6Dk5S_p.js.map +0 -1
  440. package/dist/next/Card-BFmGnvxN.cjs.map +0 -1
  441. package/dist/next/Card-DhxLw6XZ.js.map +0 -1
  442. package/dist/next/Footer-BSEbf6CL.js.map +0 -1
  443. package/dist/next/Footer-DAZLz11H.cjs.map +0 -1
  444. package/dist/next/FormGroup-6Ss6pNqV.cjs.map +0 -1
  445. package/dist/next/FormGroup-DbUqgg_b.js.map +0 -1
  446. package/dist/next/IconButton-VSz8qAIg.cjs.map +0 -1
  447. package/dist/next/IconButton-qQljwBB2.js.map +0 -1
  448. package/dist/next/MetricBox-BylPOvoO.cjs.map +0 -1
  449. package/dist/next/MetricBox-Dl3iruBZ.js.map +0 -1
  450. package/dist/next/Spinner-B89FhxVt.cjs.map +0 -1
  451. package/dist/next/Spinner-ChiOXzru.js.map +0 -1
  452. package/dist/next/image-CEz9QtOW.js.map +0 -1
  453. package/dist/next/image-VX9Ty9NQ.cjs.map +0 -1
  454. package/dist/next/link-Bik5xH00.js +0 -2878
  455. package/dist/next/link-Bik5xH00.js.map +0 -1
  456. package/dist/next/link-hxAaLm0Q.cjs +0 -2877
  457. package/dist/next/link-hxAaLm0Q.cjs.map +0 -1
  458. package/dist/next/navigation-DTwYCgCL.js +0 -1991
  459. package/dist/next/navigation-DTwYCgCL.js.map +0 -1
  460. package/dist/next/navigation-m012syo9.cjs +0 -1990
  461. package/dist/next/navigation-m012syo9.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette-ypXbi8zW.cjs","sources":["../../src/components/CommandPalette/CommandPaletteBase.tsx","../../src/components/CommandPalette/next/CommandPalette.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useCallback,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport type { CommandPaletteProps } from \"./CommandPalette.types\";\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\nexport interface CommandPaletteBaseProps extends CommandPaletteProps {\r\n classMap: Record<string, string>;\r\n TextInputComponent: React.ElementType;\r\n}\r\n\r\nconst CommandPaletteBase: React.FC<CommandPaletteBaseProps> = ({\r\n commands,\r\n placeholder = \"Search...\",\r\n isOpen,\r\n onClose,\r\n asyncSearch,\r\n debounceMs = 300,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n classMap,\r\n TextInputComponent,\r\n \"data-testid\": testId = \"command-palette\",\r\n className,\r\n}) => {\r\n const [query, setQuery] = useState(\"\");\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n const [mounted, setMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [asyncResults, setAsyncResults] = useState<typeof commands>([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n const prevFocusRef = useRef<HTMLElement | null>(null);\r\n\r\n const filtered = asyncSearch\r\n ? asyncResults\r\n : commands.filter((cmd) =>\r\n cmd.label.toLowerCase().includes(query.toLowerCase())\r\n );\r\n\r\n useEffect(() => {\r\n if (filtered.length === 0) {\r\n setActiveIndex(-1);\r\n } else if (activeIndex < 0 || activeIndex >= filtered.length) {\r\n setActiveIndex(0);\r\n }\r\n }, [filtered, activeIndex]);\r\n\r\n useEffect(() => {\r\n if (!asyncSearch) return;\r\n\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n const q = query.trim();\r\n if (!q) {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n setIsLoading(true);\r\n debounceRef.current = setTimeout(() => {\r\n asyncSearch(q)\r\n .then((results) => {\r\n setAsyncResults(results);\r\n setIsLoading(false);\r\n })\r\n .catch(() => {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n });\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [query, asyncSearch, debounceMs]);\r\n\r\n useEffect(() => {\r\n if (!isOpen) return;\r\n\r\n setMounted(true);\r\n prevFocusRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\r\n const portal =\r\n document.getElementById(\"widget-portal\") ||\r\n (() => {\r\n const el = document.createElement(\"div\");\r\n el.id = \"widget-portal\";\r\n document.body.appendChild(el);\r\n return el;\r\n })();\r\n\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n setQuery(\"\");\r\n setActiveIndex(-1);\r\n setMounted(false);\r\n prevFocusRef.current?.focus?.();\r\n };\r\n }, [isOpen]);\r\n\r\n useEffect(() => {\r\n if (isOpen && inputRef.current) inputRef.current.focus();\r\n }, [isOpen]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"ArrowDown\") {\r\n if (filtered.length === 0) return;\r\n e.preventDefault();\r\n setActiveIndex((prev) => (prev + 1) % filtered.length);\r\n } else if (e.key === \"ArrowUp\") {\r\n if (filtered.length === 0) return;\r\n e.preventDefault();\r\n setActiveIndex(\r\n (prev) => (prev - 1 + filtered.length) % filtered.length\r\n );\r\n } else if (e.key === \"Enter\") {\r\n if (activeIndex >= 0 && filtered[activeIndex]) {\r\n filtered[activeIndex].action();\r\n onClose();\r\n }\r\n } else if (e.key === \"Escape\") {\r\n onClose();\r\n }\r\n },\r\n [filtered, activeIndex, onClose]\r\n );\r\n\r\n const handleContainerKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") onClose();\r\n },\r\n [onClose]\r\n );\r\n\r\n if (!isOpen || !mounted || !portalElement) return null;\r\n\r\n const listId = `${testId}-list`;\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={classMap.overlay}\r\n onClick={onClose}\r\n data-testid={`${testId}-overlay`}\r\n >\r\n <div\r\n className={combineClassNames(\r\n classMap.command_palette,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n )}\r\n onClick={(e) => e.stopPropagation()}\r\n onKeyDown={handleContainerKeyDown}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label=\"Command palette\"\r\n data-testid={testId}\r\n >\r\n <TextInputComponent\r\n ref={inputRef}\r\n type=\"text\"\r\n value={query}\r\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\r\n setQuery(e.target.value)\r\n }\r\n onKeyDown={handleKeyDown}\r\n placeholder={placeholder}\r\n theme={theme}\r\n state={state}\r\n shadow={\"none\"}\r\n rounding={rounding}\r\n className={classMap.input}\r\n data-testid={`${testId}-input`}\r\n role=\"combobox\"\r\n aria-autocomplete=\"list\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded={filtered.length > 0}\r\n aria-controls={listId}\r\n aria-activedescendant={\r\n activeIndex >= 0 ? `cmd-${activeIndex}` : undefined\r\n }\r\n />\r\n\r\n <ul\r\n id={listId}\r\n className={classMap.list}\r\n role=\"listbox\"\r\n aria-label=\"Command suggestions\"\r\n aria-busy={isLoading || undefined}\r\n >\r\n {isLoading ? (\r\n <li\r\n className={combineClassNames(classMap.item, classMap.empty)}\r\n role=\"option\"\r\n aria-disabled=\"true\"\r\n aria-selected=\"false\"\r\n >\r\n Searching…\r\n </li>\r\n ) : filtered.length > 0 ? (\r\n filtered.map((cmd, index) => (\r\n <li\r\n key={`${cmd.label}-${index}`}\r\n id={`cmd-${index}`}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n className={combineClassNames(\r\n classMap.item,\r\n classMap[theme],\r\n index === activeIndex && classMap.active\r\n )}\r\n onClick={() => {\r\n cmd.action();\r\n onClose();\r\n }}\r\n >\r\n {cmd.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {cmd.icon}\r\n </span>\r\n )}\r\n {cmd.label}\r\n </li>\r\n ))\r\n ) : (\r\n <li\r\n role=\"option\"\r\n aria-selected=\"false\"\r\n aria-disabled=\"true\"\r\n className={combineClassNames(classMap.item, classMap.empty)}\r\n >\r\n No matching results\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\nCommandPaletteBase.displayName = \"CommandPaletteBase\";\r\nexport default CommandPaletteBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CommandPaletteBase from \"../CommandPaletteBase\";\r\nimport styles from \"./CommandPalette.module.scss\";\r\nimport { TextInput } from \"@/index.next\";\r\nimport { CommandPaletteProps } from \"../CommandPalette.types\";\r\n\r\nconst CommandPalette: React.FC<CommandPaletteProps> = (props) => (\r\n <CommandPaletteBase\r\n {...props}\r\n classMap={styles}\r\n TextInputComponent={TextInput}\r\n />\r\n);\r\nCommandPalette.displayName = \"CommandPalette\";\r\nexport default CommandPalette;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","useState","useRef","useEffect","useCallback","jsx","jsxs","combineClassNames","capitalize","TextInput"],"mappings":"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"}
1
+ {"version":3,"file":"CommandPalette-BT9X_yL0.cjs","sources":["../../src/components/CommandPalette/CommandPaletteBase.tsx","../../src/components/CommandPalette/next/CommandPalette.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useCallback,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport type { CommandPaletteProps } from \"./CommandPalette.types\";\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\nexport interface CommandPaletteBaseProps extends CommandPaletteProps {\r\n classMap: Record<string, string>;\r\n TextInputComponent: React.ElementType;\r\n}\r\n\r\nconst CommandPaletteBase: React.FC<CommandPaletteBaseProps> = ({\r\n commands,\r\n placeholder = \"Search...\",\r\n isOpen,\r\n onClose,\r\n asyncSearch,\r\n debounceMs = 300,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n classMap,\r\n TextInputComponent,\r\n \"data-testid\": testId = \"command-palette\",\r\n className,\r\n}) => {\r\n const [query, setQuery] = useState(\"\");\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n const [mounted, setMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [asyncResults, setAsyncResults] = useState<typeof commands>([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n const prevFocusRef = useRef<HTMLElement | null>(null);\r\n\r\n const filtered = asyncSearch\r\n ? asyncResults\r\n : commands.filter((cmd) =>\r\n cmd.label.toLowerCase().includes(query.toLowerCase())\r\n );\r\n\r\n useEffect(() => {\r\n if (filtered.length === 0) {\r\n setActiveIndex(-1);\r\n } else if (activeIndex < 0 || activeIndex >= filtered.length) {\r\n setActiveIndex(0);\r\n }\r\n }, [filtered, activeIndex]);\r\n\r\n useEffect(() => {\r\n if (!asyncSearch) return;\r\n\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n const q = query.trim();\r\n if (!q) {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n setIsLoading(true);\r\n debounceRef.current = setTimeout(() => {\r\n asyncSearch(q)\r\n .then((results) => {\r\n setAsyncResults(results);\r\n setIsLoading(false);\r\n })\r\n .catch(() => {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n });\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [query, asyncSearch, debounceMs]);\r\n\r\n useEffect(() => {\r\n if (!isOpen) return;\r\n\r\n setMounted(true);\r\n prevFocusRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\r\n const portal =\r\n document.getElementById(\"widget-portal\") ||\r\n (() => {\r\n const el = document.createElement(\"div\");\r\n el.id = \"widget-portal\";\r\n document.body.appendChild(el);\r\n return el;\r\n })();\r\n\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n setQuery(\"\");\r\n setActiveIndex(-1);\r\n setMounted(false);\r\n prevFocusRef.current?.focus?.();\r\n };\r\n }, [isOpen]);\r\n\r\n useEffect(() => {\r\n if (isOpen && inputRef.current) inputRef.current.focus();\r\n }, [isOpen]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"ArrowDown\") {\r\n if (filtered.length === 0) return;\r\n e.preventDefault();\r\n setActiveIndex((prev) => (prev + 1) % filtered.length);\r\n } else if (e.key === \"ArrowUp\") {\r\n if (filtered.length === 0) return;\r\n e.preventDefault();\r\n setActiveIndex(\r\n (prev) => (prev - 1 + filtered.length) % filtered.length\r\n );\r\n } else if (e.key === \"Enter\") {\r\n if (activeIndex >= 0 && filtered[activeIndex]) {\r\n filtered[activeIndex].action();\r\n onClose();\r\n }\r\n } else if (e.key === \"Escape\") {\r\n onClose();\r\n }\r\n },\r\n [filtered, activeIndex, onClose]\r\n );\r\n\r\n const handleContainerKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") onClose();\r\n },\r\n [onClose]\r\n );\r\n\r\n if (!isOpen || !mounted || !portalElement) return null;\r\n\r\n const listId = `${testId}-list`;\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={classMap.overlay}\r\n onClick={onClose}\r\n data-testid={`${testId}-overlay`}\r\n >\r\n <div\r\n className={combineClassNames(\r\n classMap.command_palette,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n )}\r\n onClick={(e) => e.stopPropagation()}\r\n onKeyDown={handleContainerKeyDown}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label=\"Command palette\"\r\n data-testid={testId}\r\n >\r\n <TextInputComponent\r\n ref={inputRef}\r\n type=\"text\"\r\n value={query}\r\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\r\n setQuery(e.target.value)\r\n }\r\n onKeyDown={handleKeyDown}\r\n placeholder={placeholder}\r\n theme={theme}\r\n state={state}\r\n shadow={\"none\"}\r\n rounding={rounding}\r\n className={classMap.input}\r\n data-testid={`${testId}-input`}\r\n role=\"combobox\"\r\n aria-autocomplete=\"list\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded={filtered.length > 0}\r\n aria-controls={listId}\r\n aria-activedescendant={\r\n activeIndex >= 0 ? `cmd-${activeIndex}` : undefined\r\n }\r\n />\r\n\r\n <ul\r\n id={listId}\r\n className={classMap.list}\r\n role=\"listbox\"\r\n aria-label=\"Command suggestions\"\r\n aria-busy={isLoading || undefined}\r\n >\r\n {isLoading ? (\r\n <li\r\n className={combineClassNames(classMap.item, classMap.empty)}\r\n role=\"option\"\r\n aria-disabled=\"true\"\r\n aria-selected=\"false\"\r\n >\r\n Searching…\r\n </li>\r\n ) : filtered.length > 0 ? (\r\n filtered.map((cmd, index) => (\r\n <li\r\n key={`${cmd.label}-${index}`}\r\n id={`cmd-${index}`}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n className={combineClassNames(\r\n classMap.item,\r\n classMap[theme],\r\n index === activeIndex && classMap.active\r\n )}\r\n onClick={() => {\r\n cmd.action();\r\n onClose();\r\n }}\r\n >\r\n {cmd.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {cmd.icon}\r\n </span>\r\n )}\r\n {cmd.label}\r\n </li>\r\n ))\r\n ) : (\r\n <li\r\n role=\"option\"\r\n aria-selected=\"false\"\r\n aria-disabled=\"true\"\r\n className={combineClassNames(classMap.item, classMap.empty)}\r\n >\r\n No matching results\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\nCommandPaletteBase.displayName = \"CommandPaletteBase\";\r\nexport default CommandPaletteBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CommandPaletteBase from \"../CommandPaletteBase\";\r\nimport styles from \"./CommandPalette.module.scss\";\r\nimport { TextInput } from \"@/index.next\";\r\nimport { CommandPaletteProps } from \"../CommandPalette.types\";\r\n\r\nconst CommandPalette: React.FC<CommandPaletteProps> = (props) => (\r\n <CommandPaletteBase\r\n {...props}\r\n classMap={styles}\r\n TextInputComponent={TextInput}\r\n />\r\n);\r\nCommandPalette.displayName = \"CommandPalette\";\r\nexport default CommandPalette;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","useState","useRef","useEffect","useCallback","jsx","jsxs","combineClassNames","capitalize","TextInput"],"mappings":"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"}
@@ -4,7 +4,7 @@ import ReactDOM from "react-dom";
4
4
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
5
5
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
6
6
  import { a as getDefaultRounding, d as getDefaultTheme, b as getDefaultShadow } from "./boreal-style-config-BILmxkZG.js";
7
- import { T as TextInput } from "./TextInput-D9dzooMU.js";
7
+ import { T as TextInput } from "./TextInput-ChmIMzj2.js";
8
8
  const CommandPaletteBase = ({
9
9
  commands,
10
10
  placeholder = "Search...",
@@ -225,39 +225,39 @@ const CommandPaletteBase = ({
225
225
  );
226
226
  };
227
227
  CommandPaletteBase.displayName = "CommandPaletteBase";
228
- const noScroll = "_noScroll_1o5x8_108";
229
- const errorMessage = "_errorMessage_1o5x8_109";
230
- const loadingContainer = "_loadingContainer_1o5x8_110";
231
- const hideScrollbar = "_hideScrollbar_1o5x8_102";
232
- const sr_only = "_sr_only_1o5x8_111";
233
- const overlay = "_overlay_1o5x8_540";
234
- const command_palette = "_command_palette_1o5x8_561";
235
- const roundNone = "_roundNone_1o5x8_592";
236
- const item = "_item_1o5x8_596";
237
- const roundSmall = "_roundSmall_1o5x8_600";
238
- const roundMedium = "_roundMedium_1o5x8_608";
239
- const roundLarge = "_roundLarge_1o5x8_616";
240
- const roundFull = "_roundFull_1o5x8_624";
241
- const shadowNone = "_shadowNone_1o5x8_632";
242
- const shadowLight = "_shadowLight_1o5x8_636";
243
- const shadowMedium = "_shadowMedium_1o5x8_640";
244
- const shadowStrong = "_shadowStrong_1o5x8_644";
245
- const shadowIntense = "_shadowIntense_1o5x8_648";
246
- const input = "_input_1o5x8_652";
247
- const list = "_list_1o5x8_677";
248
- const icon = "_icon_1o5x8_737";
249
- const empty = "_empty_1o5x8_741";
250
- const active = "_active_1o5x8_756";
251
- const primary = "_primary_1o5x8_761";
252
- const secondary = "_secondary_1o5x8_779";
253
- const tertiary = "_tertiary_1o5x8_797";
254
- const quaternary = "_quaternary_1o5x8_815";
255
- const clear = "_clear_1o5x8_833";
256
- const success = "_success_1o5x8_851";
257
- const error = "_error_1o5x8_109";
258
- const warning = "_warning_1o5x8_887";
259
- const spin = "_spin_1o5x8_1";
260
- const pulse = "_pulse_1o5x8_1";
228
+ const noScroll = "_noScroll_1jcu6_108";
229
+ const errorMessage = "_errorMessage_1jcu6_109";
230
+ const loadingContainer = "_loadingContainer_1jcu6_110";
231
+ const hideScrollbar = "_hideScrollbar_1jcu6_102";
232
+ const sr_only = "_sr_only_1jcu6_111";
233
+ const overlay = "_overlay_1jcu6_540";
234
+ const command_palette = "_command_palette_1jcu6_561";
235
+ const roundNone = "_roundNone_1jcu6_592";
236
+ const item = "_item_1jcu6_596";
237
+ const roundSmall = "_roundSmall_1jcu6_600";
238
+ const roundMedium = "_roundMedium_1jcu6_608";
239
+ const roundLarge = "_roundLarge_1jcu6_616";
240
+ const roundFull = "_roundFull_1jcu6_624";
241
+ const shadowNone = "_shadowNone_1jcu6_632";
242
+ const shadowLight = "_shadowLight_1jcu6_636";
243
+ const shadowMedium = "_shadowMedium_1jcu6_640";
244
+ const shadowStrong = "_shadowStrong_1jcu6_644";
245
+ const shadowIntense = "_shadowIntense_1jcu6_648";
246
+ const input = "_input_1jcu6_652";
247
+ const list = "_list_1jcu6_677";
248
+ const icon = "_icon_1jcu6_737";
249
+ const empty = "_empty_1jcu6_741";
250
+ const active = "_active_1jcu6_756";
251
+ const primary = "_primary_1jcu6_761";
252
+ const secondary = "_secondary_1jcu6_779";
253
+ const tertiary = "_tertiary_1jcu6_797";
254
+ const quaternary = "_quaternary_1jcu6_815";
255
+ const clear = "_clear_1jcu6_833";
256
+ const success = "_success_1jcu6_851";
257
+ const error = "_error_1jcu6_109";
258
+ const warning = "_warning_1jcu6_887";
259
+ const spin = "_spin_1jcu6_1";
260
+ const pulse = "_pulse_1jcu6_1";
261
261
  const styles = {
262
262
  noScroll,
263
263
  errorMessage,
@@ -290,15 +290,15 @@ const styles = {
290
290
  success,
291
291
  error,
292
292
  warning,
293
- "fade-in": "_fade-in_1o5x8_1",
294
- "slide-up": "_slide-up_1o5x8_1",
295
- "spin-3d": "_spin-3d_1o5x8_1",
293
+ "fade-in": "_fade-in_1jcu6_1",
294
+ "slide-up": "_slide-up_1jcu6_1",
295
+ "spin-3d": "_spin-3d_1jcu6_1",
296
296
  spin,
297
297
  pulse,
298
- "fade-in-up": "_fade-in-up_1o5x8_1",
299
- "progress-grow": "_progress-grow_1o5x8_1",
300
- "indeterminate-move": "_indeterminate-move_1o5x8_1",
301
- "skeleton-loading": "_skeleton-loading_1o5x8_1"
298
+ "fade-in-up": "_fade-in-up_1jcu6_1",
299
+ "progress-grow": "_progress-grow_1jcu6_1",
300
+ "indeterminate-move": "_indeterminate-move_1jcu6_1",
301
+ "skeleton-loading": "_skeleton-loading_1jcu6_1"
302
302
  };
303
303
  const CommandPalette = (props) => /* @__PURE__ */ jsx(
304
304
  CommandPaletteBase,
@@ -312,4 +312,4 @@ CommandPalette.displayName = "CommandPalette";
312
312
  export {
313
313
  CommandPalette as C
314
314
  };
315
- //# sourceMappingURL=CommandPalette-XP4v5FE6.js.map
315
+ //# sourceMappingURL=CommandPalette-DEf12Et3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette-XP4v5FE6.js","sources":["../../src/components/CommandPalette/CommandPaletteBase.tsx","../../src/components/CommandPalette/next/CommandPalette.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useCallback,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport type { CommandPaletteProps } from \"./CommandPalette.types\";\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\nexport interface CommandPaletteBaseProps extends CommandPaletteProps {\r\n classMap: Record<string, string>;\r\n TextInputComponent: React.ElementType;\r\n}\r\n\r\nconst CommandPaletteBase: React.FC<CommandPaletteBaseProps> = ({\r\n commands,\r\n placeholder = \"Search...\",\r\n isOpen,\r\n onClose,\r\n asyncSearch,\r\n debounceMs = 300,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n classMap,\r\n TextInputComponent,\r\n \"data-testid\": testId = \"command-palette\",\r\n className,\r\n}) => {\r\n const [query, setQuery] = useState(\"\");\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n const [mounted, setMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [asyncResults, setAsyncResults] = useState<typeof commands>([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n const prevFocusRef = useRef<HTMLElement | null>(null);\r\n\r\n const filtered = asyncSearch\r\n ? asyncResults\r\n : commands.filter((cmd) =>\r\n cmd.label.toLowerCase().includes(query.toLowerCase())\r\n );\r\n\r\n useEffect(() => {\r\n if (filtered.length === 0) {\r\n setActiveIndex(-1);\r\n } else if (activeIndex < 0 || activeIndex >= filtered.length) {\r\n setActiveIndex(0);\r\n }\r\n }, [filtered, activeIndex]);\r\n\r\n useEffect(() => {\r\n if (!asyncSearch) return;\r\n\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n const q = query.trim();\r\n if (!q) {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n setIsLoading(true);\r\n debounceRef.current = setTimeout(() => {\r\n asyncSearch(q)\r\n .then((results) => {\r\n setAsyncResults(results);\r\n setIsLoading(false);\r\n })\r\n .catch(() => {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n });\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [query, asyncSearch, debounceMs]);\r\n\r\n useEffect(() => {\r\n if (!isOpen) return;\r\n\r\n setMounted(true);\r\n prevFocusRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\r\n const portal =\r\n document.getElementById(\"widget-portal\") ||\r\n (() => {\r\n const el = document.createElement(\"div\");\r\n el.id = \"widget-portal\";\r\n document.body.appendChild(el);\r\n return el;\r\n })();\r\n\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n setQuery(\"\");\r\n setActiveIndex(-1);\r\n setMounted(false);\r\n prevFocusRef.current?.focus?.();\r\n };\r\n }, [isOpen]);\r\n\r\n useEffect(() => {\r\n if (isOpen && inputRef.current) inputRef.current.focus();\r\n }, [isOpen]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"ArrowDown\") {\r\n if (filtered.length === 0) return;\r\n e.preventDefault();\r\n setActiveIndex((prev) => (prev + 1) % filtered.length);\r\n } else if (e.key === \"ArrowUp\") {\r\n if (filtered.length === 0) return;\r\n e.preventDefault();\r\n setActiveIndex(\r\n (prev) => (prev - 1 + filtered.length) % filtered.length\r\n );\r\n } else if (e.key === \"Enter\") {\r\n if (activeIndex >= 0 && filtered[activeIndex]) {\r\n filtered[activeIndex].action();\r\n onClose();\r\n }\r\n } else if (e.key === \"Escape\") {\r\n onClose();\r\n }\r\n },\r\n [filtered, activeIndex, onClose]\r\n );\r\n\r\n const handleContainerKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") onClose();\r\n },\r\n [onClose]\r\n );\r\n\r\n if (!isOpen || !mounted || !portalElement) return null;\r\n\r\n const listId = `${testId}-list`;\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={classMap.overlay}\r\n onClick={onClose}\r\n data-testid={`${testId}-overlay`}\r\n >\r\n <div\r\n className={combineClassNames(\r\n classMap.command_palette,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n )}\r\n onClick={(e) => e.stopPropagation()}\r\n onKeyDown={handleContainerKeyDown}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label=\"Command palette\"\r\n data-testid={testId}\r\n >\r\n <TextInputComponent\r\n ref={inputRef}\r\n type=\"text\"\r\n value={query}\r\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\r\n setQuery(e.target.value)\r\n }\r\n onKeyDown={handleKeyDown}\r\n placeholder={placeholder}\r\n theme={theme}\r\n state={state}\r\n shadow={\"none\"}\r\n rounding={rounding}\r\n className={classMap.input}\r\n data-testid={`${testId}-input`}\r\n role=\"combobox\"\r\n aria-autocomplete=\"list\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded={filtered.length > 0}\r\n aria-controls={listId}\r\n aria-activedescendant={\r\n activeIndex >= 0 ? `cmd-${activeIndex}` : undefined\r\n }\r\n />\r\n\r\n <ul\r\n id={listId}\r\n className={classMap.list}\r\n role=\"listbox\"\r\n aria-label=\"Command suggestions\"\r\n aria-busy={isLoading || undefined}\r\n >\r\n {isLoading ? (\r\n <li\r\n className={combineClassNames(classMap.item, classMap.empty)}\r\n role=\"option\"\r\n aria-disabled=\"true\"\r\n aria-selected=\"false\"\r\n >\r\n Searching…\r\n </li>\r\n ) : filtered.length > 0 ? (\r\n filtered.map((cmd, index) => (\r\n <li\r\n key={`${cmd.label}-${index}`}\r\n id={`cmd-${index}`}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n className={combineClassNames(\r\n classMap.item,\r\n classMap[theme],\r\n index === activeIndex && classMap.active\r\n )}\r\n onClick={() => {\r\n cmd.action();\r\n onClose();\r\n }}\r\n >\r\n {cmd.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {cmd.icon}\r\n </span>\r\n )}\r\n {cmd.label}\r\n </li>\r\n ))\r\n ) : (\r\n <li\r\n role=\"option\"\r\n aria-selected=\"false\"\r\n aria-disabled=\"true\"\r\n className={combineClassNames(classMap.item, classMap.empty)}\r\n >\r\n No matching results\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\nCommandPaletteBase.displayName = \"CommandPaletteBase\";\r\nexport default CommandPaletteBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CommandPaletteBase from \"../CommandPaletteBase\";\r\nimport styles from \"./CommandPalette.module.scss\";\r\nimport { TextInput } from \"@/index.next\";\r\nimport { CommandPaletteProps } from \"../CommandPalette.types\";\r\n\r\nconst CommandPalette: React.FC<CommandPaletteProps> = (props) => (\r\n <CommandPaletteBase\r\n {...props}\r\n classMap={styles}\r\n TextInputComponent={TextInput}\r\n />\r\n);\r\nCommandPalette.displayName = \"CommandPalette\";\r\nexport default CommandPalette;\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandPalette-DEf12Et3.js","sources":["../../src/components/CommandPalette/CommandPaletteBase.tsx","../../src/components/CommandPalette/next/CommandPalette.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useCallback,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport type { CommandPaletteProps } from \"./CommandPalette.types\";\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\nexport interface CommandPaletteBaseProps extends CommandPaletteProps {\r\n classMap: Record<string, string>;\r\n TextInputComponent: React.ElementType;\r\n}\r\n\r\nconst CommandPaletteBase: React.FC<CommandPaletteBaseProps> = ({\r\n commands,\r\n placeholder = \"Search...\",\r\n isOpen,\r\n onClose,\r\n asyncSearch,\r\n debounceMs = 300,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n classMap,\r\n TextInputComponent,\r\n \"data-testid\": testId = \"command-palette\",\r\n className,\r\n}) => {\r\n const [query, setQuery] = useState(\"\");\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n const [mounted, setMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [asyncResults, setAsyncResults] = useState<typeof commands>([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n const prevFocusRef = useRef<HTMLElement | null>(null);\r\n\r\n const filtered = asyncSearch\r\n ? asyncResults\r\n : commands.filter((cmd) =>\r\n cmd.label.toLowerCase().includes(query.toLowerCase())\r\n );\r\n\r\n useEffect(() => {\r\n if (filtered.length === 0) {\r\n setActiveIndex(-1);\r\n } else if (activeIndex < 0 || activeIndex >= filtered.length) {\r\n setActiveIndex(0);\r\n }\r\n }, [filtered, activeIndex]);\r\n\r\n useEffect(() => {\r\n if (!asyncSearch) return;\r\n\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n const q = query.trim();\r\n if (!q) {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n setIsLoading(true);\r\n debounceRef.current = setTimeout(() => {\r\n asyncSearch(q)\r\n .then((results) => {\r\n setAsyncResults(results);\r\n setIsLoading(false);\r\n })\r\n .catch(() => {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n });\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [query, asyncSearch, debounceMs]);\r\n\r\n useEffect(() => {\r\n if (!isOpen) return;\r\n\r\n setMounted(true);\r\n prevFocusRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\r\n const portal =\r\n document.getElementById(\"widget-portal\") ||\r\n (() => {\r\n const el = document.createElement(\"div\");\r\n el.id = \"widget-portal\";\r\n document.body.appendChild(el);\r\n return el;\r\n })();\r\n\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n setQuery(\"\");\r\n setActiveIndex(-1);\r\n setMounted(false);\r\n prevFocusRef.current?.focus?.();\r\n };\r\n }, [isOpen]);\r\n\r\n useEffect(() => {\r\n if (isOpen && inputRef.current) inputRef.current.focus();\r\n }, [isOpen]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"ArrowDown\") {\r\n if (filtered.length === 0) return;\r\n e.preventDefault();\r\n setActiveIndex((prev) => (prev + 1) % filtered.length);\r\n } else if (e.key === \"ArrowUp\") {\r\n if (filtered.length === 0) return;\r\n e.preventDefault();\r\n setActiveIndex(\r\n (prev) => (prev - 1 + filtered.length) % filtered.length\r\n );\r\n } else if (e.key === \"Enter\") {\r\n if (activeIndex >= 0 && filtered[activeIndex]) {\r\n filtered[activeIndex].action();\r\n onClose();\r\n }\r\n } else if (e.key === \"Escape\") {\r\n onClose();\r\n }\r\n },\r\n [filtered, activeIndex, onClose]\r\n );\r\n\r\n const handleContainerKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") onClose();\r\n },\r\n [onClose]\r\n );\r\n\r\n if (!isOpen || !mounted || !portalElement) return null;\r\n\r\n const listId = `${testId}-list`;\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={classMap.overlay}\r\n onClick={onClose}\r\n data-testid={`${testId}-overlay`}\r\n >\r\n <div\r\n className={combineClassNames(\r\n classMap.command_palette,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n )}\r\n onClick={(e) => e.stopPropagation()}\r\n onKeyDown={handleContainerKeyDown}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label=\"Command palette\"\r\n data-testid={testId}\r\n >\r\n <TextInputComponent\r\n ref={inputRef}\r\n type=\"text\"\r\n value={query}\r\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\r\n setQuery(e.target.value)\r\n }\r\n onKeyDown={handleKeyDown}\r\n placeholder={placeholder}\r\n theme={theme}\r\n state={state}\r\n shadow={\"none\"}\r\n rounding={rounding}\r\n className={classMap.input}\r\n data-testid={`${testId}-input`}\r\n role=\"combobox\"\r\n aria-autocomplete=\"list\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded={filtered.length > 0}\r\n aria-controls={listId}\r\n aria-activedescendant={\r\n activeIndex >= 0 ? `cmd-${activeIndex}` : undefined\r\n }\r\n />\r\n\r\n <ul\r\n id={listId}\r\n className={classMap.list}\r\n role=\"listbox\"\r\n aria-label=\"Command suggestions\"\r\n aria-busy={isLoading || undefined}\r\n >\r\n {isLoading ? (\r\n <li\r\n className={combineClassNames(classMap.item, classMap.empty)}\r\n role=\"option\"\r\n aria-disabled=\"true\"\r\n aria-selected=\"false\"\r\n >\r\n Searching…\r\n </li>\r\n ) : filtered.length > 0 ? (\r\n filtered.map((cmd, index) => (\r\n <li\r\n key={`${cmd.label}-${index}`}\r\n id={`cmd-${index}`}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n className={combineClassNames(\r\n classMap.item,\r\n classMap[theme],\r\n index === activeIndex && classMap.active\r\n )}\r\n onClick={() => {\r\n cmd.action();\r\n onClose();\r\n }}\r\n >\r\n {cmd.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {cmd.icon}\r\n </span>\r\n )}\r\n {cmd.label}\r\n </li>\r\n ))\r\n ) : (\r\n <li\r\n role=\"option\"\r\n aria-selected=\"false\"\r\n aria-disabled=\"true\"\r\n className={combineClassNames(classMap.item, classMap.empty)}\r\n >\r\n No matching results\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\nCommandPaletteBase.displayName = \"CommandPaletteBase\";\r\nexport default CommandPaletteBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CommandPaletteBase from \"../CommandPaletteBase\";\r\nimport styles from \"./CommandPalette.module.scss\";\r\nimport { TextInput } from \"@/index.next\";\r\nimport { CommandPaletteProps } from \"../CommandPalette.types\";\r\n\r\nconst CommandPalette: React.FC<CommandPaletteProps> = (props) => (\r\n <CommandPaletteBase\r\n {...props}\r\n classMap={styles}\r\n TextInputComponent={TextInput}\r\n />\r\n);\r\nCommandPalette.displayName = \"CommandPalette\";\r\nexport default CommandPalette;\r\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const CommandPalette = require("./CommandPalette-ypXbi8zW.cjs");
2
+ const CommandPalette = require("./CommandPalette-BT9X_yL0.cjs");
3
3
  module.exports = CommandPalette.CommandPalette;
4
4
  //# sourceMappingURL=CommandPalette.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { C } from "./CommandPalette-XP4v5FE6.js";
1
+ import { C } from "./CommandPalette-DEf12Et3.js";
2
2
  export {
3
3
  C as default
4
4
  };
@@ -3,38 +3,38 @@ import { useState, useMemo } from "react";
3
3
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
4
4
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
5
5
  import { d as getDefaultTheme, a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-BILmxkZG.js";
6
- const noScroll = "_noScroll_ps1ki_108";
7
- const errorMessage = "_errorMessage_ps1ki_109";
8
- const loadingContainer = "_loadingContainer_ps1ki_110";
9
- const hideScrollbar = "_hideScrollbar_ps1ki_102";
10
- const sr_only = "_sr_only_ps1ki_111";
11
- const wrapper = "_wrapper_ps1ki_540";
12
- const table = "_table_ps1ki_555";
13
- const sortable = "_sortable_ps1ki_594";
14
- const sort_icon = "_sort_icon_ps1ki_601";
15
- const clickable = "_clickable_ps1ki_615";
16
- const striped = "_striped_ps1ki_629";
17
- const clear = "_clear_ps1ki_632";
18
- const primary = "_primary_ps1ki_678";
19
- const outline = "_outline_ps1ki_683";
20
- const secondary = "_secondary_ps1ki_693";
21
- const tertiary = "_tertiary_ps1ki_708";
22
- const quaternary = "_quaternary_ps1ki_723";
23
- const success = "_success_ps1ki_753";
24
- const error = "_error_ps1ki_109";
25
- const warning = "_warning_ps1ki_783";
26
- const roundNone = "_roundNone_ps1ki_798";
27
- const roundSmall = "_roundSmall_ps1ki_802";
28
- const roundMedium = "_roundMedium_ps1ki_806";
29
- const roundLarge = "_roundLarge_ps1ki_810";
30
- const roundFull = "_roundFull_ps1ki_814";
31
- const shadowNone = "_shadowNone_ps1ki_818";
32
- const shadowLight = "_shadowLight_ps1ki_822";
33
- const shadowMedium = "_shadowMedium_ps1ki_826";
34
- const shadowStrong = "_shadowStrong_ps1ki_830";
35
- const shadowIntense = "_shadowIntense_ps1ki_834";
36
- const spin = "_spin_ps1ki_1";
37
- const pulse = "_pulse_ps1ki_1";
6
+ const noScroll = "_noScroll_16edy_108";
7
+ const errorMessage = "_errorMessage_16edy_109";
8
+ const loadingContainer = "_loadingContainer_16edy_110";
9
+ const hideScrollbar = "_hideScrollbar_16edy_102";
10
+ const sr_only = "_sr_only_16edy_111";
11
+ const wrapper = "_wrapper_16edy_540";
12
+ const table = "_table_16edy_555";
13
+ const sortable = "_sortable_16edy_594";
14
+ const sort_icon = "_sort_icon_16edy_601";
15
+ const clickable = "_clickable_16edy_615";
16
+ const striped = "_striped_16edy_629";
17
+ const clear = "_clear_16edy_632";
18
+ const primary = "_primary_16edy_678";
19
+ const outline = "_outline_16edy_683";
20
+ const secondary = "_secondary_16edy_693";
21
+ const tertiary = "_tertiary_16edy_708";
22
+ const quaternary = "_quaternary_16edy_723";
23
+ const success = "_success_16edy_753";
24
+ const error = "_error_16edy_109";
25
+ const warning = "_warning_16edy_783";
26
+ const roundNone = "_roundNone_16edy_798";
27
+ const roundSmall = "_roundSmall_16edy_802";
28
+ const roundMedium = "_roundMedium_16edy_806";
29
+ const roundLarge = "_roundLarge_16edy_810";
30
+ const roundFull = "_roundFull_16edy_814";
31
+ const shadowNone = "_shadowNone_16edy_818";
32
+ const shadowLight = "_shadowLight_16edy_822";
33
+ const shadowMedium = "_shadowMedium_16edy_826";
34
+ const shadowStrong = "_shadowStrong_16edy_830";
35
+ const shadowIntense = "_shadowIntense_16edy_834";
36
+ const spin = "_spin_16edy_1";
37
+ const pulse = "_pulse_16edy_1";
38
38
  const styles = {
39
39
  noScroll,
40
40
  errorMessage,
@@ -66,15 +66,15 @@ const styles = {
66
66
  shadowMedium,
67
67
  shadowStrong,
68
68
  shadowIntense,
69
- "fade-in": "_fade-in_ps1ki_1",
70
- "slide-up": "_slide-up_ps1ki_1",
71
- "spin-3d": "_spin-3d_ps1ki_1",
69
+ "fade-in": "_fade-in_16edy_1",
70
+ "slide-up": "_slide-up_16edy_1",
71
+ "spin-3d": "_spin-3d_16edy_1",
72
72
  spin,
73
73
  pulse,
74
- "fade-in-up": "_fade-in-up_ps1ki_1",
75
- "progress-grow": "_progress-grow_ps1ki_1",
76
- "indeterminate-move": "_indeterminate-move_ps1ki_1",
77
- "skeleton-loading": "_skeleton-loading_ps1ki_1"
74
+ "fade-in-up": "_fade-in-up_16edy_1",
75
+ "progress-grow": "_progress-grow_16edy_1",
76
+ "indeterminate-move": "_indeterminate-move_16edy_1",
77
+ "skeleton-loading": "_skeleton-loading_16edy_1"
78
78
  };
79
79
  function DataTableBase({
80
80
  columns,
@@ -231,4 +231,4 @@ DataTable.displayName = "DataTable";
231
231
  export {
232
232
  DataTable as D
233
233
  };
234
- //# sourceMappingURL=DataTable-jUelgv2H.js.map
234
+ //# sourceMappingURL=DataTable-CnvOkZrU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable-jUelgv2H.js","sources":["../../src/components/DataTable/DataTableBase.tsx","../../src/components/DataTable/next/DataTable.tsx"],"sourcesContent":["import { useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { DataTableBaseProps } from \"./DataTable.types\";\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\nfunction DataTableBase<T extends object>({\r\n columns,\r\n data,\r\n onRowClick,\r\n classMap,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n outline = false,\r\n className = \"\",\r\n striped = true,\r\n defaultSortKey,\r\n ariaLabel,\r\n defaultSortOrder = \"asc\",\r\n serverSort = false,\r\n onSortChange,\r\n rowKey,\r\n \"data-testid\": testId = \"data-table\",\r\n}: DataTableBaseProps<T>) {\r\n const [sortKey, setSortKey] = useState<keyof T | undefined>(defaultSortKey);\r\n const [sortOrder, setSortOrder] = useState<\"asc\" | \"desc\">(defaultSortOrder);\r\n\r\n const sortedData = useMemo(() => {\r\n if (serverSort || !sortKey) return data;\r\n\r\n return [...data].sort((a, b) => {\r\n const valA = a[sortKey];\r\n const valB = b[sortKey];\r\n if (valA === valB) return 0;\r\n if (valA == null) return 1;\r\n if (valB == null) return -1;\r\n\r\n const numA = Number(valA);\r\n const numB = Number(valB);\r\n const bothNumeric = !Number.isNaN(numA) && !Number.isNaN(numB);\r\n\r\n if (bothNumeric) {\r\n return sortOrder === \"asc\" ? numA - numB : numB - numA;\r\n }\r\n const cmp = String(valA).localeCompare(String(valB), undefined, {\r\n numeric: true,\r\n });\r\n return sortOrder === \"asc\" ? cmp : -cmp;\r\n });\r\n }, [data, sortKey, sortOrder, serverSort]);\r\n\r\n const handleSort = (key: keyof T) => {\r\n const newOrder = key === sortKey && sortOrder === \"asc\" ? \"desc\" : \"asc\";\r\n setSortKey(key);\r\n setSortOrder(newOrder);\r\n if (serverSort && onSortChange) onSortChange(key, newOrder);\r\n };\r\n\r\n const handleSortKeyDown = (e: KeyboardEvent, key: keyof T) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n handleSort(key);\r\n }\r\n };\r\n\r\n const handleRowKeyDown =\r\n (row: T) => (e: KeyboardEvent<HTMLTableRowElement>) => {\r\n if (!onRowClick) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n onRowClick(row);\r\n }\r\n };\r\n\r\n const captionId = `${testId}-caption`;\r\n\r\n return (\r\n <div\r\n className={combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n striped && classMap.striped,\r\n className\r\n )}\r\n data-testid={testId}\r\n >\r\n <table\r\n className={combineClassNames(\r\n classMap.table,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline\r\n )}\r\n aria-label={ariaLabel}\r\n aria-describedby={captionId}\r\n >\r\n <caption id={captionId} className={classMap.srOnly ?? \"sr_only\"}>\r\n Sortable data table\r\n </caption>\r\n\r\n <thead>\r\n <tr>\r\n {columns.map((col) => {\r\n const isActive = sortKey === col.key;\r\n return (\r\n <th\r\n key={String(col.key)}\r\n scope=\"col\"\r\n tabIndex={col.sortable ? 0 : undefined}\r\n aria-sort={\r\n col.sortable\r\n ? isActive\r\n ? sortOrder === \"asc\"\r\n ? \"ascending\"\r\n : \"descending\"\r\n : \"none\"\r\n : undefined\r\n }\r\n onClick={() => col.sortable && handleSort(col.key)}\r\n onKeyDown={(e) =>\r\n col.sortable && handleSortKeyDown(e, col.key)\r\n }\r\n className={combineClassNames(\r\n col.sortable && classMap.sortable,\r\n classMap.headerCell\r\n )}\r\n >\r\n <span>{col.label}</span>\r\n {col.sortable && (\r\n <span className={classMap.sortIcon} aria-hidden=\"true\">\r\n {isActive ? (sortOrder === \"asc\" ? \"▲\" : \"▼\") : \"⇅\"}\r\n </span>\r\n )}\r\n </th>\r\n );\r\n })}\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n {sortedData.length === 0 ? (\r\n <tr>\r\n <td\r\n className={classMap.emptyCell}\r\n colSpan={columns.length}\r\n // announce emptiness politely\r\n aria-live=\"polite\"\r\n >\r\n No data available\r\n </td>\r\n </tr>\r\n ) : (\r\n sortedData.map((row, idx) => {\r\n const key = rowKey ? rowKey(row) : idx;\r\n return (\r\n <tr\r\n key={key}\r\n className={combineClassNames(\r\n onRowClick && classMap.clickable,\r\n striped && idx % 2 === 1 && classMap.striped\r\n )}\r\n onClick={() => onRowClick?.(row)}\r\n onKeyDown={handleRowKeyDown(row)}\r\n tabIndex={onRowClick ? 0 : undefined}\r\n >\r\n {columns.map((col) => (\r\n <td\r\n key={String(col.key)}\r\n data-label={col.label}\r\n className={classMap.cell}\r\n >\r\n {col.render\r\n ? col.render(row[col.key], row)\r\n : typeof row[col.key] === \"object\"\r\n ? JSON.stringify(row[col.key])\r\n : String(row[col.key] ?? \"\")}\r\n </td>\r\n ))}\r\n </tr>\r\n );\r\n })\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n );\r\n}\r\nDataTableBase.displayName = \"DataTableBase\";\r\nexport default DataTableBase;\r\n","\"use client\";\r\n\r\nimport styles from \"./DataTable.module.scss\";\r\nimport DataTableBase from \"../DataTableBase\";\r\nimport { DataTableProps } from \"../DataTable.types\";\r\n\r\nfunction DataTable<T extends object>(props: DataTableProps<T>) {\r\n return <DataTableBase {...props} classMap={styles} />;\r\n}\r\nDataTable.displayName = \"DataTable\";\r\nexport default DataTable;\r\n"],"names":["outline","striped"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,SAAS,cAAgC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ,gBAAA;AAAA,EACR,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT,QAAQ;AAAA,EACR,SAAAA,WAAU;AAAA,EACV,YAAY;AAAA,EACZ,SAAAC,WAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA,eAAe,SAAS;AAC1B,GAA0B;AACxB,QAAM,CAAC,SAAS,UAAU,IAAI,SAA8B,cAAc;AAC1E,QAAM,CAAC,WAAW,YAAY,IAAI,SAAyB,gBAAgB;AAE3E,QAAM,aAAa,QAAQ,MAAM;AAC/B,QAAI,cAAc,CAAC,QAAS,QAAO;AAEnC,WAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM;AAC9B,YAAM,OAAO,EAAE,OAAO;AACtB,YAAM,OAAO,EAAE,OAAO;AACtB,UAAI,SAAS,KAAM,QAAO;AAC1B,UAAI,QAAQ,KAAM,QAAO;AACzB,UAAI,QAAQ,KAAM,QAAO;AAEzB,YAAM,OAAO,OAAO,IAAI;AACxB,YAAM,OAAO,OAAO,IAAI;AACxB,YAAM,cAAc,CAAC,OAAO,MAAM,IAAI,KAAK,CAAC,OAAO,MAAM,IAAI;AAE7D,UAAI,aAAa;AACf,eAAO,cAAc,QAAQ,OAAO,OAAO,OAAO;AAAA,MACpD;AACA,YAAM,MAAM,OAAO,IAAI,EAAE,cAAc,OAAO,IAAI,GAAG,QAAW;AAAA,QAC9D,SAAS;AAAA,MAAA,CACV;AACD,aAAO,cAAc,QAAQ,MAAM,CAAC;AAAA,IACtC,CAAC;AAAA,EACH,GAAG,CAAC,MAAM,SAAS,WAAW,UAAU,CAAC;AAEzC,QAAM,aAAa,CAAC,QAAiB;AACnC,UAAM,WAAW,QAAQ,WAAW,cAAc,QAAQ,SAAS;AACnE,eAAW,GAAG;AACd,iBAAa,QAAQ;AACrB,QAAI,cAAc,aAAc,cAAa,KAAK,QAAQ;AAAA,EAC5D;AAEA,QAAM,oBAAoB,CAAC,GAAkB,QAAiB;AAC5D,QAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,QAAE,eAAA;AACF,iBAAW,GAAG;AAAA,IAChB;AAAA,EACF;AAEA,QAAM,mBACJ,CAAC,QAAW,CAAC,MAA0C;AACrD,QAAI,CAAC,WAAY;AACjB,QAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,QAAE,eAAA;AACF,iBAAW,GAAG;AAAA,IAChB;AAAA,EACF;AAEF,QAAM,YAAY,GAAG,MAAM;AAE3B,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT,SAAS;AAAA,QACT,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,QAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,QACnDA,YAAW,SAAS;AAAA,QACpB;AAAA,MAAA;AAAA,MAEF,eAAa;AAAA,MAEb,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,YACT,SAAS;AAAA,YACT,SAAS,KAAK;AAAA,YACd,SAAS,KAAK;AAAA,YACdD,YAAW,SAAS;AAAA,UAAA;AAAA,UAEtB,cAAY;AAAA,UACZ,oBAAkB;AAAA,UAElB,UAAA;AAAA,YAAA,oBAAC,aAAQ,IAAI,WAAW,WAAW,SAAS,UAAU,WAAW,UAAA,sBAAA,CAEjE;AAAA,gCAEC,SAAA,EACC,UAAA,oBAAC,QACE,UAAA,QAAQ,IAAI,CAAC,QAAQ;AACpB,oBAAM,WAAW,YAAY,IAAI;AACjC,qBACE;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEC,OAAM;AAAA,kBACN,UAAU,IAAI,WAAW,IAAI;AAAA,kBAC7B,aACE,IAAI,WACA,WACE,cAAc,QACZ,cACA,eACF,SACF;AAAA,kBAEN,SAAS,MAAM,IAAI,YAAY,WAAW,IAAI,GAAG;AAAA,kBACjD,WAAW,CAAC,MACV,IAAI,YAAY,kBAAkB,GAAG,IAAI,GAAG;AAAA,kBAE9C,WAAW;AAAA,oBACT,IAAI,YAAY,SAAS;AAAA,oBACzB,SAAS;AAAA,kBAAA;AAAA,kBAGX,UAAA;AAAA,oBAAA,oBAAC,QAAA,EAAM,cAAI,MAAA,CAAM;AAAA,oBAChB,IAAI,YACH,oBAAC,QAAA,EAAK,WAAW,SAAS,UAAU,eAAY,QAC7C,UAAA,WAAY,cAAc,QAAQ,MAAM,MAAO,IAAA,CAClD;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAzBG,OAAO,IAAI,GAAG;AAAA,cAAA;AAAA,YA6BzB,CAAC,GACH,GACF;AAAA,gCAEC,SAAA,EACE,UAAA,WAAW,WAAW,wBACpB,MAAA,EACC,UAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAW,SAAS;AAAA,gBACpB,SAAS,QAAQ;AAAA,gBAEjB,aAAU;AAAA,gBACX,UAAA;AAAA,cAAA;AAAA,YAAA,GAGH,IAEA,WAAW,IAAI,CAAC,KAAK,QAAQ;AAC3B,oBAAM,MAAM,SAAS,OAAO,GAAG,IAAI;AACnC,qBACE;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEC,WAAW;AAAA,oBACT,cAAc,SAAS;AAAA,oBACvBC,YAAW,MAAM,MAAM,KAAK,SAAS;AAAA,kBAAA;AAAA,kBAEvC,SAAS,MAAM,yCAAa;AAAA,kBAC5B,WAAW,iBAAiB,GAAG;AAAA,kBAC/B,UAAU,aAAa,IAAI;AAAA,kBAE1B,UAAA,QAAQ,IAAI,CAAC,QACZ;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBAEC,cAAY,IAAI;AAAA,sBAChB,WAAW,SAAS;AAAA,sBAEnB,UAAA,IAAI,SACD,IAAI,OAAO,IAAI,IAAI,GAAG,GAAG,GAAG,IAC5B,OAAO,IAAI,IAAI,GAAG,MAAM,WACtB,KAAK,UAAU,IAAI,IAAI,GAAG,CAAC,IAC3B,OAAO,IAAI,IAAI,GAAG,KAAK,EAAE;AAAA,oBAAA;AAAA,oBAR1B,OAAO,IAAI,GAAG;AAAA,kBAAA,CAUtB;AAAA,gBAAA;AAAA,gBArBI;AAAA,cAAA;AAAA,YAwBX,CAAC,EAAA,CAEL;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;AACA,cAAc,cAAc;AC5L5B,SAAS,UAA4B,OAA0B;AAC7D,SAAO,oBAAC,eAAA,EAAe,GAAG,OAAO,UAAU,QAAQ;AACrD;AACA,UAAU,cAAc;"}
1
+ {"version":3,"file":"DataTable-CnvOkZrU.js","sources":["../../src/components/DataTable/DataTableBase.tsx","../../src/components/DataTable/next/DataTable.tsx"],"sourcesContent":["import { useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { DataTableBaseProps } from \"./DataTable.types\";\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\nfunction DataTableBase<T extends object>({\r\n columns,\r\n data,\r\n onRowClick,\r\n classMap,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n outline = false,\r\n className = \"\",\r\n striped = true,\r\n defaultSortKey,\r\n ariaLabel,\r\n defaultSortOrder = \"asc\",\r\n serverSort = false,\r\n onSortChange,\r\n rowKey,\r\n \"data-testid\": testId = \"data-table\",\r\n}: DataTableBaseProps<T>) {\r\n const [sortKey, setSortKey] = useState<keyof T | undefined>(defaultSortKey);\r\n const [sortOrder, setSortOrder] = useState<\"asc\" | \"desc\">(defaultSortOrder);\r\n\r\n const sortedData = useMemo(() => {\r\n if (serverSort || !sortKey) return data;\r\n\r\n return [...data].sort((a, b) => {\r\n const valA = a[sortKey];\r\n const valB = b[sortKey];\r\n if (valA === valB) return 0;\r\n if (valA == null) return 1;\r\n if (valB == null) return -1;\r\n\r\n const numA = Number(valA);\r\n const numB = Number(valB);\r\n const bothNumeric = !Number.isNaN(numA) && !Number.isNaN(numB);\r\n\r\n if (bothNumeric) {\r\n return sortOrder === \"asc\" ? numA - numB : numB - numA;\r\n }\r\n const cmp = String(valA).localeCompare(String(valB), undefined, {\r\n numeric: true,\r\n });\r\n return sortOrder === \"asc\" ? cmp : -cmp;\r\n });\r\n }, [data, sortKey, sortOrder, serverSort]);\r\n\r\n const handleSort = (key: keyof T) => {\r\n const newOrder = key === sortKey && sortOrder === \"asc\" ? \"desc\" : \"asc\";\r\n setSortKey(key);\r\n setSortOrder(newOrder);\r\n if (serverSort && onSortChange) onSortChange(key, newOrder);\r\n };\r\n\r\n const handleSortKeyDown = (e: KeyboardEvent, key: keyof T) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n handleSort(key);\r\n }\r\n };\r\n\r\n const handleRowKeyDown =\r\n (row: T) => (e: KeyboardEvent<HTMLTableRowElement>) => {\r\n if (!onRowClick) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n onRowClick(row);\r\n }\r\n };\r\n\r\n const captionId = `${testId}-caption`;\r\n\r\n return (\r\n <div\r\n className={combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n striped && classMap.striped,\r\n className\r\n )}\r\n data-testid={testId}\r\n >\r\n <table\r\n className={combineClassNames(\r\n classMap.table,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline\r\n )}\r\n aria-label={ariaLabel}\r\n aria-describedby={captionId}\r\n >\r\n <caption id={captionId} className={classMap.srOnly ?? \"sr_only\"}>\r\n Sortable data table\r\n </caption>\r\n\r\n <thead>\r\n <tr>\r\n {columns.map((col) => {\r\n const isActive = sortKey === col.key;\r\n return (\r\n <th\r\n key={String(col.key)}\r\n scope=\"col\"\r\n tabIndex={col.sortable ? 0 : undefined}\r\n aria-sort={\r\n col.sortable\r\n ? isActive\r\n ? sortOrder === \"asc\"\r\n ? \"ascending\"\r\n : \"descending\"\r\n : \"none\"\r\n : undefined\r\n }\r\n onClick={() => col.sortable && handleSort(col.key)}\r\n onKeyDown={(e) =>\r\n col.sortable && handleSortKeyDown(e, col.key)\r\n }\r\n className={combineClassNames(\r\n col.sortable && classMap.sortable,\r\n classMap.headerCell\r\n )}\r\n >\r\n <span>{col.label}</span>\r\n {col.sortable && (\r\n <span className={classMap.sortIcon} aria-hidden=\"true\">\r\n {isActive ? (sortOrder === \"asc\" ? \"▲\" : \"▼\") : \"⇅\"}\r\n </span>\r\n )}\r\n </th>\r\n );\r\n })}\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n {sortedData.length === 0 ? (\r\n <tr>\r\n <td\r\n className={classMap.emptyCell}\r\n colSpan={columns.length}\r\n // announce emptiness politely\r\n aria-live=\"polite\"\r\n >\r\n No data available\r\n </td>\r\n </tr>\r\n ) : (\r\n sortedData.map((row, idx) => {\r\n const key = rowKey ? rowKey(row) : idx;\r\n return (\r\n <tr\r\n key={key}\r\n className={combineClassNames(\r\n onRowClick && classMap.clickable,\r\n striped && idx % 2 === 1 && classMap.striped\r\n )}\r\n onClick={() => onRowClick?.(row)}\r\n onKeyDown={handleRowKeyDown(row)}\r\n tabIndex={onRowClick ? 0 : undefined}\r\n >\r\n {columns.map((col) => (\r\n <td\r\n key={String(col.key)}\r\n data-label={col.label}\r\n className={classMap.cell}\r\n >\r\n {col.render\r\n ? col.render(row[col.key], row)\r\n : typeof row[col.key] === \"object\"\r\n ? JSON.stringify(row[col.key])\r\n : String(row[col.key] ?? \"\")}\r\n </td>\r\n ))}\r\n </tr>\r\n );\r\n })\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n );\r\n}\r\nDataTableBase.displayName = \"DataTableBase\";\r\nexport default DataTableBase;\r\n","\"use client\";\r\n\r\nimport styles from \"./DataTable.module.scss\";\r\nimport DataTableBase from \"../DataTableBase\";\r\nimport { DataTableProps } from \"../DataTable.types\";\r\n\r\nfunction DataTable<T extends object>(props: DataTableProps<T>) {\r\n return <DataTableBase {...props} classMap={styles} />;\r\n}\r\nDataTable.displayName = \"DataTable\";\r\nexport default DataTable;\r\n"],"names":["outline","striped"],"mappings":"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"}
@@ -4,38 +4,38 @@ const React = require("react");
4
4
  const classNames = require("./classNames-BcWMx052.cjs");
5
5
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
6
6
  const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
7
- const noScroll = "_noScroll_ps1ki_108";
8
- const errorMessage = "_errorMessage_ps1ki_109";
9
- const loadingContainer = "_loadingContainer_ps1ki_110";
10
- const hideScrollbar = "_hideScrollbar_ps1ki_102";
11
- const sr_only = "_sr_only_ps1ki_111";
12
- const wrapper = "_wrapper_ps1ki_540";
13
- const table = "_table_ps1ki_555";
14
- const sortable = "_sortable_ps1ki_594";
15
- const sort_icon = "_sort_icon_ps1ki_601";
16
- const clickable = "_clickable_ps1ki_615";
17
- const striped = "_striped_ps1ki_629";
18
- const clear = "_clear_ps1ki_632";
19
- const primary = "_primary_ps1ki_678";
20
- const outline = "_outline_ps1ki_683";
21
- const secondary = "_secondary_ps1ki_693";
22
- const tertiary = "_tertiary_ps1ki_708";
23
- const quaternary = "_quaternary_ps1ki_723";
24
- const success = "_success_ps1ki_753";
25
- const error = "_error_ps1ki_109";
26
- const warning = "_warning_ps1ki_783";
27
- const roundNone = "_roundNone_ps1ki_798";
28
- const roundSmall = "_roundSmall_ps1ki_802";
29
- const roundMedium = "_roundMedium_ps1ki_806";
30
- const roundLarge = "_roundLarge_ps1ki_810";
31
- const roundFull = "_roundFull_ps1ki_814";
32
- const shadowNone = "_shadowNone_ps1ki_818";
33
- const shadowLight = "_shadowLight_ps1ki_822";
34
- const shadowMedium = "_shadowMedium_ps1ki_826";
35
- const shadowStrong = "_shadowStrong_ps1ki_830";
36
- const shadowIntense = "_shadowIntense_ps1ki_834";
37
- const spin = "_spin_ps1ki_1";
38
- const pulse = "_pulse_ps1ki_1";
7
+ const noScroll = "_noScroll_16edy_108";
8
+ const errorMessage = "_errorMessage_16edy_109";
9
+ const loadingContainer = "_loadingContainer_16edy_110";
10
+ const hideScrollbar = "_hideScrollbar_16edy_102";
11
+ const sr_only = "_sr_only_16edy_111";
12
+ const wrapper = "_wrapper_16edy_540";
13
+ const table = "_table_16edy_555";
14
+ const sortable = "_sortable_16edy_594";
15
+ const sort_icon = "_sort_icon_16edy_601";
16
+ const clickable = "_clickable_16edy_615";
17
+ const striped = "_striped_16edy_629";
18
+ const clear = "_clear_16edy_632";
19
+ const primary = "_primary_16edy_678";
20
+ const outline = "_outline_16edy_683";
21
+ const secondary = "_secondary_16edy_693";
22
+ const tertiary = "_tertiary_16edy_708";
23
+ const quaternary = "_quaternary_16edy_723";
24
+ const success = "_success_16edy_753";
25
+ const error = "_error_16edy_109";
26
+ const warning = "_warning_16edy_783";
27
+ const roundNone = "_roundNone_16edy_798";
28
+ const roundSmall = "_roundSmall_16edy_802";
29
+ const roundMedium = "_roundMedium_16edy_806";
30
+ const roundLarge = "_roundLarge_16edy_810";
31
+ const roundFull = "_roundFull_16edy_814";
32
+ const shadowNone = "_shadowNone_16edy_818";
33
+ const shadowLight = "_shadowLight_16edy_822";
34
+ const shadowMedium = "_shadowMedium_16edy_826";
35
+ const shadowStrong = "_shadowStrong_16edy_830";
36
+ const shadowIntense = "_shadowIntense_16edy_834";
37
+ const spin = "_spin_16edy_1";
38
+ const pulse = "_pulse_16edy_1";
39
39
  const styles = {
40
40
  noScroll,
41
41
  errorMessage,
@@ -67,15 +67,15 @@ const styles = {
67
67
  shadowMedium,
68
68
  shadowStrong,
69
69
  shadowIntense,
70
- "fade-in": "_fade-in_ps1ki_1",
71
- "slide-up": "_slide-up_ps1ki_1",
72
- "spin-3d": "_spin-3d_ps1ki_1",
70
+ "fade-in": "_fade-in_16edy_1",
71
+ "slide-up": "_slide-up_16edy_1",
72
+ "spin-3d": "_spin-3d_16edy_1",
73
73
  spin,
74
74
  pulse,
75
- "fade-in-up": "_fade-in-up_ps1ki_1",
76
- "progress-grow": "_progress-grow_ps1ki_1",
77
- "indeterminate-move": "_indeterminate-move_ps1ki_1",
78
- "skeleton-loading": "_skeleton-loading_ps1ki_1"
75
+ "fade-in-up": "_fade-in-up_16edy_1",
76
+ "progress-grow": "_progress-grow_16edy_1",
77
+ "indeterminate-move": "_indeterminate-move_16edy_1",
78
+ "skeleton-loading": "_skeleton-loading_16edy_1"
79
79
  };
80
80
  function DataTableBase({
81
81
  columns,
@@ -230,4 +230,4 @@ function DataTable(props) {
230
230
  }
231
231
  DataTable.displayName = "DataTable";
232
232
  exports.DataTable = DataTable;
233
- //# sourceMappingURL=DataTable-jq0suGoA.cjs.map
233
+ //# sourceMappingURL=DataTable-DQ1QRyZw.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable-jq0suGoA.cjs","sources":["../../src/components/DataTable/DataTableBase.tsx","../../src/components/DataTable/next/DataTable.tsx"],"sourcesContent":["import { useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { DataTableBaseProps } from \"./DataTable.types\";\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\nfunction DataTableBase<T extends object>({\r\n columns,\r\n data,\r\n onRowClick,\r\n classMap,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n outline = false,\r\n className = \"\",\r\n striped = true,\r\n defaultSortKey,\r\n ariaLabel,\r\n defaultSortOrder = \"asc\",\r\n serverSort = false,\r\n onSortChange,\r\n rowKey,\r\n \"data-testid\": testId = \"data-table\",\r\n}: DataTableBaseProps<T>) {\r\n const [sortKey, setSortKey] = useState<keyof T | undefined>(defaultSortKey);\r\n const [sortOrder, setSortOrder] = useState<\"asc\" | \"desc\">(defaultSortOrder);\r\n\r\n const sortedData = useMemo(() => {\r\n if (serverSort || !sortKey) return data;\r\n\r\n return [...data].sort((a, b) => {\r\n const valA = a[sortKey];\r\n const valB = b[sortKey];\r\n if (valA === valB) return 0;\r\n if (valA == null) return 1;\r\n if (valB == null) return -1;\r\n\r\n const numA = Number(valA);\r\n const numB = Number(valB);\r\n const bothNumeric = !Number.isNaN(numA) && !Number.isNaN(numB);\r\n\r\n if (bothNumeric) {\r\n return sortOrder === \"asc\" ? numA - numB : numB - numA;\r\n }\r\n const cmp = String(valA).localeCompare(String(valB), undefined, {\r\n numeric: true,\r\n });\r\n return sortOrder === \"asc\" ? cmp : -cmp;\r\n });\r\n }, [data, sortKey, sortOrder, serverSort]);\r\n\r\n const handleSort = (key: keyof T) => {\r\n const newOrder = key === sortKey && sortOrder === \"asc\" ? \"desc\" : \"asc\";\r\n setSortKey(key);\r\n setSortOrder(newOrder);\r\n if (serverSort && onSortChange) onSortChange(key, newOrder);\r\n };\r\n\r\n const handleSortKeyDown = (e: KeyboardEvent, key: keyof T) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n handleSort(key);\r\n }\r\n };\r\n\r\n const handleRowKeyDown =\r\n (row: T) => (e: KeyboardEvent<HTMLTableRowElement>) => {\r\n if (!onRowClick) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n onRowClick(row);\r\n }\r\n };\r\n\r\n const captionId = `${testId}-caption`;\r\n\r\n return (\r\n <div\r\n className={combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n striped && classMap.striped,\r\n className\r\n )}\r\n data-testid={testId}\r\n >\r\n <table\r\n className={combineClassNames(\r\n classMap.table,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline\r\n )}\r\n aria-label={ariaLabel}\r\n aria-describedby={captionId}\r\n >\r\n <caption id={captionId} className={classMap.srOnly ?? \"sr_only\"}>\r\n Sortable data table\r\n </caption>\r\n\r\n <thead>\r\n <tr>\r\n {columns.map((col) => {\r\n const isActive = sortKey === col.key;\r\n return (\r\n <th\r\n key={String(col.key)}\r\n scope=\"col\"\r\n tabIndex={col.sortable ? 0 : undefined}\r\n aria-sort={\r\n col.sortable\r\n ? isActive\r\n ? sortOrder === \"asc\"\r\n ? \"ascending\"\r\n : \"descending\"\r\n : \"none\"\r\n : undefined\r\n }\r\n onClick={() => col.sortable && handleSort(col.key)}\r\n onKeyDown={(e) =>\r\n col.sortable && handleSortKeyDown(e, col.key)\r\n }\r\n className={combineClassNames(\r\n col.sortable && classMap.sortable,\r\n classMap.headerCell\r\n )}\r\n >\r\n <span>{col.label}</span>\r\n {col.sortable && (\r\n <span className={classMap.sortIcon} aria-hidden=\"true\">\r\n {isActive ? (sortOrder === \"asc\" ? \"▲\" : \"▼\") : \"⇅\"}\r\n </span>\r\n )}\r\n </th>\r\n );\r\n })}\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n {sortedData.length === 0 ? (\r\n <tr>\r\n <td\r\n className={classMap.emptyCell}\r\n colSpan={columns.length}\r\n // announce emptiness politely\r\n aria-live=\"polite\"\r\n >\r\n No data available\r\n </td>\r\n </tr>\r\n ) : (\r\n sortedData.map((row, idx) => {\r\n const key = rowKey ? rowKey(row) : idx;\r\n return (\r\n <tr\r\n key={key}\r\n className={combineClassNames(\r\n onRowClick && classMap.clickable,\r\n striped && idx % 2 === 1 && classMap.striped\r\n )}\r\n onClick={() => onRowClick?.(row)}\r\n onKeyDown={handleRowKeyDown(row)}\r\n tabIndex={onRowClick ? 0 : undefined}\r\n >\r\n {columns.map((col) => (\r\n <td\r\n key={String(col.key)}\r\n data-label={col.label}\r\n className={classMap.cell}\r\n >\r\n {col.render\r\n ? col.render(row[col.key], row)\r\n : typeof row[col.key] === \"object\"\r\n ? JSON.stringify(row[col.key])\r\n : String(row[col.key] ?? \"\")}\r\n </td>\r\n ))}\r\n </tr>\r\n );\r\n })\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n );\r\n}\r\nDataTableBase.displayName = \"DataTableBase\";\r\nexport default DataTableBase;\r\n","\"use client\";\r\n\r\nimport styles from \"./DataTable.module.scss\";\r\nimport DataTableBase from \"../DataTableBase\";\r\nimport { DataTableProps } from \"../DataTable.types\";\r\n\r\nfunction DataTable<T extends object>(props: DataTableProps<T>) {\r\n return <DataTableBase {...props} classMap={styles} />;\r\n}\r\nDataTable.displayName = \"DataTable\";\r\nexport default DataTable;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","outline","striped","useState","useMemo","jsx","combineClassNames","capitalize","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"DataTable-DQ1QRyZw.cjs","sources":["../../src/components/DataTable/DataTableBase.tsx","../../src/components/DataTable/next/DataTable.tsx"],"sourcesContent":["import { useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { DataTableBaseProps } from \"./DataTable.types\";\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\nfunction DataTableBase<T extends object>({\r\n columns,\r\n data,\r\n onRowClick,\r\n classMap,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n outline = false,\r\n className = \"\",\r\n striped = true,\r\n defaultSortKey,\r\n ariaLabel,\r\n defaultSortOrder = \"asc\",\r\n serverSort = false,\r\n onSortChange,\r\n rowKey,\r\n \"data-testid\": testId = \"data-table\",\r\n}: DataTableBaseProps<T>) {\r\n const [sortKey, setSortKey] = useState<keyof T | undefined>(defaultSortKey);\r\n const [sortOrder, setSortOrder] = useState<\"asc\" | \"desc\">(defaultSortOrder);\r\n\r\n const sortedData = useMemo(() => {\r\n if (serverSort || !sortKey) return data;\r\n\r\n return [...data].sort((a, b) => {\r\n const valA = a[sortKey];\r\n const valB = b[sortKey];\r\n if (valA === valB) return 0;\r\n if (valA == null) return 1;\r\n if (valB == null) return -1;\r\n\r\n const numA = Number(valA);\r\n const numB = Number(valB);\r\n const bothNumeric = !Number.isNaN(numA) && !Number.isNaN(numB);\r\n\r\n if (bothNumeric) {\r\n return sortOrder === \"asc\" ? numA - numB : numB - numA;\r\n }\r\n const cmp = String(valA).localeCompare(String(valB), undefined, {\r\n numeric: true,\r\n });\r\n return sortOrder === \"asc\" ? cmp : -cmp;\r\n });\r\n }, [data, sortKey, sortOrder, serverSort]);\r\n\r\n const handleSort = (key: keyof T) => {\r\n const newOrder = key === sortKey && sortOrder === \"asc\" ? \"desc\" : \"asc\";\r\n setSortKey(key);\r\n setSortOrder(newOrder);\r\n if (serverSort && onSortChange) onSortChange(key, newOrder);\r\n };\r\n\r\n const handleSortKeyDown = (e: KeyboardEvent, key: keyof T) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n handleSort(key);\r\n }\r\n };\r\n\r\n const handleRowKeyDown =\r\n (row: T) => (e: KeyboardEvent<HTMLTableRowElement>) => {\r\n if (!onRowClick) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n onRowClick(row);\r\n }\r\n };\r\n\r\n const captionId = `${testId}-caption`;\r\n\r\n return (\r\n <div\r\n className={combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n striped && classMap.striped,\r\n className\r\n )}\r\n data-testid={testId}\r\n >\r\n <table\r\n className={combineClassNames(\r\n classMap.table,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline\r\n )}\r\n aria-label={ariaLabel}\r\n aria-describedby={captionId}\r\n >\r\n <caption id={captionId} className={classMap.srOnly ?? \"sr_only\"}>\r\n Sortable data table\r\n </caption>\r\n\r\n <thead>\r\n <tr>\r\n {columns.map((col) => {\r\n const isActive = sortKey === col.key;\r\n return (\r\n <th\r\n key={String(col.key)}\r\n scope=\"col\"\r\n tabIndex={col.sortable ? 0 : undefined}\r\n aria-sort={\r\n col.sortable\r\n ? isActive\r\n ? sortOrder === \"asc\"\r\n ? \"ascending\"\r\n : \"descending\"\r\n : \"none\"\r\n : undefined\r\n }\r\n onClick={() => col.sortable && handleSort(col.key)}\r\n onKeyDown={(e) =>\r\n col.sortable && handleSortKeyDown(e, col.key)\r\n }\r\n className={combineClassNames(\r\n col.sortable && classMap.sortable,\r\n classMap.headerCell\r\n )}\r\n >\r\n <span>{col.label}</span>\r\n {col.sortable && (\r\n <span className={classMap.sortIcon} aria-hidden=\"true\">\r\n {isActive ? (sortOrder === \"asc\" ? \"▲\" : \"▼\") : \"⇅\"}\r\n </span>\r\n )}\r\n </th>\r\n );\r\n })}\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n {sortedData.length === 0 ? (\r\n <tr>\r\n <td\r\n className={classMap.emptyCell}\r\n colSpan={columns.length}\r\n // announce emptiness politely\r\n aria-live=\"polite\"\r\n >\r\n No data available\r\n </td>\r\n </tr>\r\n ) : (\r\n sortedData.map((row, idx) => {\r\n const key = rowKey ? rowKey(row) : idx;\r\n return (\r\n <tr\r\n key={key}\r\n className={combineClassNames(\r\n onRowClick && classMap.clickable,\r\n striped && idx % 2 === 1 && classMap.striped\r\n )}\r\n onClick={() => onRowClick?.(row)}\r\n onKeyDown={handleRowKeyDown(row)}\r\n tabIndex={onRowClick ? 0 : undefined}\r\n >\r\n {columns.map((col) => (\r\n <td\r\n key={String(col.key)}\r\n data-label={col.label}\r\n className={classMap.cell}\r\n >\r\n {col.render\r\n ? col.render(row[col.key], row)\r\n : typeof row[col.key] === \"object\"\r\n ? JSON.stringify(row[col.key])\r\n : String(row[col.key] ?? \"\")}\r\n </td>\r\n ))}\r\n </tr>\r\n );\r\n })\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n );\r\n}\r\nDataTableBase.displayName = \"DataTableBase\";\r\nexport default DataTableBase;\r\n","\"use client\";\r\n\r\nimport styles from \"./DataTable.module.scss\";\r\nimport DataTableBase from \"../DataTableBase\";\r\nimport { DataTableProps } from \"../DataTable.types\";\r\n\r\nfunction DataTable<T extends object>(props: DataTableProps<T>) {\r\n return <DataTableBase {...props} classMap={styles} />;\r\n}\r\nDataTable.displayName = \"DataTable\";\r\nexport default DataTable;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","outline","striped","useState","useMemo","jsx","combineClassNames","capitalize","jsxs"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const DataTable = require("./DataTable-jq0suGoA.cjs");
2
+ const DataTable = require("./DataTable-DQ1QRyZw.cjs");
3
3
  module.exports = DataTable.DataTable;
4
4
  //# sourceMappingURL=DataTable.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { D } from "./DataTable-jUelgv2H.js";
1
+ import { D } from "./DataTable-CnvOkZrU.js";
2
2
  export {
3
3
  D as default
4
4
  };