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 +1 @@
1
- {"version":3,"file":"CommandPalette-D6R9_gmo.js","sources":["../../src/components/CommandPalette/CommandPaletteBase.tsx","../../src/components/CommandPalette/next/CommandPalette.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useId,\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 {\r\n CommandPaletteBaseProps,\r\n CommandItem,\r\n} 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\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 inputAriaLabel,\r\n inputAriaLabelledBy,\r\n inputAriaDescribedBy,\r\n inputLabel,\r\n inputId,\r\n listboxId,\r\n paletteId,\r\n listAriaLabel = \"Command suggestions\",\r\n emptyMessage = \"No matching results\",\r\n resultsAnnouncement = \"results available\",\r\n modal = true,\r\n trapFocus = false,\r\n restoreFocusOnClose = true,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-controls\": ariaControls,\r\n \"aria-expanded\": ariaExpanded,\r\n \"aria-activedescendant\": ariaActiveDescendant,\r\n \"data-testid\": testId = \"command-palette\",\r\n className,\r\n ...rest\r\n}) => {\r\n const reactId = useId();\r\n const resolvedPaletteId = paletteId ?? `${testId}-${reactId}-dialog`;\r\n const resolvedInputId = inputId ?? `${testId}-${reactId}-input`;\r\n const resolvedListboxId = listboxId ?? `${testId}-${reactId}-listbox`;\r\n const resolvedLabelId = `${resolvedInputId}-label`;\r\n const resolvedStatusId = `${resolvedPaletteId}-status`;\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 containerRef = useRef<HTMLDivElement>(null);\r\n const [mounted, setMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [asyncResults, setAsyncResults] = useState<CommandItem[]>([]);\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 const q = query.toLowerCase();\r\n if (!q) return true;\r\n\r\n const labelMatch = cmd.label.toLowerCase().includes(q);\r\n const keywordMatch = cmd.keywords?.some((keyword) =>\r\n keyword.toLowerCase().includes(q),\r\n );\r\n\r\n return labelMatch || Boolean(keywordMatch);\r\n });\r\n\r\n useEffect(() => {\r\n if (filtered.length === 0) {\r\n setActiveIndex(-1);\r\n } else if (\r\n activeIndex < 0 ||\r\n activeIndex >= filtered.length ||\r\n filtered[activeIndex]?.disabled\r\n ) {\r\n const firstEnabledIndex = filtered.findIndex((item) => !item.disabled);\r\n setActiveIndex(firstEnabledIndex);\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\r\n if (restoreFocusOnClose) {\r\n prevFocusRef.current?.focus?.();\r\n }\r\n };\r\n }, [isOpen, restoreFocusOnClose]);\r\n\r\n useEffect(() => {\r\n if (isOpen && mounted && portalElement && inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n }, [isOpen, mounted, portalElement]);\r\n\r\n const getItemId = useCallback(\r\n (cmd: CommandItem, index: number) =>\r\n cmd.id\r\n ? `${resolvedListboxId}-option-${cmd.id}`\r\n : `${resolvedListboxId}-option-${index}`,\r\n [resolvedListboxId],\r\n );\r\n\r\n const getNextEnabledIndex = useCallback(\r\n (startIndex: number, direction: 1 | -1) => {\r\n if (filtered.length === 0) return -1;\r\n\r\n let nextIndex = startIndex;\r\n\r\n for (let i = 0; i < filtered.length; i += 1) {\r\n nextIndex = (nextIndex + direction + filtered.length) % filtered.length;\r\n if (!filtered[nextIndex]?.disabled) {\r\n return nextIndex;\r\n }\r\n }\r\n\r\n return -1;\r\n },\r\n [filtered],\r\n );\r\n\r\n const activateCommand = useCallback(\r\n (cmd: CommandItem | undefined) => {\r\n if (!cmd || cmd.disabled) return;\r\n cmd.action();\r\n onClose();\r\n },\r\n [onClose],\r\n );\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) => getNextEnabledIndex(prev < 0 ? -1 : prev, 1));\r\n } else if (e.key === \"ArrowUp\") {\r\n if (filtered.length === 0) return;\r\n e.preventDefault();\r\n setActiveIndex((prev) => getNextEnabledIndex(prev < 0 ? 0 : prev, -1));\r\n } else if (e.key === \"Enter\") {\r\n if (activeIndex >= 0) {\r\n e.preventDefault();\r\n activateCommand(filtered[activeIndex]);\r\n }\r\n } else if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n onClose();\r\n } else if (e.key === \"Home\") {\r\n e.preventDefault();\r\n const firstEnabledIndex = filtered.findIndex((item) => !item.disabled);\r\n setActiveIndex(firstEnabledIndex);\r\n } else if (e.key === \"End\") {\r\n e.preventDefault();\r\n const reversedIndex = [...filtered]\r\n .reverse()\r\n .findIndex((item) => !item.disabled);\r\n\r\n if (reversedIndex >= 0) {\r\n setActiveIndex(filtered.length - 1 - reversedIndex);\r\n }\r\n }\r\n },\r\n [filtered, activeIndex, getNextEnabledIndex, activateCommand, onClose],\r\n );\r\n\r\n const handleContainerKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n onClose();\r\n return;\r\n }\r\n\r\n if (trapFocus && e.key === \"Tab\") {\r\n const container = containerRef.current;\r\n if (!container) return;\r\n\r\n const focusable = container.querySelectorAll<HTMLElement>(\r\n [\r\n \"a[href]\",\r\n \"button:not([disabled])\",\r\n \"input:not([disabled])\",\r\n \"select:not([disabled])\",\r\n \"textarea:not([disabled])\",\r\n '[tabindex]:not([tabindex=\"-1\"])',\r\n ].join(\",\"),\r\n );\r\n\r\n if (focusable.length === 0) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n const first = focusable[0];\r\n const last = focusable[focusable.length - 1];\r\n const active = document.activeElement as HTMLElement | null;\r\n\r\n if (!e.shiftKey && active === last) {\r\n e.preventDefault();\r\n first.focus();\r\n } else if (e.shiftKey && active === first) {\r\n e.preventDefault();\r\n last.focus();\r\n }\r\n }\r\n },\r\n [onClose, trapFocus],\r\n );\r\n\r\n if (!isOpen || !mounted || !portalElement) return null;\r\n\r\n const activeItem =\r\n activeIndex >= 0 && filtered[activeIndex]\r\n ? filtered[activeIndex]\r\n : undefined;\r\n\r\n const computedActiveDescendant =\r\n ariaActiveDescendant ??\r\n (activeItem ? getItemId(activeItem, activeIndex) : undefined);\r\n\r\n const computedAriaExpanded =\r\n typeof ariaExpanded === \"boolean\" ? ariaExpanded : isOpen;\r\n\r\n const dialogRole = modal ? \"dialog\" : \"region\";\r\n\r\n const liveMessage = isLoading\r\n ? \"Searching commands\"\r\n : filtered.length === 0\r\n ? emptyMessage\r\n : `${filtered.length} ${resultsAnnouncement}`;\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 {...rest}\r\n id={resolvedPaletteId}\r\n ref={containerRef}\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={dialogRole}\r\n aria-modal={modal ? true : undefined}\r\n aria-label={ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-controls={ariaControls}\r\n data-testid={testId}\r\n >\r\n {inputLabel && (\r\n <label\r\n id={resolvedLabelId}\r\n htmlFor={resolvedInputId}\r\n className={classMap.label}\r\n data-testid={`${testId}-input-label`}\r\n >\r\n {inputLabel}\r\n </label>\r\n )}\r\n\r\n <TextInputComponent\r\n ref={inputRef}\r\n id={resolvedInputId}\r\n type=\"text\"\r\n value={query}\r\n onChange={(\r\n valueOrEvent: string | React.ChangeEvent<HTMLInputElement>,\r\n event?: React.ChangeEvent<HTMLInputElement>,\r\n ) => {\r\n if (typeof valueOrEvent === \"string\") {\r\n setQuery(valueOrEvent);\r\n return;\r\n }\r\n\r\n setQuery(valueOrEvent.target.value ?? event?.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-label={inputAriaLabel}\r\n aria-labelledby={\r\n inputAriaLabelledBy ??\r\n (!inputAriaLabel && inputLabel ? resolvedLabelId : undefined)\r\n }\r\n aria-describedby={inputAriaDescribedBy}\r\n aria-autocomplete=\"list\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded={computedAriaExpanded}\r\n aria-controls={resolvedListboxId}\r\n aria-activedescendant={computedActiveDescendant}\r\n />\r\n\r\n <div\r\n id={resolvedStatusId}\r\n className={classMap.srOnly}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n data-testid={`${testId}-live-region`}\r\n >\r\n {liveMessage}\r\n </div>\r\n\r\n <ul\r\n id={resolvedListboxId}\r\n className={classMap.list}\r\n role=\"listbox\"\r\n aria-label={!ariaLabelledBy ? listAriaLabel : undefined}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-busy={isLoading || undefined}\r\n data-testid={`${testId}-listbox`}\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 data-testid={`${testId}-loading`}\r\n >\r\n Searching…\r\n </li>\r\n ) : filtered.length > 0 ? (\r\n filtered.map((cmd, index) => {\r\n const isActive = index === activeIndex;\r\n const isDisabled = Boolean(cmd.disabled);\r\n const itemId = getItemId(cmd, index);\r\n const descriptionId = cmd[\"aria-description\"]\r\n ? `${itemId}-description`\r\n : undefined;\r\n\r\n return (\r\n <li\r\n key={cmd.id ?? `${cmd.label}-${index}`}\r\n id={itemId}\r\n role=\"option\"\r\n aria-label={cmd[\"aria-label\"]}\r\n aria-describedby={descriptionId}\r\n aria-disabled={isDisabled || undefined}\r\n aria-selected={isActive}\r\n className={combineClassNames(\r\n classMap.item,\r\n classMap[theme],\r\n isActive && classMap.active,\r\n isDisabled && classMap.disabled,\r\n )}\r\n onClick={() => activateCommand(cmd)}\r\n onMouseEnter={() => {\r\n if (!isDisabled) setActiveIndex(index);\r\n }}\r\n data-testid={`${testId}-option-${index}`}\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\r\n <span\r\n className={classMap.itemLabel}\r\n data-testid={`${testId}-option-label-${index}`}\r\n >\r\n {cmd.label}\r\n </span>\r\n\r\n {cmd[\"aria-description\"] && (\r\n <span\r\n id={descriptionId}\r\n className={classMap.srOnly}\r\n data-testid={`${testId}-option-description-${index}`}\r\n >\r\n {cmd[\"aria-description\"]}\r\n </span>\r\n )}\r\n </li>\r\n );\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 data-testid={`${testId}-empty`}\r\n >\r\n {emptyMessage}\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </div>,\r\n portalElement,\r\n );\r\n};\r\n\r\nCommandPaletteBase.displayName = \"CommandPaletteBase\";\r\n\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":["item","active"],"mappings":"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"}
1
+ {"version":3,"file":"CommandPalette-CNaU5jTY.js","sources":["../../src/components/CommandPalette/CommandPaletteBase.tsx","../../src/components/CommandPalette/next/CommandPalette.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useId,\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 {\r\n CommandPaletteBaseProps,\r\n CommandItem,\r\n} 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\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 inputAriaLabel,\r\n inputAriaLabelledBy,\r\n inputAriaDescribedBy,\r\n inputLabel,\r\n inputId,\r\n listboxId,\r\n paletteId,\r\n listAriaLabel = \"Command suggestions\",\r\n emptyMessage = \"No matching results\",\r\n resultsAnnouncement = \"results available\",\r\n modal = true,\r\n trapFocus = false,\r\n restoreFocusOnClose = true,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-controls\": ariaControls,\r\n \"aria-expanded\": ariaExpanded,\r\n \"aria-activedescendant\": ariaActiveDescendant,\r\n \"data-testid\": testId = \"command-palette\",\r\n className,\r\n ...rest\r\n}) => {\r\n const reactId = useId();\r\n const resolvedPaletteId = paletteId ?? `${testId}-${reactId}-dialog`;\r\n const resolvedInputId = inputId ?? `${testId}-${reactId}-input`;\r\n const resolvedListboxId = listboxId ?? `${testId}-${reactId}-listbox`;\r\n const resolvedLabelId = `${resolvedInputId}-label`;\r\n const resolvedStatusId = `${resolvedPaletteId}-status`;\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 containerRef = useRef<HTMLDivElement>(null);\r\n const [mounted, setMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [asyncResults, setAsyncResults] = useState<CommandItem[]>([]);\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 const q = query.toLowerCase();\r\n if (!q) return true;\r\n\r\n const labelMatch = cmd.label.toLowerCase().includes(q);\r\n const keywordMatch = cmd.keywords?.some((keyword) =>\r\n keyword.toLowerCase().includes(q),\r\n );\r\n\r\n return labelMatch || Boolean(keywordMatch);\r\n });\r\n\r\n useEffect(() => {\r\n if (filtered.length === 0) {\r\n setActiveIndex(-1);\r\n } else if (\r\n activeIndex < 0 ||\r\n activeIndex >= filtered.length ||\r\n filtered[activeIndex]?.disabled\r\n ) {\r\n const firstEnabledIndex = filtered.findIndex((item) => !item.disabled);\r\n setActiveIndex(firstEnabledIndex);\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\r\n if (restoreFocusOnClose) {\r\n prevFocusRef.current?.focus?.();\r\n }\r\n };\r\n }, [isOpen, restoreFocusOnClose]);\r\n\r\n useEffect(() => {\r\n if (isOpen && mounted && portalElement && inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n }, [isOpen, mounted, portalElement]);\r\n\r\n const getItemId = useCallback(\r\n (cmd: CommandItem, index: number) =>\r\n cmd.id\r\n ? `${resolvedListboxId}-option-${cmd.id}`\r\n : `${resolvedListboxId}-option-${index}`,\r\n [resolvedListboxId],\r\n );\r\n\r\n const getNextEnabledIndex = useCallback(\r\n (startIndex: number, direction: 1 | -1) => {\r\n if (filtered.length === 0) return -1;\r\n\r\n let nextIndex = startIndex;\r\n\r\n for (let i = 0; i < filtered.length; i += 1) {\r\n nextIndex = (nextIndex + direction + filtered.length) % filtered.length;\r\n if (!filtered[nextIndex]?.disabled) {\r\n return nextIndex;\r\n }\r\n }\r\n\r\n return -1;\r\n },\r\n [filtered],\r\n );\r\n\r\n const activateCommand = useCallback(\r\n (cmd: CommandItem | undefined) => {\r\n if (!cmd || cmd.disabled) return;\r\n cmd.action();\r\n onClose();\r\n },\r\n [onClose],\r\n );\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) => getNextEnabledIndex(prev < 0 ? -1 : prev, 1));\r\n } else if (e.key === \"ArrowUp\") {\r\n if (filtered.length === 0) return;\r\n e.preventDefault();\r\n setActiveIndex((prev) => getNextEnabledIndex(prev < 0 ? 0 : prev, -1));\r\n } else if (e.key === \"Enter\") {\r\n if (activeIndex >= 0) {\r\n e.preventDefault();\r\n activateCommand(filtered[activeIndex]);\r\n }\r\n } else if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n onClose();\r\n } else if (e.key === \"Home\") {\r\n e.preventDefault();\r\n const firstEnabledIndex = filtered.findIndex((item) => !item.disabled);\r\n setActiveIndex(firstEnabledIndex);\r\n } else if (e.key === \"End\") {\r\n e.preventDefault();\r\n const reversedIndex = [...filtered]\r\n .reverse()\r\n .findIndex((item) => !item.disabled);\r\n\r\n if (reversedIndex >= 0) {\r\n setActiveIndex(filtered.length - 1 - reversedIndex);\r\n }\r\n }\r\n },\r\n [filtered, activeIndex, getNextEnabledIndex, activateCommand, onClose],\r\n );\r\n\r\n const handleContainerKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n onClose();\r\n return;\r\n }\r\n\r\n if (trapFocus && e.key === \"Tab\") {\r\n const container = containerRef.current;\r\n if (!container) return;\r\n\r\n const focusable = container.querySelectorAll<HTMLElement>(\r\n [\r\n \"a[href]\",\r\n \"button:not([disabled])\",\r\n \"input:not([disabled])\",\r\n \"select:not([disabled])\",\r\n \"textarea:not([disabled])\",\r\n '[tabindex]:not([tabindex=\"-1\"])',\r\n ].join(\",\"),\r\n );\r\n\r\n if (focusable.length === 0) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n const first = focusable[0];\r\n const last = focusable[focusable.length - 1];\r\n const active = document.activeElement as HTMLElement | null;\r\n\r\n if (!e.shiftKey && active === last) {\r\n e.preventDefault();\r\n first.focus();\r\n } else if (e.shiftKey && active === first) {\r\n e.preventDefault();\r\n last.focus();\r\n }\r\n }\r\n },\r\n [onClose, trapFocus],\r\n );\r\n\r\n if (!isOpen || !mounted || !portalElement) return null;\r\n\r\n const activeItem =\r\n activeIndex >= 0 && filtered[activeIndex]\r\n ? filtered[activeIndex]\r\n : undefined;\r\n\r\n const computedActiveDescendant =\r\n ariaActiveDescendant ??\r\n (activeItem ? getItemId(activeItem, activeIndex) : undefined);\r\n\r\n const computedAriaExpanded =\r\n typeof ariaExpanded === \"boolean\" ? ariaExpanded : isOpen;\r\n\r\n const dialogRole = modal ? \"dialog\" : \"region\";\r\n\r\n const liveMessage = isLoading\r\n ? \"Searching commands\"\r\n : filtered.length === 0\r\n ? emptyMessage\r\n : `${filtered.length} ${resultsAnnouncement}`;\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 {...rest}\r\n id={resolvedPaletteId}\r\n ref={containerRef}\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={dialogRole}\r\n aria-modal={modal ? true : undefined}\r\n aria-label={ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-controls={ariaControls}\r\n data-testid={testId}\r\n >\r\n {inputLabel && (\r\n <label\r\n id={resolvedLabelId}\r\n htmlFor={resolvedInputId}\r\n className={classMap.label}\r\n data-testid={`${testId}-input-label`}\r\n >\r\n {inputLabel}\r\n </label>\r\n )}\r\n\r\n <TextInputComponent\r\n ref={inputRef}\r\n id={resolvedInputId}\r\n type=\"text\"\r\n value={query}\r\n onChange={(\r\n valueOrEvent: string | React.ChangeEvent<HTMLInputElement>,\r\n event?: React.ChangeEvent<HTMLInputElement>,\r\n ) => {\r\n if (typeof valueOrEvent === \"string\") {\r\n setQuery(valueOrEvent);\r\n return;\r\n }\r\n\r\n setQuery(valueOrEvent.target.value ?? event?.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-label={inputAriaLabel}\r\n aria-labelledby={\r\n inputAriaLabelledBy ??\r\n (!inputAriaLabel && inputLabel ? resolvedLabelId : undefined)\r\n }\r\n aria-describedby={inputAriaDescribedBy}\r\n aria-autocomplete=\"list\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded={computedAriaExpanded}\r\n aria-controls={resolvedListboxId}\r\n aria-activedescendant={computedActiveDescendant}\r\n />\r\n\r\n <div\r\n id={resolvedStatusId}\r\n className={classMap.srOnly}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n data-testid={`${testId}-live-region`}\r\n >\r\n {liveMessage}\r\n </div>\r\n\r\n <ul\r\n id={resolvedListboxId}\r\n className={classMap.list}\r\n role=\"listbox\"\r\n aria-label={!ariaLabelledBy ? listAriaLabel : undefined}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-busy={isLoading || undefined}\r\n data-testid={`${testId}-listbox`}\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 data-testid={`${testId}-loading`}\r\n >\r\n Searching…\r\n </li>\r\n ) : filtered.length > 0 ? (\r\n filtered.map((cmd, index) => {\r\n const isActive = index === activeIndex;\r\n const isDisabled = Boolean(cmd.disabled);\r\n const itemId = getItemId(cmd, index);\r\n const descriptionId = cmd[\"aria-description\"]\r\n ? `${itemId}-description`\r\n : undefined;\r\n\r\n return (\r\n <li\r\n key={cmd.id ?? `${cmd.label}-${index}`}\r\n id={itemId}\r\n role=\"option\"\r\n aria-label={cmd[\"aria-label\"]}\r\n aria-describedby={descriptionId}\r\n aria-disabled={isDisabled || undefined}\r\n aria-selected={isActive}\r\n className={combineClassNames(\r\n classMap.item,\r\n classMap[theme],\r\n isActive && classMap.active,\r\n isDisabled && classMap.disabled,\r\n )}\r\n onClick={() => activateCommand(cmd)}\r\n onMouseEnter={() => {\r\n if (!isDisabled) setActiveIndex(index);\r\n }}\r\n data-testid={`${testId}-option-${index}`}\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\r\n <span\r\n className={classMap.itemLabel}\r\n data-testid={`${testId}-option-label-${index}`}\r\n >\r\n {cmd.label}\r\n </span>\r\n\r\n {cmd[\"aria-description\"] && (\r\n <span\r\n id={descriptionId}\r\n className={classMap.srOnly}\r\n data-testid={`${testId}-option-description-${index}`}\r\n >\r\n {cmd[\"aria-description\"]}\r\n </span>\r\n )}\r\n </li>\r\n );\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 data-testid={`${testId}-empty`}\r\n >\r\n {emptyMessage}\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </div>,\r\n portalElement,\r\n );\r\n};\r\n\r\nCommandPaletteBase.displayName = \"CommandPaletteBase\";\r\n\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":["item","active"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
- const require$$2 = require("react/jsx-runtime");
2
+ require('./globals.css');require('./CommandPalette.css');const require$$2 = require("react/jsx-runtime");
3
3
  const React = require("react");
4
4
  const ReactDOM = require("react-dom");
5
5
  const classNames = require("./classNames-BcWMx052.cjs");
6
6
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
7
7
  const borealStyleConfig = require("./boreal-style-config-C1UIwOFN.cjs");
8
8
  ;/* empty css */
9
- const TextInput = require("./TextInput-7nN8g78V.cjs");
9
+ const TextInput = require("./TextInput-BRl37zMW.cjs");
10
10
  const CommandPaletteBase = ({
11
11
  commands,
12
12
  placeholder = "Search...",
@@ -407,45 +407,35 @@ const CommandPaletteBase = ({
407
407
  );
408
408
  };
409
409
  CommandPaletteBase.displayName = "CommandPaletteBase";
410
- const noScroll = "_noScroll_i3ufv_109";
411
- const errorMessage = "_errorMessage_i3ufv_110";
412
- const loadingContainer = "_loadingContainer_i3ufv_111";
413
- const hideScrollbar = "_hideScrollbar_i3ufv_103";
414
- const sr_only = "_sr_only_i3ufv_112";
415
- const overlay = "_overlay_i3ufv_637";
416
- const command_palette = "_command_palette_i3ufv_658";
417
- const roundNone = "_roundNone_i3ufv_694";
418
- const item = "_item_i3ufv_698";
419
- const roundSmall = "_roundSmall_i3ufv_702";
420
- const roundMedium = "_roundMedium_i3ufv_710";
421
- const roundLarge = "_roundLarge_i3ufv_718";
422
- const roundFull = "_roundFull_i3ufv_726";
423
- const shadowNone = "_shadowNone_i3ufv_734";
424
- const shadowLight = "_shadowLight_i3ufv_738";
425
- const shadowMedium = "_shadowMedium_i3ufv_742";
426
- const shadowStrong = "_shadowStrong_i3ufv_746";
427
- const shadowIntense = "_shadowIntense_i3ufv_750";
428
- const input = "_input_i3ufv_754";
429
- const list = "_list_i3ufv_782";
430
- const icon = "_icon_i3ufv_848";
431
- const empty = "_empty_i3ufv_852";
432
- const active = "_active_i3ufv_874";
433
- const primary = "_primary_i3ufv_879";
434
- const secondary = "_secondary_i3ufv_897";
435
- const tertiary = "_tertiary_i3ufv_915";
436
- const quaternary = "_quaternary_i3ufv_933";
437
- const clear = "_clear_i3ufv_951";
438
- const success = "_success_i3ufv_969";
439
- const error = "_error_i3ufv_110";
440
- const warning = "_warning_i3ufv_1005";
441
- const spin = "_spin_i3ufv_1";
442
- const pulse = "_pulse_i3ufv_1";
410
+ const overlay = "_overlay_qhoec_204";
411
+ const command_palette = "_command_palette_qhoec_225";
412
+ const roundNone = "_roundNone_qhoec_261";
413
+ const item = "_item_qhoec_265";
414
+ const roundSmall = "_roundSmall_qhoec_269";
415
+ const roundMedium = "_roundMedium_qhoec_277";
416
+ const roundLarge = "_roundLarge_qhoec_285";
417
+ const roundFull = "_roundFull_qhoec_293";
418
+ const shadowNone = "_shadowNone_qhoec_301";
419
+ const shadowLight = "_shadowLight_qhoec_305";
420
+ const shadowMedium = "_shadowMedium_qhoec_309";
421
+ const shadowStrong = "_shadowStrong_qhoec_313";
422
+ const shadowIntense = "_shadowIntense_qhoec_317";
423
+ const input = "_input_qhoec_321";
424
+ const list = "_list_qhoec_349";
425
+ const icon = "_icon_qhoec_415";
426
+ const empty = "_empty_qhoec_419";
427
+ const active = "_active_qhoec_441";
428
+ const primary = "_primary_qhoec_446";
429
+ const secondary = "_secondary_qhoec_464";
430
+ const tertiary = "_tertiary_qhoec_482";
431
+ const quaternary = "_quaternary_qhoec_500";
432
+ const clear = "_clear_qhoec_518";
433
+ const success = "_success_qhoec_536";
434
+ const error = "_error_qhoec_554";
435
+ const warning = "_warning_qhoec_572";
436
+ const spin = "_spin_qhoec_1";
437
+ const pulse = "_pulse_qhoec_1";
443
438
  const styles = {
444
- noScroll,
445
- errorMessage,
446
- loadingContainer,
447
- hideScrollbar,
448
- sr_only,
449
439
  overlay,
450
440
  command_palette,
451
441
  roundNone,
@@ -472,15 +462,15 @@ const styles = {
472
462
  success,
473
463
  error,
474
464
  warning,
475
- "fade-in": "_fade-in_i3ufv_1",
476
- "slide-up": "_slide-up_i3ufv_1",
477
- "spin-3d": "_spin-3d_i3ufv_1",
465
+ "fade-in": "_fade-in_qhoec_1",
466
+ "slide-up": "_slide-up_qhoec_1",
467
+ "spin-3d": "_spin-3d_qhoec_1",
478
468
  spin,
479
469
  pulse,
480
- "fade-in-up": "_fade-in-up_i3ufv_1",
481
- "progress-grow": "_progress-grow_i3ufv_1",
482
- "indeterminate-move": "_indeterminate-move_i3ufv_1",
483
- "skeleton-loading": "_skeleton-loading_i3ufv_1"
470
+ "fade-in-up": "_fade-in-up_qhoec_1",
471
+ "progress-grow": "_progress-grow_qhoec_1",
472
+ "indeterminate-move": "_indeterminate-move_qhoec_1",
473
+ "skeleton-loading": "_skeleton-loading_qhoec_1"
484
474
  };
485
475
  const CommandPalette = (props) => /* @__PURE__ */ require$$2.jsx(
486
476
  CommandPaletteBase,
@@ -492,4 +482,4 @@ const CommandPalette = (props) => /* @__PURE__ */ require$$2.jsx(
492
482
  );
493
483
  CommandPalette.displayName = "CommandPalette";
494
484
  exports.CommandPalette = CommandPalette;
495
- //# sourceMappingURL=CommandPalette-BvjlLE14.cjs.map
485
+ //# sourceMappingURL=CommandPalette-_Lpb0UOI.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette-BvjlLE14.cjs","sources":["../../src/components/CommandPalette/CommandPaletteBase.tsx","../../src/components/CommandPalette/next/CommandPalette.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useId,\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 {\r\n CommandPaletteBaseProps,\r\n CommandItem,\r\n} 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\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 inputAriaLabel,\r\n inputAriaLabelledBy,\r\n inputAriaDescribedBy,\r\n inputLabel,\r\n inputId,\r\n listboxId,\r\n paletteId,\r\n listAriaLabel = \"Command suggestions\",\r\n emptyMessage = \"No matching results\",\r\n resultsAnnouncement = \"results available\",\r\n modal = true,\r\n trapFocus = false,\r\n restoreFocusOnClose = true,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-controls\": ariaControls,\r\n \"aria-expanded\": ariaExpanded,\r\n \"aria-activedescendant\": ariaActiveDescendant,\r\n \"data-testid\": testId = \"command-palette\",\r\n className,\r\n ...rest\r\n}) => {\r\n const reactId = useId();\r\n const resolvedPaletteId = paletteId ?? `${testId}-${reactId}-dialog`;\r\n const resolvedInputId = inputId ?? `${testId}-${reactId}-input`;\r\n const resolvedListboxId = listboxId ?? `${testId}-${reactId}-listbox`;\r\n const resolvedLabelId = `${resolvedInputId}-label`;\r\n const resolvedStatusId = `${resolvedPaletteId}-status`;\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 containerRef = useRef<HTMLDivElement>(null);\r\n const [mounted, setMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [asyncResults, setAsyncResults] = useState<CommandItem[]>([]);\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 const q = query.toLowerCase();\r\n if (!q) return true;\r\n\r\n const labelMatch = cmd.label.toLowerCase().includes(q);\r\n const keywordMatch = cmd.keywords?.some((keyword) =>\r\n keyword.toLowerCase().includes(q),\r\n );\r\n\r\n return labelMatch || Boolean(keywordMatch);\r\n });\r\n\r\n useEffect(() => {\r\n if (filtered.length === 0) {\r\n setActiveIndex(-1);\r\n } else if (\r\n activeIndex < 0 ||\r\n activeIndex >= filtered.length ||\r\n filtered[activeIndex]?.disabled\r\n ) {\r\n const firstEnabledIndex = filtered.findIndex((item) => !item.disabled);\r\n setActiveIndex(firstEnabledIndex);\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\r\n if (restoreFocusOnClose) {\r\n prevFocusRef.current?.focus?.();\r\n }\r\n };\r\n }, [isOpen, restoreFocusOnClose]);\r\n\r\n useEffect(() => {\r\n if (isOpen && mounted && portalElement && inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n }, [isOpen, mounted, portalElement]);\r\n\r\n const getItemId = useCallback(\r\n (cmd: CommandItem, index: number) =>\r\n cmd.id\r\n ? `${resolvedListboxId}-option-${cmd.id}`\r\n : `${resolvedListboxId}-option-${index}`,\r\n [resolvedListboxId],\r\n );\r\n\r\n const getNextEnabledIndex = useCallback(\r\n (startIndex: number, direction: 1 | -1) => {\r\n if (filtered.length === 0) return -1;\r\n\r\n let nextIndex = startIndex;\r\n\r\n for (let i = 0; i < filtered.length; i += 1) {\r\n nextIndex = (nextIndex + direction + filtered.length) % filtered.length;\r\n if (!filtered[nextIndex]?.disabled) {\r\n return nextIndex;\r\n }\r\n }\r\n\r\n return -1;\r\n },\r\n [filtered],\r\n );\r\n\r\n const activateCommand = useCallback(\r\n (cmd: CommandItem | undefined) => {\r\n if (!cmd || cmd.disabled) return;\r\n cmd.action();\r\n onClose();\r\n },\r\n [onClose],\r\n );\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) => getNextEnabledIndex(prev < 0 ? -1 : prev, 1));\r\n } else if (e.key === \"ArrowUp\") {\r\n if (filtered.length === 0) return;\r\n e.preventDefault();\r\n setActiveIndex((prev) => getNextEnabledIndex(prev < 0 ? 0 : prev, -1));\r\n } else if (e.key === \"Enter\") {\r\n if (activeIndex >= 0) {\r\n e.preventDefault();\r\n activateCommand(filtered[activeIndex]);\r\n }\r\n } else if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n onClose();\r\n } else if (e.key === \"Home\") {\r\n e.preventDefault();\r\n const firstEnabledIndex = filtered.findIndex((item) => !item.disabled);\r\n setActiveIndex(firstEnabledIndex);\r\n } else if (e.key === \"End\") {\r\n e.preventDefault();\r\n const reversedIndex = [...filtered]\r\n .reverse()\r\n .findIndex((item) => !item.disabled);\r\n\r\n if (reversedIndex >= 0) {\r\n setActiveIndex(filtered.length - 1 - reversedIndex);\r\n }\r\n }\r\n },\r\n [filtered, activeIndex, getNextEnabledIndex, activateCommand, onClose],\r\n );\r\n\r\n const handleContainerKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n onClose();\r\n return;\r\n }\r\n\r\n if (trapFocus && e.key === \"Tab\") {\r\n const container = containerRef.current;\r\n if (!container) return;\r\n\r\n const focusable = container.querySelectorAll<HTMLElement>(\r\n [\r\n \"a[href]\",\r\n \"button:not([disabled])\",\r\n \"input:not([disabled])\",\r\n \"select:not([disabled])\",\r\n \"textarea:not([disabled])\",\r\n '[tabindex]:not([tabindex=\"-1\"])',\r\n ].join(\",\"),\r\n );\r\n\r\n if (focusable.length === 0) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n const first = focusable[0];\r\n const last = focusable[focusable.length - 1];\r\n const active = document.activeElement as HTMLElement | null;\r\n\r\n if (!e.shiftKey && active === last) {\r\n e.preventDefault();\r\n first.focus();\r\n } else if (e.shiftKey && active === first) {\r\n e.preventDefault();\r\n last.focus();\r\n }\r\n }\r\n },\r\n [onClose, trapFocus],\r\n );\r\n\r\n if (!isOpen || !mounted || !portalElement) return null;\r\n\r\n const activeItem =\r\n activeIndex >= 0 && filtered[activeIndex]\r\n ? filtered[activeIndex]\r\n : undefined;\r\n\r\n const computedActiveDescendant =\r\n ariaActiveDescendant ??\r\n (activeItem ? getItemId(activeItem, activeIndex) : undefined);\r\n\r\n const computedAriaExpanded =\r\n typeof ariaExpanded === \"boolean\" ? ariaExpanded : isOpen;\r\n\r\n const dialogRole = modal ? \"dialog\" : \"region\";\r\n\r\n const liveMessage = isLoading\r\n ? \"Searching commands\"\r\n : filtered.length === 0\r\n ? emptyMessage\r\n : `${filtered.length} ${resultsAnnouncement}`;\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 {...rest}\r\n id={resolvedPaletteId}\r\n ref={containerRef}\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={dialogRole}\r\n aria-modal={modal ? true : undefined}\r\n aria-label={ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-controls={ariaControls}\r\n data-testid={testId}\r\n >\r\n {inputLabel && (\r\n <label\r\n id={resolvedLabelId}\r\n htmlFor={resolvedInputId}\r\n className={classMap.label}\r\n data-testid={`${testId}-input-label`}\r\n >\r\n {inputLabel}\r\n </label>\r\n )}\r\n\r\n <TextInputComponent\r\n ref={inputRef}\r\n id={resolvedInputId}\r\n type=\"text\"\r\n value={query}\r\n onChange={(\r\n valueOrEvent: string | React.ChangeEvent<HTMLInputElement>,\r\n event?: React.ChangeEvent<HTMLInputElement>,\r\n ) => {\r\n if (typeof valueOrEvent === \"string\") {\r\n setQuery(valueOrEvent);\r\n return;\r\n }\r\n\r\n setQuery(valueOrEvent.target.value ?? event?.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-label={inputAriaLabel}\r\n aria-labelledby={\r\n inputAriaLabelledBy ??\r\n (!inputAriaLabel && inputLabel ? resolvedLabelId : undefined)\r\n }\r\n aria-describedby={inputAriaDescribedBy}\r\n aria-autocomplete=\"list\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded={computedAriaExpanded}\r\n aria-controls={resolvedListboxId}\r\n aria-activedescendant={computedActiveDescendant}\r\n />\r\n\r\n <div\r\n id={resolvedStatusId}\r\n className={classMap.srOnly}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n data-testid={`${testId}-live-region`}\r\n >\r\n {liveMessage}\r\n </div>\r\n\r\n <ul\r\n id={resolvedListboxId}\r\n className={classMap.list}\r\n role=\"listbox\"\r\n aria-label={!ariaLabelledBy ? listAriaLabel : undefined}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-busy={isLoading || undefined}\r\n data-testid={`${testId}-listbox`}\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 data-testid={`${testId}-loading`}\r\n >\r\n Searching…\r\n </li>\r\n ) : filtered.length > 0 ? (\r\n filtered.map((cmd, index) => {\r\n const isActive = index === activeIndex;\r\n const isDisabled = Boolean(cmd.disabled);\r\n const itemId = getItemId(cmd, index);\r\n const descriptionId = cmd[\"aria-description\"]\r\n ? `${itemId}-description`\r\n : undefined;\r\n\r\n return (\r\n <li\r\n key={cmd.id ?? `${cmd.label}-${index}`}\r\n id={itemId}\r\n role=\"option\"\r\n aria-label={cmd[\"aria-label\"]}\r\n aria-describedby={descriptionId}\r\n aria-disabled={isDisabled || undefined}\r\n aria-selected={isActive}\r\n className={combineClassNames(\r\n classMap.item,\r\n classMap[theme],\r\n isActive && classMap.active,\r\n isDisabled && classMap.disabled,\r\n )}\r\n onClick={() => activateCommand(cmd)}\r\n onMouseEnter={() => {\r\n if (!isDisabled) setActiveIndex(index);\r\n }}\r\n data-testid={`${testId}-option-${index}`}\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\r\n <span\r\n className={classMap.itemLabel}\r\n data-testid={`${testId}-option-label-${index}`}\r\n >\r\n {cmd.label}\r\n </span>\r\n\r\n {cmd[\"aria-description\"] && (\r\n <span\r\n id={descriptionId}\r\n className={classMap.srOnly}\r\n data-testid={`${testId}-option-description-${index}`}\r\n >\r\n {cmd[\"aria-description\"]}\r\n </span>\r\n )}\r\n </li>\r\n );\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 data-testid={`${testId}-empty`}\r\n >\r\n {emptyMessage}\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </div>,\r\n portalElement,\r\n );\r\n};\r\n\r\nCommandPaletteBase.displayName = \"CommandPaletteBase\";\r\n\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","useId","useState","useRef","useEffect","item","useCallback","active","jsx","jsxs","combineClassNames","capitalize","TextInput"],"mappings":"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"}
1
+ {"version":3,"file":"CommandPalette-_Lpb0UOI.cjs","sources":["../../src/components/CommandPalette/CommandPaletteBase.tsx","../../src/components/CommandPalette/next/CommandPalette.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useId,\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 {\r\n CommandPaletteBaseProps,\r\n CommandItem,\r\n} 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\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 inputAriaLabel,\r\n inputAriaLabelledBy,\r\n inputAriaDescribedBy,\r\n inputLabel,\r\n inputId,\r\n listboxId,\r\n paletteId,\r\n listAriaLabel = \"Command suggestions\",\r\n emptyMessage = \"No matching results\",\r\n resultsAnnouncement = \"results available\",\r\n modal = true,\r\n trapFocus = false,\r\n restoreFocusOnClose = true,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-controls\": ariaControls,\r\n \"aria-expanded\": ariaExpanded,\r\n \"aria-activedescendant\": ariaActiveDescendant,\r\n \"data-testid\": testId = \"command-palette\",\r\n className,\r\n ...rest\r\n}) => {\r\n const reactId = useId();\r\n const resolvedPaletteId = paletteId ?? `${testId}-${reactId}-dialog`;\r\n const resolvedInputId = inputId ?? `${testId}-${reactId}-input`;\r\n const resolvedListboxId = listboxId ?? `${testId}-${reactId}-listbox`;\r\n const resolvedLabelId = `${resolvedInputId}-label`;\r\n const resolvedStatusId = `${resolvedPaletteId}-status`;\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 containerRef = useRef<HTMLDivElement>(null);\r\n const [mounted, setMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [asyncResults, setAsyncResults] = useState<CommandItem[]>([]);\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 const q = query.toLowerCase();\r\n if (!q) return true;\r\n\r\n const labelMatch = cmd.label.toLowerCase().includes(q);\r\n const keywordMatch = cmd.keywords?.some((keyword) =>\r\n keyword.toLowerCase().includes(q),\r\n );\r\n\r\n return labelMatch || Boolean(keywordMatch);\r\n });\r\n\r\n useEffect(() => {\r\n if (filtered.length === 0) {\r\n setActiveIndex(-1);\r\n } else if (\r\n activeIndex < 0 ||\r\n activeIndex >= filtered.length ||\r\n filtered[activeIndex]?.disabled\r\n ) {\r\n const firstEnabledIndex = filtered.findIndex((item) => !item.disabled);\r\n setActiveIndex(firstEnabledIndex);\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\r\n if (restoreFocusOnClose) {\r\n prevFocusRef.current?.focus?.();\r\n }\r\n };\r\n }, [isOpen, restoreFocusOnClose]);\r\n\r\n useEffect(() => {\r\n if (isOpen && mounted && portalElement && inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n }, [isOpen, mounted, portalElement]);\r\n\r\n const getItemId = useCallback(\r\n (cmd: CommandItem, index: number) =>\r\n cmd.id\r\n ? `${resolvedListboxId}-option-${cmd.id}`\r\n : `${resolvedListboxId}-option-${index}`,\r\n [resolvedListboxId],\r\n );\r\n\r\n const getNextEnabledIndex = useCallback(\r\n (startIndex: number, direction: 1 | -1) => {\r\n if (filtered.length === 0) return -1;\r\n\r\n let nextIndex = startIndex;\r\n\r\n for (let i = 0; i < filtered.length; i += 1) {\r\n nextIndex = (nextIndex + direction + filtered.length) % filtered.length;\r\n if (!filtered[nextIndex]?.disabled) {\r\n return nextIndex;\r\n }\r\n }\r\n\r\n return -1;\r\n },\r\n [filtered],\r\n );\r\n\r\n const activateCommand = useCallback(\r\n (cmd: CommandItem | undefined) => {\r\n if (!cmd || cmd.disabled) return;\r\n cmd.action();\r\n onClose();\r\n },\r\n [onClose],\r\n );\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) => getNextEnabledIndex(prev < 0 ? -1 : prev, 1));\r\n } else if (e.key === \"ArrowUp\") {\r\n if (filtered.length === 0) return;\r\n e.preventDefault();\r\n setActiveIndex((prev) => getNextEnabledIndex(prev < 0 ? 0 : prev, -1));\r\n } else if (e.key === \"Enter\") {\r\n if (activeIndex >= 0) {\r\n e.preventDefault();\r\n activateCommand(filtered[activeIndex]);\r\n }\r\n } else if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n onClose();\r\n } else if (e.key === \"Home\") {\r\n e.preventDefault();\r\n const firstEnabledIndex = filtered.findIndex((item) => !item.disabled);\r\n setActiveIndex(firstEnabledIndex);\r\n } else if (e.key === \"End\") {\r\n e.preventDefault();\r\n const reversedIndex = [...filtered]\r\n .reverse()\r\n .findIndex((item) => !item.disabled);\r\n\r\n if (reversedIndex >= 0) {\r\n setActiveIndex(filtered.length - 1 - reversedIndex);\r\n }\r\n }\r\n },\r\n [filtered, activeIndex, getNextEnabledIndex, activateCommand, onClose],\r\n );\r\n\r\n const handleContainerKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n onClose();\r\n return;\r\n }\r\n\r\n if (trapFocus && e.key === \"Tab\") {\r\n const container = containerRef.current;\r\n if (!container) return;\r\n\r\n const focusable = container.querySelectorAll<HTMLElement>(\r\n [\r\n \"a[href]\",\r\n \"button:not([disabled])\",\r\n \"input:not([disabled])\",\r\n \"select:not([disabled])\",\r\n \"textarea:not([disabled])\",\r\n '[tabindex]:not([tabindex=\"-1\"])',\r\n ].join(\",\"),\r\n );\r\n\r\n if (focusable.length === 0) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n const first = focusable[0];\r\n const last = focusable[focusable.length - 1];\r\n const active = document.activeElement as HTMLElement | null;\r\n\r\n if (!e.shiftKey && active === last) {\r\n e.preventDefault();\r\n first.focus();\r\n } else if (e.shiftKey && active === first) {\r\n e.preventDefault();\r\n last.focus();\r\n }\r\n }\r\n },\r\n [onClose, trapFocus],\r\n );\r\n\r\n if (!isOpen || !mounted || !portalElement) return null;\r\n\r\n const activeItem =\r\n activeIndex >= 0 && filtered[activeIndex]\r\n ? filtered[activeIndex]\r\n : undefined;\r\n\r\n const computedActiveDescendant =\r\n ariaActiveDescendant ??\r\n (activeItem ? getItemId(activeItem, activeIndex) : undefined);\r\n\r\n const computedAriaExpanded =\r\n typeof ariaExpanded === \"boolean\" ? ariaExpanded : isOpen;\r\n\r\n const dialogRole = modal ? \"dialog\" : \"region\";\r\n\r\n const liveMessage = isLoading\r\n ? \"Searching commands\"\r\n : filtered.length === 0\r\n ? emptyMessage\r\n : `${filtered.length} ${resultsAnnouncement}`;\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 {...rest}\r\n id={resolvedPaletteId}\r\n ref={containerRef}\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={dialogRole}\r\n aria-modal={modal ? true : undefined}\r\n aria-label={ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-controls={ariaControls}\r\n data-testid={testId}\r\n >\r\n {inputLabel && (\r\n <label\r\n id={resolvedLabelId}\r\n htmlFor={resolvedInputId}\r\n className={classMap.label}\r\n data-testid={`${testId}-input-label`}\r\n >\r\n {inputLabel}\r\n </label>\r\n )}\r\n\r\n <TextInputComponent\r\n ref={inputRef}\r\n id={resolvedInputId}\r\n type=\"text\"\r\n value={query}\r\n onChange={(\r\n valueOrEvent: string | React.ChangeEvent<HTMLInputElement>,\r\n event?: React.ChangeEvent<HTMLInputElement>,\r\n ) => {\r\n if (typeof valueOrEvent === \"string\") {\r\n setQuery(valueOrEvent);\r\n return;\r\n }\r\n\r\n setQuery(valueOrEvent.target.value ?? event?.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-label={inputAriaLabel}\r\n aria-labelledby={\r\n inputAriaLabelledBy ??\r\n (!inputAriaLabel && inputLabel ? resolvedLabelId : undefined)\r\n }\r\n aria-describedby={inputAriaDescribedBy}\r\n aria-autocomplete=\"list\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded={computedAriaExpanded}\r\n aria-controls={resolvedListboxId}\r\n aria-activedescendant={computedActiveDescendant}\r\n />\r\n\r\n <div\r\n id={resolvedStatusId}\r\n className={classMap.srOnly}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n data-testid={`${testId}-live-region`}\r\n >\r\n {liveMessage}\r\n </div>\r\n\r\n <ul\r\n id={resolvedListboxId}\r\n className={classMap.list}\r\n role=\"listbox\"\r\n aria-label={!ariaLabelledBy ? listAriaLabel : undefined}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-busy={isLoading || undefined}\r\n data-testid={`${testId}-listbox`}\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 data-testid={`${testId}-loading`}\r\n >\r\n Searching…\r\n </li>\r\n ) : filtered.length > 0 ? (\r\n filtered.map((cmd, index) => {\r\n const isActive = index === activeIndex;\r\n const isDisabled = Boolean(cmd.disabled);\r\n const itemId = getItemId(cmd, index);\r\n const descriptionId = cmd[\"aria-description\"]\r\n ? `${itemId}-description`\r\n : undefined;\r\n\r\n return (\r\n <li\r\n key={cmd.id ?? `${cmd.label}-${index}`}\r\n id={itemId}\r\n role=\"option\"\r\n aria-label={cmd[\"aria-label\"]}\r\n aria-describedby={descriptionId}\r\n aria-disabled={isDisabled || undefined}\r\n aria-selected={isActive}\r\n className={combineClassNames(\r\n classMap.item,\r\n classMap[theme],\r\n isActive && classMap.active,\r\n isDisabled && classMap.disabled,\r\n )}\r\n onClick={() => activateCommand(cmd)}\r\n onMouseEnter={() => {\r\n if (!isDisabled) setActiveIndex(index);\r\n }}\r\n data-testid={`${testId}-option-${index}`}\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\r\n <span\r\n className={classMap.itemLabel}\r\n data-testid={`${testId}-option-label-${index}`}\r\n >\r\n {cmd.label}\r\n </span>\r\n\r\n {cmd[\"aria-description\"] && (\r\n <span\r\n id={descriptionId}\r\n className={classMap.srOnly}\r\n data-testid={`${testId}-option-description-${index}`}\r\n >\r\n {cmd[\"aria-description\"]}\r\n </span>\r\n )}\r\n </li>\r\n );\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 data-testid={`${testId}-empty`}\r\n >\r\n {emptyMessage}\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </div>,\r\n portalElement,\r\n );\r\n};\r\n\r\nCommandPaletteBase.displayName = \"CommandPaletteBase\";\r\n\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","useId","useState","useRef","useEffect","item","useCallback","active","jsx","jsxs","combineClassNames","capitalize","TextInput"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const CommandPalette = require("./CommandPalette-BvjlLE14.cjs");
2
+ const CommandPalette = require("./CommandPalette-_Lpb0UOI.cjs");
3
3
  module.exports = CommandPalette.CommandPalette;
4
4
  //# sourceMappingURL=CommandPalette.cjs.js.map