boreal-ui 0.0.78 → 0.0.80

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 (213) hide show
  1. package/dist/core/{Breadcrumbs-B7hp9_u1.cjs → Breadcrumbs-B-I-UmIg.cjs} +1 -2
  2. package/dist/core/{Breadcrumbs-B7hp9_u1.cjs.map → Breadcrumbs-B-I-UmIg.cjs.map} +1 -1
  3. package/dist/core/{Breadcrumbs-kbOyaea6.js → Breadcrumbs-BwDAukNi.js} +1 -2
  4. package/dist/core/{Breadcrumbs-kbOyaea6.js.map → Breadcrumbs-BwDAukNi.js.map} +1 -1
  5. package/dist/core/Breadcrumbs.cjs.js +1 -1
  6. package/dist/core/Breadcrumbs.js +1 -1
  7. package/dist/core/{Card-C3kfPs8j.cjs → Card-B2gCUSuQ.cjs} +1 -2
  8. package/dist/core/{Card-C3kfPs8j.cjs.map → Card-B2gCUSuQ.cjs.map} +1 -1
  9. package/dist/core/{Card-CZY1qzwZ.js → Card-CnvOGnWI.js} +1 -2
  10. package/dist/core/{Card-CZY1qzwZ.js.map → Card-CnvOGnWI.js.map} +1 -1
  11. package/dist/core/Card.cjs.js +1 -1
  12. package/dist/core/Card.js +1 -1
  13. package/dist/core/{CommandPalette-BtpQ9cio.cjs → CommandPalette-BKd-BCUk.cjs} +2 -2
  14. package/dist/core/{CommandPalette-BtpQ9cio.cjs.map → CommandPalette-BKd-BCUk.cjs.map} +1 -1
  15. package/dist/core/{CommandPalette-0uVG4iR2.js → CommandPalette-C5XB2s4L.js} +2 -2
  16. package/dist/core/{CommandPalette-0uVG4iR2.js.map → CommandPalette-C5XB2s4L.js.map} +1 -1
  17. package/dist/core/CommandPalette.cjs.js +1 -1
  18. package/dist/core/CommandPalette.js +1 -1
  19. package/dist/core/{Dropdown-B7-_OH9p.cjs → Dropdown-DflOD92W.cjs} +1 -2
  20. package/dist/core/{Dropdown-B7-_OH9p.cjs.map → Dropdown-DflOD92W.cjs.map} +1 -1
  21. package/dist/core/{Dropdown-BEPGhf-i.js → Dropdown-fr7AR3nt.js} +1 -2
  22. package/dist/core/{Dropdown-BEPGhf-i.js.map → Dropdown-fr7AR3nt.js.map} +1 -1
  23. package/dist/core/Dropdown.cjs.js +1 -1
  24. package/dist/core/Dropdown.js +1 -1
  25. package/dist/core/{EmptyState-Du2xqi6G.cjs → EmptyState-BSVIrZHm.cjs} +1 -2
  26. package/dist/core/{EmptyState-Du2xqi6G.cjs.map → EmptyState-BSVIrZHm.cjs.map} +1 -1
  27. package/dist/core/{EmptyState-CM7nlKER.js → EmptyState-ClFhpjyo.js} +1 -2
  28. package/dist/core/{EmptyState-CM7nlKER.js.map → EmptyState-ClFhpjyo.js.map} +1 -1
  29. package/dist/core/EmptyState.cjs.js +1 -1
  30. package/dist/core/EmptyState.js +1 -1
  31. package/dist/core/{Footer-60sTURxB.cjs → Footer-CDcKfT68.cjs} +37 -37
  32. package/dist/core/Footer-CDcKfT68.cjs.map +1 -0
  33. package/dist/core/{Footer-Q_60pe6o.js → Footer-DaEqi5su.js} +38 -38
  34. package/dist/core/Footer-DaEqi5su.js.map +1 -0
  35. package/dist/core/Footer.cjs.js +1 -1
  36. package/dist/core/Footer.js +1 -1
  37. package/dist/core/{NotificationCenter-DA-WGPP9.js → NotificationCenter-B8e8mMb_.js} +1 -2
  38. package/dist/core/{NotificationCenter-DA-WGPP9.js.map → NotificationCenter-B8e8mMb_.js.map} +1 -1
  39. package/dist/core/{NotificationCenter-CsKJTZhk.cjs → NotificationCenter-Dg_F-nLl.cjs} +1 -2
  40. package/dist/core/{NotificationCenter-CsKJTZhk.cjs.map → NotificationCenter-Dg_F-nLl.cjs.map} +1 -1
  41. package/dist/core/NotificationCenter.cjs.js +1 -1
  42. package/dist/core/NotificationCenter.js +1 -1
  43. package/dist/core/{Pager-B4hyIUdo.js → Pager-BH8hdkMS.js} +1 -2
  44. package/dist/core/{Pager-B4hyIUdo.js.map → Pager-BH8hdkMS.js.map} +1 -1
  45. package/dist/core/{Pager-wl7_umU4.cjs → Pager-BXAAjmIk.cjs} +1 -2
  46. package/dist/core/{Pager-wl7_umU4.cjs.map → Pager-BXAAjmIk.cjs.map} +1 -1
  47. package/dist/core/Pager.cjs.js +1 -1
  48. package/dist/core/Pager.js +1 -1
  49. package/dist/core/{Stepper-CQRJID19.cjs → Stepper-BImUKM9h.cjs} +1 -2
  50. package/dist/core/{Stepper-CQRJID19.cjs.map → Stepper-BImUKM9h.cjs.map} +1 -1
  51. package/dist/core/{Stepper-CLfy0_gZ.js → Stepper-DRCnDvvv.js} +1 -2
  52. package/dist/core/{Stepper-CLfy0_gZ.js.map → Stepper-DRCnDvvv.js.map} +1 -1
  53. package/dist/core/Stepper.cjs.js +1 -1
  54. package/dist/core/Stepper.js +1 -1
  55. package/dist/core/{TagInput-YieWARAt.js → TagInput-BO0Br1nf.js} +2 -2
  56. package/dist/core/{TagInput-YieWARAt.js.map → TagInput-BO0Br1nf.js.map} +1 -1
  57. package/dist/core/{TagInput-pWRdhaP3.cjs → TagInput-CpJ--Wzp.cjs} +2 -2
  58. package/dist/core/{TagInput-pWRdhaP3.cjs.map → TagInput-CpJ--Wzp.cjs.map} +1 -1
  59. package/dist/core/TagInput.cjs.js +1 -1
  60. package/dist/core/TagInput.js +1 -1
  61. package/dist/core/{TextInput-Bc2YpcvM.js → TextInput-CXyzklAm.js} +1 -2
  62. package/dist/core/{TextInput-Bc2YpcvM.js.map → TextInput-CXyzklAm.js.map} +1 -1
  63. package/dist/core/{TextInput-DbAsQxjr.cjs → TextInput-xBrLtn_h.cjs} +1 -2
  64. package/dist/core/{TextInput-DbAsQxjr.cjs.map → TextInput-xBrLtn_h.cjs.map} +1 -1
  65. package/dist/core/TextInput.cjs.js +1 -1
  66. package/dist/core/TextInput.js +1 -1
  67. package/dist/core/boreal-ui.css +1137 -1137
  68. package/dist/core/index.cjs.js +11 -12
  69. package/dist/core/index.cjs.js.map +1 -1
  70. package/dist/core/index.js +11 -12
  71. package/dist/core/index.js.map +1 -1
  72. package/dist/next/{Breadcrumbs-eetAtAHU.js → Breadcrumbs-BEDmdhgu.js} +2 -3
  73. package/dist/next/{Breadcrumbs-eetAtAHU.js.map → Breadcrumbs-BEDmdhgu.js.map} +1 -1
  74. package/dist/next/{Breadcrumbs-33eZmvpJ.cjs → Breadcrumbs-CMOeEih6.cjs} +2 -3
  75. package/dist/next/{Breadcrumbs-33eZmvpJ.cjs.map → Breadcrumbs-CMOeEih6.cjs.map} +1 -1
  76. package/dist/next/Breadcrumbs.cjs.js +1 -1
  77. package/dist/next/Breadcrumbs.js +1 -1
  78. package/dist/next/{Card-CO--D_GK.js → Card-C4l2NTBd.js} +2 -3
  79. package/dist/next/{Card-CO--D_GK.js.map → Card-C4l2NTBd.js.map} +1 -1
  80. package/dist/next/{Card-o8DszZPj.cjs → Card-DcQ0V83P.cjs} +2 -3
  81. package/dist/next/{Card-o8DszZPj.cjs.map → Card-DcQ0V83P.cjs.map} +1 -1
  82. package/dist/next/Card.cjs.js +1 -1
  83. package/dist/next/Card.js +1 -1
  84. package/dist/next/CheckBox.cjs.js +1 -1
  85. package/dist/next/CheckBox.js +1 -1
  86. package/dist/next/{Checkbox-KIXViPTB.js → Checkbox-D6Msnkyl.js} +75 -75
  87. package/dist/next/{Checkbox-KIXViPTB.js.map → Checkbox-D6Msnkyl.js.map} +1 -1
  88. package/dist/next/{Checkbox-UqOL3aqk.cjs → Checkbox-IK6dY7ED.cjs} +74 -74
  89. package/dist/next/{Checkbox-UqOL3aqk.cjs.map → Checkbox-IK6dY7ED.cjs.map} +1 -1
  90. package/dist/next/{Chip-D-QH1huh.js → Chip-BweeZwb7.js} +84 -85
  91. package/dist/next/{Chip-D-QH1huh.js.map → Chip-BweeZwb7.js.map} +1 -1
  92. package/dist/next/{Chip-BQv3NoJL.cjs → Chip-DNyF7UUP.cjs} +85 -86
  93. package/dist/next/{Chip-BQv3NoJL.cjs.map → Chip-DNyF7UUP.cjs.map} +1 -1
  94. package/dist/next/Chip.cjs.js +1 -1
  95. package/dist/next/Chip.js +1 -1
  96. package/dist/next/{CircularProgress-BG83Q-uO.cjs → CircularProgress-0bh-uYuv.cjs} +58 -58
  97. package/dist/next/{CircularProgress-BG83Q-uO.cjs.map → CircularProgress-0bh-uYuv.cjs.map} +1 -1
  98. package/dist/next/{CircularProgress-Bfanw-2S.js → CircularProgress-BHOMzVmz.js} +59 -59
  99. package/dist/next/{CircularProgress-Bfanw-2S.js.map → CircularProgress-BHOMzVmz.js.map} +1 -1
  100. package/dist/next/CircularProgress.cjs.js +1 -1
  101. package/dist/next/CircularProgress.js +1 -1
  102. package/dist/next/{ColorPicker-BJfyM0Ay.js → ColorPicker-BhDo-h8k.js} +50 -50
  103. package/dist/next/{ColorPicker-BJfyM0Ay.js.map → ColorPicker-BhDo-h8k.js.map} +1 -1
  104. package/dist/next/{ColorPicker-DmubVH4p.cjs → ColorPicker-DlyqseYs.cjs} +49 -49
  105. package/dist/next/{ColorPicker-DmubVH4p.cjs.map → ColorPicker-DlyqseYs.cjs.map} +1 -1
  106. package/dist/next/ColorPicker.cjs.js +1 -1
  107. package/dist/next/ColorPicker.js +1 -1
  108. package/dist/next/{CommandPalette-CNaU5jTY.js → CommandPalette-BAgsEdVA.js} +67 -68
  109. package/dist/next/{CommandPalette-CNaU5jTY.js.map → CommandPalette-BAgsEdVA.js.map} +1 -1
  110. package/dist/next/{CommandPalette-_Lpb0UOI.cjs → CommandPalette-CNs6UpbZ.cjs} +68 -69
  111. package/dist/next/{CommandPalette-_Lpb0UOI.cjs.map → CommandPalette-CNs6UpbZ.cjs.map} +1 -1
  112. package/dist/next/CommandPalette.cjs.js +1 -1
  113. package/dist/next/CommandPalette.js +1 -1
  114. package/dist/next/{DateTimePicker-WVVLqcd9.js → DateTimePicker-D2thRuf1.js} +65 -65
  115. package/dist/next/{DateTimePicker-WVVLqcd9.js.map → DateTimePicker-D2thRuf1.js.map} +1 -1
  116. package/dist/next/{DateTimePicker-CU-b9irX.cjs → DateTimePicker-Dp0y3k4y.cjs} +65 -65
  117. package/dist/next/{DateTimePicker-CU-b9irX.cjs.map → DateTimePicker-Dp0y3k4y.cjs.map} +1 -1
  118. package/dist/next/DateTimePicker.cjs.js +1 -1
  119. package/dist/next/DateTimePicker.js +1 -1
  120. package/dist/next/{Divider-BXSDTRTU.js → Divider-C41EKGIw.js} +30 -30
  121. package/dist/next/{Divider-BXSDTRTU.js.map → Divider-C41EKGIw.js.map} +1 -1
  122. package/dist/next/{Divider-BGxUapmt.cjs → Divider-CVOkAhn6.cjs} +29 -29
  123. package/dist/next/{Divider-BGxUapmt.cjs.map → Divider-CVOkAhn6.cjs.map} +1 -1
  124. package/dist/next/Divider.cjs.js +1 -1
  125. package/dist/next/Divider.js +1 -1
  126. package/dist/next/{Dropdown-CUYItZDk.cjs → Dropdown-BYmta_HY.cjs} +42 -43
  127. package/dist/next/{Dropdown-CUYItZDk.cjs.map → Dropdown-BYmta_HY.cjs.map} +1 -1
  128. package/dist/next/{Dropdown-B7vrHg0z.js → Dropdown-DavPqfaS.js} +41 -42
  129. package/dist/next/{Dropdown-B7vrHg0z.js.map → Dropdown-DavPqfaS.js.map} +1 -1
  130. package/dist/next/Dropdown.cjs.js +1 -1
  131. package/dist/next/Dropdown.js +1 -1
  132. package/dist/next/{EmptyState-MT9_qwrB.js → EmptyState-CiTGvH-L.js} +72 -73
  133. package/dist/next/{EmptyState-MT9_qwrB.js.map → EmptyState-CiTGvH-L.js.map} +1 -1
  134. package/dist/next/{EmptyState-sh7Vn6eC.cjs → EmptyState-kAjC_DXY.cjs} +73 -74
  135. package/dist/next/{EmptyState-sh7Vn6eC.cjs.map → EmptyState-kAjC_DXY.cjs.map} +1 -1
  136. package/dist/next/EmptyState.cjs.js +1 -1
  137. package/dist/next/EmptyState.js +1 -1
  138. package/dist/next/{FileUpload-Bvj5JEBv.js → FileUpload-HiZuJjoA.js} +82 -83
  139. package/dist/next/{FileUpload-Bvj5JEBv.js.map → FileUpload-HiZuJjoA.js.map} +1 -1
  140. package/dist/next/{FileUpload-CD_i5Md2.cjs → FileUpload-qzSlXJzW.cjs} +82 -83
  141. package/dist/next/{FileUpload-CD_i5Md2.cjs.map → FileUpload-qzSlXJzW.cjs.map} +1 -1
  142. package/dist/next/FileUpload.cjs.js +1 -1
  143. package/dist/next/FileUpload.js +1 -1
  144. package/dist/next/{Footer-Bdu_9H3p.js → Footer-BVic2clD.js} +103 -103
  145. package/dist/next/Footer-BVic2clD.js.map +1 -0
  146. package/dist/next/{Footer-DJjzgwpc.cjs → Footer-lEKbmF3y.cjs} +103 -103
  147. package/dist/next/Footer-lEKbmF3y.cjs.map +1 -0
  148. package/dist/next/Footer.cjs.js +1 -1
  149. package/dist/next/Footer.js +1 -1
  150. package/dist/next/{MessagePopup-DLodDCIa.js → MessagePopup-BAvnVw84.js} +2 -3
  151. package/dist/next/{MessagePopup-DLodDCIa.js.map → MessagePopup-BAvnVw84.js.map} +1 -1
  152. package/dist/next/{MessagePopup-CizqwWmH.cjs → MessagePopup-CixIzgoc.cjs} +2 -3
  153. package/dist/next/{MessagePopup-CizqwWmH.cjs.map → MessagePopup-CixIzgoc.cjs.map} +1 -1
  154. package/dist/next/MessagePopup.cjs.js +1 -1
  155. package/dist/next/MessagePopup.js +1 -1
  156. package/dist/next/{Modal-BajWiIo7.js → Modal-5Reb9Rx-.js} +2 -3
  157. package/dist/next/{Modal-BajWiIo7.js.map → Modal-5Reb9Rx-.js.map} +1 -1
  158. package/dist/next/{Modal-j59Cj0t1.cjs → Modal-DfVyL8yk.cjs} +2 -3
  159. package/dist/next/{Modal-j59Cj0t1.cjs.map → Modal-DfVyL8yk.cjs.map} +1 -1
  160. package/dist/next/Modal.cjs.js +1 -1
  161. package/dist/next/Modal.js +1 -1
  162. package/dist/next/{NotificationCenter-obd1jF2n.cjs → NotificationCenter-BcEB_4HS.cjs} +2 -3
  163. package/dist/next/{NotificationCenter-obd1jF2n.cjs.map → NotificationCenter-BcEB_4HS.cjs.map} +1 -1
  164. package/dist/next/{NotificationCenter-BDd4Zr8Y.js → NotificationCenter-DvoC0SI9.js} +2 -3
  165. package/dist/next/{NotificationCenter-BDd4Zr8Y.js.map → NotificationCenter-DvoC0SI9.js.map} +1 -1
  166. package/dist/next/NotificationCenter.cjs.js +1 -1
  167. package/dist/next/NotificationCenter.js +1 -1
  168. package/dist/next/{Pager-8dIVqCGz.cjs → Pager-BZLZA8KD.cjs} +2 -3
  169. package/dist/next/{Pager-8dIVqCGz.cjs.map → Pager-BZLZA8KD.cjs.map} +1 -1
  170. package/dist/next/{Pager-C7n5x44P.js → Pager-D11plHRn.js} +2 -3
  171. package/dist/next/{Pager-C7n5x44P.js.map → Pager-D11plHRn.js.map} +1 -1
  172. package/dist/next/Pager.cjs.js +1 -1
  173. package/dist/next/Pager.js +1 -1
  174. package/dist/next/{Stepper-em6Gl32O.js → Stepper-B2X72Iir.js} +2 -3
  175. package/dist/next/{Stepper-em6Gl32O.js.map → Stepper-B2X72Iir.js.map} +1 -1
  176. package/dist/next/{Stepper-CpgJBKz7.cjs → Stepper-fE7prDWu.cjs} +2 -3
  177. package/dist/next/{Stepper-CpgJBKz7.cjs.map → Stepper-fE7prDWu.cjs.map} +1 -1
  178. package/dist/next/Stepper.cjs.js +1 -1
  179. package/dist/next/Stepper.js +1 -1
  180. package/dist/next/{TagInput-DVmBv7Mn.cjs → TagInput-BycAVBEu.cjs} +3 -4
  181. package/dist/next/{TagInput-DVmBv7Mn.cjs.map → TagInput-BycAVBEu.cjs.map} +1 -1
  182. package/dist/next/{TagInput-8nVGDluu.js → TagInput-CabR-drk.js} +3 -4
  183. package/dist/next/{TagInput-8nVGDluu.js.map → TagInput-CabR-drk.js.map} +1 -1
  184. package/dist/next/TagInput.cjs.js +1 -1
  185. package/dist/next/TagInput.js +1 -1
  186. package/dist/next/{TextInput-CKM34-yu.js → TextInput-B4s9TMoa.js} +2 -3
  187. package/dist/next/{TextInput-CKM34-yu.js.map → TextInput-B4s9TMoa.js.map} +1 -1
  188. package/dist/next/{TextInput-BRl37zMW.cjs → TextInput-SqTFFVZ8.cjs} +2 -3
  189. package/dist/next/{TextInput-BRl37zMW.cjs.map → TextInput-SqTFFVZ8.cjs.map} +1 -1
  190. package/dist/next/TextInput.cjs.js +1 -1
  191. package/dist/next/TextInput.js +1 -1
  192. package/dist/next/globals.cjs.js +2 -0
  193. package/dist/next/globals.cjs.js.map +1 -0
  194. package/dist/next/globals.js +2 -0
  195. package/dist/next/globals.js.map +1 -0
  196. package/dist/next/index.cjs.js +22 -22
  197. package/dist/next/index.js +22 -22
  198. package/dist/tsconfig.build.tsbuildinfo +1 -1
  199. package/dist/types/components/Card/core/Card.d.ts.map +1 -1
  200. package/dist/types/components/Card/next/Card.d.ts.map +1 -1
  201. package/dist/types/components/FileUpload/next/FileUpload.d.ts.map +1 -1
  202. package/dist/types/components/Footer/next/Footer.d.ts.map +1 -1
  203. package/dist/types/components/MessagePopup/next/MessagePopup.d.ts.map +1 -1
  204. package/dist/types/components/NotificationCenter/core/NotificationCenter.d.ts.map +1 -1
  205. package/dist/types/components/NotificationCenter/next/NotificationCenter.d.ts.map +1 -1
  206. package/dist/types/components/Pager/core/Pager.d.ts.map +1 -1
  207. package/dist/types/components/Pager/next/Pager.d.ts.map +1 -1
  208. package/dist/types/components/TagInput/next/TagInput.d.ts.map +1 -1
  209. package/package.json +1 -1
  210. package/dist/core/Footer-60sTURxB.cjs.map +0 -1
  211. package/dist/core/Footer-Q_60pe6o.js.map +0 -1
  212. package/dist/next/Footer-Bdu_9H3p.js.map +0 -1
  213. package/dist/next/Footer-DJjzgwpc.cjs.map +0 -1
@@ -4,7 +4,7 @@ import ReactDOM from "react-dom";
4
4
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
5
5
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
6
6
  import { d as getDefaultTheme, a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-DsaRlxmw.js";
7
- import { T as TextInput } from "./TextInput-Bc2YpcvM.js";
7
+ import { T as TextInput } from "./TextInput-CXyzklAm.js";
8
8
  const CommandPaletteBase = ({
9
9
  commands,
10
10
  placeholder = "Search...",
@@ -444,4 +444,4 @@ CommandPalette.displayName = "CommandPalette";
444
444
  export {
445
445
  CommandPalette as C
446
446
  };
447
- //# sourceMappingURL=CommandPalette-0uVG4iR2.js.map
447
+ //# sourceMappingURL=CommandPalette-C5XB2s4L.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette-0uVG4iR2.js","sources":["../../src/components/CommandPalette/CommandPaletteBase.tsx","../../src/components/CommandPalette/core/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","import React from \"react\";\r\nimport CommandPaletteBase from \"../CommandPaletteBase\";\r\nimport \"./CommandPalette.scss\";\r\nimport TextInput from \"../../TextInput/core/TextInput\";\r\nimport { CommandPaletteProps } from \"../CommandPalette.types\";\r\n\r\nconst classes = {\r\n overlay: \"command_palette_overlay\",\r\n command_palette: \"command_palette\",\r\n input: \"command_palette_input\",\r\n list: \"command_palette_list\",\r\n item: \"command_palette_item\",\r\n icon: \"command_palette_icon\",\r\n active: \"command_palette_active\",\r\n empty: \"command_palette_empty\",\r\n\r\n primary: \"command_palette_primary\",\r\n secondary: \"command_palette_secondary\",\r\n tertiary: \"command_palette_tertiary\",\r\n quaternary: \"command_palette_quaternary\",\r\n\r\n success: \"command_palette_success\",\r\n error: \"command_palette_error\",\r\n warning: \"command_palette_warning\",\r\n\r\n clear: \"command_palette_clear\",\r\n\r\n shadowNone: \"command_palette_shadow-None\",\r\n shadowLight: \"command_palette_shadow-Light\",\r\n shadowMedium: \"command_palette_shadow-Medium\",\r\n shadowStrong: \"command_palette_shadow-Strong\",\r\n shadowIntense: \"command_palette_shadow-Intense\",\r\n\r\n roundNone: \"command_palette_round-None\",\r\n roundSmall: \"command_palette_round-Small\",\r\n roundMedium: \"command_palette_round-Medium\",\r\n roundLarge: \"command_palette_round-Large\",\r\n};\r\n\r\nconst CommandPalette: React.FC<CommandPaletteProps> = (props) => (\r\n <CommandPaletteBase\r\n {...props}\r\n classMap={classes}\r\n TextInputComponent={TextInput}\r\n />\r\n);\r\nCommandPalette.displayName = \"CommandPalette\";\r\nexport default CommandPalette;\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandPalette-C5XB2s4L.js","sources":["../../src/components/CommandPalette/CommandPaletteBase.tsx","../../src/components/CommandPalette/core/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","import React from \"react\";\r\nimport CommandPaletteBase from \"../CommandPaletteBase\";\r\nimport \"./CommandPalette.scss\";\r\nimport TextInput from \"../../TextInput/core/TextInput\";\r\nimport { CommandPaletteProps } from \"../CommandPalette.types\";\r\n\r\nconst classes = {\r\n overlay: \"command_palette_overlay\",\r\n command_palette: \"command_palette\",\r\n input: \"command_palette_input\",\r\n list: \"command_palette_list\",\r\n item: \"command_palette_item\",\r\n icon: \"command_palette_icon\",\r\n active: \"command_palette_active\",\r\n empty: \"command_palette_empty\",\r\n\r\n primary: \"command_palette_primary\",\r\n secondary: \"command_palette_secondary\",\r\n tertiary: \"command_palette_tertiary\",\r\n quaternary: \"command_palette_quaternary\",\r\n\r\n success: \"command_palette_success\",\r\n error: \"command_palette_error\",\r\n warning: \"command_palette_warning\",\r\n\r\n clear: \"command_palette_clear\",\r\n\r\n shadowNone: \"command_palette_shadow-None\",\r\n shadowLight: \"command_palette_shadow-Light\",\r\n shadowMedium: \"command_palette_shadow-Medium\",\r\n shadowStrong: \"command_palette_shadow-Strong\",\r\n shadowIntense: \"command_palette_shadow-Intense\",\r\n\r\n roundNone: \"command_palette_round-None\",\r\n roundSmall: \"command_palette_round-Small\",\r\n roundMedium: \"command_palette_round-Medium\",\r\n roundLarge: \"command_palette_round-Large\",\r\n};\r\n\r\nconst CommandPalette: React.FC<CommandPaletteProps> = (props) => (\r\n <CommandPaletteBase\r\n {...props}\r\n classMap={classes}\r\n TextInputComponent={TextInput}\r\n />\r\n);\r\nCommandPalette.displayName = \"CommandPalette\";\r\nexport default CommandPalette;\r\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const CommandPalette = require("./CommandPalette-BtpQ9cio.cjs");
2
+ const CommandPalette = require("./CommandPalette-BKd-BCUk.cjs");
3
3
  module.exports = CommandPalette.CommandPalette;
4
4
  //# sourceMappingURL=CommandPalette.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { C } from "./CommandPalette-0uVG4iR2.js";
1
+ import { C } from "./CommandPalette-C5XB2s4L.js";
2
2
  export {
3
3
  C as default
4
4
  };
@@ -4,7 +4,6 @@ const React = require("react");
4
4
  const classNames = require("./classNames-BcWMx052.cjs");
5
5
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
6
6
  const borealStyleConfig = require("./boreal-style-config-C1UIwOFN.cjs");
7
- ;/* empty css */
8
7
  const IconButton = require("./IconButton-C_ktew-6.cjs");
9
8
  const MenuIcon = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
10
9
  "svg",
@@ -363,4 +362,4 @@ const Dropdown = (props) => {
363
362
  };
364
363
  Dropdown.displayName = "Dropdown";
365
364
  exports.Dropdown = Dropdown;
366
- //# sourceMappingURL=Dropdown-B7-_OH9p.cjs.map
365
+ //# sourceMappingURL=Dropdown-DflOD92W.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown-B7-_OH9p.cjs","sources":["../../src/Icons/MenuIcon.tsx","../../src/components/Dropdown/DropdownBase.tsx","../../src/components/Dropdown/core/Dropdown.tsx"],"sourcesContent":["const MenuIcon: 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=\"M3 5H21\"\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 12H21\"\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 19H21\"\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 MenuIcon;\r\n","import React, {\r\n useState,\r\n useRef,\r\n useEffect,\r\n useCallback,\r\n KeyboardEvent,\r\n useId,\r\n JSX,\r\n useMemo,\r\n} from \"react\";\r\nimport { BaseDropdownProps, IconButtonLikeRef } from \"./Dropdown.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport MenuIcon from \"../../Icons/MenuIcon\";\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 BaseDropdown: React.FC<BaseDropdownProps> = ({\r\n triggerIcon,\r\n items,\r\n align = \"right\",\r\n className = \"\",\r\n menuClassName = \"\",\r\n \"aria-label\": ariaLabel = \"Dropdown menu\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n menuAriaLabel,\r\n menuAriaLabelledby,\r\n menuAriaDescribedby,\r\n menuId: menuIdProp,\r\n triggerId,\r\n focusFirstItemOnOpen = true,\r\n closeOnSelect = true,\r\n theme = getDefaultTheme(),\r\n toggleRounding = getDefaultRounding(),\r\n menuRounding = getDefaultRounding(),\r\n toggleShadow = getDefaultShadow(),\r\n menuShadow = getDefaultShadow(),\r\n toggleOutline = false,\r\n state = \"\",\r\n title,\r\n triggerProps,\r\n menuProps,\r\n \"data-testid\": testId = \"dropdown\",\r\n IconButton,\r\n classMap,\r\n ...rest\r\n}: BaseDropdownProps): JSX.Element => {\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n\r\n const dropdownRef = useRef<HTMLDivElement>(null);\r\n const menuRef = useRef<HTMLDivElement>(null);\r\n const triggerRef = useRef<IconButtonLikeRef | null>(null);\r\n\r\n const generatedMenuId = useId();\r\n const resolvedMenuId = menuIdProp ?? generatedMenuId;\r\n\r\n const Icon = triggerIcon ?? MenuIcon;\r\n\r\n const getEnabledItemIndexes = useCallback(() => {\r\n return items.reduce<number[]>((acc, item, index) => {\r\n if (!item.disabled) {\r\n acc.push(index);\r\n }\r\n return acc;\r\n }, []);\r\n }, [items]);\r\n\r\n const focusItemAtIndex = useCallback((index: number) => {\r\n const menuItems =\r\n menuRef.current?.querySelectorAll<HTMLElement>(\"a, button\");\r\n\r\n const target = menuItems?.[index];\r\n\r\n if (target instanceof HTMLButtonElement && target.disabled) {\r\n return;\r\n }\r\n\r\n target?.focus();\r\n }, []);\r\n\r\n const toggleDropdown = () => {\r\n setOpen((prev) => !prev);\r\n };\r\n\r\n const closeDropdown = useCallback(() => {\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n triggerRef.current?.focus?.();\r\n }, []);\r\n\r\n const handleItemSelect = useCallback(\r\n (item: BaseDropdownProps[\"items\"][number]) => {\r\n if (item.disabled) return;\r\n\r\n item.onClick?.();\r\n\r\n if (closeOnSelect) {\r\n closeDropdown();\r\n }\r\n },\r\n [closeDropdown, closeOnSelect],\r\n );\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n\r\n const enabledIndexes = getEnabledItemIndexes();\r\n\r\n if (!focusFirstItemOnOpen || enabledIndexes.length === 0) {\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n }, [open, focusFirstItemOnOpen, getEnabledItemIndexes]);\r\n\r\n useEffect(() => {\r\n if (!open || activeIndex < 0) return;\r\n focusItemAtIndex(activeIndex);\r\n }, [activeIndex, open, focusItemAtIndex]);\r\n\r\n useEffect(() => {\r\n const handleClickOutside = (e: MouseEvent) => {\r\n if (\r\n dropdownRef.current &&\r\n !dropdownRef.current.contains(e.target as Node)\r\n ) {\r\n closeDropdown();\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n\r\n if (open && menuRef.current) {\r\n const rect = menuRef.current.getBoundingClientRect();\r\n const right = rect.right > window.innerWidth;\r\n const left = rect.left < 0;\r\n\r\n if (right) {\r\n menuRef.current.setAttribute(\"data-overflow-right\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n } else if (left) {\r\n menuRef.current.setAttribute(\"data-overflow-left\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n } else {\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n }\r\n }\r\n\r\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\r\n }, [open, closeDropdown]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (!open) return;\r\n\r\n const enabledIndexes = getEnabledItemIndexes();\r\n const hasItems = enabledIndexes.length > 0;\r\n\r\n if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n closeDropdown();\r\n return;\r\n }\r\n\r\n if (e.key === \"Tab\") {\r\n closeDropdown();\r\n return;\r\n }\r\n\r\n if (!hasItems) return;\r\n\r\n const currentEnabledPosition = enabledIndexes.indexOf(activeIndex);\r\n\r\n if (e.key === \"ArrowDown\") {\r\n e.preventDefault();\r\n\r\n if (currentEnabledPosition < 0) {\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n } else {\r\n const nextPosition =\r\n (currentEnabledPosition + 1) % enabledIndexes.length;\r\n setActiveIndex(enabledIndexes[nextPosition] ?? -1);\r\n }\r\n } else if (e.key === \"ArrowUp\") {\r\n e.preventDefault();\r\n\r\n if (currentEnabledPosition < 0) {\r\n setActiveIndex(enabledIndexes[enabledIndexes.length - 1] ?? -1);\r\n } else {\r\n const prevPosition =\r\n (currentEnabledPosition - 1 + enabledIndexes.length) %\r\n enabledIndexes.length;\r\n setActiveIndex(enabledIndexes[prevPosition] ?? -1);\r\n }\r\n } else if (e.key === \"Home\") {\r\n e.preventDefault();\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n } else if (e.key === \"End\") {\r\n e.preventDefault();\r\n setActiveIndex(enabledIndexes[enabledIndexes.length - 1] ?? -1);\r\n } else if ((e.key === \"Enter\" || e.key === \" \") && activeIndex >= 0) {\r\n e.preventDefault();\r\n const item = items[activeIndex];\r\n if (item && !item.disabled) {\r\n handleItemSelect(item);\r\n }\r\n }\r\n },\r\n [\r\n open,\r\n items,\r\n activeIndex,\r\n getEnabledItemIndexes,\r\n closeDropdown,\r\n handleItemSelect,\r\n ],\r\n );\r\n\r\n const menuClassNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.menu,\r\n align === \"right\" ? classMap.alignRight : classMap.alignLeft,\r\n menuShadow && classMap[`shadow${capitalize(menuShadow)}`],\r\n menuRounding && classMap[`round${capitalize(menuRounding)}`],\r\n menuClassName,\r\n menuProps?.className,\r\n ),\r\n [\r\n classMap,\r\n align,\r\n menuShadow,\r\n menuRounding,\r\n menuClassName,\r\n menuProps?.className,\r\n ],\r\n );\r\n\r\n return (\r\n <div\r\n ref={dropdownRef}\r\n className={combineClassNames(classMap.wrapper, className)}\r\n onKeyDown={handleKeyDown}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n <IconButton\r\n ref={triggerRef}\r\n id={triggerId}\r\n icon={Icon}\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-haspopup=\"menu\"\r\n aria-expanded={open}\r\n aria-controls={resolvedMenuId}\r\n rounding={toggleRounding}\r\n shadow={toggleShadow}\r\n outline={toggleOutline}\r\n theme={theme}\r\n state={state}\r\n onClick={toggleDropdown}\r\n title={title}\r\n data-testid={`${testId}-trigger`}\r\n {...triggerProps}\r\n />\r\n\r\n {open && (\r\n <div\r\n id={resolvedMenuId}\r\n ref={menuRef}\r\n aria-label={\r\n menuAriaLabelledby ? undefined : (menuAriaLabel ?? ariaLabel)\r\n }\r\n aria-labelledby={menuAriaLabelledby}\r\n aria-describedby={menuAriaDescribedby}\r\n className={menuClassNames}\r\n data-testid={`${testId}-menu`}\r\n {...menuProps}\r\n >\r\n {items.map((item, index) => {\r\n const commonProps = {\r\n id: item.id,\r\n className: combineClassNames(\r\n classMap.item,\r\n item.disabled ? classMap.disabled : \"\",\r\n ),\r\n \"aria-label\": item[\"aria-label\"],\r\n \"aria-describedby\": item[\"aria-describedby\"],\r\n \"aria-current\": item[\"aria-current\"],\r\n \"aria-disabled\": item.disabled || undefined,\r\n title: item.title,\r\n \"data-testid\": item[\"data-testid\"],\r\n onClick: () => handleItemSelect(item),\r\n };\r\n\r\n if (item.href) {\r\n return (\r\n <a\r\n key={item.id ?? index}\r\n href={item.disabled ? undefined : item.href}\r\n {...commonProps}\r\n onClick={(e) => {\r\n if (item.disabled) {\r\n e.preventDefault();\r\n return;\r\n }\r\n item.onClick?.();\r\n if (closeOnSelect) {\r\n closeDropdown();\r\n }\r\n }}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n key={item.id ?? index}\r\n type=\"button\"\r\n disabled={item.disabled}\r\n {...commonProps}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nBaseDropdown.displayName = \"BaseDropdown\";\r\nexport default BaseDropdown;\r\n","import React from \"react\";\r\nimport BaseDropdown from \"../DropdownBase\";\r\nimport { DropdownProps } from \"../Dropdown.types\";\r\nimport { IconButton } from \"@/index.core\";\r\nimport \"./Dropdown.scss\";\r\n\r\nconst classes = {\r\n wrapper: \"dropdown\",\r\n menu: \"dropdown_menu\",\r\n item: \"dropdown_item\",\r\n icon: \"dropdown_icon\",\r\n\r\n alignRight: \"dropdown_menu_right\",\r\n alignLeft: \"dropdown_menu_left\",\r\n\r\n shadowNone: \"menu_shadow-None\",\r\n shadowLight: \"menu_shadow-Light\",\r\n shadowMedium: \"menu_shadow-Medium\",\r\n shadowStrong: \"menu_shadow-Strong\",\r\n shadowIntense: \"menu_shadow-Intense\",\r\n\r\n roundNone: \"menu_round-None\",\r\n roundSmall: \"menu_round-Small\",\r\n roundMedium: \"menu_round-Medium\",\r\n roundLarge: \"menu_round-Large\",\r\n};\r\n\r\nconst Dropdown: React.FC<DropdownProps> = (props) => {\r\n return <BaseDropdown {...props} IconButton={IconButton} classMap={classes} />;\r\n};\r\nDropdown.displayName = \"Dropdown\";\r\nexport default Dropdown;\r\n"],"names":["jsxs","jsx","getDefaultTheme","getDefaultRounding","getDefaultShadow","IconButton","useState","useRef","useId","useCallback","useEffect","useMemo","combineClassNames","capitalize"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown-DflOD92W.cjs","sources":["../../src/Icons/MenuIcon.tsx","../../src/components/Dropdown/DropdownBase.tsx","../../src/components/Dropdown/core/Dropdown.tsx"],"sourcesContent":["const MenuIcon: 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=\"M3 5H21\"\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 12H21\"\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 19H21\"\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 MenuIcon;\r\n","import React, {\r\n useState,\r\n useRef,\r\n useEffect,\r\n useCallback,\r\n KeyboardEvent,\r\n useId,\r\n JSX,\r\n useMemo,\r\n} from \"react\";\r\nimport { BaseDropdownProps, IconButtonLikeRef } from \"./Dropdown.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport MenuIcon from \"../../Icons/MenuIcon\";\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 BaseDropdown: React.FC<BaseDropdownProps> = ({\r\n triggerIcon,\r\n items,\r\n align = \"right\",\r\n className = \"\",\r\n menuClassName = \"\",\r\n \"aria-label\": ariaLabel = \"Dropdown menu\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n menuAriaLabel,\r\n menuAriaLabelledby,\r\n menuAriaDescribedby,\r\n menuId: menuIdProp,\r\n triggerId,\r\n focusFirstItemOnOpen = true,\r\n closeOnSelect = true,\r\n theme = getDefaultTheme(),\r\n toggleRounding = getDefaultRounding(),\r\n menuRounding = getDefaultRounding(),\r\n toggleShadow = getDefaultShadow(),\r\n menuShadow = getDefaultShadow(),\r\n toggleOutline = false,\r\n state = \"\",\r\n title,\r\n triggerProps,\r\n menuProps,\r\n \"data-testid\": testId = \"dropdown\",\r\n IconButton,\r\n classMap,\r\n ...rest\r\n}: BaseDropdownProps): JSX.Element => {\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n\r\n const dropdownRef = useRef<HTMLDivElement>(null);\r\n const menuRef = useRef<HTMLDivElement>(null);\r\n const triggerRef = useRef<IconButtonLikeRef | null>(null);\r\n\r\n const generatedMenuId = useId();\r\n const resolvedMenuId = menuIdProp ?? generatedMenuId;\r\n\r\n const Icon = triggerIcon ?? MenuIcon;\r\n\r\n const getEnabledItemIndexes = useCallback(() => {\r\n return items.reduce<number[]>((acc, item, index) => {\r\n if (!item.disabled) {\r\n acc.push(index);\r\n }\r\n return acc;\r\n }, []);\r\n }, [items]);\r\n\r\n const focusItemAtIndex = useCallback((index: number) => {\r\n const menuItems =\r\n menuRef.current?.querySelectorAll<HTMLElement>(\"a, button\");\r\n\r\n const target = menuItems?.[index];\r\n\r\n if (target instanceof HTMLButtonElement && target.disabled) {\r\n return;\r\n }\r\n\r\n target?.focus();\r\n }, []);\r\n\r\n const toggleDropdown = () => {\r\n setOpen((prev) => !prev);\r\n };\r\n\r\n const closeDropdown = useCallback(() => {\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n triggerRef.current?.focus?.();\r\n }, []);\r\n\r\n const handleItemSelect = useCallback(\r\n (item: BaseDropdownProps[\"items\"][number]) => {\r\n if (item.disabled) return;\r\n\r\n item.onClick?.();\r\n\r\n if (closeOnSelect) {\r\n closeDropdown();\r\n }\r\n },\r\n [closeDropdown, closeOnSelect],\r\n );\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n\r\n const enabledIndexes = getEnabledItemIndexes();\r\n\r\n if (!focusFirstItemOnOpen || enabledIndexes.length === 0) {\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n }, [open, focusFirstItemOnOpen, getEnabledItemIndexes]);\r\n\r\n useEffect(() => {\r\n if (!open || activeIndex < 0) return;\r\n focusItemAtIndex(activeIndex);\r\n }, [activeIndex, open, focusItemAtIndex]);\r\n\r\n useEffect(() => {\r\n const handleClickOutside = (e: MouseEvent) => {\r\n if (\r\n dropdownRef.current &&\r\n !dropdownRef.current.contains(e.target as Node)\r\n ) {\r\n closeDropdown();\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n\r\n if (open && menuRef.current) {\r\n const rect = menuRef.current.getBoundingClientRect();\r\n const right = rect.right > window.innerWidth;\r\n const left = rect.left < 0;\r\n\r\n if (right) {\r\n menuRef.current.setAttribute(\"data-overflow-right\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n } else if (left) {\r\n menuRef.current.setAttribute(\"data-overflow-left\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n } else {\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n }\r\n }\r\n\r\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\r\n }, [open, closeDropdown]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (!open) return;\r\n\r\n const enabledIndexes = getEnabledItemIndexes();\r\n const hasItems = enabledIndexes.length > 0;\r\n\r\n if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n closeDropdown();\r\n return;\r\n }\r\n\r\n if (e.key === \"Tab\") {\r\n closeDropdown();\r\n return;\r\n }\r\n\r\n if (!hasItems) return;\r\n\r\n const currentEnabledPosition = enabledIndexes.indexOf(activeIndex);\r\n\r\n if (e.key === \"ArrowDown\") {\r\n e.preventDefault();\r\n\r\n if (currentEnabledPosition < 0) {\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n } else {\r\n const nextPosition =\r\n (currentEnabledPosition + 1) % enabledIndexes.length;\r\n setActiveIndex(enabledIndexes[nextPosition] ?? -1);\r\n }\r\n } else if (e.key === \"ArrowUp\") {\r\n e.preventDefault();\r\n\r\n if (currentEnabledPosition < 0) {\r\n setActiveIndex(enabledIndexes[enabledIndexes.length - 1] ?? -1);\r\n } else {\r\n const prevPosition =\r\n (currentEnabledPosition - 1 + enabledIndexes.length) %\r\n enabledIndexes.length;\r\n setActiveIndex(enabledIndexes[prevPosition] ?? -1);\r\n }\r\n } else if (e.key === \"Home\") {\r\n e.preventDefault();\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n } else if (e.key === \"End\") {\r\n e.preventDefault();\r\n setActiveIndex(enabledIndexes[enabledIndexes.length - 1] ?? -1);\r\n } else if ((e.key === \"Enter\" || e.key === \" \") && activeIndex >= 0) {\r\n e.preventDefault();\r\n const item = items[activeIndex];\r\n if (item && !item.disabled) {\r\n handleItemSelect(item);\r\n }\r\n }\r\n },\r\n [\r\n open,\r\n items,\r\n activeIndex,\r\n getEnabledItemIndexes,\r\n closeDropdown,\r\n handleItemSelect,\r\n ],\r\n );\r\n\r\n const menuClassNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.menu,\r\n align === \"right\" ? classMap.alignRight : classMap.alignLeft,\r\n menuShadow && classMap[`shadow${capitalize(menuShadow)}`],\r\n menuRounding && classMap[`round${capitalize(menuRounding)}`],\r\n menuClassName,\r\n menuProps?.className,\r\n ),\r\n [\r\n classMap,\r\n align,\r\n menuShadow,\r\n menuRounding,\r\n menuClassName,\r\n menuProps?.className,\r\n ],\r\n );\r\n\r\n return (\r\n <div\r\n ref={dropdownRef}\r\n className={combineClassNames(classMap.wrapper, className)}\r\n onKeyDown={handleKeyDown}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n <IconButton\r\n ref={triggerRef}\r\n id={triggerId}\r\n icon={Icon}\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-haspopup=\"menu\"\r\n aria-expanded={open}\r\n aria-controls={resolvedMenuId}\r\n rounding={toggleRounding}\r\n shadow={toggleShadow}\r\n outline={toggleOutline}\r\n theme={theme}\r\n state={state}\r\n onClick={toggleDropdown}\r\n title={title}\r\n data-testid={`${testId}-trigger`}\r\n {...triggerProps}\r\n />\r\n\r\n {open && (\r\n <div\r\n id={resolvedMenuId}\r\n ref={menuRef}\r\n aria-label={\r\n menuAriaLabelledby ? undefined : (menuAriaLabel ?? ariaLabel)\r\n }\r\n aria-labelledby={menuAriaLabelledby}\r\n aria-describedby={menuAriaDescribedby}\r\n className={menuClassNames}\r\n data-testid={`${testId}-menu`}\r\n {...menuProps}\r\n >\r\n {items.map((item, index) => {\r\n const commonProps = {\r\n id: item.id,\r\n className: combineClassNames(\r\n classMap.item,\r\n item.disabled ? classMap.disabled : \"\",\r\n ),\r\n \"aria-label\": item[\"aria-label\"],\r\n \"aria-describedby\": item[\"aria-describedby\"],\r\n \"aria-current\": item[\"aria-current\"],\r\n \"aria-disabled\": item.disabled || undefined,\r\n title: item.title,\r\n \"data-testid\": item[\"data-testid\"],\r\n onClick: () => handleItemSelect(item),\r\n };\r\n\r\n if (item.href) {\r\n return (\r\n <a\r\n key={item.id ?? index}\r\n href={item.disabled ? undefined : item.href}\r\n {...commonProps}\r\n onClick={(e) => {\r\n if (item.disabled) {\r\n e.preventDefault();\r\n return;\r\n }\r\n item.onClick?.();\r\n if (closeOnSelect) {\r\n closeDropdown();\r\n }\r\n }}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n key={item.id ?? index}\r\n type=\"button\"\r\n disabled={item.disabled}\r\n {...commonProps}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nBaseDropdown.displayName = \"BaseDropdown\";\r\nexport default BaseDropdown;\r\n","import React from \"react\";\r\nimport BaseDropdown from \"../DropdownBase\";\r\nimport { DropdownProps } from \"../Dropdown.types\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport \"./Dropdown.scss\";\r\n\r\nconst classes = {\r\n wrapper: \"dropdown\",\r\n menu: \"dropdown_menu\",\r\n item: \"dropdown_item\",\r\n icon: \"dropdown_icon\",\r\n\r\n alignRight: \"dropdown_menu_right\",\r\n alignLeft: \"dropdown_menu_left\",\r\n\r\n shadowNone: \"menu_shadow-None\",\r\n shadowLight: \"menu_shadow-Light\",\r\n shadowMedium: \"menu_shadow-Medium\",\r\n shadowStrong: \"menu_shadow-Strong\",\r\n shadowIntense: \"menu_shadow-Intense\",\r\n\r\n roundNone: \"menu_round-None\",\r\n roundSmall: \"menu_round-Small\",\r\n roundMedium: \"menu_round-Medium\",\r\n roundLarge: \"menu_round-Large\",\r\n};\r\n\r\nconst Dropdown: React.FC<DropdownProps> = (props) => {\r\n return <BaseDropdown {...props} IconButton={IconButton} classMap={classes} />;\r\n};\r\nDropdown.displayName = \"Dropdown\";\r\nexport default Dropdown;\r\n"],"names":["jsxs","jsx","getDefaultTheme","getDefaultRounding","getDefaultShadow","IconButton","useState","useRef","useId","useCallback","useEffect","useMemo","combineClassNames","capitalize"],"mappings":"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"}
@@ -3,7 +3,6 @@ import { useState, useRef, useId, useCallback, useEffect, 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-DsaRlxmw.js";
6
- /* empty css */
7
6
  import { I as IconButton } from "./IconButton-By8zuXrs.js";
8
7
  const MenuIcon = (props) => /* @__PURE__ */ jsxs(
9
8
  "svg",
@@ -364,4 +363,4 @@ Dropdown.displayName = "Dropdown";
364
363
  export {
365
364
  Dropdown as D
366
365
  };
367
- //# sourceMappingURL=Dropdown-BEPGhf-i.js.map
366
+ //# sourceMappingURL=Dropdown-fr7AR3nt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown-BEPGhf-i.js","sources":["../../src/Icons/MenuIcon.tsx","../../src/components/Dropdown/DropdownBase.tsx","../../src/components/Dropdown/core/Dropdown.tsx"],"sourcesContent":["const MenuIcon: 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=\"M3 5H21\"\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 12H21\"\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 19H21\"\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 MenuIcon;\r\n","import React, {\r\n useState,\r\n useRef,\r\n useEffect,\r\n useCallback,\r\n KeyboardEvent,\r\n useId,\r\n JSX,\r\n useMemo,\r\n} from \"react\";\r\nimport { BaseDropdownProps, IconButtonLikeRef } from \"./Dropdown.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport MenuIcon from \"../../Icons/MenuIcon\";\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 BaseDropdown: React.FC<BaseDropdownProps> = ({\r\n triggerIcon,\r\n items,\r\n align = \"right\",\r\n className = \"\",\r\n menuClassName = \"\",\r\n \"aria-label\": ariaLabel = \"Dropdown menu\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n menuAriaLabel,\r\n menuAriaLabelledby,\r\n menuAriaDescribedby,\r\n menuId: menuIdProp,\r\n triggerId,\r\n focusFirstItemOnOpen = true,\r\n closeOnSelect = true,\r\n theme = getDefaultTheme(),\r\n toggleRounding = getDefaultRounding(),\r\n menuRounding = getDefaultRounding(),\r\n toggleShadow = getDefaultShadow(),\r\n menuShadow = getDefaultShadow(),\r\n toggleOutline = false,\r\n state = \"\",\r\n title,\r\n triggerProps,\r\n menuProps,\r\n \"data-testid\": testId = \"dropdown\",\r\n IconButton,\r\n classMap,\r\n ...rest\r\n}: BaseDropdownProps): JSX.Element => {\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n\r\n const dropdownRef = useRef<HTMLDivElement>(null);\r\n const menuRef = useRef<HTMLDivElement>(null);\r\n const triggerRef = useRef<IconButtonLikeRef | null>(null);\r\n\r\n const generatedMenuId = useId();\r\n const resolvedMenuId = menuIdProp ?? generatedMenuId;\r\n\r\n const Icon = triggerIcon ?? MenuIcon;\r\n\r\n const getEnabledItemIndexes = useCallback(() => {\r\n return items.reduce<number[]>((acc, item, index) => {\r\n if (!item.disabled) {\r\n acc.push(index);\r\n }\r\n return acc;\r\n }, []);\r\n }, [items]);\r\n\r\n const focusItemAtIndex = useCallback((index: number) => {\r\n const menuItems =\r\n menuRef.current?.querySelectorAll<HTMLElement>(\"a, button\");\r\n\r\n const target = menuItems?.[index];\r\n\r\n if (target instanceof HTMLButtonElement && target.disabled) {\r\n return;\r\n }\r\n\r\n target?.focus();\r\n }, []);\r\n\r\n const toggleDropdown = () => {\r\n setOpen((prev) => !prev);\r\n };\r\n\r\n const closeDropdown = useCallback(() => {\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n triggerRef.current?.focus?.();\r\n }, []);\r\n\r\n const handleItemSelect = useCallback(\r\n (item: BaseDropdownProps[\"items\"][number]) => {\r\n if (item.disabled) return;\r\n\r\n item.onClick?.();\r\n\r\n if (closeOnSelect) {\r\n closeDropdown();\r\n }\r\n },\r\n [closeDropdown, closeOnSelect],\r\n );\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n\r\n const enabledIndexes = getEnabledItemIndexes();\r\n\r\n if (!focusFirstItemOnOpen || enabledIndexes.length === 0) {\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n }, [open, focusFirstItemOnOpen, getEnabledItemIndexes]);\r\n\r\n useEffect(() => {\r\n if (!open || activeIndex < 0) return;\r\n focusItemAtIndex(activeIndex);\r\n }, [activeIndex, open, focusItemAtIndex]);\r\n\r\n useEffect(() => {\r\n const handleClickOutside = (e: MouseEvent) => {\r\n if (\r\n dropdownRef.current &&\r\n !dropdownRef.current.contains(e.target as Node)\r\n ) {\r\n closeDropdown();\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n\r\n if (open && menuRef.current) {\r\n const rect = menuRef.current.getBoundingClientRect();\r\n const right = rect.right > window.innerWidth;\r\n const left = rect.left < 0;\r\n\r\n if (right) {\r\n menuRef.current.setAttribute(\"data-overflow-right\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n } else if (left) {\r\n menuRef.current.setAttribute(\"data-overflow-left\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n } else {\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n }\r\n }\r\n\r\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\r\n }, [open, closeDropdown]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (!open) return;\r\n\r\n const enabledIndexes = getEnabledItemIndexes();\r\n const hasItems = enabledIndexes.length > 0;\r\n\r\n if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n closeDropdown();\r\n return;\r\n }\r\n\r\n if (e.key === \"Tab\") {\r\n closeDropdown();\r\n return;\r\n }\r\n\r\n if (!hasItems) return;\r\n\r\n const currentEnabledPosition = enabledIndexes.indexOf(activeIndex);\r\n\r\n if (e.key === \"ArrowDown\") {\r\n e.preventDefault();\r\n\r\n if (currentEnabledPosition < 0) {\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n } else {\r\n const nextPosition =\r\n (currentEnabledPosition + 1) % enabledIndexes.length;\r\n setActiveIndex(enabledIndexes[nextPosition] ?? -1);\r\n }\r\n } else if (e.key === \"ArrowUp\") {\r\n e.preventDefault();\r\n\r\n if (currentEnabledPosition < 0) {\r\n setActiveIndex(enabledIndexes[enabledIndexes.length - 1] ?? -1);\r\n } else {\r\n const prevPosition =\r\n (currentEnabledPosition - 1 + enabledIndexes.length) %\r\n enabledIndexes.length;\r\n setActiveIndex(enabledIndexes[prevPosition] ?? -1);\r\n }\r\n } else if (e.key === \"Home\") {\r\n e.preventDefault();\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n } else if (e.key === \"End\") {\r\n e.preventDefault();\r\n setActiveIndex(enabledIndexes[enabledIndexes.length - 1] ?? -1);\r\n } else if ((e.key === \"Enter\" || e.key === \" \") && activeIndex >= 0) {\r\n e.preventDefault();\r\n const item = items[activeIndex];\r\n if (item && !item.disabled) {\r\n handleItemSelect(item);\r\n }\r\n }\r\n },\r\n [\r\n open,\r\n items,\r\n activeIndex,\r\n getEnabledItemIndexes,\r\n closeDropdown,\r\n handleItemSelect,\r\n ],\r\n );\r\n\r\n const menuClassNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.menu,\r\n align === \"right\" ? classMap.alignRight : classMap.alignLeft,\r\n menuShadow && classMap[`shadow${capitalize(menuShadow)}`],\r\n menuRounding && classMap[`round${capitalize(menuRounding)}`],\r\n menuClassName,\r\n menuProps?.className,\r\n ),\r\n [\r\n classMap,\r\n align,\r\n menuShadow,\r\n menuRounding,\r\n menuClassName,\r\n menuProps?.className,\r\n ],\r\n );\r\n\r\n return (\r\n <div\r\n ref={dropdownRef}\r\n className={combineClassNames(classMap.wrapper, className)}\r\n onKeyDown={handleKeyDown}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n <IconButton\r\n ref={triggerRef}\r\n id={triggerId}\r\n icon={Icon}\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-haspopup=\"menu\"\r\n aria-expanded={open}\r\n aria-controls={resolvedMenuId}\r\n rounding={toggleRounding}\r\n shadow={toggleShadow}\r\n outline={toggleOutline}\r\n theme={theme}\r\n state={state}\r\n onClick={toggleDropdown}\r\n title={title}\r\n data-testid={`${testId}-trigger`}\r\n {...triggerProps}\r\n />\r\n\r\n {open && (\r\n <div\r\n id={resolvedMenuId}\r\n ref={menuRef}\r\n aria-label={\r\n menuAriaLabelledby ? undefined : (menuAriaLabel ?? ariaLabel)\r\n }\r\n aria-labelledby={menuAriaLabelledby}\r\n aria-describedby={menuAriaDescribedby}\r\n className={menuClassNames}\r\n data-testid={`${testId}-menu`}\r\n {...menuProps}\r\n >\r\n {items.map((item, index) => {\r\n const commonProps = {\r\n id: item.id,\r\n className: combineClassNames(\r\n classMap.item,\r\n item.disabled ? classMap.disabled : \"\",\r\n ),\r\n \"aria-label\": item[\"aria-label\"],\r\n \"aria-describedby\": item[\"aria-describedby\"],\r\n \"aria-current\": item[\"aria-current\"],\r\n \"aria-disabled\": item.disabled || undefined,\r\n title: item.title,\r\n \"data-testid\": item[\"data-testid\"],\r\n onClick: () => handleItemSelect(item),\r\n };\r\n\r\n if (item.href) {\r\n return (\r\n <a\r\n key={item.id ?? index}\r\n href={item.disabled ? undefined : item.href}\r\n {...commonProps}\r\n onClick={(e) => {\r\n if (item.disabled) {\r\n e.preventDefault();\r\n return;\r\n }\r\n item.onClick?.();\r\n if (closeOnSelect) {\r\n closeDropdown();\r\n }\r\n }}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n key={item.id ?? index}\r\n type=\"button\"\r\n disabled={item.disabled}\r\n {...commonProps}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nBaseDropdown.displayName = \"BaseDropdown\";\r\nexport default BaseDropdown;\r\n","import React from \"react\";\r\nimport BaseDropdown from \"../DropdownBase\";\r\nimport { DropdownProps } from \"../Dropdown.types\";\r\nimport { IconButton } from \"@/index.core\";\r\nimport \"./Dropdown.scss\";\r\n\r\nconst classes = {\r\n wrapper: \"dropdown\",\r\n menu: \"dropdown_menu\",\r\n item: \"dropdown_item\",\r\n icon: \"dropdown_icon\",\r\n\r\n alignRight: \"dropdown_menu_right\",\r\n alignLeft: \"dropdown_menu_left\",\r\n\r\n shadowNone: \"menu_shadow-None\",\r\n shadowLight: \"menu_shadow-Light\",\r\n shadowMedium: \"menu_shadow-Medium\",\r\n shadowStrong: \"menu_shadow-Strong\",\r\n shadowIntense: \"menu_shadow-Intense\",\r\n\r\n roundNone: \"menu_round-None\",\r\n roundSmall: \"menu_round-Small\",\r\n roundMedium: \"menu_round-Medium\",\r\n roundLarge: \"menu_round-Large\",\r\n};\r\n\r\nconst Dropdown: React.FC<DropdownProps> = (props) => {\r\n return <BaseDropdown {...props} IconButton={IconButton} classMap={classes} />;\r\n};\r\nDropdown.displayName = \"Dropdown\";\r\nexport default Dropdown;\r\n"],"names":["IconButton"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown-fr7AR3nt.js","sources":["../../src/Icons/MenuIcon.tsx","../../src/components/Dropdown/DropdownBase.tsx","../../src/components/Dropdown/core/Dropdown.tsx"],"sourcesContent":["const MenuIcon: 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=\"M3 5H21\"\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 12H21\"\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 19H21\"\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 MenuIcon;\r\n","import React, {\r\n useState,\r\n useRef,\r\n useEffect,\r\n useCallback,\r\n KeyboardEvent,\r\n useId,\r\n JSX,\r\n useMemo,\r\n} from \"react\";\r\nimport { BaseDropdownProps, IconButtonLikeRef } from \"./Dropdown.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport MenuIcon from \"../../Icons/MenuIcon\";\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 BaseDropdown: React.FC<BaseDropdownProps> = ({\r\n triggerIcon,\r\n items,\r\n align = \"right\",\r\n className = \"\",\r\n menuClassName = \"\",\r\n \"aria-label\": ariaLabel = \"Dropdown menu\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n menuAriaLabel,\r\n menuAriaLabelledby,\r\n menuAriaDescribedby,\r\n menuId: menuIdProp,\r\n triggerId,\r\n focusFirstItemOnOpen = true,\r\n closeOnSelect = true,\r\n theme = getDefaultTheme(),\r\n toggleRounding = getDefaultRounding(),\r\n menuRounding = getDefaultRounding(),\r\n toggleShadow = getDefaultShadow(),\r\n menuShadow = getDefaultShadow(),\r\n toggleOutline = false,\r\n state = \"\",\r\n title,\r\n triggerProps,\r\n menuProps,\r\n \"data-testid\": testId = \"dropdown\",\r\n IconButton,\r\n classMap,\r\n ...rest\r\n}: BaseDropdownProps): JSX.Element => {\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n\r\n const dropdownRef = useRef<HTMLDivElement>(null);\r\n const menuRef = useRef<HTMLDivElement>(null);\r\n const triggerRef = useRef<IconButtonLikeRef | null>(null);\r\n\r\n const generatedMenuId = useId();\r\n const resolvedMenuId = menuIdProp ?? generatedMenuId;\r\n\r\n const Icon = triggerIcon ?? MenuIcon;\r\n\r\n const getEnabledItemIndexes = useCallback(() => {\r\n return items.reduce<number[]>((acc, item, index) => {\r\n if (!item.disabled) {\r\n acc.push(index);\r\n }\r\n return acc;\r\n }, []);\r\n }, [items]);\r\n\r\n const focusItemAtIndex = useCallback((index: number) => {\r\n const menuItems =\r\n menuRef.current?.querySelectorAll<HTMLElement>(\"a, button\");\r\n\r\n const target = menuItems?.[index];\r\n\r\n if (target instanceof HTMLButtonElement && target.disabled) {\r\n return;\r\n }\r\n\r\n target?.focus();\r\n }, []);\r\n\r\n const toggleDropdown = () => {\r\n setOpen((prev) => !prev);\r\n };\r\n\r\n const closeDropdown = useCallback(() => {\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n triggerRef.current?.focus?.();\r\n }, []);\r\n\r\n const handleItemSelect = useCallback(\r\n (item: BaseDropdownProps[\"items\"][number]) => {\r\n if (item.disabled) return;\r\n\r\n item.onClick?.();\r\n\r\n if (closeOnSelect) {\r\n closeDropdown();\r\n }\r\n },\r\n [closeDropdown, closeOnSelect],\r\n );\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n\r\n const enabledIndexes = getEnabledItemIndexes();\r\n\r\n if (!focusFirstItemOnOpen || enabledIndexes.length === 0) {\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n }, [open, focusFirstItemOnOpen, getEnabledItemIndexes]);\r\n\r\n useEffect(() => {\r\n if (!open || activeIndex < 0) return;\r\n focusItemAtIndex(activeIndex);\r\n }, [activeIndex, open, focusItemAtIndex]);\r\n\r\n useEffect(() => {\r\n const handleClickOutside = (e: MouseEvent) => {\r\n if (\r\n dropdownRef.current &&\r\n !dropdownRef.current.contains(e.target as Node)\r\n ) {\r\n closeDropdown();\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n\r\n if (open && menuRef.current) {\r\n const rect = menuRef.current.getBoundingClientRect();\r\n const right = rect.right > window.innerWidth;\r\n const left = rect.left < 0;\r\n\r\n if (right) {\r\n menuRef.current.setAttribute(\"data-overflow-right\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n } else if (left) {\r\n menuRef.current.setAttribute(\"data-overflow-left\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n } else {\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n }\r\n }\r\n\r\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\r\n }, [open, closeDropdown]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (!open) return;\r\n\r\n const enabledIndexes = getEnabledItemIndexes();\r\n const hasItems = enabledIndexes.length > 0;\r\n\r\n if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n closeDropdown();\r\n return;\r\n }\r\n\r\n if (e.key === \"Tab\") {\r\n closeDropdown();\r\n return;\r\n }\r\n\r\n if (!hasItems) return;\r\n\r\n const currentEnabledPosition = enabledIndexes.indexOf(activeIndex);\r\n\r\n if (e.key === \"ArrowDown\") {\r\n e.preventDefault();\r\n\r\n if (currentEnabledPosition < 0) {\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n } else {\r\n const nextPosition =\r\n (currentEnabledPosition + 1) % enabledIndexes.length;\r\n setActiveIndex(enabledIndexes[nextPosition] ?? -1);\r\n }\r\n } else if (e.key === \"ArrowUp\") {\r\n e.preventDefault();\r\n\r\n if (currentEnabledPosition < 0) {\r\n setActiveIndex(enabledIndexes[enabledIndexes.length - 1] ?? -1);\r\n } else {\r\n const prevPosition =\r\n (currentEnabledPosition - 1 + enabledIndexes.length) %\r\n enabledIndexes.length;\r\n setActiveIndex(enabledIndexes[prevPosition] ?? -1);\r\n }\r\n } else if (e.key === \"Home\") {\r\n e.preventDefault();\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n } else if (e.key === \"End\") {\r\n e.preventDefault();\r\n setActiveIndex(enabledIndexes[enabledIndexes.length - 1] ?? -1);\r\n } else if ((e.key === \"Enter\" || e.key === \" \") && activeIndex >= 0) {\r\n e.preventDefault();\r\n const item = items[activeIndex];\r\n if (item && !item.disabled) {\r\n handleItemSelect(item);\r\n }\r\n }\r\n },\r\n [\r\n open,\r\n items,\r\n activeIndex,\r\n getEnabledItemIndexes,\r\n closeDropdown,\r\n handleItemSelect,\r\n ],\r\n );\r\n\r\n const menuClassNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.menu,\r\n align === \"right\" ? classMap.alignRight : classMap.alignLeft,\r\n menuShadow && classMap[`shadow${capitalize(menuShadow)}`],\r\n menuRounding && classMap[`round${capitalize(menuRounding)}`],\r\n menuClassName,\r\n menuProps?.className,\r\n ),\r\n [\r\n classMap,\r\n align,\r\n menuShadow,\r\n menuRounding,\r\n menuClassName,\r\n menuProps?.className,\r\n ],\r\n );\r\n\r\n return (\r\n <div\r\n ref={dropdownRef}\r\n className={combineClassNames(classMap.wrapper, className)}\r\n onKeyDown={handleKeyDown}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n <IconButton\r\n ref={triggerRef}\r\n id={triggerId}\r\n icon={Icon}\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-haspopup=\"menu\"\r\n aria-expanded={open}\r\n aria-controls={resolvedMenuId}\r\n rounding={toggleRounding}\r\n shadow={toggleShadow}\r\n outline={toggleOutline}\r\n theme={theme}\r\n state={state}\r\n onClick={toggleDropdown}\r\n title={title}\r\n data-testid={`${testId}-trigger`}\r\n {...triggerProps}\r\n />\r\n\r\n {open && (\r\n <div\r\n id={resolvedMenuId}\r\n ref={menuRef}\r\n aria-label={\r\n menuAriaLabelledby ? undefined : (menuAriaLabel ?? ariaLabel)\r\n }\r\n aria-labelledby={menuAriaLabelledby}\r\n aria-describedby={menuAriaDescribedby}\r\n className={menuClassNames}\r\n data-testid={`${testId}-menu`}\r\n {...menuProps}\r\n >\r\n {items.map((item, index) => {\r\n const commonProps = {\r\n id: item.id,\r\n className: combineClassNames(\r\n classMap.item,\r\n item.disabled ? classMap.disabled : \"\",\r\n ),\r\n \"aria-label\": item[\"aria-label\"],\r\n \"aria-describedby\": item[\"aria-describedby\"],\r\n \"aria-current\": item[\"aria-current\"],\r\n \"aria-disabled\": item.disabled || undefined,\r\n title: item.title,\r\n \"data-testid\": item[\"data-testid\"],\r\n onClick: () => handleItemSelect(item),\r\n };\r\n\r\n if (item.href) {\r\n return (\r\n <a\r\n key={item.id ?? index}\r\n href={item.disabled ? undefined : item.href}\r\n {...commonProps}\r\n onClick={(e) => {\r\n if (item.disabled) {\r\n e.preventDefault();\r\n return;\r\n }\r\n item.onClick?.();\r\n if (closeOnSelect) {\r\n closeDropdown();\r\n }\r\n }}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n key={item.id ?? index}\r\n type=\"button\"\r\n disabled={item.disabled}\r\n {...commonProps}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nBaseDropdown.displayName = \"BaseDropdown\";\r\nexport default BaseDropdown;\r\n","import React from \"react\";\r\nimport BaseDropdown from \"../DropdownBase\";\r\nimport { DropdownProps } from \"../Dropdown.types\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport \"./Dropdown.scss\";\r\n\r\nconst classes = {\r\n wrapper: \"dropdown\",\r\n menu: \"dropdown_menu\",\r\n item: \"dropdown_item\",\r\n icon: \"dropdown_icon\",\r\n\r\n alignRight: \"dropdown_menu_right\",\r\n alignLeft: \"dropdown_menu_left\",\r\n\r\n shadowNone: \"menu_shadow-None\",\r\n shadowLight: \"menu_shadow-Light\",\r\n shadowMedium: \"menu_shadow-Medium\",\r\n shadowStrong: \"menu_shadow-Strong\",\r\n shadowIntense: \"menu_shadow-Intense\",\r\n\r\n roundNone: \"menu_round-None\",\r\n roundSmall: \"menu_round-Small\",\r\n roundMedium: \"menu_round-Medium\",\r\n roundLarge: \"menu_round-Large\",\r\n};\r\n\r\nconst Dropdown: React.FC<DropdownProps> = (props) => {\r\n return <BaseDropdown {...props} IconButton={IconButton} classMap={classes} />;\r\n};\r\nDropdown.displayName = \"Dropdown\";\r\nexport default Dropdown;\r\n"],"names":["IconButton"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const Dropdown = require("./Dropdown-B7-_OH9p.cjs");
2
+ const Dropdown = require("./Dropdown-DflOD92W.cjs");
3
3
  module.exports = Dropdown.Dropdown;
4
4
  //# sourceMappingURL=Dropdown.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { D } from "./Dropdown-BEPGhf-i.js";
1
+ import { D } from "./Dropdown-fr7AR3nt.js";
2
2
  export {
3
3
  D as default
4
4
  };
@@ -4,7 +4,6 @@ const React = require("react");
4
4
  const classNames = require("./classNames-BcWMx052.cjs");
5
5
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
6
6
  const borealStyleConfig = require("./boreal-style-config-C1UIwOFN.cjs");
7
- ;/* empty css */
8
7
  const Button = require("./Button-nxtJFOWD.cjs");
9
8
  const BaseEmptyState = ({
10
9
  icon: Icon,
@@ -149,4 +148,4 @@ const EmptyState = (props) => {
149
148
  };
150
149
  EmptyState.displayName = "EmptyState";
151
150
  exports.EmptyState = EmptyState;
152
- //# sourceMappingURL=EmptyState-Du2xqi6G.cjs.map
151
+ //# sourceMappingURL=EmptyState-BSVIrZHm.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState-Du2xqi6G.cjs","sources":["../../src/components/EmptyState/EmptyStateBase.tsx","../../src/components/EmptyState/core/EmptyState.tsx"],"sourcesContent":["import React, { useMemo, useId } from \"react\";\r\nimport type { BaseEmptyStateProps } from \"./EmptyState.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\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 BaseEmptyState: React.FC<BaseEmptyStateProps> = ({\r\n icon: Icon,\r\n title = \"Nothing Here Yet\",\r\n message = \"There’s no content to display.\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n outline = false,\r\n actionLabel,\r\n onActionClick,\r\n className = \"\",\r\n id,\r\n role,\r\n iconDecorative = true,\r\n iconAriaLabel,\r\n actionAriaLabel,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"data-testid\": testId = \"empty-state\",\r\n Button,\r\n classMap,\r\n ...rest\r\n}) => {\r\n const uid = useId();\r\n\r\n const titleId =\r\n title && !ariaLabelledBy ? `${testId}-title-${uid}` : undefined;\r\n const messageId =\r\n message && !ariaDescribedBy ? `${testId}-message-${uid}` : undefined;\r\n\r\n const resolvedRole = role ?? (title ? \"region\" : undefined);\r\n\r\n const resolvedAriaLabelledBy =\r\n ariaLabelledBy ?? (!ariaLabel && titleId ? titleId : undefined);\r\n\r\n const resolvedAriaDescribedBy = ariaDescribedBy ?? messageId;\r\n\r\n const sectionClassNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.empty_state,\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 className,\r\n ),\r\n [classMap, rounding, shadow, size, state, theme, outline, className],\r\n );\r\n\r\n const resolvedActionAriaLabel =\r\n actionAriaLabel ??\r\n (typeof actionLabel === \"string\" ? undefined : \"Perform action\");\r\n\r\n return (\r\n <section\r\n id={id}\r\n className={sectionClassNames}\r\n role={resolvedRole}\r\n aria-label={ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={resolvedAriaDescribedBy}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n {Icon && (\r\n <div\r\n className={classMap.icon}\r\n data-testid={`${testId}-icon`}\r\n aria-hidden={iconDecorative ? true : undefined}\r\n >\r\n <Icon\r\n aria-hidden={iconDecorative ? true : undefined}\r\n aria-label={!iconDecorative ? iconAriaLabel : undefined}\r\n focusable={false}\r\n />\r\n </div>\r\n )}\r\n\r\n {title && (\r\n <h2\r\n id={titleId}\r\n className={classMap.title}\r\n data-testid={`${testId}-title`}\r\n >\r\n {title}\r\n </h2>\r\n )}\r\n\r\n {message && (\r\n <p\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </p>\r\n )}\r\n\r\n {actionLabel && onActionClick && (\r\n <Button\r\n theme=\"clear\"\r\n outline={outline}\r\n onClick={onActionClick}\r\n aria-label={resolvedActionAriaLabel}\r\n data-testid={`${testId}-action`}\r\n >\r\n {actionLabel}\r\n </Button>\r\n )}\r\n </section>\r\n );\r\n};\r\n\r\nBaseEmptyState.displayName = \"BaseEmptyState\";\r\nexport default BaseEmptyState;\r\n","import React from \"react\";\r\nimport BaseEmptyState from \"../EmptyStateBase\";\r\nimport { EmptyStateProps } from \"../EmptyState.types\";\r\nimport { Button } from \"../../../index.core\";\r\nimport \"./EmptyState.scss\";\r\n\r\nconst classes = {\r\n empty_state: \"empty_state\",\r\n title: \"empty_state_title\",\r\n message: \"empty_state_message\",\r\n icon: \"empty_state_icon\",\r\n\r\n outline: \"empty_state_outline\",\r\n disabled: \"empty_state_disabled\",\r\n\r\n primary: \"empty_state_primary\",\r\n secondary: \"empty_state_secondary\",\r\n tertiary: \"empty_state_tertiary\",\r\n quaternary: \"empty_state_quaternary\",\r\n\r\n success: \"empty_state_success\",\r\n error: \"empty_state_error\",\r\n warning: \"empty_state_warning\",\r\n\r\n clear: \"empty_state_clear\",\r\n\r\n small: \"empty_state_small\",\r\n medium: \"empty_state_medium\",\r\n large: \"empty_state_large\",\r\n xs: \"empty_state_xs\",\r\n xl: \"empty_state_xl\",\r\n\r\n shadowNone: \"empty_state_shadow-None\",\r\n shadowLight: \"empty_state_shadow-Light\",\r\n shadowMedium: \"empty_state_shadow-Medium\",\r\n shadowStrong: \"empty_state_shadow-Strong\",\r\n shadowIntense: \"empty_state_shadow-Intense\",\r\n\r\n roundNone: \"empty_state_round-None\",\r\n roundSmall: \"empty_state_round-Small\",\r\n roundMedium: \"empty_state_round-Medium\",\r\n roundLarge: \"empty_state_round-Large\",\r\n};\r\n\r\nconst EmptyState: React.FC<EmptyStateProps> = (props) => {\r\n return <BaseEmptyState {...props} Button={Button} classMap={classes} />;\r\n};\r\nEmptyState.displayName = \"EmptyState\";\r\nexport default EmptyState;\r\n"],"names":["getDefaultTheme","getDefaultSize","getDefaultRounding","getDefaultShadow","Button","useId","useMemo","combineClassNames","capitalize","jsxs","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"EmptyState-BSVIrZHm.cjs","sources":["../../src/components/EmptyState/EmptyStateBase.tsx","../../src/components/EmptyState/core/EmptyState.tsx"],"sourcesContent":["import React, { useMemo, useId } from \"react\";\r\nimport type { BaseEmptyStateProps } from \"./EmptyState.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\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 BaseEmptyState: React.FC<BaseEmptyStateProps> = ({\r\n icon: Icon,\r\n title = \"Nothing Here Yet\",\r\n message = \"There’s no content to display.\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n outline = false,\r\n actionLabel,\r\n onActionClick,\r\n className = \"\",\r\n id,\r\n role,\r\n iconDecorative = true,\r\n iconAriaLabel,\r\n actionAriaLabel,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"data-testid\": testId = \"empty-state\",\r\n Button,\r\n classMap,\r\n ...rest\r\n}) => {\r\n const uid = useId();\r\n\r\n const titleId =\r\n title && !ariaLabelledBy ? `${testId}-title-${uid}` : undefined;\r\n const messageId =\r\n message && !ariaDescribedBy ? `${testId}-message-${uid}` : undefined;\r\n\r\n const resolvedRole = role ?? (title ? \"region\" : undefined);\r\n\r\n const resolvedAriaLabelledBy =\r\n ariaLabelledBy ?? (!ariaLabel && titleId ? titleId : undefined);\r\n\r\n const resolvedAriaDescribedBy = ariaDescribedBy ?? messageId;\r\n\r\n const sectionClassNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.empty_state,\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 className,\r\n ),\r\n [classMap, rounding, shadow, size, state, theme, outline, className],\r\n );\r\n\r\n const resolvedActionAriaLabel =\r\n actionAriaLabel ??\r\n (typeof actionLabel === \"string\" ? undefined : \"Perform action\");\r\n\r\n return (\r\n <section\r\n id={id}\r\n className={sectionClassNames}\r\n role={resolvedRole}\r\n aria-label={ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={resolvedAriaDescribedBy}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n {Icon && (\r\n <div\r\n className={classMap.icon}\r\n data-testid={`${testId}-icon`}\r\n aria-hidden={iconDecorative ? true : undefined}\r\n >\r\n <Icon\r\n aria-hidden={iconDecorative ? true : undefined}\r\n aria-label={!iconDecorative ? iconAriaLabel : undefined}\r\n focusable={false}\r\n />\r\n </div>\r\n )}\r\n\r\n {title && (\r\n <h2\r\n id={titleId}\r\n className={classMap.title}\r\n data-testid={`${testId}-title`}\r\n >\r\n {title}\r\n </h2>\r\n )}\r\n\r\n {message && (\r\n <p\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </p>\r\n )}\r\n\r\n {actionLabel && onActionClick && (\r\n <Button\r\n theme=\"clear\"\r\n outline={outline}\r\n onClick={onActionClick}\r\n aria-label={resolvedActionAriaLabel}\r\n data-testid={`${testId}-action`}\r\n >\r\n {actionLabel}\r\n </Button>\r\n )}\r\n </section>\r\n );\r\n};\r\n\r\nBaseEmptyState.displayName = \"BaseEmptyState\";\r\nexport default BaseEmptyState;\r\n","import React from \"react\";\r\nimport BaseEmptyState from \"../EmptyStateBase\";\r\nimport { EmptyStateProps } from \"../EmptyState.types\";\r\nimport Button from \"../../Button/core/Button\";\r\nimport \"./EmptyState.scss\";\r\n\r\nconst classes = {\r\n empty_state: \"empty_state\",\r\n title: \"empty_state_title\",\r\n message: \"empty_state_message\",\r\n icon: \"empty_state_icon\",\r\n\r\n outline: \"empty_state_outline\",\r\n disabled: \"empty_state_disabled\",\r\n\r\n primary: \"empty_state_primary\",\r\n secondary: \"empty_state_secondary\",\r\n tertiary: \"empty_state_tertiary\",\r\n quaternary: \"empty_state_quaternary\",\r\n\r\n success: \"empty_state_success\",\r\n error: \"empty_state_error\",\r\n warning: \"empty_state_warning\",\r\n\r\n clear: \"empty_state_clear\",\r\n\r\n small: \"empty_state_small\",\r\n medium: \"empty_state_medium\",\r\n large: \"empty_state_large\",\r\n xs: \"empty_state_xs\",\r\n xl: \"empty_state_xl\",\r\n\r\n shadowNone: \"empty_state_shadow-None\",\r\n shadowLight: \"empty_state_shadow-Light\",\r\n shadowMedium: \"empty_state_shadow-Medium\",\r\n shadowStrong: \"empty_state_shadow-Strong\",\r\n shadowIntense: \"empty_state_shadow-Intense\",\r\n\r\n roundNone: \"empty_state_round-None\",\r\n roundSmall: \"empty_state_round-Small\",\r\n roundMedium: \"empty_state_round-Medium\",\r\n roundLarge: \"empty_state_round-Large\",\r\n};\r\n\r\nconst EmptyState: React.FC<EmptyStateProps> = (props) => {\r\n return <BaseEmptyState {...props} Button={Button} classMap={classes} />;\r\n};\r\nEmptyState.displayName = \"EmptyState\";\r\nexport default EmptyState;\r\n"],"names":["getDefaultTheme","getDefaultSize","getDefaultRounding","getDefaultShadow","Button","useId","useMemo","combineClassNames","capitalize","jsxs","jsx"],"mappings":"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"}
@@ -3,7 +3,6 @@ import { useId, 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, c as getDefaultSize, a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-DsaRlxmw.js";
6
- /* empty css */
7
6
  import { B as Button } from "./Button-CneoIlVV.js";
8
7
  const BaseEmptyState = ({
9
8
  icon: Icon,
@@ -150,4 +149,4 @@ EmptyState.displayName = "EmptyState";
150
149
  export {
151
150
  EmptyState as E
152
151
  };
153
- //# sourceMappingURL=EmptyState-CM7nlKER.js.map
152
+ //# sourceMappingURL=EmptyState-ClFhpjyo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState-CM7nlKER.js","sources":["../../src/components/EmptyState/EmptyStateBase.tsx","../../src/components/EmptyState/core/EmptyState.tsx"],"sourcesContent":["import React, { useMemo, useId } from \"react\";\r\nimport type { BaseEmptyStateProps } from \"./EmptyState.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\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 BaseEmptyState: React.FC<BaseEmptyStateProps> = ({\r\n icon: Icon,\r\n title = \"Nothing Here Yet\",\r\n message = \"There’s no content to display.\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n outline = false,\r\n actionLabel,\r\n onActionClick,\r\n className = \"\",\r\n id,\r\n role,\r\n iconDecorative = true,\r\n iconAriaLabel,\r\n actionAriaLabel,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"data-testid\": testId = \"empty-state\",\r\n Button,\r\n classMap,\r\n ...rest\r\n}) => {\r\n const uid = useId();\r\n\r\n const titleId =\r\n title && !ariaLabelledBy ? `${testId}-title-${uid}` : undefined;\r\n const messageId =\r\n message && !ariaDescribedBy ? `${testId}-message-${uid}` : undefined;\r\n\r\n const resolvedRole = role ?? (title ? \"region\" : undefined);\r\n\r\n const resolvedAriaLabelledBy =\r\n ariaLabelledBy ?? (!ariaLabel && titleId ? titleId : undefined);\r\n\r\n const resolvedAriaDescribedBy = ariaDescribedBy ?? messageId;\r\n\r\n const sectionClassNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.empty_state,\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 className,\r\n ),\r\n [classMap, rounding, shadow, size, state, theme, outline, className],\r\n );\r\n\r\n const resolvedActionAriaLabel =\r\n actionAriaLabel ??\r\n (typeof actionLabel === \"string\" ? undefined : \"Perform action\");\r\n\r\n return (\r\n <section\r\n id={id}\r\n className={sectionClassNames}\r\n role={resolvedRole}\r\n aria-label={ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={resolvedAriaDescribedBy}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n {Icon && (\r\n <div\r\n className={classMap.icon}\r\n data-testid={`${testId}-icon`}\r\n aria-hidden={iconDecorative ? true : undefined}\r\n >\r\n <Icon\r\n aria-hidden={iconDecorative ? true : undefined}\r\n aria-label={!iconDecorative ? iconAriaLabel : undefined}\r\n focusable={false}\r\n />\r\n </div>\r\n )}\r\n\r\n {title && (\r\n <h2\r\n id={titleId}\r\n className={classMap.title}\r\n data-testid={`${testId}-title`}\r\n >\r\n {title}\r\n </h2>\r\n )}\r\n\r\n {message && (\r\n <p\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </p>\r\n )}\r\n\r\n {actionLabel && onActionClick && (\r\n <Button\r\n theme=\"clear\"\r\n outline={outline}\r\n onClick={onActionClick}\r\n aria-label={resolvedActionAriaLabel}\r\n data-testid={`${testId}-action`}\r\n >\r\n {actionLabel}\r\n </Button>\r\n )}\r\n </section>\r\n );\r\n};\r\n\r\nBaseEmptyState.displayName = \"BaseEmptyState\";\r\nexport default BaseEmptyState;\r\n","import React from \"react\";\r\nimport BaseEmptyState from \"../EmptyStateBase\";\r\nimport { EmptyStateProps } from \"../EmptyState.types\";\r\nimport { Button } from \"../../../index.core\";\r\nimport \"./EmptyState.scss\";\r\n\r\nconst classes = {\r\n empty_state: \"empty_state\",\r\n title: \"empty_state_title\",\r\n message: \"empty_state_message\",\r\n icon: \"empty_state_icon\",\r\n\r\n outline: \"empty_state_outline\",\r\n disabled: \"empty_state_disabled\",\r\n\r\n primary: \"empty_state_primary\",\r\n secondary: \"empty_state_secondary\",\r\n tertiary: \"empty_state_tertiary\",\r\n quaternary: \"empty_state_quaternary\",\r\n\r\n success: \"empty_state_success\",\r\n error: \"empty_state_error\",\r\n warning: \"empty_state_warning\",\r\n\r\n clear: \"empty_state_clear\",\r\n\r\n small: \"empty_state_small\",\r\n medium: \"empty_state_medium\",\r\n large: \"empty_state_large\",\r\n xs: \"empty_state_xs\",\r\n xl: \"empty_state_xl\",\r\n\r\n shadowNone: \"empty_state_shadow-None\",\r\n shadowLight: \"empty_state_shadow-Light\",\r\n shadowMedium: \"empty_state_shadow-Medium\",\r\n shadowStrong: \"empty_state_shadow-Strong\",\r\n shadowIntense: \"empty_state_shadow-Intense\",\r\n\r\n roundNone: \"empty_state_round-None\",\r\n roundSmall: \"empty_state_round-Small\",\r\n roundMedium: \"empty_state_round-Medium\",\r\n roundLarge: \"empty_state_round-Large\",\r\n};\r\n\r\nconst EmptyState: React.FC<EmptyStateProps> = (props) => {\r\n return <BaseEmptyState {...props} Button={Button} classMap={classes} />;\r\n};\r\nEmptyState.displayName = \"EmptyState\";\r\nexport default EmptyState;\r\n"],"names":["Button"],"mappings":";;;;;;;AAWA,MAAM,iBAAgD,CAAC;AAAA,EACrD,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,QAAQ,gBAAA;AAAA,EACR,QAAQ;AAAA,EACR,OAAO,eAAA;AAAA,EACP,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,eAAe,SAAS;AAAA,EACxB,QAAAA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,MAAM,MAAA;AAEZ,QAAM,UACJ,SAAS,CAAC,iBAAiB,GAAG,MAAM,UAAU,GAAG,KAAK;AACxD,QAAM,YACJ,WAAW,CAAC,kBAAkB,GAAG,MAAM,YAAY,GAAG,KAAK;AAE7D,QAAM,eAAe,SAAS,QAAQ,WAAW;AAEjD,QAAM,yBACJ,mBAAmB,CAAC,aAAa,UAAU,UAAU;AAEvD,QAAM,0BAA0B,mBAAmB;AAEnD,QAAM,oBAAoB;AAAA,IACxB,MACE;AAAA,MACE,SAAS;AAAA,MACT,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,SAAS,IAAI;AAAA,MACb,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,MACnD,WAAW,SAAS;AAAA,MACpB;AAAA,IAAA;AAAA,IAEJ,CAAC,UAAU,UAAU,QAAQ,MAAM,OAAO,OAAO,SAAS,SAAS;AAAA,EAAA;AAGrE,QAAM,0BACJ,oBACC,OAAO,gBAAgB,WAAW,SAAY;AAEjD,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,MACX,MAAM;AAAA,MACN,cAAY;AAAA,MACZ,mBAAiB;AAAA,MACjB,oBAAkB;AAAA,MAClB,eAAa;AAAA,MACZ,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,QACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,SAAS;AAAA,YACpB,eAAa,GAAG,MAAM;AAAA,YACtB,eAAa,iBAAiB,OAAO;AAAA,YAErC,UAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,eAAa,iBAAiB,OAAO;AAAA,gBACrC,cAAY,CAAC,iBAAiB,gBAAgB;AAAA,gBAC9C,WAAW;AAAA,cAAA;AAAA,YAAA;AAAA,UACb;AAAA,QAAA;AAAA,QAIH,SACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,WAAW,SAAS;AAAA,YACpB,eAAa,GAAG,MAAM;AAAA,YAErB,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAIJ,WACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,WAAW,SAAS;AAAA,YACpB,eAAa,GAAG,MAAM;AAAA,YAErB,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAIJ,eAAe,iBACd;AAAA,UAACA;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN;AAAA,YACA,SAAS;AAAA,YACT,cAAY;AAAA,YACZ,eAAa,GAAG,MAAM;AAAA,YAErB,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAIR;AAEA,eAAe,cAAc;AC5H7B,MAAM,UAAU;AAAA,EACd,aAAa;AAAA,EACb,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AAAA,EAEN,SAAS;AAAA,EACT,UAAU;AAAA,EAEV,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EAEZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EAET,OAAO;AAAA,EAEP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,IAAI;AAAA,EACJ,IAAI;AAAA,EAEJ,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AACd;AAEA,MAAM,aAAwC,CAAC,UAAU;AACvD,6BAAQ,gBAAA,EAAgB,GAAG,OAAO,QAAgB,UAAU,SAAS;AACvE;AACA,WAAW,cAAc;"}
1
+ {"version":3,"file":"EmptyState-ClFhpjyo.js","sources":["../../src/components/EmptyState/EmptyStateBase.tsx","../../src/components/EmptyState/core/EmptyState.tsx"],"sourcesContent":["import React, { useMemo, useId } from \"react\";\r\nimport type { BaseEmptyStateProps } from \"./EmptyState.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\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 BaseEmptyState: React.FC<BaseEmptyStateProps> = ({\r\n icon: Icon,\r\n title = \"Nothing Here Yet\",\r\n message = \"There’s no content to display.\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n outline = false,\r\n actionLabel,\r\n onActionClick,\r\n className = \"\",\r\n id,\r\n role,\r\n iconDecorative = true,\r\n iconAriaLabel,\r\n actionAriaLabel,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"data-testid\": testId = \"empty-state\",\r\n Button,\r\n classMap,\r\n ...rest\r\n}) => {\r\n const uid = useId();\r\n\r\n const titleId =\r\n title && !ariaLabelledBy ? `${testId}-title-${uid}` : undefined;\r\n const messageId =\r\n message && !ariaDescribedBy ? `${testId}-message-${uid}` : undefined;\r\n\r\n const resolvedRole = role ?? (title ? \"region\" : undefined);\r\n\r\n const resolvedAriaLabelledBy =\r\n ariaLabelledBy ?? (!ariaLabel && titleId ? titleId : undefined);\r\n\r\n const resolvedAriaDescribedBy = ariaDescribedBy ?? messageId;\r\n\r\n const sectionClassNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.empty_state,\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 className,\r\n ),\r\n [classMap, rounding, shadow, size, state, theme, outline, className],\r\n );\r\n\r\n const resolvedActionAriaLabel =\r\n actionAriaLabel ??\r\n (typeof actionLabel === \"string\" ? undefined : \"Perform action\");\r\n\r\n return (\r\n <section\r\n id={id}\r\n className={sectionClassNames}\r\n role={resolvedRole}\r\n aria-label={ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={resolvedAriaDescribedBy}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n {Icon && (\r\n <div\r\n className={classMap.icon}\r\n data-testid={`${testId}-icon`}\r\n aria-hidden={iconDecorative ? true : undefined}\r\n >\r\n <Icon\r\n aria-hidden={iconDecorative ? true : undefined}\r\n aria-label={!iconDecorative ? iconAriaLabel : undefined}\r\n focusable={false}\r\n />\r\n </div>\r\n )}\r\n\r\n {title && (\r\n <h2\r\n id={titleId}\r\n className={classMap.title}\r\n data-testid={`${testId}-title`}\r\n >\r\n {title}\r\n </h2>\r\n )}\r\n\r\n {message && (\r\n <p\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </p>\r\n )}\r\n\r\n {actionLabel && onActionClick && (\r\n <Button\r\n theme=\"clear\"\r\n outline={outline}\r\n onClick={onActionClick}\r\n aria-label={resolvedActionAriaLabel}\r\n data-testid={`${testId}-action`}\r\n >\r\n {actionLabel}\r\n </Button>\r\n )}\r\n </section>\r\n );\r\n};\r\n\r\nBaseEmptyState.displayName = \"BaseEmptyState\";\r\nexport default BaseEmptyState;\r\n","import React from \"react\";\r\nimport BaseEmptyState from \"../EmptyStateBase\";\r\nimport { EmptyStateProps } from \"../EmptyState.types\";\r\nimport Button from \"../../Button/core/Button\";\r\nimport \"./EmptyState.scss\";\r\n\r\nconst classes = {\r\n empty_state: \"empty_state\",\r\n title: \"empty_state_title\",\r\n message: \"empty_state_message\",\r\n icon: \"empty_state_icon\",\r\n\r\n outline: \"empty_state_outline\",\r\n disabled: \"empty_state_disabled\",\r\n\r\n primary: \"empty_state_primary\",\r\n secondary: \"empty_state_secondary\",\r\n tertiary: \"empty_state_tertiary\",\r\n quaternary: \"empty_state_quaternary\",\r\n\r\n success: \"empty_state_success\",\r\n error: \"empty_state_error\",\r\n warning: \"empty_state_warning\",\r\n\r\n clear: \"empty_state_clear\",\r\n\r\n small: \"empty_state_small\",\r\n medium: \"empty_state_medium\",\r\n large: \"empty_state_large\",\r\n xs: \"empty_state_xs\",\r\n xl: \"empty_state_xl\",\r\n\r\n shadowNone: \"empty_state_shadow-None\",\r\n shadowLight: \"empty_state_shadow-Light\",\r\n shadowMedium: \"empty_state_shadow-Medium\",\r\n shadowStrong: \"empty_state_shadow-Strong\",\r\n shadowIntense: \"empty_state_shadow-Intense\",\r\n\r\n roundNone: \"empty_state_round-None\",\r\n roundSmall: \"empty_state_round-Small\",\r\n roundMedium: \"empty_state_round-Medium\",\r\n roundLarge: \"empty_state_round-Large\",\r\n};\r\n\r\nconst EmptyState: React.FC<EmptyStateProps> = (props) => {\r\n return <BaseEmptyState {...props} Button={Button} classMap={classes} />;\r\n};\r\nEmptyState.displayName = \"EmptyState\";\r\nexport default EmptyState;\r\n"],"names":["Button"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const EmptyState = require("./EmptyState-Du2xqi6G.cjs");
2
+ const EmptyState = require("./EmptyState-BSVIrZHm.cjs");
3
3
  module.exports = EmptyState.EmptyState;
4
4
  //# sourceMappingURL=EmptyState.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { E } from "./EmptyState-CM7nlKER.js";
1
+ import { E } from "./EmptyState-ClFhpjyo.js";
2
2
  export {
3
3
  E as default
4
4
  };