boreal-ui 0.0.76 → 0.0.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/README.md +0 -2
  2. package/dist/core/boreal-ui.css +13739 -30851
  3. package/dist/next/{Accordion-Bg8V6T38.js → Accordion-ez41BXtb.js} +73 -94
  4. package/dist/next/{Accordion-Bg8V6T38.js.map → Accordion-ez41BXtb.js.map} +1 -1
  5. package/dist/next/{Accordion-BEa1jxTt.cjs → Accordion-yvdIcWj9.cjs} +74 -95
  6. package/dist/next/{Accordion-BEa1jxTt.cjs.map → Accordion-yvdIcWj9.cjs.map} +1 -1
  7. package/dist/next/Accordion.cjs.js +1 -1
  8. package/dist/next/Accordion.css +593 -0
  9. package/dist/next/Accordion.js +1 -1
  10. package/dist/next/{Avatar-DL_juTQA.cjs → Avatar-C-Z-ZPt8.cjs} +82 -82
  11. package/dist/next/{Avatar-DL_juTQA.cjs.map → Avatar-C-Z-ZPt8.cjs.map} +1 -1
  12. package/dist/next/{Avatar-nnjhILk-.js → Avatar-DymaVXDv.js} +81 -81
  13. package/dist/next/{Avatar-nnjhILk-.js.map → Avatar-DymaVXDv.js.map} +1 -1
  14. package/dist/next/Avatar.cjs.js +1 -1
  15. package/dist/next/Avatar.css +444 -0
  16. package/dist/next/Avatar.js +1 -1
  17. package/dist/next/{Badge-DzcjI-JI.cjs → Badge-56GHYTQN.cjs} +2 -2
  18. package/dist/next/{Badge-DzcjI-JI.cjs.map → Badge-56GHYTQN.cjs.map} +1 -1
  19. package/dist/next/{Badge-uyqxj7ag.js → Badge-BqVwp5Qj.js} +2 -2
  20. package/dist/next/{Badge-uyqxj7ag.js.map → Badge-BqVwp5Qj.js.map} +1 -1
  21. package/dist/next/Badge.cjs.js +1 -1
  22. package/dist/next/Badge.css +640 -0
  23. package/dist/next/Badge.js +1 -1
  24. package/dist/next/{Breadcrumbs-CuvOmgFe.cjs → Breadcrumbs-33eZmvpJ.cjs} +3 -3
  25. package/dist/next/{Breadcrumbs-CuvOmgFe.cjs.map → Breadcrumbs-33eZmvpJ.cjs.map} +1 -1
  26. package/dist/next/{Breadcrumbs-D0AmJB4U.js → Breadcrumbs-eetAtAHU.js} +3 -3
  27. package/dist/next/{Breadcrumbs-D0AmJB4U.js.map → Breadcrumbs-eetAtAHU.js.map} +1 -1
  28. package/dist/next/Breadcrumbs.cjs.js +1 -1
  29. package/dist/next/Breadcrumbs.css +579 -0
  30. package/dist/next/Breadcrumbs.js +1 -1
  31. package/dist/next/{Button-BZmph-Qr.cjs → Button-CmH6HYjc.cjs} +42 -52
  32. package/dist/next/{Button-BZmph-Qr.cjs.map → Button-CmH6HYjc.cjs.map} +1 -1
  33. package/dist/next/{Button-DWpImTmr.js → Button-oSOXL3At.js} +41 -51
  34. package/dist/next/{Button-DWpImTmr.js.map → Button-oSOXL3At.js.map} +1 -1
  35. package/dist/next/Button.cjs.js +1 -1
  36. package/dist/next/Button.css +721 -0
  37. package/dist/next/Button.js +1 -1
  38. package/dist/next/{Card-DnZOsQLP.js → Card-CO--D_GK.js} +65 -75
  39. package/dist/next/{Card-DnZOsQLP.js.map → Card-CO--D_GK.js.map} +1 -1
  40. package/dist/next/{Card-oPTXIvsb.cjs → Card-o8DszZPj.cjs} +65 -75
  41. package/dist/next/{Card-oPTXIvsb.cjs.map → Card-o8DszZPj.cjs.map} +1 -1
  42. package/dist/next/Card.cjs.js +1 -1
  43. package/dist/next/Card.css +993 -0
  44. package/dist/next/Card.js +1 -1
  45. package/dist/next/CheckBox.cjs.js +1 -1
  46. package/dist/next/CheckBox.js +1 -1
  47. package/dist/next/{Checkbox-CRg5oEdB.js → Checkbox-KIXViPTB.js} +45 -55
  48. package/dist/next/{Checkbox-CRg5oEdB.js.map → Checkbox-KIXViPTB.js.map} +1 -1
  49. package/dist/next/{Checkbox-DXNxt-4b.cjs → Checkbox-UqOL3aqk.cjs} +45 -55
  50. package/dist/next/{Checkbox-DXNxt-4b.cjs.map → Checkbox-UqOL3aqk.cjs.map} +1 -1
  51. package/dist/next/Checkbox.css +756 -0
  52. package/dist/next/{Chip-DpMTNARP.cjs → Chip-BQv3NoJL.cjs} +47 -57
  53. package/dist/next/{Chip-DpMTNARP.cjs.map → Chip-BQv3NoJL.cjs.map} +1 -1
  54. package/dist/next/{Chip-Cg7khsSn.js → Chip-D-QH1huh.js} +47 -57
  55. package/dist/next/{Chip-Cg7khsSn.js.map → Chip-D-QH1huh.js.map} +1 -1
  56. package/dist/next/Chip.cjs.js +1 -1
  57. package/dist/next/Chip.css +598 -0
  58. package/dist/next/Chip.js +1 -1
  59. package/dist/next/{CircularProgress-CzFUYDX1.cjs → CircularProgress-BG83Q-uO.cjs} +33 -43
  60. package/dist/next/{CircularProgress-CzFUYDX1.cjs.map → CircularProgress-BG83Q-uO.cjs.map} +1 -1
  61. package/dist/next/{CircularProgress-Dn1VXFsq.js → CircularProgress-Bfanw-2S.js} +33 -43
  62. package/dist/next/{CircularProgress-Dn1VXFsq.js.map → CircularProgress-Bfanw-2S.js.map} +1 -1
  63. package/dist/next/CircularProgress.cjs.js +1 -1
  64. package/dist/next/CircularProgress.css +528 -0
  65. package/dist/next/CircularProgress.js +1 -1
  66. package/dist/next/{ColorPicker-CCzSZDjx.js → ColorPicker-BJfyM0Ay.js} +26 -47
  67. package/dist/next/{ColorPicker-CCzSZDjx.js.map → ColorPicker-BJfyM0Ay.js.map} +1 -1
  68. package/dist/next/{ColorPicker-ByPKPsMz.cjs → ColorPicker-DmubVH4p.cjs} +26 -47
  69. package/dist/next/{ColorPicker-ByPKPsMz.cjs.map → ColorPicker-DmubVH4p.cjs.map} +1 -1
  70. package/dist/next/ColorPicker.cjs.js +1 -1
  71. package/dist/next/ColorPicker.css +346 -0
  72. package/dist/next/ColorPicker.js +1 -1
  73. package/dist/next/{CommandPalette-D6R9_gmo.js → CommandPalette-CNaU5jTY.js} +38 -48
  74. package/dist/next/{CommandPalette-D6R9_gmo.js.map → CommandPalette-CNaU5jTY.js.map} +1 -1
  75. package/dist/next/{CommandPalette-BvjlLE14.cjs → CommandPalette-_Lpb0UOI.cjs} +38 -48
  76. package/dist/next/{CommandPalette-BvjlLE14.cjs.map → CommandPalette-_Lpb0UOI.cjs.map} +1 -1
  77. package/dist/next/CommandPalette.cjs.js +1 -1
  78. package/dist/next/CommandPalette.css +624 -0
  79. package/dist/next/CommandPalette.js +1 -1
  80. package/dist/next/{DataTable-Bt6D__oo.cjs → DataTable-BAwMYdQb.cjs} +29 -50
  81. package/dist/next/{DataTable-Bt6D__oo.cjs.map → DataTable-BAwMYdQb.cjs.map} +1 -1
  82. package/dist/next/{DataTable-CZj_U9rg.js → DataTable-F9mtABNi.js} +28 -49
  83. package/dist/next/{DataTable-CZj_U9rg.js.map → DataTable-F9mtABNi.js.map} +1 -1
  84. package/dist/next/DataTable.cjs.js +1 -1
  85. package/dist/next/DataTable.css +444 -0
  86. package/dist/next/DataTable.js +1 -1
  87. package/dist/next/{DateTimePicker-Cols3qxt.cjs → DateTimePicker-CU-b9irX.cjs} +34 -55
  88. package/dist/next/{DateTimePicker-Cols3qxt.cjs.map → DateTimePicker-CU-b9irX.cjs.map} +1 -1
  89. package/dist/next/{DateTimePicker-DB2exnHd.js → DateTimePicker-WVVLqcd9.js} +34 -55
  90. package/dist/next/{DateTimePicker-DB2exnHd.js.map → DateTimePicker-WVVLqcd9.js.map} +1 -1
  91. package/dist/next/DateTimePicker.cjs.js +1 -1
  92. package/dist/next/DateTimePicker.css +563 -0
  93. package/dist/next/DateTimePicker.js +1 -1
  94. package/dist/next/{Divider-Dr0xlon0.cjs → Divider-BGxUapmt.cjs} +16 -37
  95. package/dist/next/{Divider-Dr0xlon0.cjs.map → Divider-BGxUapmt.cjs.map} +1 -1
  96. package/dist/next/{Divider-DXGze_D2.js → Divider-BXSDTRTU.js} +16 -37
  97. package/dist/next/{Divider-DXGze_D2.js.map → Divider-BXSDTRTU.js.map} +1 -1
  98. package/dist/next/Divider.cjs.js +1 -1
  99. package/dist/next/Divider.css +248 -0
  100. package/dist/next/Divider.js +1 -1
  101. package/dist/next/{Dropdown-B7PgWHlY.js → Dropdown-B7vrHg0z.js} +3 -3
  102. package/dist/next/{Dropdown-B7PgWHlY.js.map → Dropdown-B7vrHg0z.js.map} +1 -1
  103. package/dist/next/{Dropdown-kQLhr7_M.cjs → Dropdown-CUYItZDk.cjs} +3 -3
  104. package/dist/next/{Dropdown-kQLhr7_M.cjs.map → Dropdown-CUYItZDk.cjs.map} +1 -1
  105. package/dist/next/Dropdown.cjs.js +1 -1
  106. package/dist/next/Dropdown.css +317 -0
  107. package/dist/next/Dropdown.js +1 -1
  108. package/dist/next/{EmptyState-DCCDQWOQ.js → EmptyState-MT9_qwrB.js} +44 -33
  109. package/dist/next/{EmptyState-DCCDQWOQ.js.map → EmptyState-MT9_qwrB.js.map} +1 -1
  110. package/dist/next/{EmptyState-BH1X81TH.cjs → EmptyState-sh7Vn6eC.cjs} +44 -33
  111. package/dist/next/{EmptyState-BH1X81TH.cjs.map → EmptyState-sh7Vn6eC.cjs.map} +1 -1
  112. package/dist/next/EmptyState.cjs.js +1 -1
  113. package/dist/next/EmptyState.css +663 -0
  114. package/dist/next/EmptyState.js +1 -1
  115. package/dist/next/{FileUpload-BQW5ol7P.js → FileUpload-Bvj5JEBv.js} +48 -58
  116. package/dist/next/{FileUpload-BQW5ol7P.js.map → FileUpload-Bvj5JEBv.js.map} +1 -1
  117. package/dist/next/{FileUpload-C9Ke2cTs.cjs → FileUpload-CD_i5Md2.cjs} +48 -58
  118. package/dist/next/{FileUpload-C9Ke2cTs.cjs.map → FileUpload-CD_i5Md2.cjs.map} +1 -1
  119. package/dist/next/FileUpload.cjs.js +1 -1
  120. package/dist/next/FileUpload.css +474 -0
  121. package/dist/next/FileUpload.js +1 -1
  122. package/dist/next/{Footer-Dl_wQwsb.js → Footer-Bdu_9H3p.js} +38 -48
  123. package/dist/next/{Footer-Dl_wQwsb.js.map → Footer-Bdu_9H3p.js.map} +1 -1
  124. package/dist/next/{Footer-i9rgxATK.cjs → Footer-DJjzgwpc.cjs} +38 -48
  125. package/dist/next/{Footer-i9rgxATK.cjs.map → Footer-DJjzgwpc.cjs.map} +1 -1
  126. package/dist/next/Footer.cjs.js +1 -1
  127. package/dist/next/Footer.css +493 -0
  128. package/dist/next/Footer.js +1 -1
  129. package/dist/next/{FormGroup-B4Xb3X61.cjs → FormGroup-BWJAlt3K.cjs} +28 -36
  130. package/dist/next/{FormGroup-B4Xb3X61.cjs.map → FormGroup-BWJAlt3K.cjs.map} +1 -1
  131. package/dist/next/{FormGroup-AHYiWnkX.js → FormGroup-QrGjujWn.js} +28 -36
  132. package/dist/next/{FormGroup-AHYiWnkX.js.map → FormGroup-QrGjujWn.js.map} +1 -1
  133. package/dist/next/FormGroup.cjs.js +1 -1
  134. package/dist/next/FormGroup.css +419 -0
  135. package/dist/next/FormGroup.js +1 -1
  136. package/dist/next/{IconButton-BWw3WPaS.js → IconButton-0JJ1aiqr.js} +2 -2
  137. package/dist/next/{IconButton-BWw3WPaS.js.map → IconButton-0JJ1aiqr.js.map} +1 -1
  138. package/dist/next/{IconButton-4ySBEhn1.cjs → IconButton-C66aQhKe.cjs} +2 -2
  139. package/dist/next/{IconButton-4ySBEhn1.cjs.map → IconButton-C66aQhKe.cjs.map} +1 -1
  140. package/dist/next/IconButton.cjs.js +1 -1
  141. package/dist/next/IconButton.css +570 -0
  142. package/dist/next/IconButton.js +1 -1
  143. package/dist/next/{MarkdownRenderer-CO_rlPOB.cjs → MarkdownRenderer-BQ1-Kd73.cjs} +25 -14
  144. package/dist/next/{MarkdownRenderer-CO_rlPOB.cjs.map → MarkdownRenderer-BQ1-Kd73.cjs.map} +1 -1
  145. package/dist/next/{MarkdownRenderer-CGnuIkVY.js → MarkdownRenderer-CmK00as_.js} +25 -14
  146. package/dist/next/{MarkdownRenderer-CGnuIkVY.js.map → MarkdownRenderer-CmK00as_.js.map} +1 -1
  147. package/dist/next/MarkdownRenderer.cjs.js +1 -1
  148. package/dist/next/MarkdownRenderer.css +483 -0
  149. package/dist/next/MarkdownRenderer.js +1 -1
  150. package/dist/next/{MessagePopup-D_gZy6eH.cjs → MessagePopup-CizqwWmH.cjs} +4 -4
  151. package/dist/next/{MessagePopup-D_gZy6eH.cjs.map → MessagePopup-CizqwWmH.cjs.map} +1 -1
  152. package/dist/next/{MessagePopup-DIrdAeyg.js → MessagePopup-DLodDCIa.js} +4 -4
  153. package/dist/next/{MessagePopup-DIrdAeyg.js.map → MessagePopup-DLodDCIa.js.map} +1 -1
  154. package/dist/next/MessagePopup.cjs.js +1 -1
  155. package/dist/next/MessagePopup.css +296 -0
  156. package/dist/next/MessagePopup.js +1 -1
  157. package/dist/next/{MetricBox-CeONzyEu.cjs → MetricBox-C55LoIfn.cjs} +43 -53
  158. package/dist/next/{MetricBox-CeONzyEu.cjs.map → MetricBox-C55LoIfn.cjs.map} +1 -1
  159. package/dist/next/{MetricBox-D9-RmZoy.js → MetricBox-CHNmWcTq.js} +43 -53
  160. package/dist/next/{MetricBox-D9-RmZoy.js.map → MetricBox-CHNmWcTq.js.map} +1 -1
  161. package/dist/next/MetricBox.cjs.js +1 -1
  162. package/dist/next/MetricBox.css +635 -0
  163. package/dist/next/MetricBox.js +1 -1
  164. package/dist/next/{Modal-Dre8TMtr.js → Modal-BajWiIo7.js} +3 -3
  165. package/dist/next/{Modal-Dre8TMtr.js.map → Modal-BajWiIo7.js.map} +1 -1
  166. package/dist/next/{Modal-D7hNuMII.cjs → Modal-j59Cj0t1.cjs} +3 -3
  167. package/dist/next/{Modal-D7hNuMII.cjs.map → Modal-j59Cj0t1.cjs.map} +1 -1
  168. package/dist/next/Modal.cjs.js +1 -1
  169. package/dist/next/Modal.css +320 -0
  170. package/dist/next/Modal.js +1 -1
  171. package/dist/next/{NavBar-dpbPYT0w.js → NavBar-B0G7ZuqP.js} +33 -43
  172. package/dist/next/{NavBar-dpbPYT0w.js.map → NavBar-B0G7ZuqP.js.map} +1 -1
  173. package/dist/next/{NavBar-d-Hx7gkg.cjs → NavBar-Cd6FlBPY.cjs} +33 -43
  174. package/dist/next/{NavBar-d-Hx7gkg.cjs.map → NavBar-Cd6FlBPY.cjs.map} +1 -1
  175. package/dist/next/NavBar.cjs.js +1 -1
  176. package/dist/next/NavBar.css +498 -0
  177. package/dist/next/NavBar.js +1 -1
  178. package/dist/next/{NotificationCenter-BrAzv2oD.js → NotificationCenter-BDd4Zr8Y.js} +39 -49
  179. package/dist/next/{NotificationCenter-BrAzv2oD.js.map → NotificationCenter-BDd4Zr8Y.js.map} +1 -1
  180. package/dist/next/{NotificationCenter-JIX-pouI.cjs → NotificationCenter-obd1jF2n.cjs} +39 -49
  181. package/dist/next/{NotificationCenter-JIX-pouI.cjs.map → NotificationCenter-obd1jF2n.cjs.map} +1 -1
  182. package/dist/next/NotificationCenter.cjs.js +1 -1
  183. package/dist/next/NotificationCenter.css +475 -0
  184. package/dist/next/NotificationCenter.js +1 -1
  185. package/dist/next/{Pager-DcibmVu1.cjs → Pager-8dIVqCGz.cjs} +4 -4
  186. package/dist/next/{Pager-DcibmVu1.cjs.map → Pager-8dIVqCGz.cjs.map} +1 -1
  187. package/dist/next/{Pager-DFKfUn1s.js → Pager-C7n5x44P.js} +4 -4
  188. package/dist/next/{Pager-DFKfUn1s.js.map → Pager-C7n5x44P.js.map} +1 -1
  189. package/dist/next/Pager.cjs.js +1 -1
  190. package/dist/next/Pager.css +173 -0
  191. package/dist/next/Pager.js +1 -1
  192. package/dist/next/{PopOver-CpSdILYS.cjs → PopOver-D8BwV2PM.cjs} +36 -46
  193. package/dist/next/{PopOver-CpSdILYS.cjs.map → PopOver-D8BwV2PM.cjs.map} +1 -1
  194. package/dist/next/{PopOver-CUON_Abe.js → PopOver-Dmf41W2o.js} +36 -46
  195. package/dist/next/{PopOver-CUON_Abe.js.map → PopOver-Dmf41W2o.js.map} +1 -1
  196. package/dist/next/PopOver.cjs.js +1 -1
  197. package/dist/next/PopOver.css +417 -0
  198. package/dist/next/PopOver.js +1 -1
  199. package/dist/next/{ProgressBar-CMYDs8uL.js → ProgressBar-BgCHpDo8.js} +44 -54
  200. package/dist/next/{ProgressBar-CMYDs8uL.js.map → ProgressBar-BgCHpDo8.js.map} +1 -1
  201. package/dist/next/{ProgressBar-sg1jxDfy.cjs → ProgressBar-DUarHTA6.cjs} +44 -54
  202. package/dist/next/{ProgressBar-sg1jxDfy.cjs.map → ProgressBar-DUarHTA6.cjs.map} +1 -1
  203. package/dist/next/ProgressBar.cjs.js +1 -1
  204. package/dist/next/ProgressBar.css +441 -0
  205. package/dist/next/ProgressBar.js +1 -1
  206. package/dist/next/{RadioButton-z26U6POV.js → RadioButton-BN63UX0c.js} +34 -44
  207. package/dist/next/{RadioButton-z26U6POV.js.map → RadioButton-BN63UX0c.js.map} +1 -1
  208. package/dist/next/{RadioButton-X5L9U53Y.cjs → RadioButton-Dla9uVC6.cjs} +34 -44
  209. package/dist/next/{RadioButton-X5L9U53Y.cjs.map → RadioButton-Dla9uVC6.cjs.map} +1 -1
  210. package/dist/next/RadioButton.cjs.js +1 -1
  211. package/dist/next/RadioButton.css +454 -0
  212. package/dist/next/RadioButton.js +1 -1
  213. package/dist/next/{Rating-DXYBYXmx.cjs → Rating-B8A_4Z44.cjs} +30 -40
  214. package/dist/next/{Rating-DXYBYXmx.cjs.map → Rating-B8A_4Z44.cjs.map} +1 -1
  215. package/dist/next/{Rating-D6JEDvn4.js → Rating-CCZoQJEB.js} +30 -40
  216. package/dist/next/{Rating-D6JEDvn4.js.map → Rating-CCZoQJEB.js.map} +1 -1
  217. package/dist/next/Rating.cjs.js +1 -1
  218. package/dist/next/Rating.css +402 -0
  219. package/dist/next/Rating.js +1 -1
  220. package/dist/next/{ScrollToTop-Cw7LXubo.js → ScrollToTop-C7ThHvxg.js} +2 -2
  221. package/dist/next/{ScrollToTop-Cw7LXubo.js.map → ScrollToTop-C7ThHvxg.js.map} +1 -1
  222. package/dist/next/{ScrollToTop-CBRFQNC0.cjs → ScrollToTop-CJxWoVhg.cjs} +2 -2
  223. package/dist/next/{ScrollToTop-CBRFQNC0.cjs.map → ScrollToTop-CJxWoVhg.cjs.map} +1 -1
  224. package/dist/next/ScrollToTop.cjs.js +1 -1
  225. package/dist/next/ScrollToTop.css +215 -0
  226. package/dist/next/ScrollToTop.js +1 -1
  227. package/dist/next/{Select-DAD4xA1b.cjs → Select-CiyDDVhq.cjs} +2 -2
  228. package/dist/next/{Select-DAD4xA1b.cjs.map → Select-CiyDDVhq.cjs.map} +1 -1
  229. package/dist/next/{Select-b8fO1q2K.js → Select-D4bH7djH.js} +2 -2
  230. package/dist/next/{Select-b8fO1q2K.js.map → Select-D4bH7djH.js.map} +1 -1
  231. package/dist/next/Select.cjs.js +1 -1
  232. package/dist/next/Select.css +459 -0
  233. package/dist/next/Select.js +1 -1
  234. package/dist/next/{Sidebar-BwW51HwF.js → Sidebar-3dbu221x.js} +2 -2
  235. package/dist/next/{Sidebar-BwW51HwF.js.map → Sidebar-3dbu221x.js.map} +1 -1
  236. package/dist/next/{Sidebar-U5BQKtKR.cjs → Sidebar-DpUTsAza.cjs} +2 -2
  237. package/dist/next/{Sidebar-U5BQKtKR.cjs.map → Sidebar-DpUTsAza.cjs.map} +1 -1
  238. package/dist/next/Sidebar.cjs.js +1 -1
  239. package/dist/next/Sidebar.css +515 -0
  240. package/dist/next/Sidebar.js +1 -1
  241. package/dist/next/{Skeleton-N1-8bK7i.cjs → Skeleton-B0mlVpUX.cjs} +22 -32
  242. package/dist/next/{Skeleton-N1-8bK7i.cjs.map → Skeleton-B0mlVpUX.cjs.map} +1 -1
  243. package/dist/next/{Skeleton-Bk8l48-D.js → Skeleton-BiBul6J3.js} +21 -31
  244. package/dist/next/{Skeleton-Bk8l48-D.js.map → Skeleton-BiBul6J3.js.map} +1 -1
  245. package/dist/next/Skeleton.cjs.js +1 -1
  246. package/dist/next/Skeleton.css +288 -0
  247. package/dist/next/Skeleton.js +1 -1
  248. package/dist/next/{Slider-DOGkUQYT.js → Slider-B4G0kHQA.js} +38 -48
  249. package/dist/next/{Slider-DOGkUQYT.js.map → Slider-B4G0kHQA.js.map} +1 -1
  250. package/dist/next/{Slider-BPtajU2m.cjs → Slider-Cli7b9xm.cjs} +39 -49
  251. package/dist/next/{Slider-BPtajU2m.cjs.map → Slider-Cli7b9xm.cjs.map} +1 -1
  252. package/dist/next/Slider.cjs.js +1 -1
  253. package/dist/next/Slider.css +645 -0
  254. package/dist/next/Slider.js +1 -1
  255. package/dist/next/{Spinner-CmaoTjNr.cjs → Spinner-BSjLK_0H.cjs} +33 -43
  256. package/dist/next/{Spinner-CmaoTjNr.cjs.map → Spinner-BSjLK_0H.cjs.map} +1 -1
  257. package/dist/next/{Spinner-D7jfVZGm.js → Spinner-C9Xiao9p.js} +32 -42
  258. package/dist/next/{Spinner-D7jfVZGm.js.map → Spinner-C9Xiao9p.js.map} +1 -1
  259. package/dist/next/Spinner.cjs.js +1 -1
  260. package/dist/next/Spinner.css +390 -0
  261. package/dist/next/Spinner.js +1 -1
  262. package/dist/next/{Stepper-C0cNzpY8.cjs → Stepper-CpgJBKz7.cjs} +36 -46
  263. package/dist/next/{Stepper-C0cNzpY8.cjs.map → Stepper-CpgJBKz7.cjs.map} +1 -1
  264. package/dist/next/{Stepper-CSh2wccK.js → Stepper-em6Gl32O.js} +36 -46
  265. package/dist/next/{Stepper-CSh2wccK.js.map → Stepper-em6Gl32O.js.map} +1 -1
  266. package/dist/next/Stepper.cjs.js +1 -1
  267. package/dist/next/Stepper.css +404 -0
  268. package/dist/next/Stepper.js +1 -1
  269. package/dist/next/{Tabs-Dors0bVs.js → Tabs-B5GbuYuA.js} +2 -2
  270. package/dist/next/{Tabs-Dors0bVs.js.map → Tabs-B5GbuYuA.js.map} +1 -1
  271. package/dist/next/{Tabs-B6zeG5AB.cjs → Tabs-or9GGDS3.cjs} +2 -2
  272. package/dist/next/{Tabs-B6zeG5AB.cjs.map → Tabs-or9GGDS3.cjs.map} +1 -1
  273. package/dist/next/Tabs.cjs.js +1 -1
  274. package/dist/next/Tabs.css +407 -0
  275. package/dist/next/Tabs.js +1 -1
  276. package/dist/next/{TagInput-V3zvXcNq.js → TagInput-8nVGDluu.js} +44 -54
  277. package/dist/next/{TagInput-V3zvXcNq.js.map → TagInput-8nVGDluu.js.map} +1 -1
  278. package/dist/next/{TagInput-ceV9Jjqe.cjs → TagInput-DVmBv7Mn.cjs} +44 -54
  279. package/dist/next/{TagInput-ceV9Jjqe.cjs.map → TagInput-DVmBv7Mn.cjs.map} +1 -1
  280. package/dist/next/TagInput.cjs.js +1 -1
  281. package/dist/next/TagInput.css +521 -0
  282. package/dist/next/TagInput.js +1 -1
  283. package/dist/next/{TextArea-BXmbrq4-.cjs → TextArea-Bh0FdkP2.cjs} +2 -2
  284. package/dist/next/{TextArea-BXmbrq4-.cjs.map → TextArea-Bh0FdkP2.cjs.map} +1 -1
  285. package/dist/next/{TextArea-BSO1_gaS.js → TextArea-CQgoM2yj.js} +2 -2
  286. package/dist/next/{TextArea-BSO1_gaS.js.map → TextArea-CQgoM2yj.js.map} +1 -1
  287. package/dist/next/TextArea.cjs.js +1 -1
  288. package/dist/next/TextArea.css +450 -0
  289. package/dist/next/TextArea.js +1 -1
  290. package/dist/next/{TextInput-7nN8g78V.cjs → TextInput-BRl37zMW.cjs} +3 -3
  291. package/dist/next/{TextInput-7nN8g78V.cjs.map → TextInput-BRl37zMW.cjs.map} +1 -1
  292. package/dist/next/{TextInput-yUHEWbdK.js → TextInput-CKM34-yu.js} +3 -3
  293. package/dist/next/{TextInput-yUHEWbdK.js.map → TextInput-CKM34-yu.js.map} +1 -1
  294. package/dist/next/TextInput.cjs.js +1 -1
  295. package/dist/next/TextInput.css +438 -0
  296. package/dist/next/TextInput.js +1 -1
  297. package/dist/next/{Timeline-BTsKMULd.js → Timeline-BF_ru3Qq.js} +2 -2
  298. package/dist/next/{Timeline-BTsKMULd.js.map → Timeline-BF_ru3Qq.js.map} +1 -1
  299. package/dist/next/{Timeline-Dep_oZrh.cjs → Timeline-uKeDlojT.cjs} +2 -2
  300. package/dist/next/{Timeline-Dep_oZrh.cjs.map → Timeline-uKeDlojT.cjs.map} +1 -1
  301. package/dist/next/Timeline.cjs.js +1 -1
  302. package/dist/next/Timeline.css +455 -0
  303. package/dist/next/Timeline.js +1 -1
  304. package/dist/next/{Toggle-BomUbOZa.js → Toggle-CegN5JEB.js} +2 -2
  305. package/dist/next/{Toggle-BomUbOZa.js.map → Toggle-CegN5JEB.js.map} +1 -1
  306. package/dist/next/{Toggle-C9uZG3i5.cjs → Toggle-CfIi--aC.cjs} +2 -2
  307. package/dist/next/{Toggle-C9uZG3i5.cjs.map → Toggle-CfIi--aC.cjs.map} +1 -1
  308. package/dist/next/Toggle.cjs.js +1 -1
  309. package/dist/next/Toggle.css +464 -0
  310. package/dist/next/Toggle.js +1 -1
  311. package/dist/next/{Toolbar-Be-YQqmX.js → Toolbar-DqBlTLsk.js} +30 -40
  312. package/dist/next/{Toolbar-Be-YQqmX.js.map → Toolbar-DqBlTLsk.js.map} +1 -1
  313. package/dist/next/{Toolbar-roQbIEcD.cjs → Toolbar-DqsQznCj.cjs} +31 -41
  314. package/dist/next/{Toolbar-roQbIEcD.cjs.map → Toolbar-DqsQznCj.cjs.map} +1 -1
  315. package/dist/next/Toolbar.cjs.js +1 -1
  316. package/dist/next/Toolbar.css +367 -0
  317. package/dist/next/Toolbar.js +1 -1
  318. package/dist/next/{Tooltip-DVI61ebD.cjs → Tooltip-LnIFKvJC.cjs} +35 -45
  319. package/dist/next/{Tooltip-DVI61ebD.cjs.map → Tooltip-LnIFKvJC.cjs.map} +1 -1
  320. package/dist/next/{Tooltip-lxpnIfpO.js → Tooltip-o7L3wCNR.js} +34 -44
  321. package/dist/next/{Tooltip-lxpnIfpO.js.map → Tooltip-o7L3wCNR.js.map} +1 -1
  322. package/dist/next/Tooltip.cjs.js +1 -1
  323. package/dist/next/Tooltip.css +529 -0
  324. package/dist/next/Tooltip.js +1 -1
  325. package/dist/next/{Typography-B6VNZtxH.cjs → Typography-BAQ61z2R.cjs} +2 -2
  326. package/dist/next/{Typography-B6VNZtxH.cjs.map → Typography-BAQ61z2R.cjs.map} +1 -1
  327. package/dist/next/{Typography-BdS7h4Eq.js → Typography-BDswZ9eq.js} +2 -2
  328. package/dist/next/{Typography-BdS7h4Eq.js.map → Typography-BDswZ9eq.js.map} +1 -1
  329. package/dist/next/Typography.cjs.js +1 -1
  330. package/dist/next/Typography.css +294 -0
  331. package/dist/next/Typography.js +1 -1
  332. package/dist/next/globals.css +674 -0
  333. package/dist/next/index.cjs.js +66 -76
  334. package/dist/next/index.cjs.js.map +1 -1
  335. package/dist/next/index.css +241 -0
  336. package/dist/next/index.js +66 -76
  337. package/dist/next/index.js.map +1 -1
  338. package/package.json +10 -6
  339. package/dist/generated-docs/Typography.props.js +0 -204
  340. package/dist/next/boreal-ui.css +0 -36643
@@ -1,48 +1,36 @@
1
1
  "use strict";
2
- const require$$2 = require("react/jsx-runtime");
2
+ require('./DataTable.css');const require$$2 = require("react/jsx-runtime");
3
3
  const React = require("react");
4
4
  const classNames = require("./classNames-BcWMx052.cjs");
5
5
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
6
6
  const borealStyleConfig = require("./boreal-style-config-C1UIwOFN.cjs");
7
- const noScroll = "_noScroll_1vqqr_109";
8
- const errorMessage = "_errorMessage_1vqqr_110";
9
- const loadingContainer = "_loadingContainer_1vqqr_111";
10
- const hideScrollbar = "_hideScrollbar_1vqqr_103";
11
- const sr_only = "_sr_only_1vqqr_112";
12
- const wrapper = "_wrapper_1vqqr_637";
13
- const table = "_table_1vqqr_646";
14
- const sortable = "_sortable_1vqqr_694";
15
- const sortButton = "_sortButton_1vqqr_701";
16
- const sort_icon = "_sort_icon_1vqqr_711";
17
- const clickable = "_clickable_1vqqr_725";
18
- const striped = "_striped_1vqqr_739";
19
- const clear = "_clear_1vqqr_742";
20
- const primary = "_primary_1vqqr_798";
21
- const outline = "_outline_1vqqr_803";
22
- const secondary = "_secondary_1vqqr_814";
23
- const tertiary = "_tertiary_1vqqr_830";
24
- const quaternary = "_quaternary_1vqqr_846";
25
- const success = "_success_1vqqr_878";
26
- const error = "_error_1vqqr_110";
27
- const warning = "_warning_1vqqr_910";
28
- const roundNone = "_roundNone_1vqqr_926";
29
- const roundSmall = "_roundSmall_1vqqr_930";
30
- const roundMedium = "_roundMedium_1vqqr_934";
31
- const roundLarge = "_roundLarge_1vqqr_938";
32
- const roundFull = "_roundFull_1vqqr_942";
33
- const shadowNone = "_shadowNone_1vqqr_946";
34
- const shadowLight = "_shadowLight_1vqqr_950";
35
- const shadowMedium = "_shadowMedium_1vqqr_954";
36
- const shadowStrong = "_shadowStrong_1vqqr_958";
37
- const shadowIntense = "_shadowIntense_1vqqr_962";
38
- const spin = "_spin_1vqqr_1";
39
- const pulse = "_pulse_1vqqr_1";
7
+ const wrapper = "_wrapper_66d68_85";
8
+ const table = "_table_66d68_94";
9
+ const sortable = "_sortable_66d68_142";
10
+ const sortButton = "_sortButton_66d68_149";
11
+ const sort_icon = "_sort_icon_66d68_159";
12
+ const clickable = "_clickable_66d68_173";
13
+ const striped = "_striped_66d68_187";
14
+ const clear = "_clear_66d68_190";
15
+ const primary = "_primary_66d68_246";
16
+ const outline = "_outline_66d68_251";
17
+ const secondary = "_secondary_66d68_262";
18
+ const tertiary = "_tertiary_66d68_278";
19
+ const quaternary = "_quaternary_66d68_294";
20
+ const success = "_success_66d68_326";
21
+ const error = "_error_66d68_342";
22
+ const warning = "_warning_66d68_358";
23
+ const roundNone = "_roundNone_66d68_374";
24
+ const roundSmall = "_roundSmall_66d68_378";
25
+ const roundMedium = "_roundMedium_66d68_382";
26
+ const roundLarge = "_roundLarge_66d68_386";
27
+ const roundFull = "_roundFull_66d68_390";
28
+ const shadowNone = "_shadowNone_66d68_394";
29
+ const shadowLight = "_shadowLight_66d68_398";
30
+ const shadowMedium = "_shadowMedium_66d68_402";
31
+ const shadowStrong = "_shadowStrong_66d68_406";
32
+ const shadowIntense = "_shadowIntense_66d68_410";
40
33
  const styles = {
41
- noScroll,
42
- errorMessage,
43
- loadingContainer,
44
- hideScrollbar,
45
- sr_only,
46
34
  wrapper,
47
35
  table,
48
36
  sortable,
@@ -68,16 +56,7 @@ const styles = {
68
56
  shadowLight,
69
57
  shadowMedium,
70
58
  shadowStrong,
71
- shadowIntense,
72
- "fade-in": "_fade-in_1vqqr_1",
73
- "slide-up": "_slide-up_1vqqr_1",
74
- "spin-3d": "_spin-3d_1vqqr_1",
75
- spin,
76
- pulse,
77
- "fade-in-up": "_fade-in-up_1vqqr_1",
78
- "progress-grow": "_progress-grow_1vqqr_1",
79
- "indeterminate-move": "_indeterminate-move_1vqqr_1",
80
- "skeleton-loading": "_skeleton-loading_1vqqr_1"
59
+ shadowIntense
81
60
  };
82
61
  function DataTableBase({
83
62
  columns,
@@ -356,4 +335,4 @@ function DataTable(props) {
356
335
  }
357
336
  DataTable.displayName = "DataTable";
358
337
  exports.DataTable = DataTable;
359
- //# sourceMappingURL=DataTable-Bt6D__oo.cjs.map
338
+ //# sourceMappingURL=DataTable-BAwMYdQb.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable-Bt6D__oo.cjs","sources":["../../src/components/DataTable/DataTableBase.tsx","../../src/components/DataTable/next/DataTable.tsx"],"sourcesContent":["import { useEffect, useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { DataTableBaseProps, Column } 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 defaultSortOrder = \"asc\",\r\n serverSort = false,\r\n onSortChange,\r\n rowKey,\r\n caption = \"Data table\",\r\n hideCaption = true,\r\n getSortAriaLabel,\r\n getSortAnnouncement,\r\n getRowAriaLabel,\r\n getRowAriaDescription,\r\n emptyMessage = \"No data available\",\r\n loading = false,\r\n loadingMessage = \"Loading data\",\r\n colCount,\r\n rowCount,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\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 const [sortAnnouncement, setSortAnnouncement] = useState(\"\");\r\n\r\n const captionId = `${testId}-caption`;\r\n const liveRegionId = `${testId}-live-region`;\r\n\r\n const computedAriaDescribedBy = [\r\n ariaDescribedBy,\r\n caption ? captionId : undefined,\r\n liveRegionId,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \");\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\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\r\n const cmp = String(valA).localeCompare(String(valB), undefined, {\r\n numeric: true,\r\n });\r\n\r\n return sortOrder === \"asc\" ? cmp : -cmp;\r\n });\r\n }, [data, sortKey, sortOrder, serverSort]);\r\n\r\n const announceSortChange = (\r\n column: Column<T>,\r\n nextOrder: \"asc\" | \"desc\",\r\n ): void => {\r\n const message = getSortAnnouncement\r\n ? getSortAnnouncement(column, nextOrder)\r\n : `${column.label} sorted ${nextOrder === \"asc\" ? \"ascending\" : \"descending\"}`;\r\n\r\n setSortAnnouncement(message);\r\n };\r\n\r\n const handleSort = (column: Column<T>): void => {\r\n const nextOrder =\r\n column.key === sortKey && sortOrder === \"asc\" ? \"desc\" : \"asc\";\r\n\r\n setSortKey(column.key);\r\n setSortOrder(nextOrder);\r\n announceSortChange(column, nextOrder);\r\n\r\n if (serverSort && onSortChange) {\r\n onSortChange(column.key, nextOrder);\r\n }\r\n };\r\n\r\n const handleSortKeyDown =\r\n (column: Column<T>) =>\r\n (e: KeyboardEvent<HTMLButtonElement>): void => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n handleSort(column);\r\n }\r\n };\r\n\r\n const handleRowKeyDown =\r\n (row: T) =>\r\n (e: KeyboardEvent<HTMLTableRowElement>): void => {\r\n if (!onRowClick) return;\r\n\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 getHeaderScope = (column: Column<T>): \"col\" | \"colgroup\" =>\r\n column.scope ?? \"col\";\r\n\r\n const getHeaderId = (column: Column<T>): string =>\r\n column.id ?? `${testId}-header-${String(column.key)}`;\r\n\r\n const getColumnAriaLabel = (\r\n column: Column<T>,\r\n isActive: boolean,\r\n ): string | undefined => {\r\n if (!column.sortable) {\r\n return column.srLabel;\r\n }\r\n\r\n if (getSortAriaLabel) {\r\n return getSortAriaLabel(column, sortOrder, isActive);\r\n }\r\n\r\n const baseLabel = column.srLabel ?? column.label;\r\n\r\n if (isActive) {\r\n return `${baseLabel}, sorted ${sortOrder === \"asc\" ? \"ascending\" : \"descending\"}. Activate to sort ${sortOrder === \"asc\" ? \"descending\" : \"ascending\"}.`;\r\n }\r\n\r\n return `${baseLabel}. Activate to sort ascending.`;\r\n };\r\n\r\n const renderCellContent = (row: T, column: Column<T>): React.ReactNode => {\r\n const value = row[column.key];\r\n\r\n if (column.render) {\r\n return column.render(value, row);\r\n }\r\n\r\n if (typeof value === \"object\" && value !== null) {\r\n return JSON.stringify(value);\r\n }\r\n\r\n return String(value ?? \"\");\r\n };\r\n\r\n useEffect(() => {\r\n if (!sortKey) {\r\n setSortAnnouncement(\"\");\r\n return;\r\n }\r\n\r\n const activeColumn = columns.find((column) => column.key === sortKey);\r\n if (!activeColumn) return;\r\n\r\n announceSortChange(activeColumn, sortOrder);\r\n }, []);\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 <div\r\n id={liveRegionId}\r\n className={classMap.srOnly ?? \"sr_only\"}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n >\r\n {loading ? loadingMessage : sortAnnouncement}\r\n </div>\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-labelledby={ariaLabelledBy}\r\n aria-describedby={computedAriaDescribedBy || undefined}\r\n aria-colcount={colCount}\r\n aria-rowcount={rowCount}\r\n >\r\n {caption ? (\r\n <caption\r\n id={captionId}\r\n className={hideCaption ? (classMap.srOnly ?? \"sr_only\") : undefined}\r\n >\r\n {caption}\r\n </caption>\r\n ) : null}\r\n\r\n <thead>\r\n <tr>\r\n {columns.map((column) => {\r\n const isActive = sortKey === column.key;\r\n\r\n return (\r\n <th\r\n key={String(column.key)}\r\n id={getHeaderId(column)}\r\n scope={getHeaderScope(column)}\r\n aria-sort={\r\n column.sortable\r\n ? isActive\r\n ? sortOrder === \"asc\"\r\n ? \"ascending\"\r\n : \"descending\"\r\n : \"none\"\r\n : undefined\r\n }\r\n className={combineClassNames(\r\n column.sortable && classMap.sortable,\r\n classMap.headerCell,\r\n )}\r\n >\r\n {column.sortable ? (\r\n <button\r\n type=\"button\"\r\n className={classMap.sortButton}\r\n onClick={() => handleSort(column)}\r\n onKeyDown={handleSortKeyDown(column)}\r\n aria-label={getColumnAriaLabel(column, isActive)}\r\n data-testid={`${testId}-sort-${String(column.key)}`}\r\n >\r\n <span>{column.label}</span>\r\n <span className={classMap.sortIcon} aria-hidden=\"true\">\r\n {isActive ? (sortOrder === \"asc\" ? \"▲\" : \"▼\") : \"⇅\"}\r\n </span>\r\n </button>\r\n ) : (\r\n <span aria-label={column.srLabel}>{column.label}</span>\r\n )}\r\n </th>\r\n );\r\n })}\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n {loading ? (\r\n <tr>\r\n <td\r\n className={classMap.emptyCell}\r\n colSpan={columns.length}\r\n aria-live=\"polite\"\r\n >\r\n {loadingMessage}\r\n </td>\r\n </tr>\r\n ) : sortedData.length === 0 ? (\r\n <tr>\r\n <td\r\n className={classMap.emptyCell}\r\n colSpan={columns.length}\r\n aria-live=\"polite\"\r\n >\r\n {emptyMessage}\r\n </td>\r\n </tr>\r\n ) : (\r\n sortedData.map((row, index) => {\r\n const key = rowKey ? rowKey(row) : index;\r\n const rowAriaLabel = getRowAriaLabel?.(row, index);\r\n const rowAriaDescription = getRowAriaDescription?.(row, index);\r\n\r\n return (\r\n <tr\r\n key={key}\r\n className={combineClassNames(\r\n onRowClick && classMap.clickable,\r\n striped && index % 2 === 1 && classMap.striped,\r\n )}\r\n onClick={() => onRowClick?.(row)}\r\n onKeyDown={handleRowKeyDown(row)}\r\n tabIndex={onRowClick ? 0 : undefined}\r\n aria-label={onRowClick ? rowAriaLabel : undefined}\r\n aria-description={onRowClick ? rowAriaDescription : undefined}\r\n data-testid={`${testId}-row-${key}`}\r\n >\r\n {columns.map((column) => {\r\n const cellKey = String(column.key);\r\n const content = renderCellContent(row, column);\r\n const headerId = getHeaderId(column);\r\n\r\n if (column.isRowHeader) {\r\n return (\r\n <th\r\n key={cellKey}\r\n scope=\"row\"\r\n headers={headerId}\r\n data-label={column.label}\r\n className={classMap.cell}\r\n >\r\n {content}\r\n </th>\r\n );\r\n }\r\n\r\n return (\r\n <td\r\n key={cellKey}\r\n headers={headerId}\r\n data-label={column.label}\r\n className={classMap.cell}\r\n >\r\n {content}\r\n </td>\r\n );\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\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","useEffect","jsxs","combineClassNames","capitalize","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"DataTable-BAwMYdQb.cjs","sources":["../../src/components/DataTable/DataTableBase.tsx","../../src/components/DataTable/next/DataTable.tsx"],"sourcesContent":["import { useEffect, useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { DataTableBaseProps, Column } 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 defaultSortOrder = \"asc\",\r\n serverSort = false,\r\n onSortChange,\r\n rowKey,\r\n caption = \"Data table\",\r\n hideCaption = true,\r\n getSortAriaLabel,\r\n getSortAnnouncement,\r\n getRowAriaLabel,\r\n getRowAriaDescription,\r\n emptyMessage = \"No data available\",\r\n loading = false,\r\n loadingMessage = \"Loading data\",\r\n colCount,\r\n rowCount,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\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 const [sortAnnouncement, setSortAnnouncement] = useState(\"\");\r\n\r\n const captionId = `${testId}-caption`;\r\n const liveRegionId = `${testId}-live-region`;\r\n\r\n const computedAriaDescribedBy = [\r\n ariaDescribedBy,\r\n caption ? captionId : undefined,\r\n liveRegionId,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \");\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\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\r\n const cmp = String(valA).localeCompare(String(valB), undefined, {\r\n numeric: true,\r\n });\r\n\r\n return sortOrder === \"asc\" ? cmp : -cmp;\r\n });\r\n }, [data, sortKey, sortOrder, serverSort]);\r\n\r\n const announceSortChange = (\r\n column: Column<T>,\r\n nextOrder: \"asc\" | \"desc\",\r\n ): void => {\r\n const message = getSortAnnouncement\r\n ? getSortAnnouncement(column, nextOrder)\r\n : `${column.label} sorted ${nextOrder === \"asc\" ? \"ascending\" : \"descending\"}`;\r\n\r\n setSortAnnouncement(message);\r\n };\r\n\r\n const handleSort = (column: Column<T>): void => {\r\n const nextOrder =\r\n column.key === sortKey && sortOrder === \"asc\" ? \"desc\" : \"asc\";\r\n\r\n setSortKey(column.key);\r\n setSortOrder(nextOrder);\r\n announceSortChange(column, nextOrder);\r\n\r\n if (serverSort && onSortChange) {\r\n onSortChange(column.key, nextOrder);\r\n }\r\n };\r\n\r\n const handleSortKeyDown =\r\n (column: Column<T>) =>\r\n (e: KeyboardEvent<HTMLButtonElement>): void => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n handleSort(column);\r\n }\r\n };\r\n\r\n const handleRowKeyDown =\r\n (row: T) =>\r\n (e: KeyboardEvent<HTMLTableRowElement>): void => {\r\n if (!onRowClick) return;\r\n\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 getHeaderScope = (column: Column<T>): \"col\" | \"colgroup\" =>\r\n column.scope ?? \"col\";\r\n\r\n const getHeaderId = (column: Column<T>): string =>\r\n column.id ?? `${testId}-header-${String(column.key)}`;\r\n\r\n const getColumnAriaLabel = (\r\n column: Column<T>,\r\n isActive: boolean,\r\n ): string | undefined => {\r\n if (!column.sortable) {\r\n return column.srLabel;\r\n }\r\n\r\n if (getSortAriaLabel) {\r\n return getSortAriaLabel(column, sortOrder, isActive);\r\n }\r\n\r\n const baseLabel = column.srLabel ?? column.label;\r\n\r\n if (isActive) {\r\n return `${baseLabel}, sorted ${sortOrder === \"asc\" ? \"ascending\" : \"descending\"}. Activate to sort ${sortOrder === \"asc\" ? \"descending\" : \"ascending\"}.`;\r\n }\r\n\r\n return `${baseLabel}. Activate to sort ascending.`;\r\n };\r\n\r\n const renderCellContent = (row: T, column: Column<T>): React.ReactNode => {\r\n const value = row[column.key];\r\n\r\n if (column.render) {\r\n return column.render(value, row);\r\n }\r\n\r\n if (typeof value === \"object\" && value !== null) {\r\n return JSON.stringify(value);\r\n }\r\n\r\n return String(value ?? \"\");\r\n };\r\n\r\n useEffect(() => {\r\n if (!sortKey) {\r\n setSortAnnouncement(\"\");\r\n return;\r\n }\r\n\r\n const activeColumn = columns.find((column) => column.key === sortKey);\r\n if (!activeColumn) return;\r\n\r\n announceSortChange(activeColumn, sortOrder);\r\n }, []);\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 <div\r\n id={liveRegionId}\r\n className={classMap.srOnly ?? \"sr_only\"}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n >\r\n {loading ? loadingMessage : sortAnnouncement}\r\n </div>\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-labelledby={ariaLabelledBy}\r\n aria-describedby={computedAriaDescribedBy || undefined}\r\n aria-colcount={colCount}\r\n aria-rowcount={rowCount}\r\n >\r\n {caption ? (\r\n <caption\r\n id={captionId}\r\n className={hideCaption ? (classMap.srOnly ?? \"sr_only\") : undefined}\r\n >\r\n {caption}\r\n </caption>\r\n ) : null}\r\n\r\n <thead>\r\n <tr>\r\n {columns.map((column) => {\r\n const isActive = sortKey === column.key;\r\n\r\n return (\r\n <th\r\n key={String(column.key)}\r\n id={getHeaderId(column)}\r\n scope={getHeaderScope(column)}\r\n aria-sort={\r\n column.sortable\r\n ? isActive\r\n ? sortOrder === \"asc\"\r\n ? \"ascending\"\r\n : \"descending\"\r\n : \"none\"\r\n : undefined\r\n }\r\n className={combineClassNames(\r\n column.sortable && classMap.sortable,\r\n classMap.headerCell,\r\n )}\r\n >\r\n {column.sortable ? (\r\n <button\r\n type=\"button\"\r\n className={classMap.sortButton}\r\n onClick={() => handleSort(column)}\r\n onKeyDown={handleSortKeyDown(column)}\r\n aria-label={getColumnAriaLabel(column, isActive)}\r\n data-testid={`${testId}-sort-${String(column.key)}`}\r\n >\r\n <span>{column.label}</span>\r\n <span className={classMap.sortIcon} aria-hidden=\"true\">\r\n {isActive ? (sortOrder === \"asc\" ? \"▲\" : \"▼\") : \"⇅\"}\r\n </span>\r\n </button>\r\n ) : (\r\n <span aria-label={column.srLabel}>{column.label}</span>\r\n )}\r\n </th>\r\n );\r\n })}\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n {loading ? (\r\n <tr>\r\n <td\r\n className={classMap.emptyCell}\r\n colSpan={columns.length}\r\n aria-live=\"polite\"\r\n >\r\n {loadingMessage}\r\n </td>\r\n </tr>\r\n ) : sortedData.length === 0 ? (\r\n <tr>\r\n <td\r\n className={classMap.emptyCell}\r\n colSpan={columns.length}\r\n aria-live=\"polite\"\r\n >\r\n {emptyMessage}\r\n </td>\r\n </tr>\r\n ) : (\r\n sortedData.map((row, index) => {\r\n const key = rowKey ? rowKey(row) : index;\r\n const rowAriaLabel = getRowAriaLabel?.(row, index);\r\n const rowAriaDescription = getRowAriaDescription?.(row, index);\r\n\r\n return (\r\n <tr\r\n key={key}\r\n className={combineClassNames(\r\n onRowClick && classMap.clickable,\r\n striped && index % 2 === 1 && classMap.striped,\r\n )}\r\n onClick={() => onRowClick?.(row)}\r\n onKeyDown={handleRowKeyDown(row)}\r\n tabIndex={onRowClick ? 0 : undefined}\r\n aria-label={onRowClick ? rowAriaLabel : undefined}\r\n aria-description={onRowClick ? rowAriaDescription : undefined}\r\n data-testid={`${testId}-row-${key}`}\r\n >\r\n {columns.map((column) => {\r\n const cellKey = String(column.key);\r\n const content = renderCellContent(row, column);\r\n const headerId = getHeaderId(column);\r\n\r\n if (column.isRowHeader) {\r\n return (\r\n <th\r\n key={cellKey}\r\n scope=\"row\"\r\n headers={headerId}\r\n data-label={column.label}\r\n className={classMap.cell}\r\n >\r\n {content}\r\n </th>\r\n );\r\n }\r\n\r\n return (\r\n <td\r\n key={cellKey}\r\n headers={headerId}\r\n data-label={column.label}\r\n className={classMap.cell}\r\n >\r\n {content}\r\n </td>\r\n );\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\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","useEffect","jsxs","combineClassNames","capitalize","jsx"],"mappings":"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"}
@@ -3,45 +3,33 @@ import { useState, useMemo, useEffect } 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-DsaRlxmw.js";
6
- const noScroll = "_noScroll_1vqqr_109";
7
- const errorMessage = "_errorMessage_1vqqr_110";
8
- const loadingContainer = "_loadingContainer_1vqqr_111";
9
- const hideScrollbar = "_hideScrollbar_1vqqr_103";
10
- const sr_only = "_sr_only_1vqqr_112";
11
- const wrapper = "_wrapper_1vqqr_637";
12
- const table = "_table_1vqqr_646";
13
- const sortable = "_sortable_1vqqr_694";
14
- const sortButton = "_sortButton_1vqqr_701";
15
- const sort_icon = "_sort_icon_1vqqr_711";
16
- const clickable = "_clickable_1vqqr_725";
17
- const striped = "_striped_1vqqr_739";
18
- const clear = "_clear_1vqqr_742";
19
- const primary = "_primary_1vqqr_798";
20
- const outline = "_outline_1vqqr_803";
21
- const secondary = "_secondary_1vqqr_814";
22
- const tertiary = "_tertiary_1vqqr_830";
23
- const quaternary = "_quaternary_1vqqr_846";
24
- const success = "_success_1vqqr_878";
25
- const error = "_error_1vqqr_110";
26
- const warning = "_warning_1vqqr_910";
27
- const roundNone = "_roundNone_1vqqr_926";
28
- const roundSmall = "_roundSmall_1vqqr_930";
29
- const roundMedium = "_roundMedium_1vqqr_934";
30
- const roundLarge = "_roundLarge_1vqqr_938";
31
- const roundFull = "_roundFull_1vqqr_942";
32
- const shadowNone = "_shadowNone_1vqqr_946";
33
- const shadowLight = "_shadowLight_1vqqr_950";
34
- const shadowMedium = "_shadowMedium_1vqqr_954";
35
- const shadowStrong = "_shadowStrong_1vqqr_958";
36
- const shadowIntense = "_shadowIntense_1vqqr_962";
37
- const spin = "_spin_1vqqr_1";
38
- const pulse = "_pulse_1vqqr_1";
6
+ import './DataTable.css';const wrapper = "_wrapper_66d68_85";
7
+ const table = "_table_66d68_94";
8
+ const sortable = "_sortable_66d68_142";
9
+ const sortButton = "_sortButton_66d68_149";
10
+ const sort_icon = "_sort_icon_66d68_159";
11
+ const clickable = "_clickable_66d68_173";
12
+ const striped = "_striped_66d68_187";
13
+ const clear = "_clear_66d68_190";
14
+ const primary = "_primary_66d68_246";
15
+ const outline = "_outline_66d68_251";
16
+ const secondary = "_secondary_66d68_262";
17
+ const tertiary = "_tertiary_66d68_278";
18
+ const quaternary = "_quaternary_66d68_294";
19
+ const success = "_success_66d68_326";
20
+ const error = "_error_66d68_342";
21
+ const warning = "_warning_66d68_358";
22
+ const roundNone = "_roundNone_66d68_374";
23
+ const roundSmall = "_roundSmall_66d68_378";
24
+ const roundMedium = "_roundMedium_66d68_382";
25
+ const roundLarge = "_roundLarge_66d68_386";
26
+ const roundFull = "_roundFull_66d68_390";
27
+ const shadowNone = "_shadowNone_66d68_394";
28
+ const shadowLight = "_shadowLight_66d68_398";
29
+ const shadowMedium = "_shadowMedium_66d68_402";
30
+ const shadowStrong = "_shadowStrong_66d68_406";
31
+ const shadowIntense = "_shadowIntense_66d68_410";
39
32
  const styles = {
40
- noScroll,
41
- errorMessage,
42
- loadingContainer,
43
- hideScrollbar,
44
- sr_only,
45
33
  wrapper,
46
34
  table,
47
35
  sortable,
@@ -67,16 +55,7 @@ const styles = {
67
55
  shadowLight,
68
56
  shadowMedium,
69
57
  shadowStrong,
70
- shadowIntense,
71
- "fade-in": "_fade-in_1vqqr_1",
72
- "slide-up": "_slide-up_1vqqr_1",
73
- "spin-3d": "_spin-3d_1vqqr_1",
74
- spin,
75
- pulse,
76
- "fade-in-up": "_fade-in-up_1vqqr_1",
77
- "progress-grow": "_progress-grow_1vqqr_1",
78
- "indeterminate-move": "_indeterminate-move_1vqqr_1",
79
- "skeleton-loading": "_skeleton-loading_1vqqr_1"
58
+ shadowIntense
80
59
  };
81
60
  function DataTableBase({
82
61
  columns,
@@ -357,4 +336,4 @@ DataTable.displayName = "DataTable";
357
336
  export {
358
337
  DataTable as D
359
338
  };
360
- //# sourceMappingURL=DataTable-CZj_U9rg.js.map
339
+ //# sourceMappingURL=DataTable-F9mtABNi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable-CZj_U9rg.js","sources":["../../src/components/DataTable/DataTableBase.tsx","../../src/components/DataTable/next/DataTable.tsx"],"sourcesContent":["import { useEffect, useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { DataTableBaseProps, Column } 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 defaultSortOrder = \"asc\",\r\n serverSort = false,\r\n onSortChange,\r\n rowKey,\r\n caption = \"Data table\",\r\n hideCaption = true,\r\n getSortAriaLabel,\r\n getSortAnnouncement,\r\n getRowAriaLabel,\r\n getRowAriaDescription,\r\n emptyMessage = \"No data available\",\r\n loading = false,\r\n loadingMessage = \"Loading data\",\r\n colCount,\r\n rowCount,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\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 const [sortAnnouncement, setSortAnnouncement] = useState(\"\");\r\n\r\n const captionId = `${testId}-caption`;\r\n const liveRegionId = `${testId}-live-region`;\r\n\r\n const computedAriaDescribedBy = [\r\n ariaDescribedBy,\r\n caption ? captionId : undefined,\r\n liveRegionId,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \");\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\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\r\n const cmp = String(valA).localeCompare(String(valB), undefined, {\r\n numeric: true,\r\n });\r\n\r\n return sortOrder === \"asc\" ? cmp : -cmp;\r\n });\r\n }, [data, sortKey, sortOrder, serverSort]);\r\n\r\n const announceSortChange = (\r\n column: Column<T>,\r\n nextOrder: \"asc\" | \"desc\",\r\n ): void => {\r\n const message = getSortAnnouncement\r\n ? getSortAnnouncement(column, nextOrder)\r\n : `${column.label} sorted ${nextOrder === \"asc\" ? \"ascending\" : \"descending\"}`;\r\n\r\n setSortAnnouncement(message);\r\n };\r\n\r\n const handleSort = (column: Column<T>): void => {\r\n const nextOrder =\r\n column.key === sortKey && sortOrder === \"asc\" ? \"desc\" : \"asc\";\r\n\r\n setSortKey(column.key);\r\n setSortOrder(nextOrder);\r\n announceSortChange(column, nextOrder);\r\n\r\n if (serverSort && onSortChange) {\r\n onSortChange(column.key, nextOrder);\r\n }\r\n };\r\n\r\n const handleSortKeyDown =\r\n (column: Column<T>) =>\r\n (e: KeyboardEvent<HTMLButtonElement>): void => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n handleSort(column);\r\n }\r\n };\r\n\r\n const handleRowKeyDown =\r\n (row: T) =>\r\n (e: KeyboardEvent<HTMLTableRowElement>): void => {\r\n if (!onRowClick) return;\r\n\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 getHeaderScope = (column: Column<T>): \"col\" | \"colgroup\" =>\r\n column.scope ?? \"col\";\r\n\r\n const getHeaderId = (column: Column<T>): string =>\r\n column.id ?? `${testId}-header-${String(column.key)}`;\r\n\r\n const getColumnAriaLabel = (\r\n column: Column<T>,\r\n isActive: boolean,\r\n ): string | undefined => {\r\n if (!column.sortable) {\r\n return column.srLabel;\r\n }\r\n\r\n if (getSortAriaLabel) {\r\n return getSortAriaLabel(column, sortOrder, isActive);\r\n }\r\n\r\n const baseLabel = column.srLabel ?? column.label;\r\n\r\n if (isActive) {\r\n return `${baseLabel}, sorted ${sortOrder === \"asc\" ? \"ascending\" : \"descending\"}. Activate to sort ${sortOrder === \"asc\" ? \"descending\" : \"ascending\"}.`;\r\n }\r\n\r\n return `${baseLabel}. Activate to sort ascending.`;\r\n };\r\n\r\n const renderCellContent = (row: T, column: Column<T>): React.ReactNode => {\r\n const value = row[column.key];\r\n\r\n if (column.render) {\r\n return column.render(value, row);\r\n }\r\n\r\n if (typeof value === \"object\" && value !== null) {\r\n return JSON.stringify(value);\r\n }\r\n\r\n return String(value ?? \"\");\r\n };\r\n\r\n useEffect(() => {\r\n if (!sortKey) {\r\n setSortAnnouncement(\"\");\r\n return;\r\n }\r\n\r\n const activeColumn = columns.find((column) => column.key === sortKey);\r\n if (!activeColumn) return;\r\n\r\n announceSortChange(activeColumn, sortOrder);\r\n }, []);\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 <div\r\n id={liveRegionId}\r\n className={classMap.srOnly ?? \"sr_only\"}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n >\r\n {loading ? loadingMessage : sortAnnouncement}\r\n </div>\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-labelledby={ariaLabelledBy}\r\n aria-describedby={computedAriaDescribedBy || undefined}\r\n aria-colcount={colCount}\r\n aria-rowcount={rowCount}\r\n >\r\n {caption ? (\r\n <caption\r\n id={captionId}\r\n className={hideCaption ? (classMap.srOnly ?? \"sr_only\") : undefined}\r\n >\r\n {caption}\r\n </caption>\r\n ) : null}\r\n\r\n <thead>\r\n <tr>\r\n {columns.map((column) => {\r\n const isActive = sortKey === column.key;\r\n\r\n return (\r\n <th\r\n key={String(column.key)}\r\n id={getHeaderId(column)}\r\n scope={getHeaderScope(column)}\r\n aria-sort={\r\n column.sortable\r\n ? isActive\r\n ? sortOrder === \"asc\"\r\n ? \"ascending\"\r\n : \"descending\"\r\n : \"none\"\r\n : undefined\r\n }\r\n className={combineClassNames(\r\n column.sortable && classMap.sortable,\r\n classMap.headerCell,\r\n )}\r\n >\r\n {column.sortable ? (\r\n <button\r\n type=\"button\"\r\n className={classMap.sortButton}\r\n onClick={() => handleSort(column)}\r\n onKeyDown={handleSortKeyDown(column)}\r\n aria-label={getColumnAriaLabel(column, isActive)}\r\n data-testid={`${testId}-sort-${String(column.key)}`}\r\n >\r\n <span>{column.label}</span>\r\n <span className={classMap.sortIcon} aria-hidden=\"true\">\r\n {isActive ? (sortOrder === \"asc\" ? \"▲\" : \"▼\") : \"⇅\"}\r\n </span>\r\n </button>\r\n ) : (\r\n <span aria-label={column.srLabel}>{column.label}</span>\r\n )}\r\n </th>\r\n );\r\n })}\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n {loading ? (\r\n <tr>\r\n <td\r\n className={classMap.emptyCell}\r\n colSpan={columns.length}\r\n aria-live=\"polite\"\r\n >\r\n {loadingMessage}\r\n </td>\r\n </tr>\r\n ) : sortedData.length === 0 ? (\r\n <tr>\r\n <td\r\n className={classMap.emptyCell}\r\n colSpan={columns.length}\r\n aria-live=\"polite\"\r\n >\r\n {emptyMessage}\r\n </td>\r\n </tr>\r\n ) : (\r\n sortedData.map((row, index) => {\r\n const key = rowKey ? rowKey(row) : index;\r\n const rowAriaLabel = getRowAriaLabel?.(row, index);\r\n const rowAriaDescription = getRowAriaDescription?.(row, index);\r\n\r\n return (\r\n <tr\r\n key={key}\r\n className={combineClassNames(\r\n onRowClick && classMap.clickable,\r\n striped && index % 2 === 1 && classMap.striped,\r\n )}\r\n onClick={() => onRowClick?.(row)}\r\n onKeyDown={handleRowKeyDown(row)}\r\n tabIndex={onRowClick ? 0 : undefined}\r\n aria-label={onRowClick ? rowAriaLabel : undefined}\r\n aria-description={onRowClick ? rowAriaDescription : undefined}\r\n data-testid={`${testId}-row-${key}`}\r\n >\r\n {columns.map((column) => {\r\n const cellKey = String(column.key);\r\n const content = renderCellContent(row, column);\r\n const headerId = getHeaderId(column);\r\n\r\n if (column.isRowHeader) {\r\n return (\r\n <th\r\n key={cellKey}\r\n scope=\"row\"\r\n headers={headerId}\r\n data-label={column.label}\r\n className={classMap.cell}\r\n >\r\n {content}\r\n </th>\r\n );\r\n }\r\n\r\n return (\r\n <td\r\n key={cellKey}\r\n headers={headerId}\r\n data-label={column.label}\r\n className={classMap.cell}\r\n >\r\n {content}\r\n </td>\r\n );\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\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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"}
1
+ {"version":3,"file":"DataTable-F9mtABNi.js","sources":["../../src/components/DataTable/DataTableBase.tsx","../../src/components/DataTable/next/DataTable.tsx"],"sourcesContent":["import { useEffect, useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { DataTableBaseProps, Column } 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 defaultSortOrder = \"asc\",\r\n serverSort = false,\r\n onSortChange,\r\n rowKey,\r\n caption = \"Data table\",\r\n hideCaption = true,\r\n getSortAriaLabel,\r\n getSortAnnouncement,\r\n getRowAriaLabel,\r\n getRowAriaDescription,\r\n emptyMessage = \"No data available\",\r\n loading = false,\r\n loadingMessage = \"Loading data\",\r\n colCount,\r\n rowCount,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\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 const [sortAnnouncement, setSortAnnouncement] = useState(\"\");\r\n\r\n const captionId = `${testId}-caption`;\r\n const liveRegionId = `${testId}-live-region`;\r\n\r\n const computedAriaDescribedBy = [\r\n ariaDescribedBy,\r\n caption ? captionId : undefined,\r\n liveRegionId,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \");\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\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\r\n const cmp = String(valA).localeCompare(String(valB), undefined, {\r\n numeric: true,\r\n });\r\n\r\n return sortOrder === \"asc\" ? cmp : -cmp;\r\n });\r\n }, [data, sortKey, sortOrder, serverSort]);\r\n\r\n const announceSortChange = (\r\n column: Column<T>,\r\n nextOrder: \"asc\" | \"desc\",\r\n ): void => {\r\n const message = getSortAnnouncement\r\n ? getSortAnnouncement(column, nextOrder)\r\n : `${column.label} sorted ${nextOrder === \"asc\" ? \"ascending\" : \"descending\"}`;\r\n\r\n setSortAnnouncement(message);\r\n };\r\n\r\n const handleSort = (column: Column<T>): void => {\r\n const nextOrder =\r\n column.key === sortKey && sortOrder === \"asc\" ? \"desc\" : \"asc\";\r\n\r\n setSortKey(column.key);\r\n setSortOrder(nextOrder);\r\n announceSortChange(column, nextOrder);\r\n\r\n if (serverSort && onSortChange) {\r\n onSortChange(column.key, nextOrder);\r\n }\r\n };\r\n\r\n const handleSortKeyDown =\r\n (column: Column<T>) =>\r\n (e: KeyboardEvent<HTMLButtonElement>): void => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n handleSort(column);\r\n }\r\n };\r\n\r\n const handleRowKeyDown =\r\n (row: T) =>\r\n (e: KeyboardEvent<HTMLTableRowElement>): void => {\r\n if (!onRowClick) return;\r\n\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 getHeaderScope = (column: Column<T>): \"col\" | \"colgroup\" =>\r\n column.scope ?? \"col\";\r\n\r\n const getHeaderId = (column: Column<T>): string =>\r\n column.id ?? `${testId}-header-${String(column.key)}`;\r\n\r\n const getColumnAriaLabel = (\r\n column: Column<T>,\r\n isActive: boolean,\r\n ): string | undefined => {\r\n if (!column.sortable) {\r\n return column.srLabel;\r\n }\r\n\r\n if (getSortAriaLabel) {\r\n return getSortAriaLabel(column, sortOrder, isActive);\r\n }\r\n\r\n const baseLabel = column.srLabel ?? column.label;\r\n\r\n if (isActive) {\r\n return `${baseLabel}, sorted ${sortOrder === \"asc\" ? \"ascending\" : \"descending\"}. Activate to sort ${sortOrder === \"asc\" ? \"descending\" : \"ascending\"}.`;\r\n }\r\n\r\n return `${baseLabel}. Activate to sort ascending.`;\r\n };\r\n\r\n const renderCellContent = (row: T, column: Column<T>): React.ReactNode => {\r\n const value = row[column.key];\r\n\r\n if (column.render) {\r\n return column.render(value, row);\r\n }\r\n\r\n if (typeof value === \"object\" && value !== null) {\r\n return JSON.stringify(value);\r\n }\r\n\r\n return String(value ?? \"\");\r\n };\r\n\r\n useEffect(() => {\r\n if (!sortKey) {\r\n setSortAnnouncement(\"\");\r\n return;\r\n }\r\n\r\n const activeColumn = columns.find((column) => column.key === sortKey);\r\n if (!activeColumn) return;\r\n\r\n announceSortChange(activeColumn, sortOrder);\r\n }, []);\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 <div\r\n id={liveRegionId}\r\n className={classMap.srOnly ?? \"sr_only\"}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n >\r\n {loading ? loadingMessage : sortAnnouncement}\r\n </div>\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-labelledby={ariaLabelledBy}\r\n aria-describedby={computedAriaDescribedBy || undefined}\r\n aria-colcount={colCount}\r\n aria-rowcount={rowCount}\r\n >\r\n {caption ? (\r\n <caption\r\n id={captionId}\r\n className={hideCaption ? (classMap.srOnly ?? \"sr_only\") : undefined}\r\n >\r\n {caption}\r\n </caption>\r\n ) : null}\r\n\r\n <thead>\r\n <tr>\r\n {columns.map((column) => {\r\n const isActive = sortKey === column.key;\r\n\r\n return (\r\n <th\r\n key={String(column.key)}\r\n id={getHeaderId(column)}\r\n scope={getHeaderScope(column)}\r\n aria-sort={\r\n column.sortable\r\n ? isActive\r\n ? sortOrder === \"asc\"\r\n ? \"ascending\"\r\n : \"descending\"\r\n : \"none\"\r\n : undefined\r\n }\r\n className={combineClassNames(\r\n column.sortable && classMap.sortable,\r\n classMap.headerCell,\r\n )}\r\n >\r\n {column.sortable ? (\r\n <button\r\n type=\"button\"\r\n className={classMap.sortButton}\r\n onClick={() => handleSort(column)}\r\n onKeyDown={handleSortKeyDown(column)}\r\n aria-label={getColumnAriaLabel(column, isActive)}\r\n data-testid={`${testId}-sort-${String(column.key)}`}\r\n >\r\n <span>{column.label}</span>\r\n <span className={classMap.sortIcon} aria-hidden=\"true\">\r\n {isActive ? (sortOrder === \"asc\" ? \"▲\" : \"▼\") : \"⇅\"}\r\n </span>\r\n </button>\r\n ) : (\r\n <span aria-label={column.srLabel}>{column.label}</span>\r\n )}\r\n </th>\r\n );\r\n })}\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n {loading ? (\r\n <tr>\r\n <td\r\n className={classMap.emptyCell}\r\n colSpan={columns.length}\r\n aria-live=\"polite\"\r\n >\r\n {loadingMessage}\r\n </td>\r\n </tr>\r\n ) : sortedData.length === 0 ? (\r\n <tr>\r\n <td\r\n className={classMap.emptyCell}\r\n colSpan={columns.length}\r\n aria-live=\"polite\"\r\n >\r\n {emptyMessage}\r\n </td>\r\n </tr>\r\n ) : (\r\n sortedData.map((row, index) => {\r\n const key = rowKey ? rowKey(row) : index;\r\n const rowAriaLabel = getRowAriaLabel?.(row, index);\r\n const rowAriaDescription = getRowAriaDescription?.(row, index);\r\n\r\n return (\r\n <tr\r\n key={key}\r\n className={combineClassNames(\r\n onRowClick && classMap.clickable,\r\n striped && index % 2 === 1 && classMap.striped,\r\n )}\r\n onClick={() => onRowClick?.(row)}\r\n onKeyDown={handleRowKeyDown(row)}\r\n tabIndex={onRowClick ? 0 : undefined}\r\n aria-label={onRowClick ? rowAriaLabel : undefined}\r\n aria-description={onRowClick ? rowAriaDescription : undefined}\r\n data-testid={`${testId}-row-${key}`}\r\n >\r\n {columns.map((column) => {\r\n const cellKey = String(column.key);\r\n const content = renderCellContent(row, column);\r\n const headerId = getHeaderId(column);\r\n\r\n if (column.isRowHeader) {\r\n return (\r\n <th\r\n key={cellKey}\r\n scope=\"row\"\r\n headers={headerId}\r\n data-label={column.label}\r\n className={classMap.cell}\r\n >\r\n {content}\r\n </th>\r\n );\r\n }\r\n\r\n return (\r\n <td\r\n key={cellKey}\r\n headers={headerId}\r\n data-label={column.label}\r\n className={classMap.cell}\r\n >\r\n {content}\r\n </td>\r\n );\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\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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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const DataTable = require("./DataTable-Bt6D__oo.cjs");
2
+ const DataTable = require("./DataTable-BAwMYdQb.cjs");
3
3
  module.exports = DataTable.DataTable;
4
4
  //# sourceMappingURL=DataTable.cjs.js.map