boreal-ui 0.0.45 → 0.0.47

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 (227) hide show
  1. package/dist/core/boreal-ui.css +0 -429
  2. package/dist/next/{Accordion-BPWTEHym.cjs → Accordion-BvcUpiD3.cjs} +50 -50
  3. package/dist/next/{Accordion-BPWTEHym.cjs.map → Accordion-BvcUpiD3.cjs.map} +1 -1
  4. package/dist/next/{Accordion-DY243Bq9.js → Accordion-CFb5G7Ql.js} +50 -50
  5. package/dist/next/{Accordion-DY243Bq9.js.map → Accordion-CFb5G7Ql.js.map} +1 -1
  6. package/dist/next/Accordion.cjs.js +1 -1
  7. package/dist/next/Accordion.js +1 -1
  8. package/dist/next/{Breadcrumbs-BcXj2PgR.cjs → Breadcrumbs-D5wEf2-N.cjs} +3 -2
  9. package/dist/next/{Breadcrumbs-BcXj2PgR.cjs.map → Breadcrumbs-D5wEf2-N.cjs.map} +1 -1
  10. package/dist/next/{Breadcrumbs-BPWmV24h.js → Breadcrumbs-DZpS-GOj.js} +3 -2
  11. package/dist/next/{Breadcrumbs-BPWmV24h.js.map → Breadcrumbs-DZpS-GOj.js.map} +1 -1
  12. package/dist/next/Breadcrumbs.cjs.js +1 -1
  13. package/dist/next/Breadcrumbs.js +1 -1
  14. package/dist/next/{Button-uZ3xTOOt.js → Button-CQUqfv7B.js} +46 -46
  15. package/dist/next/{Button-uZ3xTOOt.js.map → Button-CQUqfv7B.js.map} +1 -1
  16. package/dist/next/{Button-B1Fh4G0_.cjs → Button-Cyq8lKKp.cjs} +46 -46
  17. package/dist/next/{Button-B1Fh4G0_.cjs.map → Button-Cyq8lKKp.cjs.map} +1 -1
  18. package/dist/next/Button.cjs.js +1 -1
  19. package/dist/next/Button.js +1 -1
  20. package/dist/next/{Card-B_qtwaqj.js → Card-CtUR7xR3.js} +64 -63
  21. package/dist/next/{Card-B_qtwaqj.js.map → Card-CtUR7xR3.js.map} +1 -1
  22. package/dist/next/{Card-CqXJPdqV.cjs → Card-D2vuSJt0.cjs} +64 -63
  23. package/dist/next/{Card-CqXJPdqV.cjs.map → Card-D2vuSJt0.cjs.map} +1 -1
  24. package/dist/next/Card.cjs.js +1 -1
  25. package/dist/next/Card.js +1 -1
  26. package/dist/next/CheckBox.cjs.js +1 -1
  27. package/dist/next/CheckBox.js +1 -1
  28. package/dist/next/{Checkbox-Ch7osD3y.cjs → Checkbox-SXo9UmNY.cjs} +44 -44
  29. package/dist/next/{Checkbox-Ch7osD3y.cjs.map → Checkbox-SXo9UmNY.cjs.map} +1 -1
  30. package/dist/next/{Checkbox-BJ0rBZLF.js → Checkbox-dANi8BjQ.js} +44 -44
  31. package/dist/next/{Checkbox-BJ0rBZLF.js.map → Checkbox-dANi8BjQ.js.map} +1 -1
  32. package/dist/next/{Chip-BB3Awc2g.js → Chip-B3bTVcNN.js} +51 -50
  33. package/dist/next/{Chip-BB3Awc2g.js.map → Chip-B3bTVcNN.js.map} +1 -1
  34. package/dist/next/{Chip-DzFaUPed.cjs → Chip-BYWlOMgj.cjs} +51 -50
  35. package/dist/next/{Chip-DzFaUPed.cjs.map → Chip-BYWlOMgj.cjs.map} +1 -1
  36. package/dist/next/Chip.cjs.js +1 -1
  37. package/dist/next/Chip.js +1 -1
  38. package/dist/next/{CircularProgress-Cp2pGFmc.cjs → CircularProgress-6fmyMX4y.cjs} +37 -37
  39. package/dist/next/{CircularProgress-Cp2pGFmc.cjs.map → CircularProgress-6fmyMX4y.cjs.map} +1 -1
  40. package/dist/next/{CircularProgress-BUqdguII.js → CircularProgress-CdvDDYyr.js} +37 -37
  41. package/dist/next/{CircularProgress-BUqdguII.js.map → CircularProgress-CdvDDYyr.js.map} +1 -1
  42. package/dist/next/CircularProgress.cjs.js +1 -1
  43. package/dist/next/CircularProgress.js +1 -1
  44. package/dist/next/{ColorPicker-BHtO2mbU.cjs → ColorPicker-DUYMHTpF.cjs} +38 -38
  45. package/dist/next/{ColorPicker-BHtO2mbU.cjs.map → ColorPicker-DUYMHTpF.cjs.map} +1 -1
  46. package/dist/next/{ColorPicker-ChWOekWP.js → ColorPicker-DhQJXU30.js} +38 -38
  47. package/dist/next/{ColorPicker-ChWOekWP.js.map → ColorPicker-DhQJXU30.js.map} +1 -1
  48. package/dist/next/ColorPicker.cjs.js +1 -1
  49. package/dist/next/ColorPicker.js +1 -1
  50. package/dist/next/{CommandPalette-DEf12Et3.js → CommandPalette-Bzqc18YQ.js} +43 -42
  51. package/dist/next/{CommandPalette-DEf12Et3.js.map → CommandPalette-Bzqc18YQ.js.map} +1 -1
  52. package/dist/next/{CommandPalette-BT9X_yL0.cjs → CommandPalette-GmgyP8kF.cjs} +43 -42
  53. package/dist/next/{CommandPalette-BT9X_yL0.cjs.map → CommandPalette-GmgyP8kF.cjs.map} +1 -1
  54. package/dist/next/CommandPalette.cjs.js +1 -1
  55. package/dist/next/CommandPalette.js +1 -1
  56. package/dist/next/{DataTable-CnvOkZrU.js → DataTable-BoXblTGY.js} +40 -40
  57. package/dist/next/{DataTable-CnvOkZrU.js.map → DataTable-BoXblTGY.js.map} +1 -1
  58. package/dist/next/{DataTable-DQ1QRyZw.cjs → DataTable-Cy3GLZ1j.cjs} +40 -40
  59. package/dist/next/{DataTable-DQ1QRyZw.cjs.map → DataTable-Cy3GLZ1j.cjs.map} +1 -1
  60. package/dist/next/DataTable.cjs.js +1 -1
  61. package/dist/next/DataTable.js +1 -1
  62. package/dist/next/{DateTimePicker-2M4AJJXm.cjs → DateTimePicker-DYXQLrAL.cjs} +46 -46
  63. package/dist/next/{DateTimePicker-2M4AJJXm.cjs.map → DateTimePicker-DYXQLrAL.cjs.map} +1 -1
  64. package/dist/next/{DateTimePicker-IvBWNgkK.js → DateTimePicker-i4QztkDP.js} +46 -46
  65. package/dist/next/{DateTimePicker-IvBWNgkK.js.map → DateTimePicker-i4QztkDP.js.map} +1 -1
  66. package/dist/next/DateTimePicker.cjs.js +1 -1
  67. package/dist/next/DateTimePicker.js +1 -1
  68. package/dist/next/{Divider-ByDYa4v6.cjs → Divider-BAAb-2rY.cjs} +28 -28
  69. package/dist/next/{Divider-ByDYa4v6.cjs.map → Divider-BAAb-2rY.cjs.map} +1 -1
  70. package/dist/next/{Divider-BCCzNbAE.js → Divider-O6G6kig_.js} +28 -28
  71. package/dist/next/{Divider-BCCzNbAE.js.map → Divider-O6G6kig_.js.map} +1 -1
  72. package/dist/next/Divider.cjs.js +1 -1
  73. package/dist/next/Divider.js +1 -1
  74. package/dist/next/{Dropdown-DEdk2QjS.cjs → Dropdown-BnuZW883.cjs} +2 -1
  75. package/dist/next/{Dropdown-DEdk2QjS.cjs.map → Dropdown-BnuZW883.cjs.map} +1 -1
  76. package/dist/next/{Dropdown-qdxH-NQR.js → Dropdown-Czc7qKPn.js} +2 -1
  77. package/dist/next/{Dropdown-qdxH-NQR.js.map → Dropdown-Czc7qKPn.js.map} +1 -1
  78. package/dist/next/Dropdown.cjs.js +1 -1
  79. package/dist/next/Dropdown.js +1 -1
  80. package/dist/next/{EmptyState-CXyx1WlG.cjs → EmptyState-CU6_e2Yr.cjs} +3 -2
  81. package/dist/next/{EmptyState-CXyx1WlG.cjs.map → EmptyState-CU6_e2Yr.cjs.map} +1 -1
  82. package/dist/next/{EmptyState-BNzFHAk3.js → EmptyState-Cbj1OIeQ.js} +3 -2
  83. package/dist/next/{EmptyState-BNzFHAk3.js.map → EmptyState-Cbj1OIeQ.js.map} +1 -1
  84. package/dist/next/EmptyState.cjs.js +1 -1
  85. package/dist/next/EmptyState.js +1 -1
  86. package/dist/next/{FileUpload-DBSXPL55.js → FileUpload-CNxWsESt.js} +52 -51
  87. package/dist/next/{FileUpload-DBSXPL55.js.map → FileUpload-CNxWsESt.js.map} +1 -1
  88. package/dist/next/{FileUpload-DwlqapHn.cjs → FileUpload-D43mGC5b.cjs} +52 -51
  89. package/dist/next/{FileUpload-DwlqapHn.cjs.map → FileUpload-D43mGC5b.cjs.map} +1 -1
  90. package/dist/next/FileUpload.cjs.js +1 -1
  91. package/dist/next/FileUpload.js +1 -1
  92. package/dist/next/{Footer-CP_PaLon.js → Footer-CJ19dLJ4.js} +41 -40
  93. package/dist/next/{Footer-CP_PaLon.js.map → Footer-CJ19dLJ4.js.map} +1 -1
  94. package/dist/next/{Footer-BxrsmJyY.cjs → Footer-haPH23Rz.cjs} +41 -40
  95. package/dist/next/{Footer-BxrsmJyY.cjs.map → Footer-haPH23Rz.cjs.map} +1 -1
  96. package/dist/next/Footer.cjs.js +1 -1
  97. package/dist/next/Footer.js +1 -1
  98. package/dist/next/{FormGroup-QfUhtyhx.js → FormGroup-B_b5tAwN.js} +30 -30
  99. package/dist/next/{FormGroup-QfUhtyhx.js.map → FormGroup-B_b5tAwN.js.map} +1 -1
  100. package/dist/next/{FormGroup-U3EwnB0M.cjs → FormGroup-mHF2j4h8.cjs} +30 -30
  101. package/dist/next/{FormGroup-U3EwnB0M.cjs.map → FormGroup-mHF2j4h8.cjs.map} +1 -1
  102. package/dist/next/FormGroup.cjs.js +1 -1
  103. package/dist/next/FormGroup.js +1 -1
  104. package/dist/next/MessagePopUp.cjs.js +1 -1
  105. package/dist/next/MessagePopUp.js +1 -1
  106. package/dist/next/{MessagePopup-N2n3NvgX.js → MessagePopup-BHMymhHd.js} +3 -2
  107. package/dist/next/{MessagePopup-N2n3NvgX.js.map → MessagePopup-BHMymhHd.js.map} +1 -1
  108. package/dist/next/{MessagePopup-PB3e2lTg.cjs → MessagePopup-C08ktRPS.cjs} +3 -2
  109. package/dist/next/{MessagePopup-PB3e2lTg.cjs.map → MessagePopup-C08ktRPS.cjs.map} +1 -1
  110. package/dist/next/{MetricBox-C3B6Bkcb.cjs → MetricBox-BDC6UsP1.cjs} +47 -47
  111. package/dist/next/{MetricBox-C3B6Bkcb.cjs.map → MetricBox-BDC6UsP1.cjs.map} +1 -1
  112. package/dist/next/{MetricBox-BjdAzOrZ.js → MetricBox-Cc5g8SBy.js} +47 -47
  113. package/dist/next/{MetricBox-BjdAzOrZ.js.map → MetricBox-Cc5g8SBy.js.map} +1 -1
  114. package/dist/next/MetricBox.cjs.js +1 -1
  115. package/dist/next/MetricBox.js +1 -1
  116. package/dist/next/{Modal-QTq5IcKa.js → Modal-B2ilLCoi.js} +2 -1
  117. package/dist/next/{Modal-QTq5IcKa.js.map → Modal-B2ilLCoi.js.map} +1 -1
  118. package/dist/next/{Modal-DHTrvNfc.cjs → Modal-CVKVAEdd.cjs} +2 -1
  119. package/dist/next/{Modal-DHTrvNfc.cjs.map → Modal-CVKVAEdd.cjs.map} +1 -1
  120. package/dist/next/Modal.cjs.js +1 -1
  121. package/dist/next/Modal.js +1 -1
  122. package/dist/next/{NavBar-v_ckzQIo.js → NavBar-BZPUPeLz.js} +37 -37
  123. package/dist/next/{NavBar-v_ckzQIo.js.map → NavBar-BZPUPeLz.js.map} +1 -1
  124. package/dist/next/{NavBar-Ds_02bAe.cjs → NavBar-DYUpzh7o.cjs} +37 -37
  125. package/dist/next/{NavBar-Ds_02bAe.cjs.map → NavBar-DYUpzh7o.cjs.map} +1 -1
  126. package/dist/next/NavBar.cjs.js +1 -1
  127. package/dist/next/NavBar.js +1 -1
  128. package/dist/next/{NotificationCenter-DxK09uJd.js → NotificationCenter-C00Gj6Xv.js} +43 -42
  129. package/dist/next/{NotificationCenter-DxK09uJd.js.map → NotificationCenter-C00Gj6Xv.js.map} +1 -1
  130. package/dist/next/{NotificationCenter-DbYxpoy6.cjs → NotificationCenter-ClijzbwL.cjs} +43 -42
  131. package/dist/next/{NotificationCenter-DbYxpoy6.cjs.map → NotificationCenter-ClijzbwL.cjs.map} +1 -1
  132. package/dist/next/NotificationCenter.cjs.js +1 -1
  133. package/dist/next/NotificationCenter.js +1 -1
  134. package/dist/next/{Pager-BU5RjNwR.cjs → Pager-C1rpRIOe.cjs} +3 -2
  135. package/dist/next/{Pager-BU5RjNwR.cjs.map → Pager-C1rpRIOe.cjs.map} +1 -1
  136. package/dist/next/{Pager-CtzyTqIl.js → Pager-DzEFxEIM.js} +3 -2
  137. package/dist/next/{Pager-CtzyTqIl.js.map → Pager-DzEFxEIM.js.map} +1 -1
  138. package/dist/next/Pager.cjs.js +1 -1
  139. package/dist/next/Pager.js +1 -1
  140. package/dist/next/{PopOver-CmPp9PkL.js → PopOver-DFjt5BfD.js} +40 -40
  141. package/dist/next/{PopOver-CmPp9PkL.js.map → PopOver-DFjt5BfD.js.map} +1 -1
  142. package/dist/next/{PopOver-ixERZLpM.cjs → PopOver-J5eO0UOr.cjs} +40 -40
  143. package/dist/next/{PopOver-ixERZLpM.cjs.map → PopOver-J5eO0UOr.cjs.map} +1 -1
  144. package/dist/next/PopOver.cjs.js +1 -1
  145. package/dist/next/PopOver.js +1 -1
  146. package/dist/next/{ProgressBar-BoU2HJv3.js → ProgressBar-hpSJQWrn.js} +42 -42
  147. package/dist/next/{ProgressBar-BoU2HJv3.js.map → ProgressBar-hpSJQWrn.js.map} +1 -1
  148. package/dist/next/{ProgressBar-C6zKbiq5.cjs → ProgressBar-lOd0cGdF.cjs} +42 -42
  149. package/dist/next/{ProgressBar-C6zKbiq5.cjs.map → ProgressBar-lOd0cGdF.cjs.map} +1 -1
  150. package/dist/next/ProgressBar.cjs.js +1 -1
  151. package/dist/next/ProgressBar.js +1 -1
  152. package/dist/next/{RadioButton-BCu934Uo.cjs → RadioButton-DkeBXAsO.cjs} +38 -38
  153. package/dist/next/{RadioButton-BCu934Uo.cjs.map → RadioButton-DkeBXAsO.cjs.map} +1 -1
  154. package/dist/next/{RadioButton-C14Rsx9o.js → RadioButton-UlG9lzwh.js} +38 -38
  155. package/dist/next/{RadioButton-C14Rsx9o.js.map → RadioButton-UlG9lzwh.js.map} +1 -1
  156. package/dist/next/RadioButton.cjs.js +1 -1
  157. package/dist/next/RadioButton.js +1 -1
  158. package/dist/next/{Rating-aheV3uZJ.js → Rating-BhZSzD7o.js} +34 -34
  159. package/dist/next/{Rating-aheV3uZJ.js.map → Rating-BhZSzD7o.js.map} +1 -1
  160. package/dist/next/{Rating-C9BgQANc.cjs → Rating-BuPujSZA.cjs} +34 -34
  161. package/dist/next/{Rating-C9BgQANc.cjs.map → Rating-BuPujSZA.cjs.map} +1 -1
  162. package/dist/next/Rating.cjs.js +1 -1
  163. package/dist/next/Rating.js +1 -1
  164. package/dist/next/{Skeleton-Dmz7m0dj.cjs → Skeleton-Cp1BE2Ac.cjs} +26 -26
  165. package/dist/next/{Skeleton-Dmz7m0dj.cjs.map → Skeleton-Cp1BE2Ac.cjs.map} +1 -1
  166. package/dist/next/{Skeleton-D8C29p3K.js → Skeleton-KKJc191y.js} +26 -26
  167. package/dist/next/{Skeleton-D8C29p3K.js.map → Skeleton-KKJc191y.js.map} +1 -1
  168. package/dist/next/Skeleton.cjs.js +1 -1
  169. package/dist/next/Skeleton.js +1 -1
  170. package/dist/next/{Slider-DQM9nV1P.cjs → Slider-BK-N-zXi.cjs} +43 -43
  171. package/dist/next/{Slider-DQM9nV1P.cjs.map → Slider-BK-N-zXi.cjs.map} +1 -1
  172. package/dist/next/{Slider-BOAgWYkH.js → Slider-BvcM4-MS.js} +43 -43
  173. package/dist/next/{Slider-BOAgWYkH.js.map → Slider-BvcM4-MS.js.map} +1 -1
  174. package/dist/next/Slider.cjs.js +1 -1
  175. package/dist/next/Slider.js +1 -1
  176. package/dist/next/{Spinner-BFAOf4tt.js → Spinner-Dh8iu4p8.js} +37 -37
  177. package/dist/next/{Spinner-BFAOf4tt.js.map → Spinner-Dh8iu4p8.js.map} +1 -1
  178. package/dist/next/{Spinner-0GZngKjG.cjs → Spinner-DqTR9rvk.cjs} +37 -37
  179. package/dist/next/{Spinner-0GZngKjG.cjs.map → Spinner-DqTR9rvk.cjs.map} +1 -1
  180. package/dist/next/Spinner.cjs.js +1 -1
  181. package/dist/next/Spinner.js +1 -1
  182. package/dist/next/{Stepper-XZSIlydV.cjs → Stepper-RjdxxcS6.cjs} +40 -39
  183. package/dist/next/{Stepper-XZSIlydV.cjs.map → Stepper-RjdxxcS6.cjs.map} +1 -1
  184. package/dist/next/{Stepper-B03bz8wT.js → Stepper-nRipbdpR.js} +40 -39
  185. package/dist/next/{Stepper-B03bz8wT.js.map → Stepper-nRipbdpR.js.map} +1 -1
  186. package/dist/next/Stepper.cjs.js +1 -1
  187. package/dist/next/Stepper.js +1 -1
  188. package/dist/next/{Tabs-D8Efg8wn.cjs → Tabs-BgKvtbgg.cjs} +44 -44
  189. package/dist/next/{Tabs-D8Efg8wn.cjs.map → Tabs-BgKvtbgg.cjs.map} +1 -1
  190. package/dist/next/{Tabs-DmrS_FUa.js → Tabs-D90stLbD.js} +44 -44
  191. package/dist/next/{Tabs-DmrS_FUa.js.map → Tabs-D90stLbD.js.map} +1 -1
  192. package/dist/next/Tabs.cjs.js +1 -1
  193. package/dist/next/Tabs.js +1 -1
  194. package/dist/next/{TagInput-Bfjg9pZQ.cjs → TagInput-C7ohFpQN.cjs} +48 -47
  195. package/dist/next/{TagInput-Bfjg9pZQ.cjs.map → TagInput-C7ohFpQN.cjs.map} +1 -1
  196. package/dist/next/{TagInput-CtYKwhEi.js → TagInput-I9GEOn4z.js} +48 -47
  197. package/dist/next/{TagInput-CtYKwhEi.js.map → TagInput-I9GEOn4z.js.map} +1 -1
  198. package/dist/next/TagInput.cjs.js +1 -1
  199. package/dist/next/TagInput.js +1 -1
  200. package/dist/next/{TextInput-Z2izAjJj.cjs → TextInput-C1TUvbWx.cjs} +2 -1
  201. package/dist/next/{TextInput-Z2izAjJj.cjs.map → TextInput-C1TUvbWx.cjs.map} +1 -1
  202. package/dist/next/{TextInput-ChmIMzj2.js → TextInput-CyGkgvS3.js} +2 -1
  203. package/dist/next/{TextInput-ChmIMzj2.js.map → TextInput-CyGkgvS3.js.map} +1 -1
  204. package/dist/next/TextInput.cjs.js +1 -1
  205. package/dist/next/TextInput.js +1 -1
  206. package/dist/next/{Toolbar-C45B_I44.cjs → Toolbar-B043HxPz.cjs} +34 -34
  207. package/dist/next/{Toolbar-C45B_I44.cjs.map → Toolbar-B043HxPz.cjs.map} +1 -1
  208. package/dist/next/{Toolbar-Dq1qqx4P.js → Toolbar-DJ2eWNqF.js} +34 -34
  209. package/dist/next/{Toolbar-Dq1qqx4P.js.map → Toolbar-DJ2eWNqF.js.map} +1 -1
  210. package/dist/next/Toolbar.cjs.js +1 -1
  211. package/dist/next/Toolbar.js +1 -1
  212. package/dist/next/{Tooltip-BXd5FXXv.cjs → Tooltip-BAv_JHBJ.cjs} +39 -39
  213. package/dist/next/{Tooltip-BXd5FXXv.cjs.map → Tooltip-BAv_JHBJ.cjs.map} +1 -1
  214. package/dist/next/{Tooltip-BHIA1zE1.js → Tooltip-BCtlhs_A.js} +39 -39
  215. package/dist/next/{Tooltip-BHIA1zE1.js.map → Tooltip-BCtlhs_A.js.map} +1 -1
  216. package/dist/next/Tooltip.cjs.js +1 -1
  217. package/dist/next/Tooltip.js +1 -1
  218. package/dist/next/boreal-ui.css +3032 -2836
  219. package/dist/next/index.cjs.js +60 -59
  220. package/dist/next/index.cjs.js.map +1 -1
  221. package/dist/next/index.js +60 -59
  222. package/dist/next/index.js.map +1 -1
  223. package/dist/tsconfig.build.tsbuildinfo +1 -1
  224. package/dist/types/index.next.d.ts +1 -0
  225. package/dist/types/index.next.d.ts.map +1 -1
  226. package/package.json +5 -5
  227. package/dist/next/style.css +0 -521
@@ -1 +1 @@
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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"}
1
+ {"version":3,"file":"CommandPalette-GmgyP8kF.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,4 +1,4 @@
1
1
  "use strict";
2
- const CommandPalette = require("./CommandPalette-BT9X_yL0.cjs");
2
+ const CommandPalette = require("./CommandPalette-GmgyP8kF.cjs");
3
3
  module.exports = CommandPalette.CommandPalette;
4
4
  //# sourceMappingURL=CommandPalette.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { C } from "./CommandPalette-DEf12Et3.js";
1
+ import { C } from "./CommandPalette-Bzqc18YQ.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_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";
6
+ const noScroll = "_noScroll_1a4xq_108";
7
+ const errorMessage = "_errorMessage_1a4xq_109";
8
+ const loadingContainer = "_loadingContainer_1a4xq_110";
9
+ const hideScrollbar = "_hideScrollbar_1a4xq_102";
10
+ const sr_only = "_sr_only_1a4xq_111";
11
+ const wrapper = "_wrapper_1a4xq_529";
12
+ const table = "_table_1a4xq_544";
13
+ const sortable = "_sortable_1a4xq_583";
14
+ const sort_icon = "_sort_icon_1a4xq_590";
15
+ const clickable = "_clickable_1a4xq_604";
16
+ const striped = "_striped_1a4xq_618";
17
+ const clear = "_clear_1a4xq_621";
18
+ const primary = "_primary_1a4xq_667";
19
+ const outline = "_outline_1a4xq_672";
20
+ const secondary = "_secondary_1a4xq_682";
21
+ const tertiary = "_tertiary_1a4xq_697";
22
+ const quaternary = "_quaternary_1a4xq_712";
23
+ const success = "_success_1a4xq_742";
24
+ const error = "_error_1a4xq_109";
25
+ const warning = "_warning_1a4xq_772";
26
+ const roundNone = "_roundNone_1a4xq_787";
27
+ const roundSmall = "_roundSmall_1a4xq_791";
28
+ const roundMedium = "_roundMedium_1a4xq_795";
29
+ const roundLarge = "_roundLarge_1a4xq_799";
30
+ const roundFull = "_roundFull_1a4xq_803";
31
+ const shadowNone = "_shadowNone_1a4xq_807";
32
+ const shadowLight = "_shadowLight_1a4xq_811";
33
+ const shadowMedium = "_shadowMedium_1a4xq_815";
34
+ const shadowStrong = "_shadowStrong_1a4xq_819";
35
+ const shadowIntense = "_shadowIntense_1a4xq_823";
36
+ const spin = "_spin_1a4xq_1";
37
+ const pulse = "_pulse_1a4xq_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_16edy_1",
70
- "slide-up": "_slide-up_16edy_1",
71
- "spin-3d": "_spin-3d_16edy_1",
69
+ "fade-in": "_fade-in_1a4xq_1",
70
+ "slide-up": "_slide-up_1a4xq_1",
71
+ "spin-3d": "_spin-3d_1a4xq_1",
72
72
  spin,
73
73
  pulse,
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"
74
+ "fade-in-up": "_fade-in-up_1a4xq_1",
75
+ "progress-grow": "_progress-grow_1a4xq_1",
76
+ "indeterminate-move": "_indeterminate-move_1a4xq_1",
77
+ "skeleton-loading": "_skeleton-loading_1a4xq_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-CnvOkZrU.js.map
234
+ //# sourceMappingURL=DataTable-BoXblTGY.js.map
@@ -1 +1 @@
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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"}
1
+ {"version":3,"file":"DataTable-BoXblTGY.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_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";
7
+ const noScroll = "_noScroll_1a4xq_108";
8
+ const errorMessage = "_errorMessage_1a4xq_109";
9
+ const loadingContainer = "_loadingContainer_1a4xq_110";
10
+ const hideScrollbar = "_hideScrollbar_1a4xq_102";
11
+ const sr_only = "_sr_only_1a4xq_111";
12
+ const wrapper = "_wrapper_1a4xq_529";
13
+ const table = "_table_1a4xq_544";
14
+ const sortable = "_sortable_1a4xq_583";
15
+ const sort_icon = "_sort_icon_1a4xq_590";
16
+ const clickable = "_clickable_1a4xq_604";
17
+ const striped = "_striped_1a4xq_618";
18
+ const clear = "_clear_1a4xq_621";
19
+ const primary = "_primary_1a4xq_667";
20
+ const outline = "_outline_1a4xq_672";
21
+ const secondary = "_secondary_1a4xq_682";
22
+ const tertiary = "_tertiary_1a4xq_697";
23
+ const quaternary = "_quaternary_1a4xq_712";
24
+ const success = "_success_1a4xq_742";
25
+ const error = "_error_1a4xq_109";
26
+ const warning = "_warning_1a4xq_772";
27
+ const roundNone = "_roundNone_1a4xq_787";
28
+ const roundSmall = "_roundSmall_1a4xq_791";
29
+ const roundMedium = "_roundMedium_1a4xq_795";
30
+ const roundLarge = "_roundLarge_1a4xq_799";
31
+ const roundFull = "_roundFull_1a4xq_803";
32
+ const shadowNone = "_shadowNone_1a4xq_807";
33
+ const shadowLight = "_shadowLight_1a4xq_811";
34
+ const shadowMedium = "_shadowMedium_1a4xq_815";
35
+ const shadowStrong = "_shadowStrong_1a4xq_819";
36
+ const shadowIntense = "_shadowIntense_1a4xq_823";
37
+ const spin = "_spin_1a4xq_1";
38
+ const pulse = "_pulse_1a4xq_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_16edy_1",
71
- "slide-up": "_slide-up_16edy_1",
72
- "spin-3d": "_spin-3d_16edy_1",
70
+ "fade-in": "_fade-in_1a4xq_1",
71
+ "slide-up": "_slide-up_1a4xq_1",
72
+ "spin-3d": "_spin-3d_1a4xq_1",
73
73
  spin,
74
74
  pulse,
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"
75
+ "fade-in-up": "_fade-in-up_1a4xq_1",
76
+ "progress-grow": "_progress-grow_1a4xq_1",
77
+ "indeterminate-move": "_indeterminate-move_1a4xq_1",
78
+ "skeleton-loading": "_skeleton-loading_1a4xq_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-DQ1QRyZw.cjs.map
233
+ //# sourceMappingURL=DataTable-Cy3GLZ1j.cjs.map
@@ -1 +1 @@
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
+ {"version":3,"file":"DataTable-Cy3GLZ1j.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-DQ1QRyZw.cjs");
2
+ const DataTable = require("./DataTable-Cy3GLZ1j.cjs");
3
3
  module.exports = DataTable.DataTable;
4
4
  //# sourceMappingURL=DataTable.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { D } from "./DataTable-CnvOkZrU.js";
1
+ import { D } from "./DataTable-BoXblTGY.js";
2
2
  export {
3
3
  D as default
4
4
  };
@@ -166,44 +166,44 @@ const DateTimePickerBase = ({
166
166
  ] });
167
167
  };
168
168
  DateTimePickerBase.displayName = "DateTimePickerBase";
169
- const noScroll = "_noScroll_xtdky_108";
170
- const errorMessage = "_errorMessage_xtdky_109";
171
- const loadingContainer = "_loadingContainer_xtdky_110";
172
- const hideScrollbar = "_hideScrollbar_xtdky_102";
173
- const sr_only = "_sr_only_xtdky_111";
174
- const wrapper = "_wrapper_xtdky_540";
175
- const input = "_input_xtdky_557";
176
- const label = "_label_xtdky_566";
177
- const inputWrapper = "_inputWrapper_xtdky_582";
178
- const icon = "_icon_xtdky_630";
179
- const primary = "_primary_xtdky_661";
180
- const outline = "_outline_xtdky_665";
181
- const secondary = "_secondary_xtdky_674";
182
- const tertiary = "_tertiary_xtdky_687";
183
- const quaternary = "_quaternary_xtdky_700";
184
- const clear = "_clear_xtdky_713";
185
- const success = "_success_xtdky_726";
186
- const error = "_error_xtdky_109";
187
- const warning = "_warning_xtdky_752";
188
- const disabled = "_disabled_xtdky_780";
189
- const xs = "_xs_xtdky_794";
190
- const small = "_small_xtdky_806";
191
- const medium = "_medium_xtdky_818";
192
- const large = "_large_xtdky_830";
193
- const xl = "_xl_xtdky_842";
194
- const description = "_description_xtdky_854";
195
- const roundNone = "_roundNone_xtdky_869";
196
- const roundSmall = "_roundSmall_xtdky_873";
197
- const roundMedium = "_roundMedium_xtdky_877";
198
- const roundLarge = "_roundLarge_xtdky_881";
199
- const roundFull = "_roundFull_xtdky_885";
200
- const shadowNone = "_shadowNone_xtdky_889";
201
- const shadowLight = "_shadowLight_xtdky_893";
202
- const shadowMedium = "_shadowMedium_xtdky_897";
203
- const shadowStrong = "_shadowStrong_xtdky_901";
204
- const shadowIntense = "_shadowIntense_xtdky_905";
205
- const spin = "_spin_xtdky_1";
206
- const pulse = "_pulse_xtdky_1";
169
+ const noScroll = "_noScroll_ed5ja_108";
170
+ const errorMessage = "_errorMessage_ed5ja_109";
171
+ const loadingContainer = "_loadingContainer_ed5ja_110";
172
+ const hideScrollbar = "_hideScrollbar_ed5ja_102";
173
+ const sr_only = "_sr_only_ed5ja_111";
174
+ const wrapper = "_wrapper_ed5ja_529";
175
+ const input = "_input_ed5ja_546";
176
+ const label = "_label_ed5ja_555";
177
+ const inputWrapper = "_inputWrapper_ed5ja_571";
178
+ const icon = "_icon_ed5ja_619";
179
+ const primary = "_primary_ed5ja_650";
180
+ const outline = "_outline_ed5ja_654";
181
+ const secondary = "_secondary_ed5ja_663";
182
+ const tertiary = "_tertiary_ed5ja_676";
183
+ const quaternary = "_quaternary_ed5ja_689";
184
+ const clear = "_clear_ed5ja_702";
185
+ const success = "_success_ed5ja_715";
186
+ const error = "_error_ed5ja_109";
187
+ const warning = "_warning_ed5ja_741";
188
+ const disabled = "_disabled_ed5ja_769";
189
+ const xs = "_xs_ed5ja_783";
190
+ const small = "_small_ed5ja_795";
191
+ const medium = "_medium_ed5ja_807";
192
+ const large = "_large_ed5ja_819";
193
+ const xl = "_xl_ed5ja_831";
194
+ const description = "_description_ed5ja_843";
195
+ const roundNone = "_roundNone_ed5ja_858";
196
+ const roundSmall = "_roundSmall_ed5ja_862";
197
+ const roundMedium = "_roundMedium_ed5ja_866";
198
+ const roundLarge = "_roundLarge_ed5ja_870";
199
+ const roundFull = "_roundFull_ed5ja_874";
200
+ const shadowNone = "_shadowNone_ed5ja_878";
201
+ const shadowLight = "_shadowLight_ed5ja_882";
202
+ const shadowMedium = "_shadowMedium_ed5ja_886";
203
+ const shadowStrong = "_shadowStrong_ed5ja_890";
204
+ const shadowIntense = "_shadowIntense_ed5ja_894";
205
+ const spin = "_spin_ed5ja_1";
206
+ const pulse = "_pulse_ed5ja_1";
207
207
  const styles = {
208
208
  noScroll,
209
209
  errorMessage,
@@ -241,17 +241,17 @@ const styles = {
241
241
  shadowMedium,
242
242
  shadowStrong,
243
243
  shadowIntense,
244
- "fade-in": "_fade-in_xtdky_1",
245
- "slide-up": "_slide-up_xtdky_1",
246
- "spin-3d": "_spin-3d_xtdky_1",
244
+ "fade-in": "_fade-in_ed5ja_1",
245
+ "slide-up": "_slide-up_ed5ja_1",
246
+ "spin-3d": "_spin-3d_ed5ja_1",
247
247
  spin,
248
248
  pulse,
249
- "fade-in-up": "_fade-in-up_xtdky_1",
250
- "progress-grow": "_progress-grow_xtdky_1",
251
- "indeterminate-move": "_indeterminate-move_xtdky_1",
252
- "skeleton-loading": "_skeleton-loading_xtdky_1"
249
+ "fade-in-up": "_fade-in-up_ed5ja_1",
250
+ "progress-grow": "_progress-grow_ed5ja_1",
251
+ "indeterminate-move": "_indeterminate-move_ed5ja_1",
252
+ "skeleton-loading": "_skeleton-loading_ed5ja_1"
253
253
  };
254
254
  const DateTimePicker = (props) => /* @__PURE__ */ require$$2.jsx(DateTimePickerBase, { ...props, classMap: styles });
255
255
  DateTimePicker.displayName = "DateTimePicker";
256
256
  exports.DateTimePicker = DateTimePicker;
257
- //# sourceMappingURL=DateTimePicker-2M4AJJXm.cjs.map
257
+ //# sourceMappingURL=DateTimePicker-DYXQLrAL.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimePicker-2M4AJJXm.cjs","sources":["../../src/Icons/CalendarIcon.tsx","../../src/components/DateTimePicker/DateTimePickerBase.tsx","../../src/components/DateTimePicker/next/DateTimePicker.tsx"],"sourcesContent":["const CalendarIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M15 4V2M15 4V6M15 4H10.5M3 10V19C3 20.1046 3.89543 21 5 21H19C20.1046 21 21 20.1046 21 19V10H3Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M3 10V6C3 4.89543 3.89543 4 5 4H7\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M7 2V6\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M21 10V6C21 4.89543 20.1046 4 19 4H18.5\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default CalendarIcon;\r\n","import React, { useId, useMemo, useRef } from \"react\";\r\nimport { DateTimePickerBaseProps } from \"./DateTimePicker.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { CalendarIcon } from \"../../Icons\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst DateTimePickerBase: React.FC<DateTimePickerBaseProps> = ({\r\n label,\r\n value,\r\n onChange,\r\n min,\r\n max,\r\n name,\r\n required = false,\r\n disabled = false,\r\n size = getDefaultSize(),\r\n outline,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n \"data-testid\": testId = \"datetime-picker\",\r\n classMap,\r\n error,\r\n description,\r\n id,\r\n}) => {\r\n const generatedId = useId();\r\n const inputId = id || generatedId;\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n\r\n const descriptionId = description ? `${inputId}-description` : undefined;\r\n const errorId = error ? `${inputId}-error` : undefined;\r\n\r\n const invalidRange = min && max ? min > max : false;\r\n const outOfBounds = value\r\n ? (min ? value < min : false) || (max ? value > max : false)\r\n : false;\r\n\r\n const openPicker = () => {\r\n const el = inputRef.current;\r\n if (!el) return;\r\n if (typeof el.showPicker === \"function\") el.showPicker();\r\n else el.focus();\r\n };\r\n\r\n const pickerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n className\r\n ),\r\n [\r\n classMap,\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n outline,\r\n disabled,\r\n className,\r\n ]\r\n );\r\n\r\n const describedBy =\r\n [descriptionId, errorId].filter(Boolean).join(\" \") || undefined;\r\n\r\n return (\r\n <div className={pickerClass} data-testid={testId}>\r\n {label && (\r\n <label htmlFor={inputId} className={classMap.label}>\r\n {label} {required && <span aria-hidden=\"true\">*</span>}\r\n </label>\r\n )}\r\n\r\n <div className={classMap.inputWrapper}>\r\n <input\r\n id={inputId}\r\n type=\"datetime-local\"\r\n className={classMap.input}\r\n value={value}\r\n onChange={(e) => onChange?.(e.target.value)}\r\n min={min}\r\n max={max}\r\n name={name}\r\n ref={inputRef}\r\n required={required}\r\n disabled={disabled}\r\n aria-invalid={\r\n Boolean(error) || invalidRange || outOfBounds || undefined\r\n }\r\n aria-describedby={describedBy}\r\n aria-errormessage={error ? errorId : undefined}\r\n aria-label={label || \"Date and time\"}\r\n data-testid={`${testId}-input`}\r\n autoComplete=\"off\"\r\n />\r\n\r\n <button\r\n type=\"button\"\r\n className={classMap.icon}\r\n onClick={openPicker}\r\n disabled={disabled}\r\n aria-label=\"Open date and time picker\"\r\n data-testid={`${testId}-button`}\r\n >\r\n <CalendarIcon />\r\n </button>\r\n </div>\r\n\r\n {description && !error && (\r\n <p id={descriptionId} className={classMap.description}>\r\n {description}\r\n </p>\r\n )}\r\n\r\n {error && (\r\n <p id={errorId} className={classMap.error} role=\"alert\">\r\n {error}\r\n </p>\r\n )}\r\n </div>\r\n );\r\n};\r\nDateTimePickerBase.displayName = \"DateTimePickerBase\";\r\nexport default DateTimePickerBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport DateTimePickerBase from \"../DateTimePickerBase\";\r\nimport styles from \"./DateTimePicker.module.scss\";\r\nimport type { DateTimePickerProps } from \"../DateTimePicker.types\";\r\n\r\nconst DateTimePicker: React.FC<DateTimePickerProps> = (props) => (\r\n <DateTimePickerBase {...props} classMap={styles} />\r\n);\r\nDateTimePicker.displayName = \"DateTimePicker\";\r\nexport default DateTimePicker;\r\n"],"names":["jsxs","jsx","label","disabled","getDefaultSize","outline","getDefaultTheme","getDefaultRounding","getDefaultShadow","error","description","useId","useRef","useMemo","combineClassNames","capitalize"],"mappings":"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"}
1
+ {"version":3,"file":"DateTimePicker-DYXQLrAL.cjs","sources":["../../src/Icons/CalendarIcon.tsx","../../src/components/DateTimePicker/DateTimePickerBase.tsx","../../src/components/DateTimePicker/next/DateTimePicker.tsx"],"sourcesContent":["const CalendarIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M15 4V2M15 4V6M15 4H10.5M3 10V19C3 20.1046 3.89543 21 5 21H19C20.1046 21 21 20.1046 21 19V10H3Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M3 10V6C3 4.89543 3.89543 4 5 4H7\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M7 2V6\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M21 10V6C21 4.89543 20.1046 4 19 4H18.5\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default CalendarIcon;\r\n","import React, { useId, useMemo, useRef } from \"react\";\r\nimport { DateTimePickerBaseProps } from \"./DateTimePicker.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { CalendarIcon } from \"../../Icons\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst DateTimePickerBase: React.FC<DateTimePickerBaseProps> = ({\r\n label,\r\n value,\r\n onChange,\r\n min,\r\n max,\r\n name,\r\n required = false,\r\n disabled = false,\r\n size = getDefaultSize(),\r\n outline,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n \"data-testid\": testId = \"datetime-picker\",\r\n classMap,\r\n error,\r\n description,\r\n id,\r\n}) => {\r\n const generatedId = useId();\r\n const inputId = id || generatedId;\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n\r\n const descriptionId = description ? `${inputId}-description` : undefined;\r\n const errorId = error ? `${inputId}-error` : undefined;\r\n\r\n const invalidRange = min && max ? min > max : false;\r\n const outOfBounds = value\r\n ? (min ? value < min : false) || (max ? value > max : false)\r\n : false;\r\n\r\n const openPicker = () => {\r\n const el = inputRef.current;\r\n if (!el) return;\r\n if (typeof el.showPicker === \"function\") el.showPicker();\r\n else el.focus();\r\n };\r\n\r\n const pickerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n className\r\n ),\r\n [\r\n classMap,\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n outline,\r\n disabled,\r\n className,\r\n ]\r\n );\r\n\r\n const describedBy =\r\n [descriptionId, errorId].filter(Boolean).join(\" \") || undefined;\r\n\r\n return (\r\n <div className={pickerClass} data-testid={testId}>\r\n {label && (\r\n <label htmlFor={inputId} className={classMap.label}>\r\n {label} {required && <span aria-hidden=\"true\">*</span>}\r\n </label>\r\n )}\r\n\r\n <div className={classMap.inputWrapper}>\r\n <input\r\n id={inputId}\r\n type=\"datetime-local\"\r\n className={classMap.input}\r\n value={value}\r\n onChange={(e) => onChange?.(e.target.value)}\r\n min={min}\r\n max={max}\r\n name={name}\r\n ref={inputRef}\r\n required={required}\r\n disabled={disabled}\r\n aria-invalid={\r\n Boolean(error) || invalidRange || outOfBounds || undefined\r\n }\r\n aria-describedby={describedBy}\r\n aria-errormessage={error ? errorId : undefined}\r\n aria-label={label || \"Date and time\"}\r\n data-testid={`${testId}-input`}\r\n autoComplete=\"off\"\r\n />\r\n\r\n <button\r\n type=\"button\"\r\n className={classMap.icon}\r\n onClick={openPicker}\r\n disabled={disabled}\r\n aria-label=\"Open date and time picker\"\r\n data-testid={`${testId}-button`}\r\n >\r\n <CalendarIcon />\r\n </button>\r\n </div>\r\n\r\n {description && !error && (\r\n <p id={descriptionId} className={classMap.description}>\r\n {description}\r\n </p>\r\n )}\r\n\r\n {error && (\r\n <p id={errorId} className={classMap.error} role=\"alert\">\r\n {error}\r\n </p>\r\n )}\r\n </div>\r\n );\r\n};\r\nDateTimePickerBase.displayName = \"DateTimePickerBase\";\r\nexport default DateTimePickerBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport DateTimePickerBase from \"../DateTimePickerBase\";\r\nimport styles from \"./DateTimePicker.module.scss\";\r\nimport type { DateTimePickerProps } from \"../DateTimePicker.types\";\r\n\r\nconst DateTimePicker: React.FC<DateTimePickerProps> = (props) => (\r\n <DateTimePickerBase {...props} classMap={styles} />\r\n);\r\nDateTimePicker.displayName = \"DateTimePicker\";\r\nexport default DateTimePicker;\r\n"],"names":["jsxs","jsx","label","disabled","getDefaultSize","outline","getDefaultTheme","getDefaultRounding","getDefaultShadow","error","description","useId","useRef","useMemo","combineClassNames","capitalize"],"mappings":"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"}