@televet/kibble-ui 4.0.0-beta.21 → 4.0.0-beta.25

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 (439) hide show
  1. package/README.md +13 -35
  2. package/dist/chunks/IconLogo-BurrDDT6.js +62 -0
  3. package/dist/chunks/IconLogo-BurrDDT6.js.map +1 -0
  4. package/dist/chunks/IconLogo-Dd5mp5A_.js +2 -0
  5. package/dist/chunks/IconLogo-Dd5mp5A_.js.map +1 -0
  6. package/dist/chunks/alert.component-BSUteYep.js +2 -0
  7. package/dist/chunks/alert.component-BSUteYep.js.map +1 -0
  8. package/dist/chunks/alert.component-CJmYmkOs.js +182 -0
  9. package/dist/chunks/alert.component-CJmYmkOs.js.map +1 -0
  10. package/dist/chunks/alert.types-JdzSuSVO.js +5 -0
  11. package/dist/chunks/alert.types-JdzSuSVO.js.map +1 -0
  12. package/dist/chunks/alert.types-R_9yno9e.js +2 -0
  13. package/dist/chunks/alert.types-R_9yno9e.js.map +1 -0
  14. package/dist/chunks/{avatar.component-DLqm7tQt.js → avatar.component-Bq-iwROm.js} +16 -16
  15. package/dist/chunks/avatar.component-Bq-iwROm.js.map +1 -0
  16. package/dist/chunks/{avatar.component-B14bRpeL.js → avatar.component-DVcDtvDR.js} +2 -2
  17. package/dist/chunks/avatar.component-DVcDtvDR.js.map +1 -0
  18. package/dist/chunks/{avatarGroup.component-4kVezqP-.js → avatarGroup.component-CXilO0oZ.js} +2 -2
  19. package/dist/chunks/{avatarGroup.component-4kVezqP-.js.map → avatarGroup.component-CXilO0oZ.js.map} +1 -1
  20. package/dist/chunks/{avatarGroup.component-DIDIECGK.js → avatarGroup.component-DCfOKiyR.js} +16 -16
  21. package/dist/chunks/{avatarGroup.component-DIDIECGK.js.map → avatarGroup.component-DCfOKiyR.js.map} +1 -1
  22. package/dist/chunks/{button.component-CA9bIFbq.js → button.component-BZEZZa7D.js} +7 -7
  23. package/dist/chunks/{button.component-CA9bIFbq.js.map → button.component-BZEZZa7D.js.map} +1 -1
  24. package/dist/chunks/{button.component-DDjwI0xh.js → button.component-DnWrqGc4.js} +2 -2
  25. package/dist/chunks/{button.component-DDjwI0xh.js.map → button.component-DnWrqGc4.js.map} +1 -1
  26. package/dist/chunks/{buttonGroup.component-DKnPmFIM.js → buttonGroup.component-DQswSQ0l.js} +2 -2
  27. package/dist/chunks/{buttonGroup.component-DKnPmFIM.js.map → buttonGroup.component-DQswSQ0l.js.map} +1 -1
  28. package/dist/chunks/{buttonGroup.component-BLRJnRJW.js → buttonGroup.component-toHK3QbU.js} +12 -12
  29. package/dist/chunks/{buttonGroup.component-BLRJnRJW.js.map → buttonGroup.component-toHK3QbU.js.map} +1 -1
  30. package/dist/chunks/card.component-1JqO34tC.js +2 -0
  31. package/dist/chunks/card.component-1JqO34tC.js.map +1 -0
  32. package/dist/chunks/card.component-CI7pt6L8.js +59 -0
  33. package/dist/chunks/card.component-CI7pt6L8.js.map +1 -0
  34. package/dist/chunks/card.types-Cixp7ouC.js +5 -0
  35. package/dist/chunks/card.types-Cixp7ouC.js.map +1 -0
  36. package/dist/chunks/card.types-MvkQTTZF.js +2 -0
  37. package/dist/chunks/card.types-MvkQTTZF.js.map +1 -0
  38. package/dist/chunks/chakra-BHjfByoV.js +5 -0
  39. package/dist/chunks/chakra-BHjfByoV.js.map +1 -0
  40. package/dist/chunks/{chakra-BqBkjpvZ.js → chakra-DEgvQPwa.js} +4066 -2306
  41. package/dist/chunks/chakra-DEgvQPwa.js.map +1 -0
  42. package/dist/chunks/{characterCounter.component-BXxyn_IB.js → characterCounter.component-0-1clNqF.js} +2 -2
  43. package/dist/chunks/{characterCounter.component-BXxyn_IB.js.map → characterCounter.component-0-1clNqF.js.map} +1 -1
  44. package/dist/chunks/{characterCounter.component-DhiMcztY.js → characterCounter.component-BhtK0SKA.js} +9 -9
  45. package/dist/chunks/{characterCounter.component-DhiMcztY.js.map → characterCounter.component-BhtK0SKA.js.map} +1 -1
  46. package/dist/chunks/{checkbox.component-BnNl7j1h.js → checkbox.component-Kn48K9JS.js} +2 -2
  47. package/dist/chunks/{checkbox.component-BnNl7j1h.js.map → checkbox.component-Kn48K9JS.js.map} +1 -1
  48. package/dist/chunks/{checkbox.component-BN9GeeiB.js → checkbox.component-X_SD-4T8.js} +22 -22
  49. package/dist/chunks/{checkbox.component-BN9GeeiB.js.map → checkbox.component-X_SD-4T8.js.map} +1 -1
  50. package/dist/chunks/{checkboxGroup.component-DNwf69Ss.js → checkboxGroup.component-COD9t2JC.js} +16 -16
  51. package/dist/chunks/{checkboxGroup.component-DNwf69Ss.js.map → checkboxGroup.component-COD9t2JC.js.map} +1 -1
  52. package/dist/chunks/{checkboxGroup.component-CMSLo_U5.js → checkboxGroup.component-CYr1-Aci.js} +2 -2
  53. package/dist/chunks/{checkboxGroup.component-CMSLo_U5.js.map → checkboxGroup.component-CYr1-Aci.js.map} +1 -1
  54. package/dist/chunks/{conversationCard.component-CAKvEh_2.js → conversationCard.component-DjbHIWpM.js} +20 -20
  55. package/dist/chunks/conversationCard.component-DjbHIWpM.js.map +1 -0
  56. package/dist/chunks/{conversationCard.component-D56k22in.js → conversationCard.component-eWR68X0w.js} +2 -2
  57. package/dist/chunks/conversationCard.component-eWR68X0w.js.map +1 -0
  58. package/dist/chunks/{date-1NFv48Qu.js → date-CQ_hzmOK.js} +144 -144
  59. package/dist/chunks/date-CQ_hzmOK.js.map +1 -0
  60. package/dist/chunks/date-Dn1AgqaP.js +15 -0
  61. package/dist/chunks/date-Dn1AgqaP.js.map +1 -0
  62. package/dist/chunks/{datePicker.component-ZmMJoE3c.js → datePicker.component-C7TjBUEe.js} +2 -2
  63. package/dist/chunks/{datePicker.component-ZmMJoE3c.js.map → datePicker.component-C7TjBUEe.js.map} +1 -1
  64. package/dist/chunks/{datePicker.component-D1WtrZJd.js → datePicker.component-CLJT4YOv.js} +71 -71
  65. package/dist/chunks/{datePicker.component-D1WtrZJd.js.map → datePicker.component-CLJT4YOv.js.map} +1 -1
  66. package/dist/chunks/{dnd-DDR6viHX.js → dnd-B2xPQNV1.js} +2 -2
  67. package/dist/chunks/{dnd-DDR6viHX.js.map → dnd-B2xPQNV1.js.map} +1 -1
  68. package/dist/chunks/{dnd-4IMP_kRN.js → dnd-Whsk3gIz.js} +2 -2
  69. package/dist/chunks/{dnd-4IMP_kRN.js.map → dnd-Whsk3gIz.js.map} +1 -1
  70. package/dist/chunks/heading.component-BrXfTzEU.js +10 -0
  71. package/dist/chunks/{heading.component-B8niLTxz.js.map → heading.component-BrXfTzEU.js.map} +1 -1
  72. package/dist/chunks/{heading.component-CExbjSBi.js → heading.component-C92ZA4Md.js} +2 -2
  73. package/dist/chunks/{heading.component-CExbjSBi.js.map → heading.component-C92ZA4Md.js.map} +1 -1
  74. package/dist/chunks/{icon.component-w5bWbfVU.js → icon.component-DOan8Ddb.js} +6 -6
  75. package/dist/chunks/{icon.component-w5bWbfVU.js.map → icon.component-DOan8Ddb.js.map} +1 -1
  76. package/dist/chunks/{icon.component-CzjzLiO_.js → icon.component-Drw3LiG5.js} +2 -2
  77. package/dist/chunks/{icon.component-CzjzLiO_.js.map → icon.component-Drw3LiG5.js.map} +1 -1
  78. package/dist/chunks/{index-CloRZB5L.js → index-T4HRvnPT.js} +3 -3
  79. package/dist/chunks/{index-CloRZB5L.js.map → index-T4HRvnPT.js.map} +1 -1
  80. package/dist/chunks/{index-BlB7iuVg.js → index-tw4s2PIA.js} +2 -2
  81. package/dist/chunks/{index-BlB7iuVg.js.map → index-tw4s2PIA.js.map} +1 -1
  82. package/dist/chunks/{link.component-Cmdnhc-F.js → link.component-BV-T_tzT.js} +2 -2
  83. package/dist/chunks/{link.component-Cmdnhc-F.js.map → link.component-BV-T_tzT.js.map} +1 -1
  84. package/dist/chunks/{link.component-DGC1Xu5B.js → link.component-DbXsouSQ.js} +15 -15
  85. package/dist/chunks/{link.component-DGC1Xu5B.js.map → link.component-DbXsouSQ.js.map} +1 -1
  86. package/dist/chunks/logo.types-BRPr2KIZ.js +74 -0
  87. package/dist/chunks/logo.types-BRPr2KIZ.js.map +1 -0
  88. package/dist/chunks/logo.types-DPrISgm0.js +2 -0
  89. package/dist/chunks/logo.types-DPrISgm0.js.map +1 -0
  90. package/dist/chunks/{menu.component-BCRZgrRr.js → menu.component-BsNXuoLB.js} +2 -2
  91. package/dist/chunks/{menu.component-BCRZgrRr.js.map → menu.component-BsNXuoLB.js.map} +1 -1
  92. package/dist/chunks/{menu.component-Bscyjw7R.js → menu.component-xKsPT0Zc.js} +44 -44
  93. package/dist/chunks/{menu.component-Bscyjw7R.js.map → menu.component-xKsPT0Zc.js.map} +1 -1
  94. package/dist/chunks/{modal.types-CELCFObr.js → modal.types-Bhcd1P_H.js} +2 -2
  95. package/dist/chunks/{modal.types-CELCFObr.js.map → modal.types-Bhcd1P_H.js.map} +1 -1
  96. package/dist/chunks/{modal.types-BfXHtZ4i.js → modal.types-C7OrqSGs.js} +16 -16
  97. package/dist/chunks/{modal.types-BfXHtZ4i.js.map → modal.types-C7OrqSGs.js.map} +1 -1
  98. package/dist/chunks/{notificationCounter.component-BH6anjzq.js → notificationCounter.component-CIzFZpAS.js} +2 -2
  99. package/dist/chunks/{notificationCounter.component-BH6anjzq.js.map → notificationCounter.component-CIzFZpAS.js.map} +1 -1
  100. package/dist/chunks/{notificationCounter.component-CSuqzMTF.js → notificationCounter.component-COTswull.js} +3 -3
  101. package/dist/chunks/{notificationCounter.component-CSuqzMTF.js.map → notificationCounter.component-COTswull.js.map} +1 -1
  102. package/dist/chunks/pinInput.types-10zyeINr.js +64 -0
  103. package/dist/chunks/pinInput.types-10zyeINr.js.map +1 -0
  104. package/dist/chunks/pinInput.types-BFZZszU7.js +2 -0
  105. package/dist/chunks/pinInput.types-BFZZszU7.js.map +1 -0
  106. package/dist/chunks/{popover.component-CzKeBedr.js → popover.component-BnvmpVHq.js} +2 -2
  107. package/dist/chunks/{popover.component-CzKeBedr.js.map → popover.component-BnvmpVHq.js.map} +1 -1
  108. package/dist/chunks/{popover.component-CW5KsTYh.js → popover.component-GcAhSDeI.js} +19 -19
  109. package/dist/chunks/{popover.component-CW5KsTYh.js.map → popover.component-GcAhSDeI.js.map} +1 -1
  110. package/dist/chunks/{popover.recipe-Pfz3evii.js → popover.recipe-DDPfFy3l.js} +2 -2
  111. package/dist/chunks/{popover.recipe-Pfz3evii.js.map → popover.recipe-DDPfFy3l.js.map} +1 -1
  112. package/dist/chunks/{popover.recipe-DnCuZJd3.js → popover.recipe-E6-zKuvF.js} +2 -2
  113. package/dist/chunks/{popover.recipe-DnCuZJd3.js.map → popover.recipe-E6-zKuvF.js.map} +1 -1
  114. package/dist/chunks/{radioGroup.component-DP9JgY1J.js → radioGroup.component-BtxjtKro.js} +2 -2
  115. package/dist/chunks/{radioGroup.component-DP9JgY1J.js.map → radioGroup.component-BtxjtKro.js.map} +1 -1
  116. package/dist/chunks/{radioGroup.component-kn8czn3N.js → radioGroup.component-ByokG1ms.js} +18 -18
  117. package/dist/chunks/{radioGroup.component-kn8czn3N.js.map → radioGroup.component-ByokG1ms.js.map} +1 -1
  118. package/dist/chunks/{ratingDots.component-D0FX80wA.js → ratingDots.component-Bhh27z7J.js} +5 -5
  119. package/dist/chunks/{ratingDots.component-D0FX80wA.js.map → ratingDots.component-Bhh27z7J.js.map} +1 -1
  120. package/dist/chunks/{ratingDots.component-D5-xY2db.js → ratingDots.component-CBlKmrKG.js} +2 -2
  121. package/dist/chunks/{ratingDots.component-D5-xY2db.js.map → ratingDots.component-CBlKmrKG.js.map} +1 -1
  122. package/dist/chunks/{select.component-CQQ4z--7.js → select.component-CKo_vUjT.js} +2 -2
  123. package/dist/chunks/{select.component-CQQ4z--7.js.map → select.component-CKo_vUjT.js.map} +1 -1
  124. package/dist/chunks/{select.component-CqvAx7vP.js → select.component-vzYNxpKs.js} +41 -41
  125. package/dist/chunks/{select.component-CqvAx7vP.js.map → select.component-vzYNxpKs.js.map} +1 -1
  126. package/dist/chunks/{sortableList.component-DcjKdsDK.js → sortableList.component-C_kBtF5S.js} +2 -2
  127. package/dist/chunks/{sortableList.component-DcjKdsDK.js.map → sortableList.component-C_kBtF5S.js.map} +1 -1
  128. package/dist/chunks/{sortableList.component-_DXfCTac.js → sortableList.component-Cf0JaJ_t.js} +18 -18
  129. package/dist/chunks/{sortableList.component-_DXfCTac.js.map → sortableList.component-Cf0JaJ_t.js.map} +1 -1
  130. package/dist/chunks/{spinner.component-CUuidnSK.js → spinner.component-BSDKzlvm.js} +2 -2
  131. package/dist/chunks/{spinner.component-CUuidnSK.js.map → spinner.component-BSDKzlvm.js.map} +1 -1
  132. package/dist/chunks/{spinner.component-D5tkelNc.js → spinner.component-D3If6khz.js} +6 -6
  133. package/dist/chunks/{spinner.component-D5tkelNc.js.map → spinner.component-D3If6khz.js.map} +1 -1
  134. package/dist/chunks/{styledAvatar.types-ByQoyukM.js → styledAvatar.types-CpzTd2Jl.js} +3 -3
  135. package/dist/chunks/styledAvatar.types-CpzTd2Jl.js.map +1 -0
  136. package/dist/chunks/{styledAvatar.types-CpU5SOAS.js → styledAvatar.types-D8JOpljn.js} +2 -2
  137. package/dist/chunks/styledAvatar.types-D8JOpljn.js.map +1 -0
  138. package/dist/chunks/{switch.component-diomUHZW.js → switch.component-BkC3TpSW.js} +2 -2
  139. package/dist/chunks/{switch.component-diomUHZW.js.map → switch.component-BkC3TpSW.js.map} +1 -1
  140. package/dist/chunks/{switch.component-C9WMHurt.js → switch.component-D8hb9FSO.js} +6 -6
  141. package/dist/chunks/{switch.component-C9WMHurt.js.map → switch.component-D8hb9FSO.js.map} +1 -1
  142. package/dist/chunks/{tabs.component-Bp1Lu8Xb.js → tabs.component-BjyZZY1w.js} +6 -6
  143. package/dist/chunks/{tabs.component-Bp1Lu8Xb.js.map → tabs.component-BjyZZY1w.js.map} +1 -1
  144. package/dist/chunks/{tabs.component-D6QT597P.js → tabs.component-DF92o83d.js} +2 -2
  145. package/dist/chunks/{tabs.component-D6QT597P.js.map → tabs.component-DF92o83d.js.map} +1 -1
  146. package/dist/chunks/{tag.component-BjOfy3Bw.js → tag.component-CHwt3mTK.js} +2 -2
  147. package/dist/chunks/{tag.component-BjOfy3Bw.js.map → tag.component-CHwt3mTK.js.map} +1 -1
  148. package/dist/chunks/{tag.component-A__B03TA.js → tag.component-DRL_uBU8.js} +3 -3
  149. package/dist/chunks/{tag.component-A__B03TA.js.map → tag.component-DRL_uBU8.js.map} +1 -1
  150. package/dist/chunks/{tagBlock.component-BKnmbWil.js → tagBlock.component-S9-bfH87.js} +2 -2
  151. package/dist/chunks/tagBlock.component-S9-bfH87.js.map +1 -0
  152. package/dist/chunks/{tagBlock.component-B99Qzj2K.js → tagBlock.component-nox0ltrv.js} +9 -9
  153. package/dist/chunks/tagBlock.component-nox0ltrv.js.map +1 -0
  154. package/dist/chunks/text.component-B1g7jaUt.js +10 -0
  155. package/dist/chunks/{text.component-XYjOAc2s.js.map → text.component-B1g7jaUt.js.map} +1 -1
  156. package/dist/chunks/{text.component-CBa_saMP.js → text.component-MDGpqA76.js} +2 -2
  157. package/dist/chunks/{text.component-CBa_saMP.js.map → text.component-MDGpqA76.js.map} +1 -1
  158. package/dist/chunks/{textInput.component-K4f7h4pP.js → textInput.component-CeMv8ruX.js} +13 -13
  159. package/dist/chunks/{textInput.component-K4f7h4pP.js.map → textInput.component-CeMv8ruX.js.map} +1 -1
  160. package/dist/chunks/{textInput.component-BalBo9uP.js → textInput.component-DIc2KQit.js} +2 -2
  161. package/dist/chunks/{textInput.component-BalBo9uP.js.map → textInput.component-DIc2KQit.js.map} +1 -1
  162. package/dist/chunks/{textarea.component-Cmbax8lT.js → textarea.component-BxiOP655.js} +12 -12
  163. package/dist/chunks/{textarea.component-Cmbax8lT.js.map → textarea.component-BxiOP655.js.map} +1 -1
  164. package/dist/chunks/{textarea.component-8tjcO0T7.js → textarea.component-CvCJMMjE.js} +2 -2
  165. package/dist/chunks/{textarea.component-8tjcO0T7.js.map → textarea.component-CvCJMMjE.js.map} +1 -1
  166. package/dist/chunks/theme.provider-CDBx4ruC.js +24 -0
  167. package/dist/chunks/theme.provider-CDBx4ruC.js.map +1 -0
  168. package/dist/chunks/theme.provider-tNFKZLVb.js +2681 -0
  169. package/dist/chunks/theme.provider-tNFKZLVb.js.map +1 -0
  170. package/dist/chunks/{timePicker.component-BwYdnFmw.js → timePicker.component-C3BvCG9H.js} +2 -2
  171. package/dist/chunks/{timePicker.component-BwYdnFmw.js.map → timePicker.component-C3BvCG9H.js.map} +1 -1
  172. package/dist/chunks/{timePicker.component-DGKUi5P9.js → timePicker.component-R19FX4-n.js} +23 -23
  173. package/dist/chunks/{timePicker.component-DGKUi5P9.js.map → timePicker.component-R19FX4-n.js.map} +1 -1
  174. package/dist/chunks/{timeRange.component-BhDFpXK-.js → timeRange.component-BXHsAP2P.js} +2 -2
  175. package/dist/chunks/{timeRange.component-BhDFpXK-.js.map → timeRange.component-BXHsAP2P.js.map} +1 -1
  176. package/dist/chunks/timeRange.component-D5-0fc2e.js +17 -0
  177. package/dist/chunks/{timeRange.component-uYrO4YEs.js.map → timeRange.component-D5-0fc2e.js.map} +1 -1
  178. package/dist/chunks/{timestamp.component-D764INLm.js → timestamp.component-7z9zT8EN.js} +5 -5
  179. package/dist/chunks/timestamp.component-7z9zT8EN.js.map +1 -0
  180. package/dist/chunks/{timestamp.component-CuqY4euh.js → timestamp.component-X_D71fgZ.js} +2 -2
  181. package/dist/chunks/timestamp.component-X_D71fgZ.js.map +1 -0
  182. package/dist/chunks/toaster.records-Dm3AFmL1.js +2 -0
  183. package/dist/chunks/toaster.records-Dm3AFmL1.js.map +1 -0
  184. package/dist/chunks/toaster.records-GZYhSv5r.js +47 -0
  185. package/dist/chunks/toaster.records-GZYhSv5r.js.map +1 -0
  186. package/dist/chunks/{tooltip.component-qWFa28S5.js → tooltip.component-BoZP4UV7.js} +2 -2
  187. package/dist/chunks/{tooltip.component-qWFa28S5.js.map → tooltip.component-BoZP4UV7.js.map} +1 -1
  188. package/dist/chunks/{tooltip.component-C3v2m2T2.js → tooltip.component-ZBmhLLNH.js} +10 -10
  189. package/dist/chunks/{tooltip.component-C3v2m2T2.js.map → tooltip.component-ZBmhLLNH.js.map} +1 -1
  190. package/dist/chunks/vendor-CRIhG-7s.js +21518 -0
  191. package/dist/chunks/vendor-CRIhG-7s.js.map +1 -0
  192. package/dist/chunks/vendor-DcKGwQlH.js +64 -0
  193. package/dist/chunks/vendor-DcKGwQlH.js.map +1 -0
  194. package/dist/chunks/{withFormControl-CDQGc9aO.js → withFormControl-BCyb1yXC.js} +22 -22
  195. package/dist/chunks/{withFormControl-CDQGc9aO.js.map → withFormControl-BCyb1yXC.js.map} +1 -1
  196. package/dist/chunks/{withFormControl-BJSHfbF_.js → withFormControl-BJIa-ZxM.js} +2 -2
  197. package/dist/chunks/{withFormControl-BJSHfbF_.js.map → withFormControl-BJIa-ZxM.js.map} +1 -1
  198. package/dist/chunks/{withTruncation-C2xFKhgB.js → withTruncation-C4IBRfqV.js} +4 -4
  199. package/dist/chunks/{withTruncation-C2xFKhgB.js.map → withTruncation-C4IBRfqV.js.map} +1 -1
  200. package/dist/chunks/{withTruncation-BskZBBVs.js → withTruncation-DZqJYnSw.js} +2 -2
  201. package/dist/chunks/{withTruncation-BskZBBVs.js.map → withTruncation-DZqJYnSw.js.map} +1 -1
  202. package/dist/cjs/chakra.cjs +2 -0
  203. package/dist/cjs/chakra.cjs.map +1 -0
  204. package/dist/cjs/cli/postinstall.cjs +1 -1
  205. package/dist/cjs/cli/postinstall.cjs.map +1 -1
  206. package/dist/cjs/components/Alert.cjs +1 -1
  207. package/dist/cjs/components/Avatar.cjs +1 -1
  208. package/dist/cjs/components/AvatarGroup.cjs +1 -1
  209. package/dist/cjs/components/Button.cjs +1 -1
  210. package/dist/cjs/components/ButtonGroup.cjs +1 -1
  211. package/dist/cjs/components/Card.cjs +1 -1
  212. package/dist/cjs/components/Card.cjs.map +1 -1
  213. package/dist/cjs/components/CharacterCounter.cjs +1 -1
  214. package/dist/cjs/components/Checkbox.cjs +1 -1
  215. package/dist/cjs/components/CheckboxGroup.cjs +1 -1
  216. package/dist/cjs/{patterns → components}/ConversationCard.cjs +1 -1
  217. package/dist/cjs/components/DatePicker.cjs +1 -1
  218. package/dist/cjs/components/Divider.cjs +2 -0
  219. package/dist/cjs/components/Divider.cjs.map +1 -0
  220. package/dist/cjs/components/Heading.cjs +1 -1
  221. package/dist/cjs/components/Icon/generated.cjs +1 -1
  222. package/dist/cjs/components/Icon.cjs +1 -1
  223. package/dist/cjs/components/Link.cjs +1 -1
  224. package/dist/cjs/components/Logo/generated.cjs +2 -0
  225. package/dist/cjs/components/Logo/generated.cjs.map +1 -0
  226. package/dist/cjs/components/Logo.cjs +2 -0
  227. package/dist/cjs/components/Logo.cjs.map +1 -0
  228. package/dist/cjs/components/Menu.cjs +1 -1
  229. package/dist/cjs/components/Modal.cjs +1 -1
  230. package/dist/cjs/components/NotificationCounter.cjs +1 -1
  231. package/dist/cjs/components/Picture.cjs +1 -1
  232. package/dist/cjs/components/PinInput.cjs +2 -0
  233. package/dist/cjs/components/PinInput.cjs.map +1 -0
  234. package/dist/cjs/components/Popover.cjs +1 -1
  235. package/dist/cjs/components/RadioGroup.cjs +1 -1
  236. package/dist/cjs/components/RatingDots.cjs +1 -1
  237. package/dist/cjs/components/Select.cjs +1 -1
  238. package/dist/cjs/components/SortableList.cjs +1 -1
  239. package/dist/cjs/components/Spinner.cjs +1 -1
  240. package/dist/cjs/{patterns → components}/StyledAvatar.cjs +1 -1
  241. package/dist/cjs/components/Swatch.cjs +1 -1
  242. package/dist/cjs/components/Switch.cjs +1 -1
  243. package/dist/cjs/components/Tabs.cjs +1 -1
  244. package/dist/cjs/components/Tag.cjs +1 -1
  245. package/dist/cjs/{patterns → components}/TagBlock.cjs +1 -1
  246. package/dist/cjs/components/Text.cjs +1 -1
  247. package/dist/cjs/components/TextInput.cjs +1 -1
  248. package/dist/cjs/components/Textarea.cjs +1 -1
  249. package/dist/cjs/components/TimePicker.cjs +1 -1
  250. package/dist/cjs/components/TimeRange.cjs +1 -1
  251. package/dist/cjs/{patterns → components}/Timestamp.cjs +1 -1
  252. package/dist/cjs/components/Toast.cjs +2 -0
  253. package/dist/cjs/components/Toast.cjs.map +1 -0
  254. package/dist/cjs/components/Tooltip.cjs +1 -1
  255. package/dist/cjs/components.cjs +1 -1
  256. package/dist/cjs/hocs.cjs +1 -1
  257. package/dist/cjs/hooks.cjs +1 -1
  258. package/dist/cjs/index.cjs +1 -1
  259. package/dist/cjs/shared.cjs +2 -0
  260. package/dist/cjs/shared.cjs.map +1 -0
  261. package/dist/cjs/theme/tokens/blurs.cjs +1 -1
  262. package/dist/cjs/theme.cjs +1 -23
  263. package/dist/cjs/theme.cjs.map +1 -1
  264. package/dist/esm/chakra.js +69 -0
  265. package/dist/esm/chakra.js.map +1 -0
  266. package/dist/esm/cli/postinstall.js +6 -6
  267. package/dist/esm/cli/postinstall.js.map +1 -1
  268. package/dist/esm/components/Alert.js +4 -3
  269. package/dist/esm/components/Alert.js.map +1 -1
  270. package/dist/esm/components/Avatar.js +1 -1
  271. package/dist/esm/components/AvatarGroup.js +1 -1
  272. package/dist/esm/components/Button.js +1 -1
  273. package/dist/esm/components/ButtonGroup.js +1 -1
  274. package/dist/esm/components/Card.js +4 -4
  275. package/dist/esm/components/Card.js.map +1 -1
  276. package/dist/esm/components/CharacterCounter.js +1 -1
  277. package/dist/esm/components/Checkbox.js +1 -1
  278. package/dist/esm/components/CheckboxGroup.js +1 -1
  279. package/dist/esm/{patterns → components}/ConversationCard.js +1 -1
  280. package/dist/esm/components/DatePicker.js +1 -1
  281. package/dist/esm/components/Divider.js +27 -0
  282. package/dist/esm/components/Divider.js.map +1 -0
  283. package/dist/esm/components/Heading.js +1 -1
  284. package/dist/esm/components/Icon/generated.js +1 -1
  285. package/dist/esm/components/Icon.js +1 -1
  286. package/dist/esm/components/Link.js +1 -1
  287. package/dist/esm/components/Logo/generated.js +6 -0
  288. package/dist/esm/components/Logo/generated.js.map +1 -0
  289. package/dist/esm/components/Logo.js +7 -0
  290. package/dist/esm/components/Logo.js.map +1 -0
  291. package/dist/esm/components/Menu.js +1 -1
  292. package/dist/esm/components/Modal.js +1 -1
  293. package/dist/esm/components/NotificationCounter.js +1 -1
  294. package/dist/esm/components/Picture.js +3 -3
  295. package/dist/esm/components/PinInput.js +6 -0
  296. package/dist/esm/components/PinInput.js.map +1 -0
  297. package/dist/esm/components/Popover.js +1 -1
  298. package/dist/esm/components/RadioGroup.js +1 -1
  299. package/dist/esm/components/RatingDots.js +1 -1
  300. package/dist/esm/components/Select.js +1 -1
  301. package/dist/esm/components/SortableList.js +1 -1
  302. package/dist/esm/components/Spinner.js +1 -1
  303. package/dist/esm/{patterns → components}/StyledAvatar.js +1 -1
  304. package/dist/esm/components/Swatch.js +6 -6
  305. package/dist/esm/components/Switch.js +1 -1
  306. package/dist/esm/components/Tabs.js +1 -1
  307. package/dist/esm/components/Tag.js +1 -1
  308. package/dist/esm/{patterns → components}/TagBlock.js +1 -1
  309. package/dist/esm/components/Text.js +1 -1
  310. package/dist/esm/components/TextInput.js +1 -1
  311. package/dist/esm/components/Textarea.js +1 -1
  312. package/dist/esm/components/TimePicker.js +1 -1
  313. package/dist/esm/components/TimeRange.js +1 -1
  314. package/dist/esm/components/Timestamp.js +5 -0
  315. package/dist/esm/components/Toast.js +38 -0
  316. package/dist/esm/components/Toast.js.map +1 -0
  317. package/dist/esm/components/Tooltip.js +1 -1
  318. package/dist/esm/components.js +123 -98
  319. package/dist/esm/components.js.map +1 -1
  320. package/dist/esm/hocs.js +1 -1
  321. package/dist/esm/hooks.js +1 -1
  322. package/dist/esm/index.js +133 -118
  323. package/dist/esm/index.js.map +1 -1
  324. package/dist/esm/shared.js +9 -0
  325. package/dist/esm/shared.js.map +1 -0
  326. package/dist/esm/theme/tokens/blurs.js +2 -1
  327. package/dist/esm/theme/tokens/blurs.js.map +1 -1
  328. package/dist/esm/theme.js +3 -2608
  329. package/dist/esm/theme.js.map +1 -1
  330. package/dist/types/chakra/index.d.ts +52 -0
  331. package/dist/types/chakra.d.ts +2 -0
  332. package/dist/types/components/Alert/alert.component.d.ts +5 -13
  333. package/dist/types/components/Avatar/components/AvatarBadge/avatarBadge.component.d.ts +1 -1
  334. package/dist/types/components/Card/card.component.d.ts +1 -1
  335. package/dist/types/{patterns → components}/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.d.ts +1 -1
  336. package/dist/types/{patterns → components}/ConversationCard/components/ConversationCardContent/conversationCardContent.component.d.ts +1 -1
  337. package/dist/types/{patterns → components}/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.d.ts +2 -2
  338. package/dist/types/{patterns → components}/ConversationCard/components/ConversationCardTags/conversationCardTags.component.d.ts +1 -1
  339. package/dist/types/{patterns → components}/ConversationCard/conversationCard.component.d.ts +1 -1
  340. package/dist/types/components/Divider/divider.component.d.ts +4 -0
  341. package/dist/types/components/Divider/divider.types.d.ts +6 -0
  342. package/dist/types/components/Divider/index.d.ts +2 -0
  343. package/dist/types/components/Divider.d.ts +2 -0
  344. package/dist/types/components/Logo/generated/FullLogo.d.ts +10 -0
  345. package/dist/types/components/Logo/generated/IconLogo.d.ts +10 -0
  346. package/dist/types/components/Logo/generated/index.d.ts +4 -0
  347. package/dist/types/components/Logo/generated.d.ts +2 -0
  348. package/dist/types/components/Logo/index.d.ts +2 -0
  349. package/dist/types/components/Logo/logo.component.d.ts +10 -0
  350. package/dist/types/components/Logo/logo.recipe.d.ts +9 -0
  351. package/dist/types/components/Logo/logo.types.d.ts +4 -0
  352. package/dist/types/components/Logo.d.ts +2 -0
  353. package/dist/types/components/Modal/modal.recipe.d.ts +1 -1
  354. package/dist/types/components/PinInput/index.d.ts +2 -0
  355. package/dist/types/components/PinInput/pinInput.component.d.ts +10 -0
  356. package/dist/types/components/PinInput/pinInput.recipe.d.ts +21 -0
  357. package/dist/types/components/PinInput/pinInput.records.d.ts +1 -0
  358. package/dist/types/components/PinInput/pinInput.types.d.ts +2 -0
  359. package/dist/types/components/PinInput.d.ts +2 -0
  360. package/dist/types/{patterns → components}/StyledAvatar/styledAvatar.component.d.ts +1 -1
  361. package/dist/types/{patterns → components}/TagBlock/tagBlock.component.d.ts +1 -1
  362. package/dist/types/{patterns → components}/Timestamp/timestamp.component.d.ts +1 -1
  363. package/dist/types/components/Toast/components/Toaster/toaster.component.d.ts +7 -0
  364. package/dist/types/components/Toast/components/Toaster/toaster.records.d.ts +10 -0
  365. package/dist/types/components/Toast/components/Toaster/toaster.types.d.ts +12 -0
  366. package/dist/types/components/Toast/index.d.ts +2 -0
  367. package/dist/types/components/Toast/toast.component.d.ts +3 -0
  368. package/dist/types/components/Toast/toast.types.d.ts +19 -0
  369. package/dist/types/components/Toast.d.ts +2 -0
  370. package/dist/types/components/index.d.ts +9 -1
  371. package/dist/types/index.d.ts +1 -2
  372. package/dist/types/shared/index.d.ts +1 -0
  373. package/dist/types/shared.d.ts +2 -0
  374. package/dist/types/theme/semanticTokens/semanticTokens.config.d.ts +4 -0
  375. package/dist/types/theme/semanticTokens/semanticTokens.records.d.ts +8 -0
  376. package/package.json +58 -46
  377. package/dist/chunks/alert.types-CiHDB6qK.js +0 -2
  378. package/dist/chunks/alert.types-CiHDB6qK.js.map +0 -1
  379. package/dist/chunks/alert.types-CvARYqVc.js +0 -170
  380. package/dist/chunks/alert.types-CvARYqVc.js.map +0 -1
  381. package/dist/chunks/avatar.component-B14bRpeL.js.map +0 -1
  382. package/dist/chunks/avatar.component-DLqm7tQt.js.map +0 -1
  383. package/dist/chunks/card.component-HX-4Y0j7.js +0 -51
  384. package/dist/chunks/card.component-HX-4Y0j7.js.map +0 -1
  385. package/dist/chunks/card.component-ZIoJIWVV.js +0 -2
  386. package/dist/chunks/card.component-ZIoJIWVV.js.map +0 -1
  387. package/dist/chunks/chakra-BqBkjpvZ.js.map +0 -1
  388. package/dist/chunks/chakra-DmF8Cxqs.js +0 -5
  389. package/dist/chunks/chakra-DmF8Cxqs.js.map +0 -1
  390. package/dist/chunks/conversationCard.component-CAKvEh_2.js.map +0 -1
  391. package/dist/chunks/conversationCard.component-D56k22in.js.map +0 -1
  392. package/dist/chunks/date-1NFv48Qu.js.map +0 -1
  393. package/dist/chunks/date-Du64Exix.js +0 -15
  394. package/dist/chunks/date-Du64Exix.js.map +0 -1
  395. package/dist/chunks/heading.component-B8niLTxz.js +0 -10
  396. package/dist/chunks/styledAvatar.types-ByQoyukM.js.map +0 -1
  397. package/dist/chunks/styledAvatar.types-CpU5SOAS.js.map +0 -1
  398. package/dist/chunks/tagBlock.component-B99Qzj2K.js.map +0 -1
  399. package/dist/chunks/tagBlock.component-BKnmbWil.js.map +0 -1
  400. package/dist/chunks/text.component-XYjOAc2s.js +0 -10
  401. package/dist/chunks/timeRange.component-uYrO4YEs.js +0 -17
  402. package/dist/chunks/timestamp.component-CuqY4euh.js.map +0 -1
  403. package/dist/chunks/timestamp.component-D764INLm.js.map +0 -1
  404. package/dist/chunks/vendor-BBfll6i3.js +0 -11757
  405. package/dist/chunks/vendor-BBfll6i3.js.map +0 -1
  406. package/dist/chunks/vendor-D-x6W6ez.js +0 -57
  407. package/dist/chunks/vendor-D-x6W6ez.js.map +0 -1
  408. package/dist/cjs/cli/configure-paths.cjs +0 -3
  409. package/dist/cjs/cli/configure-paths.cjs.map +0 -1
  410. package/dist/cjs/patterns.cjs +0 -2
  411. package/dist/cjs/patterns.cjs.map +0 -1
  412. package/dist/esm/cli/configure-paths.js +0 -48
  413. package/dist/esm/cli/configure-paths.js.map +0 -1
  414. package/dist/esm/patterns/Timestamp.js +0 -5
  415. package/dist/esm/patterns.js +0 -13
  416. package/dist/esm/patterns.js.map +0 -1
  417. package/dist/types/cli/configure-paths.d.ts +0 -2
  418. package/dist/types/patterns/index.d.ts +0 -4
  419. package/dist/types/patterns.d.ts +0 -2
  420. /package/dist/cjs/{patterns → components}/ConversationCard.cjs.map +0 -0
  421. /package/dist/cjs/{patterns → components}/StyledAvatar.cjs.map +0 -0
  422. /package/dist/cjs/{patterns → components}/TagBlock.cjs.map +0 -0
  423. /package/dist/cjs/{patterns → components}/Timestamp.cjs.map +0 -0
  424. /package/dist/esm/{patterns → components}/ConversationCard.js.map +0 -0
  425. /package/dist/esm/{patterns → components}/StyledAvatar.js.map +0 -0
  426. /package/dist/esm/{patterns → components}/TagBlock.js.map +0 -0
  427. /package/dist/esm/{patterns → components}/Timestamp.js.map +0 -0
  428. /package/dist/types/{patterns → components}/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.d.ts +0 -0
  429. /package/dist/types/{patterns → components}/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.d.ts +0 -0
  430. /package/dist/types/{patterns → components}/ConversationCard/index.d.ts +0 -0
  431. /package/dist/types/{patterns → components}/ConversationCard.d.ts +0 -0
  432. /package/dist/types/{patterns → components}/StyledAvatar/index.d.ts +0 -0
  433. /package/dist/types/{patterns → components}/StyledAvatar/styledAvatar.types.d.ts +0 -0
  434. /package/dist/types/{patterns → components}/StyledAvatar.d.ts +0 -0
  435. /package/dist/types/{patterns → components}/TagBlock/index.d.ts +0 -0
  436. /package/dist/types/{patterns → components}/TagBlock/tagBlock.types.d.ts +0 -0
  437. /package/dist/types/{patterns → components}/TagBlock.d.ts +0 -0
  438. /package/dist/types/{patterns → components}/Timestamp/index.d.ts +0 -0
  439. /package/dist/types/{patterns → components}/Timestamp.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"menu.component-BCRZgrRr.js","sources":["../../src/components/Menu/components/MenuButton/menuButton.components.tsx","../../src/components/Menu/components/MenuItem/menuItem.component.tsx","../../src/components/Menu/components/MenuToggleButtons/menuToggleButtons.tsx","../../src/components/Menu/menu.component.tsx"],"sourcesContent":["import { Flex } from \"@chakra-ui/react/flex\";\nimport { Button, ButtonProps } from \"components/Button/button.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\nimport React from \"react\";\n\nexport interface MenuButtonProps extends Omit<ButtonProps, \"children\"> {\n hideCaret?: boolean;\n text?: string;\n textProps?: TextProps;\n}\n\nexport const MenuButton = ({\n hideCaret = false,\n size = \"md\",\n text,\n textProps,\n variant,\n ...rest\n}: MenuButtonProps): React.JSX.Element => {\n return (\n <Button\n className=\"Menu__Button\"\n data-testid=\"kibble-menu-button\"\n size={size}\n variant={variant}\n {...rest}\n >\n {text && (\n <Text\n className=\"Menu__ButtonText\"\n data-testid=\"kibble-menu-button-text\"\n fontWeight=\"semibold\"\n size={size}\n color={variant ? \"inherit\" : textProps?.color || \"text.contrast\"}\n truncate\n {...textProps}\n >\n {text}\n </Text>\n )}\n {!hideCaret && (\n <Flex\n className=\"Menu__ButtonCaret\"\n data-testid=\"kibble-menu-button-caret\"\n >\n <Icon name=\"chevronDown\" size={size === \"lg\" ? \"sm\" : \"xs\"} />\n </Flex>\n )}\n </Button>\n );\n};\n","import { Flex } from \"@chakra-ui/react/flex\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport React, { useCallback } from \"react\";\nimport { Text } from \"components/Text/text.component\";\nimport { MenuItemType } from \"./menuItem.types\";\nimport { Menu, MenuProps } from \"components/Menu\";\nimport { TypographyVariant } from \"shared/types/typography\";\nimport { Checkbox } from \"components/Checkbox/checkbox.component\";\nimport { Icon } from \"components/Icon/icon.component\";\n\ninterface BaseMenuItemProps {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n groupLabel?: string;\n onSelect?: (value: string) => void;\n shouldTruncateText?: boolean;\n type?: MenuItemType;\n value: string;\n variant?: TypographyVariant;\n}\n\ninterface DefaultMenuItemProps extends Omit<CMenu.ItemProps, \"onSelect\"> {\n type?: \"default\";\n selected?: boolean;\n}\n\ninterface CheckboxMenuItemProps\n extends Omit<CMenu.CheckboxItemProps, \"onSelect\"> {\n type: \"checkbox\";\n checked: boolean;\n}\n\ninterface SubmenuMenuItemProps extends Omit<MenuProps, \"buttonProps\"> {\n type: \"submenu\";\n valueText?: string;\n}\n\nexport type MenuItemProps = BaseMenuItemProps &\n (DefaultMenuItemProps | CheckboxMenuItemProps | SubmenuMenuItemProps);\n\nexport const MenuItem = ({\n label,\n leftElement,\n onSelect,\n shouldTruncateText,\n type = \"default\",\n variant,\n ...rest\n}: MenuItemProps): React.JSX.Element => {\n const handleOnSelect = useCallback(() => {\n if (onSelect) {\n onSelect(rest.value);\n }\n }, [onSelect, rest.value]);\n\n if (type === \"submenu\") {\n return (\n <Menu\n submenuTrigger={\n <CMenu.TriggerItem\n className=\"Menu__Item--Submenu\"\n data-testid=\"kibble-menu-item-submenu\"\n justifyContent=\"space-between\"\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n <Icon name=\"chevronRight\" size=\"sm\" />\n </CMenu.TriggerItem>\n }\n {...rest}\n />\n );\n }\n\n if (type === \"checkbox\") {\n const { checked, value, ...checkboxRest } = rest as CheckboxMenuItemProps;\n return (\n <CMenu.CheckboxItem\n className=\"Menu__Item--Checkbox\"\n data-testid=\"kibble-menu-item-checkbox\"\n value={value}\n checked={!!checked}\n onCheckedChange={handleOnSelect}\n closeOnSelect={rest.closeOnSelect || false}\n gap={3}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} size=\"md\" />\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n </CMenu.CheckboxItem>\n );\n }\n\n if (type === \"default\") {\n const { selected, value, ...defaultRest } = rest as DefaultMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Default\"\n data-testid=\"kibble-menu-item-default\"\n value={value}\n onSelect={handleOnSelect}\n {...(selected && { bgColor: \"background.secondaryAlpha.hover\" })}\n {...defaultRest}\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={selected ? \"info\" : variant}\n />\n </CMenu.Item>\n );\n }\n\n return <></>;\n};\n\nconst MenuItemLabel = ({\n label,\n leftElement,\n shouldTruncateText,\n variant,\n}: {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n shouldTruncateText?: boolean;\n variant?: TypographyVariant;\n}): React.JSX.Element => {\n return (\n <Flex className=\"Menu__ItemLabel\" alignItems=\"center\" gap={3}>\n {leftElement}\n {typeof label === \"string\" ? (\n <Text size=\"sm\" truncated={shouldTruncateText} variant={variant}>\n {label}\n </Text>\n ) : (\n label\n )}\n </Flex>\n );\n};\n","import { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\ninterface MenuToggleButtonsProps {\n hasSelectedItems?: boolean;\n groupName?: string;\n onToggle: ({\n groupName,\n clear,\n }: {\n clear: boolean;\n groupName?: string;\n }) => void;\n}\n\nexport const MenuToggleButtons = ({\n groupName,\n hasSelectedItems = false,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n const isGrouped = !!groupName;\n return (\n <Box\n className=\"Menu__ToggleButtons\"\n data-testid=\"kibble-menu-toggle-buttons\"\n {...(isGrouped ? { textAlign: \"right\", w: \"50%\" } : { mt: 2 })}\n >\n {isGrouped ? (\n <>\n {hasSelectedItems ? (\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n ) : (\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n )}\n </>\n ) : (\n <Flex justifyContent=\"space-between\">\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n </Flex>\n )}\n </Box>\n );\n};\n\nconst SelectAllButton = ({\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghost\"\n size=\"xs\"\n onClick={(): void => onToggle({ groupName, clear: false })}\n >\n Select All\n </Button>\n );\n};\n\nconst ClearAllButton = ({\n hasSelectedItems,\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghostNeutral\"\n iconName=\"arrowCircle\"\n size=\"xs\"\n disabled={!hasSelectedItems}\n onClick={(): void => onToggle({ groupName, clear: true })}\n >\n Clear All\n </Button>\n );\n};\n","import React, { useCallback, useMemo, useState } from \"react\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n MenuButton,\n MenuButtonProps,\n} from \"./components/MenuButton/menuButton.components\";\nimport {\n MenuItem,\n MenuItemProps,\n} from \"./components/MenuItem/menuItem.component\";\nimport { useCheckboxGroup } from \"@chakra-ui/react/checkbox\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Text } from \"components/Text/text.component\";\nimport { TextInput } from \"components/TextInput/textInput.component\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Spinner } from \"components/Spinner/spinner.component\";\nimport { MenuToggleButtons } from \"./components/MenuToggleButtons/menuToggleButtons\";\n\nexport type MenuListOnSelect =\n | ((selectedItem: string | undefined, allSelectedItems?: string[]) => void)\n | ((\n selectedItem: string | undefined,\n allSelectedItems?: string[],\n ) => Promise<void>);\n\nexport type MenuListOnSelectAll =\n | ((selectedItems: string[]) => void)\n | ((selectedItems: string[]) => Promise<void>);\n\nexport interface MenuListProps extends Omit<CMenu.ContentProps, \"onSelect\"> {\n canSelectAll?: boolean;\n canSelectGroups?: boolean;\n emptyStateText?: string;\n loading?: boolean;\n menuItems?: MenuItemProps[];\n onSearch?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onSelect?: MenuListOnSelect;\n onSelectAll?: MenuListOnSelectAll;\n searchable?: boolean;\n searchPlaceholder?: string;\n shouldTruncateText?: boolean;\n}\n\nexport interface MenuProps extends Omit<CMenu.RootProps, \"children\"> {\n buttonProps?: MenuButtonProps;\n listProps?: MenuListProps;\n portalled?: boolean;\n}\n\ninterface InternalMenuProps extends MenuProps {\n submenuTrigger?: React.ReactNode;\n}\n\nexport const Menu = ({\n buttonProps,\n listProps,\n portalled = false,\n submenuTrigger,\n ...rest\n}: InternalMenuProps): React.JSX.Element => {\n const {\n canSelectAll,\n canSelectGroups,\n emptyStateText = \"No results found\",\n loading,\n maxH = \"480px\",\n menuItems = [],\n minW = \"240px\",\n onSearch,\n onSelect,\n onSelectAll,\n searchable,\n searchPlaceholder = \"Search...\",\n shouldTruncateText,\n ...restListProps\n } = listProps || {};\n const [searchText, setSearchText] = useState<string>(\"\");\n const [filteredMenuItems, setFilteredMenuItems] =\n useState<MenuItemProps[]>(menuItems);\n\n // Menu Items\n const groupedItems = useMemo(() => {\n const groups: Record<string, Record<string, MenuItemProps[]>> = {};\n\n filteredMenuItems?.forEach((item) => {\n const group = item.groupLabel || \"default\";\n // Default and submenu items are grouped under \"default\"\n const type = item.type === \"checkbox\" ? \"checkbox\" : \"default\";\n\n if (!groups[group]) {\n groups[group] = {};\n }\n\n if (!groups[group][type]) {\n groups[group][type] = [];\n }\n\n groups[group][type].push(item);\n });\n\n return groups;\n }, [filteredMenuItems]);\n\n const groups = useMemo(() => Object.entries(groupedItems), [groupedItems]);\n\n // Checkbox State Management\n const checkboxItems = useMemo(\n () => menuItems?.filter((item) => item.type === \"checkbox\") || [],\n [menuItems],\n );\n\n const defaultSelectedItems = useMemo(() => {\n const selectedMenuItems =\n checkboxItems?.filter((item) => item.checked) || [];\n return selectedMenuItems.map((item) => item.value);\n }, [checkboxItems]);\n\n const selectedItems = useCheckboxGroup({\n defaultValue: defaultSelectedItems,\n });\n\n // Search\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const searchInput = e.target.value;\n setSearchText(searchInput);\n\n if (onSearch) {\n onSearch(e);\n } else {\n if (searchInput === \"\" || !searchInput) {\n setFilteredMenuItems(menuItems);\n } else {\n const filterdItems = menuItems.filter((item): boolean => {\n const labelText =\n typeof item.label === \"string\" ? item.label : item.valueText;\n\n return !!labelText\n ?.toLowerCase()\n .includes(searchInput.toLowerCase());\n });\n setFilteredMenuItems(filterdItems);\n }\n }\n },\n [menuItems, onSearch],\n );\n\n // Selection\n const handleToggle = useCallback(\n ({ groupName, clear }: { groupName?: string; clear: boolean }) => {\n let newValues: string[] = [];\n if (groupName) {\n const groupItems = checkboxItems\n .filter((item) => item.groupLabel === groupName)\n .map((item) => item.value);\n newValues = clear\n ? selectedItems.value.filter((value) => !groupItems.includes(value))\n : [...selectedItems.value, ...groupItems];\n } else {\n newValues = clear ? [] : checkboxItems.map((item) => item.value);\n }\n onSelectAll?.(newValues);\n selectedItems.setValue(newValues);\n },\n [checkboxItems, onSelectAll, selectedItems],\n );\n\n const handleSelect = useCallback(\n (item: MenuItemProps) => {\n item.onSelect?.(item.value);\n const currentSelection = selectedItems.value;\n const isItemSelected = selectedItems.isChecked(item.value);\n onSelect?.(\n item.value,\n isItemSelected\n ? currentSelection.filter((value) => value !== item.value)\n : [...currentSelection, item.value],\n );\n if (item.type === \"checkbox\") {\n selectedItems.toggleValue(item.value);\n }\n },\n [onSelect, selectedItems],\n );\n\n // Cleanup\n const handleCleanup = useCallback(\n (open: boolean) => {\n if (!open) {\n setSearchText(\"\");\n setFilteredMenuItems(menuItems);\n }\n },\n [menuItems],\n );\n\n return (\n <CMenu.Root\n {...rest}\n onOpenChange={(details) => {\n handleCleanup(details.open);\n rest.onOpenChange?.(details);\n }}\n >\n {!submenuTrigger ? (\n <CMenu.Trigger\n asChild\n className=\"Menu__Trigger\"\n data-testid=\"kibble-menu-trigger\"\n >\n <MenuButton {...buttonProps} />\n </CMenu.Trigger>\n ) : (\n submenuTrigger\n )}\n <Portal disabled={!portalled}>\n <CMenu.Positioner className=\"Menu\" data-testid=\"kibble-menu\">\n <CMenu.Content\n className=\"Menu__Content\"\n data-testid=\"kibble-menu-content\"\n maxH={maxH}\n minW={minW}\n {...restListProps}\n >\n {(searchable || canSelectAll) && (\n <Box\n className=\"Menu__Header\"\n data-testid=\"kibble-menu-header\"\n m=\"0 12px 8px\"\n >\n {searchable && (\n <TextInput\n className=\"Menu__SearchBar\"\n data-testid=\"kibble-menu-search-bar\"\n placeholder={searchPlaceholder}\n onChange={handleSearch}\n size=\"sm\"\n value={searchText}\n clearable\n onClear={(): void => {\n setSearchText(\"\");\n handleSearch({\n target: { value: \"\" },\n } as React.ChangeEvent<HTMLInputElement>);\n }}\n formControlStyle={{ mt: 1 }}\n />\n )}\n {canSelectAll && !!checkboxItems.length && (\n <MenuToggleButtons\n onToggle={handleToggle}\n hasSelectedItems={!!selectedItems.value.length}\n />\n )}\n </Box>\n )}\n {!loading ? (\n <Box className=\"Menu__List\" data-testid=\"kibble-menu-list\">\n {groups.length ? (\n <>\n {groups.map(([groupLabel, types]) => {\n const isDefaultGroup = groupLabel === \"default\";\n const itemTypes = Object.keys(types);\n const MenuGroupContainer = !isDefaultGroup\n ? CMenu.ItemGroup\n : React.Fragment;\n const groupValues = types[\"checkbox\"]?.map(\n (item) => item.value,\n );\n const hasSelectedItems = groupValues?.some((value) =>\n selectedItems.value.includes(value),\n );\n return (\n <MenuGroupContainer key={groupLabel}>\n {!isDefaultGroup && (\n <CMenu.ItemGroupLabel>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n {groupLabel}\n {canSelectGroups &&\n itemTypes.includes(\"checkbox\") && (\n <MenuToggleButtons\n groupName={groupLabel}\n onToggle={handleToggle}\n hasSelectedItems={hasSelectedItems}\n />\n )}\n </Flex>\n </CMenu.ItemGroupLabel>\n )}\n {Object.entries(types).map(([type, items]) =>\n items.map((item, index) => (\n <MenuItem\n key={`menu-item-${groupLabel}-${type}-${index}`}\n {...item}\n shouldTruncateText={shouldTruncateText}\n {...(item.type === \"checkbox\" && {\n checked: selectedItems.isChecked(item.value),\n })}\n onSelect={() => handleSelect(item)}\n />\n )),\n )}\n </MenuGroupContainer>\n );\n })}\n </>\n ) : (\n <>\n <Box textAlign=\"center\" p={3}>\n <Text size=\"sm\" variant=\"subtle\">\n {emptyStateText}\n </Text>\n </Box>\n </>\n )}\n </Box>\n ) : (\n <Flex justifyContent=\"center\" py={5}>\n <Spinner />\n </Flex>\n )}\n </CMenu.Content>\n </CMenu.Positioner>\n </Portal>\n </CMenu.Root>\n );\n};\n"],"names":["MenuButton","hideCaret","size","text","textProps","variant","rest","jsxs","Button","jsx","Text","Flex","Icon","MenuItem","label","leftElement","onSelect","shouldTruncateText","type","handleOnSelect","useCallback","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","checkboxRest","CMenu.CheckboxItem","Checkbox","selected","defaultRest","CMenu.Item","Fragment","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","Box","ClearAllButton","SelectAllButton","buttonProps","listProps","portalled","submenuTrigger","canSelectAll","canSelectGroups","emptyStateText","loading","maxH","menuItems","minW","onSearch","onSelectAll","searchable","searchPlaceholder","restListProps","searchText","setSearchText","useState","filteredMenuItems","setFilteredMenuItems","groupedItems","useMemo","groups","item","group","checkboxItems","defaultSelectedItems","selectedItems","useCheckboxGroup","handleSearch","e","searchInput","filterdItems","handleToggle","clear","newValues","groupItems","handleSelect","currentSelection","isItemSelected","handleCleanup","open","CMenu.Root","details","CMenu.Trigger","Portal","CMenu.Positioner","CMenu.Content","TextInput","Spinner","groupLabel","types","isDefaultGroup","itemTypes","MenuGroupContainer","React","CMenu.ItemGroup","CMenu.ItemGroupLabel","items","index"],"mappings":"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"}
1
+ {"version":3,"file":"menu.component-BsNXuoLB.js","sources":["../../src/components/Menu/components/MenuButton/menuButton.components.tsx","../../src/components/Menu/components/MenuItem/menuItem.component.tsx","../../src/components/Menu/components/MenuToggleButtons/menuToggleButtons.tsx","../../src/components/Menu/menu.component.tsx"],"sourcesContent":["import { Flex } from \"@chakra-ui/react/flex\";\nimport { Button, ButtonProps } from \"components/Button/button.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\nimport React from \"react\";\n\nexport interface MenuButtonProps extends Omit<ButtonProps, \"children\"> {\n hideCaret?: boolean;\n text?: string;\n textProps?: TextProps;\n}\n\nexport const MenuButton = ({\n hideCaret = false,\n size = \"md\",\n text,\n textProps,\n variant,\n ...rest\n}: MenuButtonProps): React.JSX.Element => {\n return (\n <Button\n className=\"Menu__Button\"\n data-testid=\"kibble-menu-button\"\n size={size}\n variant={variant}\n {...rest}\n >\n {text && (\n <Text\n className=\"Menu__ButtonText\"\n data-testid=\"kibble-menu-button-text\"\n fontWeight=\"semibold\"\n size={size}\n color={variant ? \"inherit\" : textProps?.color || \"text.contrast\"}\n truncate\n {...textProps}\n >\n {text}\n </Text>\n )}\n {!hideCaret && (\n <Flex\n className=\"Menu__ButtonCaret\"\n data-testid=\"kibble-menu-button-caret\"\n >\n <Icon name=\"chevronDown\" size={size === \"lg\" ? \"sm\" : \"xs\"} />\n </Flex>\n )}\n </Button>\n );\n};\n","import { Flex } from \"@chakra-ui/react/flex\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport React, { useCallback } from \"react\";\nimport { Text } from \"components/Text/text.component\";\nimport { MenuItemType } from \"./menuItem.types\";\nimport { Menu, MenuProps } from \"components/Menu\";\nimport { TypographyVariant } from \"shared/types/typography\";\nimport { Checkbox } from \"components/Checkbox/checkbox.component\";\nimport { Icon } from \"components/Icon/icon.component\";\n\ninterface BaseMenuItemProps {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n groupLabel?: string;\n onSelect?: (value: string) => void;\n shouldTruncateText?: boolean;\n type?: MenuItemType;\n value: string;\n variant?: TypographyVariant;\n}\n\ninterface DefaultMenuItemProps extends Omit<CMenu.ItemProps, \"onSelect\"> {\n type?: \"default\";\n selected?: boolean;\n}\n\ninterface CheckboxMenuItemProps\n extends Omit<CMenu.CheckboxItemProps, \"onSelect\"> {\n type: \"checkbox\";\n checked: boolean;\n}\n\ninterface SubmenuMenuItemProps extends Omit<MenuProps, \"buttonProps\"> {\n type: \"submenu\";\n valueText?: string;\n}\n\nexport type MenuItemProps = BaseMenuItemProps &\n (DefaultMenuItemProps | CheckboxMenuItemProps | SubmenuMenuItemProps);\n\nexport const MenuItem = ({\n label,\n leftElement,\n onSelect,\n shouldTruncateText,\n type = \"default\",\n variant,\n ...rest\n}: MenuItemProps): React.JSX.Element => {\n const handleOnSelect = useCallback(() => {\n if (onSelect) {\n onSelect(rest.value);\n }\n }, [onSelect, rest.value]);\n\n if (type === \"submenu\") {\n return (\n <Menu\n submenuTrigger={\n <CMenu.TriggerItem\n className=\"Menu__Item--Submenu\"\n data-testid=\"kibble-menu-item-submenu\"\n justifyContent=\"space-between\"\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n <Icon name=\"chevronRight\" size=\"sm\" />\n </CMenu.TriggerItem>\n }\n {...rest}\n />\n );\n }\n\n if (type === \"checkbox\") {\n const { checked, value, ...checkboxRest } = rest as CheckboxMenuItemProps;\n return (\n <CMenu.CheckboxItem\n className=\"Menu__Item--Checkbox\"\n data-testid=\"kibble-menu-item-checkbox\"\n value={value}\n checked={!!checked}\n onCheckedChange={handleOnSelect}\n closeOnSelect={rest.closeOnSelect || false}\n gap={3}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} size=\"md\" />\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n </CMenu.CheckboxItem>\n );\n }\n\n if (type === \"default\") {\n const { selected, value, ...defaultRest } = rest as DefaultMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Default\"\n data-testid=\"kibble-menu-item-default\"\n value={value}\n onSelect={handleOnSelect}\n {...(selected && { bgColor: \"background.secondaryAlpha.hover\" })}\n {...defaultRest}\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={selected ? \"info\" : variant}\n />\n </CMenu.Item>\n );\n }\n\n return <></>;\n};\n\nconst MenuItemLabel = ({\n label,\n leftElement,\n shouldTruncateText,\n variant,\n}: {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n shouldTruncateText?: boolean;\n variant?: TypographyVariant;\n}): React.JSX.Element => {\n return (\n <Flex className=\"Menu__ItemLabel\" alignItems=\"center\" gap={3}>\n {leftElement}\n {typeof label === \"string\" ? (\n <Text size=\"sm\" truncated={shouldTruncateText} variant={variant}>\n {label}\n </Text>\n ) : (\n label\n )}\n </Flex>\n );\n};\n","import { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\ninterface MenuToggleButtonsProps {\n hasSelectedItems?: boolean;\n groupName?: string;\n onToggle: ({\n groupName,\n clear,\n }: {\n clear: boolean;\n groupName?: string;\n }) => void;\n}\n\nexport const MenuToggleButtons = ({\n groupName,\n hasSelectedItems = false,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n const isGrouped = !!groupName;\n return (\n <Box\n className=\"Menu__ToggleButtons\"\n data-testid=\"kibble-menu-toggle-buttons\"\n {...(isGrouped ? { textAlign: \"right\", w: \"50%\" } : { mt: 2 })}\n >\n {isGrouped ? (\n <>\n {hasSelectedItems ? (\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n ) : (\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n )}\n </>\n ) : (\n <Flex justifyContent=\"space-between\">\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n </Flex>\n )}\n </Box>\n );\n};\n\nconst SelectAllButton = ({\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghost\"\n size=\"xs\"\n onClick={(): void => onToggle({ groupName, clear: false })}\n >\n Select All\n </Button>\n );\n};\n\nconst ClearAllButton = ({\n hasSelectedItems,\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghostNeutral\"\n iconName=\"arrowCircle\"\n size=\"xs\"\n disabled={!hasSelectedItems}\n onClick={(): void => onToggle({ groupName, clear: true })}\n >\n Clear All\n </Button>\n );\n};\n","import React, { useCallback, useMemo, useState } from \"react\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n MenuButton,\n MenuButtonProps,\n} from \"./components/MenuButton/menuButton.components\";\nimport {\n MenuItem,\n MenuItemProps,\n} from \"./components/MenuItem/menuItem.component\";\nimport { useCheckboxGroup } from \"@chakra-ui/react/checkbox\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Text } from \"components/Text/text.component\";\nimport { TextInput } from \"components/TextInput/textInput.component\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Spinner } from \"components/Spinner/spinner.component\";\nimport { MenuToggleButtons } from \"./components/MenuToggleButtons/menuToggleButtons\";\n\nexport type MenuListOnSelect =\n | ((selectedItem: string | undefined, allSelectedItems?: string[]) => void)\n | ((\n selectedItem: string | undefined,\n allSelectedItems?: string[],\n ) => Promise<void>);\n\nexport type MenuListOnSelectAll =\n | ((selectedItems: string[]) => void)\n | ((selectedItems: string[]) => Promise<void>);\n\nexport interface MenuListProps extends Omit<CMenu.ContentProps, \"onSelect\"> {\n canSelectAll?: boolean;\n canSelectGroups?: boolean;\n emptyStateText?: string;\n loading?: boolean;\n menuItems?: MenuItemProps[];\n onSearch?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onSelect?: MenuListOnSelect;\n onSelectAll?: MenuListOnSelectAll;\n searchable?: boolean;\n searchPlaceholder?: string;\n shouldTruncateText?: boolean;\n}\n\nexport interface MenuProps extends Omit<CMenu.RootProps, \"children\"> {\n buttonProps?: MenuButtonProps;\n listProps?: MenuListProps;\n portalled?: boolean;\n}\n\ninterface InternalMenuProps extends MenuProps {\n submenuTrigger?: React.ReactNode;\n}\n\nexport const Menu = ({\n buttonProps,\n listProps,\n portalled = false,\n submenuTrigger,\n ...rest\n}: InternalMenuProps): React.JSX.Element => {\n const {\n canSelectAll,\n canSelectGroups,\n emptyStateText = \"No results found\",\n loading,\n maxH = \"480px\",\n menuItems = [],\n minW = \"240px\",\n onSearch,\n onSelect,\n onSelectAll,\n searchable,\n searchPlaceholder = \"Search...\",\n shouldTruncateText,\n ...restListProps\n } = listProps || {};\n const [searchText, setSearchText] = useState<string>(\"\");\n const [filteredMenuItems, setFilteredMenuItems] =\n useState<MenuItemProps[]>(menuItems);\n\n // Menu Items\n const groupedItems = useMemo(() => {\n const groups: Record<string, Record<string, MenuItemProps[]>> = {};\n\n filteredMenuItems?.forEach((item) => {\n const group = item.groupLabel || \"default\";\n // Default and submenu items are grouped under \"default\"\n const type = item.type === \"checkbox\" ? \"checkbox\" : \"default\";\n\n if (!groups[group]) {\n groups[group] = {};\n }\n\n if (!groups[group][type]) {\n groups[group][type] = [];\n }\n\n groups[group][type].push(item);\n });\n\n return groups;\n }, [filteredMenuItems]);\n\n const groups = useMemo(() => Object.entries(groupedItems), [groupedItems]);\n\n // Checkbox State Management\n const checkboxItems = useMemo(\n () => menuItems?.filter((item) => item.type === \"checkbox\") || [],\n [menuItems],\n );\n\n const defaultSelectedItems = useMemo(() => {\n const selectedMenuItems =\n checkboxItems?.filter((item) => item.checked) || [];\n return selectedMenuItems.map((item) => item.value);\n }, [checkboxItems]);\n\n const selectedItems = useCheckboxGroup({\n defaultValue: defaultSelectedItems,\n });\n\n // Search\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const searchInput = e.target.value;\n setSearchText(searchInput);\n\n if (onSearch) {\n onSearch(e);\n } else {\n if (searchInput === \"\" || !searchInput) {\n setFilteredMenuItems(menuItems);\n } else {\n const filterdItems = menuItems.filter((item): boolean => {\n const labelText =\n typeof item.label === \"string\" ? item.label : item.valueText;\n\n return !!labelText\n ?.toLowerCase()\n .includes(searchInput.toLowerCase());\n });\n setFilteredMenuItems(filterdItems);\n }\n }\n },\n [menuItems, onSearch],\n );\n\n // Selection\n const handleToggle = useCallback(\n ({ groupName, clear }: { groupName?: string; clear: boolean }) => {\n let newValues: string[] = [];\n if (groupName) {\n const groupItems = checkboxItems\n .filter((item) => item.groupLabel === groupName)\n .map((item) => item.value);\n newValues = clear\n ? selectedItems.value.filter((value) => !groupItems.includes(value))\n : [...selectedItems.value, ...groupItems];\n } else {\n newValues = clear ? [] : checkboxItems.map((item) => item.value);\n }\n onSelectAll?.(newValues);\n selectedItems.setValue(newValues);\n },\n [checkboxItems, onSelectAll, selectedItems],\n );\n\n const handleSelect = useCallback(\n (item: MenuItemProps) => {\n item.onSelect?.(item.value);\n const currentSelection = selectedItems.value;\n const isItemSelected = selectedItems.isChecked(item.value);\n onSelect?.(\n item.value,\n isItemSelected\n ? currentSelection.filter((value) => value !== item.value)\n : [...currentSelection, item.value],\n );\n if (item.type === \"checkbox\") {\n selectedItems.toggleValue(item.value);\n }\n },\n [onSelect, selectedItems],\n );\n\n // Cleanup\n const handleCleanup = useCallback(\n (open: boolean) => {\n if (!open) {\n setSearchText(\"\");\n setFilteredMenuItems(menuItems);\n }\n },\n [menuItems],\n );\n\n return (\n <CMenu.Root\n {...rest}\n onOpenChange={(details) => {\n handleCleanup(details.open);\n rest.onOpenChange?.(details);\n }}\n >\n {!submenuTrigger ? (\n <CMenu.Trigger\n asChild\n className=\"Menu__Trigger\"\n data-testid=\"kibble-menu-trigger\"\n >\n <MenuButton {...buttonProps} />\n </CMenu.Trigger>\n ) : (\n submenuTrigger\n )}\n <Portal disabled={!portalled}>\n <CMenu.Positioner className=\"Menu\" data-testid=\"kibble-menu\">\n <CMenu.Content\n className=\"Menu__Content\"\n data-testid=\"kibble-menu-content\"\n maxH={maxH}\n minW={minW}\n {...restListProps}\n >\n {(searchable || canSelectAll) && (\n <Box\n className=\"Menu__Header\"\n data-testid=\"kibble-menu-header\"\n m=\"0 12px 8px\"\n >\n {searchable && (\n <TextInput\n className=\"Menu__SearchBar\"\n data-testid=\"kibble-menu-search-bar\"\n placeholder={searchPlaceholder}\n onChange={handleSearch}\n size=\"sm\"\n value={searchText}\n clearable\n onClear={(): void => {\n setSearchText(\"\");\n handleSearch({\n target: { value: \"\" },\n } as React.ChangeEvent<HTMLInputElement>);\n }}\n formControlStyle={{ mt: 1 }}\n />\n )}\n {canSelectAll && !!checkboxItems.length && (\n <MenuToggleButtons\n onToggle={handleToggle}\n hasSelectedItems={!!selectedItems.value.length}\n />\n )}\n </Box>\n )}\n {!loading ? (\n <Box className=\"Menu__List\" data-testid=\"kibble-menu-list\">\n {groups.length ? (\n <>\n {groups.map(([groupLabel, types]) => {\n const isDefaultGroup = groupLabel === \"default\";\n const itemTypes = Object.keys(types);\n const MenuGroupContainer = !isDefaultGroup\n ? CMenu.ItemGroup\n : React.Fragment;\n const groupValues = types[\"checkbox\"]?.map(\n (item) => item.value,\n );\n const hasSelectedItems = groupValues?.some((value) =>\n selectedItems.value.includes(value),\n );\n return (\n <MenuGroupContainer key={groupLabel}>\n {!isDefaultGroup && (\n <CMenu.ItemGroupLabel>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n {groupLabel}\n {canSelectGroups &&\n itemTypes.includes(\"checkbox\") && (\n <MenuToggleButtons\n groupName={groupLabel}\n onToggle={handleToggle}\n hasSelectedItems={hasSelectedItems}\n />\n )}\n </Flex>\n </CMenu.ItemGroupLabel>\n )}\n {Object.entries(types).map(([type, items]) =>\n items.map((item, index) => (\n <MenuItem\n key={`menu-item-${groupLabel}-${type}-${index}`}\n {...item}\n shouldTruncateText={shouldTruncateText}\n {...(item.type === \"checkbox\" && {\n checked: selectedItems.isChecked(item.value),\n })}\n onSelect={() => handleSelect(item)}\n />\n )),\n )}\n </MenuGroupContainer>\n );\n })}\n </>\n ) : (\n <>\n <Box textAlign=\"center\" p={3}>\n <Text size=\"sm\" variant=\"subtle\">\n {emptyStateText}\n </Text>\n </Box>\n </>\n )}\n </Box>\n ) : (\n <Flex justifyContent=\"center\" py={5}>\n <Spinner />\n </Flex>\n )}\n </CMenu.Content>\n </CMenu.Positioner>\n </Portal>\n </CMenu.Root>\n );\n};\n"],"names":["MenuButton","hideCaret","size","text","textProps","variant","rest","jsxs","Button","jsx","Text","Flex","Icon","MenuItem","label","leftElement","onSelect","shouldTruncateText","type","handleOnSelect","useCallback","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","checkboxRest","CMenu.CheckboxItem","Checkbox","selected","defaultRest","CMenu.Item","Fragment","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","Box","ClearAllButton","SelectAllButton","buttonProps","listProps","portalled","submenuTrigger","canSelectAll","canSelectGroups","emptyStateText","loading","maxH","menuItems","minW","onSearch","onSelectAll","searchable","searchPlaceholder","restListProps","searchText","setSearchText","useState","filteredMenuItems","setFilteredMenuItems","groupedItems","useMemo","groups","item","group","checkboxItems","defaultSelectedItems","selectedItems","useCheckboxGroup","handleSearch","e","searchInput","filterdItems","handleToggle","clear","newValues","groupItems","handleSelect","currentSelection","isItemSelected","handleCleanup","open","CMenu.Root","details","CMenu.Trigger","Portal","CMenu.Positioner","CMenu.Content","TextInput","Spinner","groupLabel","types","isDefaultGroup","itemTypes","MenuGroupContainer","React","CMenu.ItemGroup","CMenu.ItemGroupLabel","items","index"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { x as e, bU as te, bP as se } from "./vendor-BBfll6i3.js";
1
+ import { x as e, eC as te, ew as se } from "./vendor-CRIhG-7s.js";
2
2
  import ne, { useCallback as g, useState as V, useMemo as v } from "react";
3
- import { B as N } from "./button.component-CA9bIFbq.js";
4
- import { I as D } from "./icon.component-w5bWbfVU.js";
5
- import { W as T } from "./text.component-XYjOAc2s.js";
6
- import { F as k, at as ae, au as le, av as ce, B as I, aw as re, ax as oe, ay as ue, az as ie, aA as de, aB as me } from "./chakra-BqBkjpvZ.js";
7
- import { W as he } from "./textInput.component-K4f7h4pP.js";
8
- import { S as xe } from "./spinner.component-D5tkelNc.js";
9
- import { W as be } from "./checkbox.component-BN9GeeiB.js";
3
+ import { B as T } from "./button.component-BZEZZa7D.js";
4
+ import { I as P } from "./icon.component-DOan8Ddb.js";
5
+ import { W as B } from "./text.component-B1g7jaUt.js";
6
+ import { F as k, bq as ae, br as le, bs as ce, a as I, bt as re, bu as oe, bv as ue, bw as ie, bx as de, by as me } from "./chakra-DEgvQPwa.js";
7
+ import { W as he } from "./textInput.component-CeMv8ruX.js";
8
+ import { S as xe } from "./spinner.component-D3If6khz.js";
9
+ import { W as be } from "./checkbox.component-X_SD-4T8.js";
10
10
  const pe = ({
11
11
  hideCaret: n = !1,
12
12
  size: a = "md",
@@ -15,7 +15,7 @@ const pe = ({
15
15
  variant: d,
16
16
  ...m
17
17
  }) => /* @__PURE__ */ e.jsxs(
18
- N,
18
+ T,
19
19
  {
20
20
  className: "Menu__Button",
21
21
  "data-testid": "kibble-menu-button",
@@ -24,7 +24,7 @@ const pe = ({
24
24
  ...m,
25
25
  children: [
26
26
  l && /* @__PURE__ */ e.jsx(
27
- T,
27
+ B,
28
28
  {
29
29
  className: "Menu__ButtonText",
30
30
  "data-testid": "kibble-menu-button-text",
@@ -41,7 +41,7 @@ const pe = ({
41
41
  {
42
42
  className: "Menu__ButtonCaret",
43
43
  "data-testid": "kibble-menu-button-caret",
44
- children: /* @__PURE__ */ e.jsx(D, { name: "chevronDown", size: a === "lg" ? "sm" : "xs" })
44
+ children: /* @__PURE__ */ e.jsx(P, { name: "chevronDown", size: a === "lg" ? "sm" : "xs" })
45
45
  }
46
46
  )
47
47
  ]
@@ -70,7 +70,7 @@ const pe = ({
70
70
  justifyContent: "space-between",
71
71
  children: [
72
72
  /* @__PURE__ */ e.jsx(
73
- B,
73
+ N,
74
74
  {
75
75
  label: n,
76
76
  leftElement: a,
@@ -78,7 +78,7 @@ const pe = ({
78
78
  variant: m
79
79
  }
80
80
  ),
81
- /* @__PURE__ */ e.jsx(D, { name: "chevronRight", size: "sm" })
81
+ /* @__PURE__ */ e.jsx(P, { name: "chevronRight", size: "sm" })
82
82
  ]
83
83
  }
84
84
  ),
@@ -101,7 +101,7 @@ const pe = ({
101
101
  children: [
102
102
  /* @__PURE__ */ e.jsx(be, { checked: !!b, size: "md" }),
103
103
  /* @__PURE__ */ e.jsx(
104
- B,
104
+ N,
105
105
  {
106
106
  label: n,
107
107
  leftElement: a,
@@ -125,7 +125,7 @@ const pe = ({
125
125
  ...b && { bgColor: "background.secondaryAlpha.hover" },
126
126
  ...u,
127
127
  children: /* @__PURE__ */ e.jsx(
128
- B,
128
+ N,
129
129
  {
130
130
  label: n,
131
131
  leftElement: a,
@@ -137,14 +137,14 @@ const pe = ({
137
137
  );
138
138
  }
139
139
  return /* @__PURE__ */ e.jsx(e.Fragment, {});
140
- }, B = ({
140
+ }, N = ({
141
141
  label: n,
142
142
  leftElement: a,
143
143
  shouldTruncateText: l,
144
144
  variant: o
145
145
  }) => /* @__PURE__ */ e.jsxs(k, { className: "Menu__ItemLabel", alignItems: "center", gap: 3, children: [
146
146
  a,
147
- typeof n == "string" ? /* @__PURE__ */ e.jsx(T, { size: "sm", truncated: l, variant: o, children: n }) : n
147
+ typeof n == "string" ? /* @__PURE__ */ e.jsx(B, { size: "sm", truncated: l, variant: o, children: n }) : n
148
148
  ] }), L = ({
149
149
  groupName: n,
150
150
  hasSelectedItems: a = !1,
@@ -158,16 +158,16 @@ const pe = ({
158
158
  "data-testid": "kibble-menu-toggle-buttons",
159
159
  ...o ? { textAlign: "right", w: "50%" } : { mt: 2 },
160
160
  children: o ? /* @__PURE__ */ e.jsx(e.Fragment, { children: a ? /* @__PURE__ */ e.jsx(
161
- $,
161
+ D,
162
162
  {
163
163
  hasSelectedItems: a,
164
164
  groupName: n,
165
165
  onToggle: l
166
166
  }
167
- ) : /* @__PURE__ */ e.jsx(P, { groupName: n, onToggle: l }) }) : /* @__PURE__ */ e.jsxs(k, { justifyContent: "space-between", children: [
168
- /* @__PURE__ */ e.jsx(P, { groupName: n, onToggle: l }),
167
+ ) : /* @__PURE__ */ e.jsx($, { groupName: n, onToggle: l }) }) : /* @__PURE__ */ e.jsxs(k, { justifyContent: "space-between", children: [
168
+ /* @__PURE__ */ e.jsx($, { groupName: n, onToggle: l }),
169
169
  /* @__PURE__ */ e.jsx(
170
- $,
170
+ D,
171
171
  {
172
172
  hasSelectedItems: a,
173
173
  groupName: n,
@@ -177,23 +177,23 @@ const pe = ({
177
177
  ] })
178
178
  }
179
179
  );
180
- }, P = ({
180
+ }, $ = ({
181
181
  groupName: n,
182
182
  onToggle: a
183
183
  }) => /* @__PURE__ */ e.jsx(
184
- N,
184
+ T,
185
185
  {
186
186
  variant: "ghost",
187
187
  size: "xs",
188
188
  onClick: () => a({ groupName: n, clear: !1 }),
189
189
  children: "Select All"
190
190
  }
191
- ), $ = ({
191
+ ), D = ({
192
192
  hasSelectedItems: n,
193
193
  groupName: a,
194
194
  onToggle: l
195
195
  }) => /* @__PURE__ */ e.jsx(
196
- N,
196
+ T,
197
197
  {
198
198
  variant: "ghostNeutral",
199
199
  iconName: "arrowCircle",
@@ -221,21 +221,21 @@ const pe = ({
221
221
  onSelect: w,
222
222
  onSelectAll: A,
223
223
  searchable: F,
224
- searchPlaceholder: U = "Search...",
225
- shouldTruncateText: q,
226
- ...E
227
- } = a || {}, [J, S] = V(""), [O, y] = V(u), W = v(() => {
224
+ searchPlaceholder: q = "Search...",
225
+ shouldTruncateText: E,
226
+ ...J
227
+ } = a || {}, [K, S] = V(""), [O, y] = V(u), W = v(() => {
228
228
  const t = {};
229
229
  return O?.forEach((s) => {
230
230
  const c = s.groupLabel || "default", r = s.type === "checkbox" ? "checkbox" : "default";
231
231
  t[c] || (t[c] = {}), t[c][r] || (t[c][r] = []), t[c][r].push(s);
232
232
  }), t;
233
- }, [O]), z = v(() => Object.entries(W), [W]), p = v(
233
+ }, [O]), G = v(() => Object.entries(W), [W]), p = v(
234
234
  () => u?.filter((t) => t.type === "checkbox") || [],
235
235
  [u]
236
- ), K = v(() => (p?.filter((s) => s.checked) || []).map((s) => s.value), [p]), i = te({
237
- defaultValue: K
238
- }), G = g(
236
+ ), Q = v(() => (p?.filter((s) => s.checked) || []).map((s) => s.value), [p]), i = te({
237
+ defaultValue: Q
238
+ }), z = g(
239
239
  (t) => {
240
240
  const s = t.target.value;
241
241
  if (S(s), _)
@@ -259,7 +259,7 @@ const pe = ({
259
259
  A?.(c), i.setValue(c);
260
260
  },
261
261
  [p, A, i]
262
- ), Q = g(
262
+ ), U = g(
263
263
  (t) => {
264
264
  t.onSelect?.(t.value);
265
265
  const s = i.value, c = i.isChecked(t.value);
@@ -299,7 +299,7 @@ const pe = ({
299
299
  "data-testid": "kibble-menu-content",
300
300
  maxH: f,
301
301
  minW: H,
302
- ...E,
302
+ ...J,
303
303
  children: [
304
304
  (F || m) && /* @__PURE__ */ e.jsxs(
305
305
  I,
@@ -313,13 +313,13 @@ const pe = ({
313
313
  {
314
314
  className: "Menu__SearchBar",
315
315
  "data-testid": "kibble-menu-search-bar",
316
- placeholder: U,
317
- onChange: G,
316
+ placeholder: q,
317
+ onChange: z,
318
318
  size: "sm",
319
- value: J,
319
+ value: K,
320
320
  clearable: !0,
321
321
  onClear: () => {
322
- S(""), G({
322
+ S(""), z({
323
323
  target: { value: "" }
324
324
  });
325
325
  },
@@ -336,7 +336,7 @@ const pe = ({
336
336
  ]
337
337
  }
338
338
  ),
339
- b ? /* @__PURE__ */ e.jsx(k, { justifyContent: "center", py: 5, children: /* @__PURE__ */ e.jsx(xe, {}) }) : /* @__PURE__ */ e.jsx(I, { className: "Menu__List", "data-testid": "kibble-menu-list", children: z.length ? /* @__PURE__ */ e.jsx(e.Fragment, { children: z.map(([t, s]) => {
339
+ b ? /* @__PURE__ */ e.jsx(k, { justifyContent: "center", py: 5, children: /* @__PURE__ */ e.jsx(xe, {}) }) : /* @__PURE__ */ e.jsx(I, { className: "Menu__List", "data-testid": "kibble-menu-list", children: G.length ? /* @__PURE__ */ e.jsx(e.Fragment, { children: G.map(([t, s]) => {
340
340
  const c = t === "default", r = Object.keys(s), x = c ? ne.Fragment : de, Y = s.checkbox?.map(
341
341
  (j) => j.value
342
342
  )?.some(
@@ -366,17 +366,17 @@ const pe = ({
366
366
  fe,
367
367
  {
368
368
  ...C,
369
- shouldTruncateText: q,
369
+ shouldTruncateText: E,
370
370
  ...C.type === "checkbox" && {
371
371
  checked: i.isChecked(C.value)
372
372
  },
373
- onSelect: () => Q(C)
373
+ onSelect: () => U(C)
374
374
  },
375
375
  `menu-item-${t}-${j}-${ee}`
376
376
  ))
377
377
  )
378
378
  ] }, t);
379
- }) }) : /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsx(I, { textAlign: "center", p: 3, children: /* @__PURE__ */ e.jsx(T, { size: "sm", variant: "subtle", children: M }) }) }) })
379
+ }) }) : /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsx(I, { textAlign: "center", p: 3, children: /* @__PURE__ */ e.jsx(B, { size: "sm", variant: "subtle", children: M }) }) }) })
380
380
  ]
381
381
  }
382
382
  ) }) })
@@ -387,4 +387,4 @@ const pe = ({
387
387
  export {
388
388
  je as M
389
389
  };
390
- //# sourceMappingURL=menu.component-Bscyjw7R.js.map
390
+ //# sourceMappingURL=menu.component-xKsPT0Zc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu.component-Bscyjw7R.js","sources":["../../src/components/Menu/components/MenuButton/menuButton.components.tsx","../../src/components/Menu/components/MenuItem/menuItem.component.tsx","../../src/components/Menu/components/MenuToggleButtons/menuToggleButtons.tsx","../../src/components/Menu/menu.component.tsx"],"sourcesContent":["import { Flex } from \"@chakra-ui/react/flex\";\nimport { Button, ButtonProps } from \"components/Button/button.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\nimport React from \"react\";\n\nexport interface MenuButtonProps extends Omit<ButtonProps, \"children\"> {\n hideCaret?: boolean;\n text?: string;\n textProps?: TextProps;\n}\n\nexport const MenuButton = ({\n hideCaret = false,\n size = \"md\",\n text,\n textProps,\n variant,\n ...rest\n}: MenuButtonProps): React.JSX.Element => {\n return (\n <Button\n className=\"Menu__Button\"\n data-testid=\"kibble-menu-button\"\n size={size}\n variant={variant}\n {...rest}\n >\n {text && (\n <Text\n className=\"Menu__ButtonText\"\n data-testid=\"kibble-menu-button-text\"\n fontWeight=\"semibold\"\n size={size}\n color={variant ? \"inherit\" : textProps?.color || \"text.contrast\"}\n truncate\n {...textProps}\n >\n {text}\n </Text>\n )}\n {!hideCaret && (\n <Flex\n className=\"Menu__ButtonCaret\"\n data-testid=\"kibble-menu-button-caret\"\n >\n <Icon name=\"chevronDown\" size={size === \"lg\" ? \"sm\" : \"xs\"} />\n </Flex>\n )}\n </Button>\n );\n};\n","import { Flex } from \"@chakra-ui/react/flex\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport React, { useCallback } from \"react\";\nimport { Text } from \"components/Text/text.component\";\nimport { MenuItemType } from \"./menuItem.types\";\nimport { Menu, MenuProps } from \"components/Menu\";\nimport { TypographyVariant } from \"shared/types/typography\";\nimport { Checkbox } from \"components/Checkbox/checkbox.component\";\nimport { Icon } from \"components/Icon/icon.component\";\n\ninterface BaseMenuItemProps {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n groupLabel?: string;\n onSelect?: (value: string) => void;\n shouldTruncateText?: boolean;\n type?: MenuItemType;\n value: string;\n variant?: TypographyVariant;\n}\n\ninterface DefaultMenuItemProps extends Omit<CMenu.ItemProps, \"onSelect\"> {\n type?: \"default\";\n selected?: boolean;\n}\n\ninterface CheckboxMenuItemProps\n extends Omit<CMenu.CheckboxItemProps, \"onSelect\"> {\n type: \"checkbox\";\n checked: boolean;\n}\n\ninterface SubmenuMenuItemProps extends Omit<MenuProps, \"buttonProps\"> {\n type: \"submenu\";\n valueText?: string;\n}\n\nexport type MenuItemProps = BaseMenuItemProps &\n (DefaultMenuItemProps | CheckboxMenuItemProps | SubmenuMenuItemProps);\n\nexport const MenuItem = ({\n label,\n leftElement,\n onSelect,\n shouldTruncateText,\n type = \"default\",\n variant,\n ...rest\n}: MenuItemProps): React.JSX.Element => {\n const handleOnSelect = useCallback(() => {\n if (onSelect) {\n onSelect(rest.value);\n }\n }, [onSelect, rest.value]);\n\n if (type === \"submenu\") {\n return (\n <Menu\n submenuTrigger={\n <CMenu.TriggerItem\n className=\"Menu__Item--Submenu\"\n data-testid=\"kibble-menu-item-submenu\"\n justifyContent=\"space-between\"\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n <Icon name=\"chevronRight\" size=\"sm\" />\n </CMenu.TriggerItem>\n }\n {...rest}\n />\n );\n }\n\n if (type === \"checkbox\") {\n const { checked, value, ...checkboxRest } = rest as CheckboxMenuItemProps;\n return (\n <CMenu.CheckboxItem\n className=\"Menu__Item--Checkbox\"\n data-testid=\"kibble-menu-item-checkbox\"\n value={value}\n checked={!!checked}\n onCheckedChange={handleOnSelect}\n closeOnSelect={rest.closeOnSelect || false}\n gap={3}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} size=\"md\" />\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n </CMenu.CheckboxItem>\n );\n }\n\n if (type === \"default\") {\n const { selected, value, ...defaultRest } = rest as DefaultMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Default\"\n data-testid=\"kibble-menu-item-default\"\n value={value}\n onSelect={handleOnSelect}\n {...(selected && { bgColor: \"background.secondaryAlpha.hover\" })}\n {...defaultRest}\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={selected ? \"info\" : variant}\n />\n </CMenu.Item>\n );\n }\n\n return <></>;\n};\n\nconst MenuItemLabel = ({\n label,\n leftElement,\n shouldTruncateText,\n variant,\n}: {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n shouldTruncateText?: boolean;\n variant?: TypographyVariant;\n}): React.JSX.Element => {\n return (\n <Flex className=\"Menu__ItemLabel\" alignItems=\"center\" gap={3}>\n {leftElement}\n {typeof label === \"string\" ? (\n <Text size=\"sm\" truncated={shouldTruncateText} variant={variant}>\n {label}\n </Text>\n ) : (\n label\n )}\n </Flex>\n );\n};\n","import { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\ninterface MenuToggleButtonsProps {\n hasSelectedItems?: boolean;\n groupName?: string;\n onToggle: ({\n groupName,\n clear,\n }: {\n clear: boolean;\n groupName?: string;\n }) => void;\n}\n\nexport const MenuToggleButtons = ({\n groupName,\n hasSelectedItems = false,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n const isGrouped = !!groupName;\n return (\n <Box\n className=\"Menu__ToggleButtons\"\n data-testid=\"kibble-menu-toggle-buttons\"\n {...(isGrouped ? { textAlign: \"right\", w: \"50%\" } : { mt: 2 })}\n >\n {isGrouped ? (\n <>\n {hasSelectedItems ? (\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n ) : (\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n )}\n </>\n ) : (\n <Flex justifyContent=\"space-between\">\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n </Flex>\n )}\n </Box>\n );\n};\n\nconst SelectAllButton = ({\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghost\"\n size=\"xs\"\n onClick={(): void => onToggle({ groupName, clear: false })}\n >\n Select All\n </Button>\n );\n};\n\nconst ClearAllButton = ({\n hasSelectedItems,\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghostNeutral\"\n iconName=\"arrowCircle\"\n size=\"xs\"\n disabled={!hasSelectedItems}\n onClick={(): void => onToggle({ groupName, clear: true })}\n >\n Clear All\n </Button>\n );\n};\n","import React, { useCallback, useMemo, useState } from \"react\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n MenuButton,\n MenuButtonProps,\n} from \"./components/MenuButton/menuButton.components\";\nimport {\n MenuItem,\n MenuItemProps,\n} from \"./components/MenuItem/menuItem.component\";\nimport { useCheckboxGroup } from \"@chakra-ui/react/checkbox\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Text } from \"components/Text/text.component\";\nimport { TextInput } from \"components/TextInput/textInput.component\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Spinner } from \"components/Spinner/spinner.component\";\nimport { MenuToggleButtons } from \"./components/MenuToggleButtons/menuToggleButtons\";\n\nexport type MenuListOnSelect =\n | ((selectedItem: string | undefined, allSelectedItems?: string[]) => void)\n | ((\n selectedItem: string | undefined,\n allSelectedItems?: string[],\n ) => Promise<void>);\n\nexport type MenuListOnSelectAll =\n | ((selectedItems: string[]) => void)\n | ((selectedItems: string[]) => Promise<void>);\n\nexport interface MenuListProps extends Omit<CMenu.ContentProps, \"onSelect\"> {\n canSelectAll?: boolean;\n canSelectGroups?: boolean;\n emptyStateText?: string;\n loading?: boolean;\n menuItems?: MenuItemProps[];\n onSearch?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onSelect?: MenuListOnSelect;\n onSelectAll?: MenuListOnSelectAll;\n searchable?: boolean;\n searchPlaceholder?: string;\n shouldTruncateText?: boolean;\n}\n\nexport interface MenuProps extends Omit<CMenu.RootProps, \"children\"> {\n buttonProps?: MenuButtonProps;\n listProps?: MenuListProps;\n portalled?: boolean;\n}\n\ninterface InternalMenuProps extends MenuProps {\n submenuTrigger?: React.ReactNode;\n}\n\nexport const Menu = ({\n buttonProps,\n listProps,\n portalled = false,\n submenuTrigger,\n ...rest\n}: InternalMenuProps): React.JSX.Element => {\n const {\n canSelectAll,\n canSelectGroups,\n emptyStateText = \"No results found\",\n loading,\n maxH = \"480px\",\n menuItems = [],\n minW = \"240px\",\n onSearch,\n onSelect,\n onSelectAll,\n searchable,\n searchPlaceholder = \"Search...\",\n shouldTruncateText,\n ...restListProps\n } = listProps || {};\n const [searchText, setSearchText] = useState<string>(\"\");\n const [filteredMenuItems, setFilteredMenuItems] =\n useState<MenuItemProps[]>(menuItems);\n\n // Menu Items\n const groupedItems = useMemo(() => {\n const groups: Record<string, Record<string, MenuItemProps[]>> = {};\n\n filteredMenuItems?.forEach((item) => {\n const group = item.groupLabel || \"default\";\n // Default and submenu items are grouped under \"default\"\n const type = item.type === \"checkbox\" ? \"checkbox\" : \"default\";\n\n if (!groups[group]) {\n groups[group] = {};\n }\n\n if (!groups[group][type]) {\n groups[group][type] = [];\n }\n\n groups[group][type].push(item);\n });\n\n return groups;\n }, [filteredMenuItems]);\n\n const groups = useMemo(() => Object.entries(groupedItems), [groupedItems]);\n\n // Checkbox State Management\n const checkboxItems = useMemo(\n () => menuItems?.filter((item) => item.type === \"checkbox\") || [],\n [menuItems],\n );\n\n const defaultSelectedItems = useMemo(() => {\n const selectedMenuItems =\n checkboxItems?.filter((item) => item.checked) || [];\n return selectedMenuItems.map((item) => item.value);\n }, [checkboxItems]);\n\n const selectedItems = useCheckboxGroup({\n defaultValue: defaultSelectedItems,\n });\n\n // Search\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const searchInput = e.target.value;\n setSearchText(searchInput);\n\n if (onSearch) {\n onSearch(e);\n } else {\n if (searchInput === \"\" || !searchInput) {\n setFilteredMenuItems(menuItems);\n } else {\n const filterdItems = menuItems.filter((item): boolean => {\n const labelText =\n typeof item.label === \"string\" ? item.label : item.valueText;\n\n return !!labelText\n ?.toLowerCase()\n .includes(searchInput.toLowerCase());\n });\n setFilteredMenuItems(filterdItems);\n }\n }\n },\n [menuItems, onSearch],\n );\n\n // Selection\n const handleToggle = useCallback(\n ({ groupName, clear }: { groupName?: string; clear: boolean }) => {\n let newValues: string[] = [];\n if (groupName) {\n const groupItems = checkboxItems\n .filter((item) => item.groupLabel === groupName)\n .map((item) => item.value);\n newValues = clear\n ? selectedItems.value.filter((value) => !groupItems.includes(value))\n : [...selectedItems.value, ...groupItems];\n } else {\n newValues = clear ? [] : checkboxItems.map((item) => item.value);\n }\n onSelectAll?.(newValues);\n selectedItems.setValue(newValues);\n },\n [checkboxItems, onSelectAll, selectedItems],\n );\n\n const handleSelect = useCallback(\n (item: MenuItemProps) => {\n item.onSelect?.(item.value);\n const currentSelection = selectedItems.value;\n const isItemSelected = selectedItems.isChecked(item.value);\n onSelect?.(\n item.value,\n isItemSelected\n ? currentSelection.filter((value) => value !== item.value)\n : [...currentSelection, item.value],\n );\n if (item.type === \"checkbox\") {\n selectedItems.toggleValue(item.value);\n }\n },\n [onSelect, selectedItems],\n );\n\n // Cleanup\n const handleCleanup = useCallback(\n (open: boolean) => {\n if (!open) {\n setSearchText(\"\");\n setFilteredMenuItems(menuItems);\n }\n },\n [menuItems],\n );\n\n return (\n <CMenu.Root\n {...rest}\n onOpenChange={(details) => {\n handleCleanup(details.open);\n rest.onOpenChange?.(details);\n }}\n >\n {!submenuTrigger ? (\n <CMenu.Trigger\n asChild\n className=\"Menu__Trigger\"\n data-testid=\"kibble-menu-trigger\"\n >\n <MenuButton {...buttonProps} />\n </CMenu.Trigger>\n ) : (\n submenuTrigger\n )}\n <Portal disabled={!portalled}>\n <CMenu.Positioner className=\"Menu\" data-testid=\"kibble-menu\">\n <CMenu.Content\n className=\"Menu__Content\"\n data-testid=\"kibble-menu-content\"\n maxH={maxH}\n minW={minW}\n {...restListProps}\n >\n {(searchable || canSelectAll) && (\n <Box\n className=\"Menu__Header\"\n data-testid=\"kibble-menu-header\"\n m=\"0 12px 8px\"\n >\n {searchable && (\n <TextInput\n className=\"Menu__SearchBar\"\n data-testid=\"kibble-menu-search-bar\"\n placeholder={searchPlaceholder}\n onChange={handleSearch}\n size=\"sm\"\n value={searchText}\n clearable\n onClear={(): void => {\n setSearchText(\"\");\n handleSearch({\n target: { value: \"\" },\n } as React.ChangeEvent<HTMLInputElement>);\n }}\n formControlStyle={{ mt: 1 }}\n />\n )}\n {canSelectAll && !!checkboxItems.length && (\n <MenuToggleButtons\n onToggle={handleToggle}\n hasSelectedItems={!!selectedItems.value.length}\n />\n )}\n </Box>\n )}\n {!loading ? (\n <Box className=\"Menu__List\" data-testid=\"kibble-menu-list\">\n {groups.length ? (\n <>\n {groups.map(([groupLabel, types]) => {\n const isDefaultGroup = groupLabel === \"default\";\n const itemTypes = Object.keys(types);\n const MenuGroupContainer = !isDefaultGroup\n ? CMenu.ItemGroup\n : React.Fragment;\n const groupValues = types[\"checkbox\"]?.map(\n (item) => item.value,\n );\n const hasSelectedItems = groupValues?.some((value) =>\n selectedItems.value.includes(value),\n );\n return (\n <MenuGroupContainer key={groupLabel}>\n {!isDefaultGroup && (\n <CMenu.ItemGroupLabel>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n {groupLabel}\n {canSelectGroups &&\n itemTypes.includes(\"checkbox\") && (\n <MenuToggleButtons\n groupName={groupLabel}\n onToggle={handleToggle}\n hasSelectedItems={hasSelectedItems}\n />\n )}\n </Flex>\n </CMenu.ItemGroupLabel>\n )}\n {Object.entries(types).map(([type, items]) =>\n items.map((item, index) => (\n <MenuItem\n key={`menu-item-${groupLabel}-${type}-${index}`}\n {...item}\n shouldTruncateText={shouldTruncateText}\n {...(item.type === \"checkbox\" && {\n checked: selectedItems.isChecked(item.value),\n })}\n onSelect={() => handleSelect(item)}\n />\n )),\n )}\n </MenuGroupContainer>\n );\n })}\n </>\n ) : (\n <>\n <Box textAlign=\"center\" p={3}>\n <Text size=\"sm\" variant=\"subtle\">\n {emptyStateText}\n </Text>\n </Box>\n </>\n )}\n </Box>\n ) : (\n <Flex justifyContent=\"center\" py={5}>\n <Spinner />\n </Flex>\n )}\n </CMenu.Content>\n </CMenu.Positioner>\n </Portal>\n </CMenu.Root>\n );\n};\n"],"names":["MenuButton","hideCaret","size","text","textProps","variant","rest","jsxs","Button","jsx","Text","Flex","Icon","MenuItem","label","leftElement","onSelect","shouldTruncateText","type","handleOnSelect","useCallback","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","checkboxRest","CMenu.CheckboxItem","Checkbox","selected","defaultRest","CMenu.Item","Fragment","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","Box","ClearAllButton","SelectAllButton","buttonProps","listProps","portalled","submenuTrigger","canSelectAll","canSelectGroups","emptyStateText","loading","maxH","menuItems","minW","onSearch","onSelectAll","searchable","searchPlaceholder","restListProps","searchText","setSearchText","useState","filteredMenuItems","setFilteredMenuItems","groupedItems","useMemo","groups","item","group","checkboxItems","defaultSelectedItems","selectedItems","useCheckboxGroup","handleSearch","e","searchInput","filterdItems","handleToggle","clear","newValues","groupItems","handleSelect","currentSelection","isItemSelected","handleCleanup","open","CMenu.Root","details","CMenu.Trigger","Portal","CMenu.Positioner","CMenu.Content","TextInput","Spinner","groupLabel","types","isDefaultGroup","itemTypes","MenuGroupContainer","React","CMenu.ItemGroup","CMenu.ItemGroupLabel","items","index"],"mappings":"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"}
1
+ {"version":3,"file":"menu.component-xKsPT0Zc.js","sources":["../../src/components/Menu/components/MenuButton/menuButton.components.tsx","../../src/components/Menu/components/MenuItem/menuItem.component.tsx","../../src/components/Menu/components/MenuToggleButtons/menuToggleButtons.tsx","../../src/components/Menu/menu.component.tsx"],"sourcesContent":["import { Flex } from \"@chakra-ui/react/flex\";\nimport { Button, ButtonProps } from \"components/Button/button.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\nimport React from \"react\";\n\nexport interface MenuButtonProps extends Omit<ButtonProps, \"children\"> {\n hideCaret?: boolean;\n text?: string;\n textProps?: TextProps;\n}\n\nexport const MenuButton = ({\n hideCaret = false,\n size = \"md\",\n text,\n textProps,\n variant,\n ...rest\n}: MenuButtonProps): React.JSX.Element => {\n return (\n <Button\n className=\"Menu__Button\"\n data-testid=\"kibble-menu-button\"\n size={size}\n variant={variant}\n {...rest}\n >\n {text && (\n <Text\n className=\"Menu__ButtonText\"\n data-testid=\"kibble-menu-button-text\"\n fontWeight=\"semibold\"\n size={size}\n color={variant ? \"inherit\" : textProps?.color || \"text.contrast\"}\n truncate\n {...textProps}\n >\n {text}\n </Text>\n )}\n {!hideCaret && (\n <Flex\n className=\"Menu__ButtonCaret\"\n data-testid=\"kibble-menu-button-caret\"\n >\n <Icon name=\"chevronDown\" size={size === \"lg\" ? \"sm\" : \"xs\"} />\n </Flex>\n )}\n </Button>\n );\n};\n","import { Flex } from \"@chakra-ui/react/flex\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport React, { useCallback } from \"react\";\nimport { Text } from \"components/Text/text.component\";\nimport { MenuItemType } from \"./menuItem.types\";\nimport { Menu, MenuProps } from \"components/Menu\";\nimport { TypographyVariant } from \"shared/types/typography\";\nimport { Checkbox } from \"components/Checkbox/checkbox.component\";\nimport { Icon } from \"components/Icon/icon.component\";\n\ninterface BaseMenuItemProps {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n groupLabel?: string;\n onSelect?: (value: string) => void;\n shouldTruncateText?: boolean;\n type?: MenuItemType;\n value: string;\n variant?: TypographyVariant;\n}\n\ninterface DefaultMenuItemProps extends Omit<CMenu.ItemProps, \"onSelect\"> {\n type?: \"default\";\n selected?: boolean;\n}\n\ninterface CheckboxMenuItemProps\n extends Omit<CMenu.CheckboxItemProps, \"onSelect\"> {\n type: \"checkbox\";\n checked: boolean;\n}\n\ninterface SubmenuMenuItemProps extends Omit<MenuProps, \"buttonProps\"> {\n type: \"submenu\";\n valueText?: string;\n}\n\nexport type MenuItemProps = BaseMenuItemProps &\n (DefaultMenuItemProps | CheckboxMenuItemProps | SubmenuMenuItemProps);\n\nexport const MenuItem = ({\n label,\n leftElement,\n onSelect,\n shouldTruncateText,\n type = \"default\",\n variant,\n ...rest\n}: MenuItemProps): React.JSX.Element => {\n const handleOnSelect = useCallback(() => {\n if (onSelect) {\n onSelect(rest.value);\n }\n }, [onSelect, rest.value]);\n\n if (type === \"submenu\") {\n return (\n <Menu\n submenuTrigger={\n <CMenu.TriggerItem\n className=\"Menu__Item--Submenu\"\n data-testid=\"kibble-menu-item-submenu\"\n justifyContent=\"space-between\"\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n <Icon name=\"chevronRight\" size=\"sm\" />\n </CMenu.TriggerItem>\n }\n {...rest}\n />\n );\n }\n\n if (type === \"checkbox\") {\n const { checked, value, ...checkboxRest } = rest as CheckboxMenuItemProps;\n return (\n <CMenu.CheckboxItem\n className=\"Menu__Item--Checkbox\"\n data-testid=\"kibble-menu-item-checkbox\"\n value={value}\n checked={!!checked}\n onCheckedChange={handleOnSelect}\n closeOnSelect={rest.closeOnSelect || false}\n gap={3}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} size=\"md\" />\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n </CMenu.CheckboxItem>\n );\n }\n\n if (type === \"default\") {\n const { selected, value, ...defaultRest } = rest as DefaultMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Default\"\n data-testid=\"kibble-menu-item-default\"\n value={value}\n onSelect={handleOnSelect}\n {...(selected && { bgColor: \"background.secondaryAlpha.hover\" })}\n {...defaultRest}\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={selected ? \"info\" : variant}\n />\n </CMenu.Item>\n );\n }\n\n return <></>;\n};\n\nconst MenuItemLabel = ({\n label,\n leftElement,\n shouldTruncateText,\n variant,\n}: {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n shouldTruncateText?: boolean;\n variant?: TypographyVariant;\n}): React.JSX.Element => {\n return (\n <Flex className=\"Menu__ItemLabel\" alignItems=\"center\" gap={3}>\n {leftElement}\n {typeof label === \"string\" ? (\n <Text size=\"sm\" truncated={shouldTruncateText} variant={variant}>\n {label}\n </Text>\n ) : (\n label\n )}\n </Flex>\n );\n};\n","import { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\ninterface MenuToggleButtonsProps {\n hasSelectedItems?: boolean;\n groupName?: string;\n onToggle: ({\n groupName,\n clear,\n }: {\n clear: boolean;\n groupName?: string;\n }) => void;\n}\n\nexport const MenuToggleButtons = ({\n groupName,\n hasSelectedItems = false,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n const isGrouped = !!groupName;\n return (\n <Box\n className=\"Menu__ToggleButtons\"\n data-testid=\"kibble-menu-toggle-buttons\"\n {...(isGrouped ? { textAlign: \"right\", w: \"50%\" } : { mt: 2 })}\n >\n {isGrouped ? (\n <>\n {hasSelectedItems ? (\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n ) : (\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n )}\n </>\n ) : (\n <Flex justifyContent=\"space-between\">\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n </Flex>\n )}\n </Box>\n );\n};\n\nconst SelectAllButton = ({\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghost\"\n size=\"xs\"\n onClick={(): void => onToggle({ groupName, clear: false })}\n >\n Select All\n </Button>\n );\n};\n\nconst ClearAllButton = ({\n hasSelectedItems,\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghostNeutral\"\n iconName=\"arrowCircle\"\n size=\"xs\"\n disabled={!hasSelectedItems}\n onClick={(): void => onToggle({ groupName, clear: true })}\n >\n Clear All\n </Button>\n );\n};\n","import React, { useCallback, useMemo, useState } from \"react\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n MenuButton,\n MenuButtonProps,\n} from \"./components/MenuButton/menuButton.components\";\nimport {\n MenuItem,\n MenuItemProps,\n} from \"./components/MenuItem/menuItem.component\";\nimport { useCheckboxGroup } from \"@chakra-ui/react/checkbox\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Text } from \"components/Text/text.component\";\nimport { TextInput } from \"components/TextInput/textInput.component\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Spinner } from \"components/Spinner/spinner.component\";\nimport { MenuToggleButtons } from \"./components/MenuToggleButtons/menuToggleButtons\";\n\nexport type MenuListOnSelect =\n | ((selectedItem: string | undefined, allSelectedItems?: string[]) => void)\n | ((\n selectedItem: string | undefined,\n allSelectedItems?: string[],\n ) => Promise<void>);\n\nexport type MenuListOnSelectAll =\n | ((selectedItems: string[]) => void)\n | ((selectedItems: string[]) => Promise<void>);\n\nexport interface MenuListProps extends Omit<CMenu.ContentProps, \"onSelect\"> {\n canSelectAll?: boolean;\n canSelectGroups?: boolean;\n emptyStateText?: string;\n loading?: boolean;\n menuItems?: MenuItemProps[];\n onSearch?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onSelect?: MenuListOnSelect;\n onSelectAll?: MenuListOnSelectAll;\n searchable?: boolean;\n searchPlaceholder?: string;\n shouldTruncateText?: boolean;\n}\n\nexport interface MenuProps extends Omit<CMenu.RootProps, \"children\"> {\n buttonProps?: MenuButtonProps;\n listProps?: MenuListProps;\n portalled?: boolean;\n}\n\ninterface InternalMenuProps extends MenuProps {\n submenuTrigger?: React.ReactNode;\n}\n\nexport const Menu = ({\n buttonProps,\n listProps,\n portalled = false,\n submenuTrigger,\n ...rest\n}: InternalMenuProps): React.JSX.Element => {\n const {\n canSelectAll,\n canSelectGroups,\n emptyStateText = \"No results found\",\n loading,\n maxH = \"480px\",\n menuItems = [],\n minW = \"240px\",\n onSearch,\n onSelect,\n onSelectAll,\n searchable,\n searchPlaceholder = \"Search...\",\n shouldTruncateText,\n ...restListProps\n } = listProps || {};\n const [searchText, setSearchText] = useState<string>(\"\");\n const [filteredMenuItems, setFilteredMenuItems] =\n useState<MenuItemProps[]>(menuItems);\n\n // Menu Items\n const groupedItems = useMemo(() => {\n const groups: Record<string, Record<string, MenuItemProps[]>> = {};\n\n filteredMenuItems?.forEach((item) => {\n const group = item.groupLabel || \"default\";\n // Default and submenu items are grouped under \"default\"\n const type = item.type === \"checkbox\" ? \"checkbox\" : \"default\";\n\n if (!groups[group]) {\n groups[group] = {};\n }\n\n if (!groups[group][type]) {\n groups[group][type] = [];\n }\n\n groups[group][type].push(item);\n });\n\n return groups;\n }, [filteredMenuItems]);\n\n const groups = useMemo(() => Object.entries(groupedItems), [groupedItems]);\n\n // Checkbox State Management\n const checkboxItems = useMemo(\n () => menuItems?.filter((item) => item.type === \"checkbox\") || [],\n [menuItems],\n );\n\n const defaultSelectedItems = useMemo(() => {\n const selectedMenuItems =\n checkboxItems?.filter((item) => item.checked) || [];\n return selectedMenuItems.map((item) => item.value);\n }, [checkboxItems]);\n\n const selectedItems = useCheckboxGroup({\n defaultValue: defaultSelectedItems,\n });\n\n // Search\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const searchInput = e.target.value;\n setSearchText(searchInput);\n\n if (onSearch) {\n onSearch(e);\n } else {\n if (searchInput === \"\" || !searchInput) {\n setFilteredMenuItems(menuItems);\n } else {\n const filterdItems = menuItems.filter((item): boolean => {\n const labelText =\n typeof item.label === \"string\" ? item.label : item.valueText;\n\n return !!labelText\n ?.toLowerCase()\n .includes(searchInput.toLowerCase());\n });\n setFilteredMenuItems(filterdItems);\n }\n }\n },\n [menuItems, onSearch],\n );\n\n // Selection\n const handleToggle = useCallback(\n ({ groupName, clear }: { groupName?: string; clear: boolean }) => {\n let newValues: string[] = [];\n if (groupName) {\n const groupItems = checkboxItems\n .filter((item) => item.groupLabel === groupName)\n .map((item) => item.value);\n newValues = clear\n ? selectedItems.value.filter((value) => !groupItems.includes(value))\n : [...selectedItems.value, ...groupItems];\n } else {\n newValues = clear ? [] : checkboxItems.map((item) => item.value);\n }\n onSelectAll?.(newValues);\n selectedItems.setValue(newValues);\n },\n [checkboxItems, onSelectAll, selectedItems],\n );\n\n const handleSelect = useCallback(\n (item: MenuItemProps) => {\n item.onSelect?.(item.value);\n const currentSelection = selectedItems.value;\n const isItemSelected = selectedItems.isChecked(item.value);\n onSelect?.(\n item.value,\n isItemSelected\n ? currentSelection.filter((value) => value !== item.value)\n : [...currentSelection, item.value],\n );\n if (item.type === \"checkbox\") {\n selectedItems.toggleValue(item.value);\n }\n },\n [onSelect, selectedItems],\n );\n\n // Cleanup\n const handleCleanup = useCallback(\n (open: boolean) => {\n if (!open) {\n setSearchText(\"\");\n setFilteredMenuItems(menuItems);\n }\n },\n [menuItems],\n );\n\n return (\n <CMenu.Root\n {...rest}\n onOpenChange={(details) => {\n handleCleanup(details.open);\n rest.onOpenChange?.(details);\n }}\n >\n {!submenuTrigger ? (\n <CMenu.Trigger\n asChild\n className=\"Menu__Trigger\"\n data-testid=\"kibble-menu-trigger\"\n >\n <MenuButton {...buttonProps} />\n </CMenu.Trigger>\n ) : (\n submenuTrigger\n )}\n <Portal disabled={!portalled}>\n <CMenu.Positioner className=\"Menu\" data-testid=\"kibble-menu\">\n <CMenu.Content\n className=\"Menu__Content\"\n data-testid=\"kibble-menu-content\"\n maxH={maxH}\n minW={minW}\n {...restListProps}\n >\n {(searchable || canSelectAll) && (\n <Box\n className=\"Menu__Header\"\n data-testid=\"kibble-menu-header\"\n m=\"0 12px 8px\"\n >\n {searchable && (\n <TextInput\n className=\"Menu__SearchBar\"\n data-testid=\"kibble-menu-search-bar\"\n placeholder={searchPlaceholder}\n onChange={handleSearch}\n size=\"sm\"\n value={searchText}\n clearable\n onClear={(): void => {\n setSearchText(\"\");\n handleSearch({\n target: { value: \"\" },\n } as React.ChangeEvent<HTMLInputElement>);\n }}\n formControlStyle={{ mt: 1 }}\n />\n )}\n {canSelectAll && !!checkboxItems.length && (\n <MenuToggleButtons\n onToggle={handleToggle}\n hasSelectedItems={!!selectedItems.value.length}\n />\n )}\n </Box>\n )}\n {!loading ? (\n <Box className=\"Menu__List\" data-testid=\"kibble-menu-list\">\n {groups.length ? (\n <>\n {groups.map(([groupLabel, types]) => {\n const isDefaultGroup = groupLabel === \"default\";\n const itemTypes = Object.keys(types);\n const MenuGroupContainer = !isDefaultGroup\n ? CMenu.ItemGroup\n : React.Fragment;\n const groupValues = types[\"checkbox\"]?.map(\n (item) => item.value,\n );\n const hasSelectedItems = groupValues?.some((value) =>\n selectedItems.value.includes(value),\n );\n return (\n <MenuGroupContainer key={groupLabel}>\n {!isDefaultGroup && (\n <CMenu.ItemGroupLabel>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n {groupLabel}\n {canSelectGroups &&\n itemTypes.includes(\"checkbox\") && (\n <MenuToggleButtons\n groupName={groupLabel}\n onToggle={handleToggle}\n hasSelectedItems={hasSelectedItems}\n />\n )}\n </Flex>\n </CMenu.ItemGroupLabel>\n )}\n {Object.entries(types).map(([type, items]) =>\n items.map((item, index) => (\n <MenuItem\n key={`menu-item-${groupLabel}-${type}-${index}`}\n {...item}\n shouldTruncateText={shouldTruncateText}\n {...(item.type === \"checkbox\" && {\n checked: selectedItems.isChecked(item.value),\n })}\n onSelect={() => handleSelect(item)}\n />\n )),\n )}\n </MenuGroupContainer>\n );\n })}\n </>\n ) : (\n <>\n <Box textAlign=\"center\" p={3}>\n <Text size=\"sm\" variant=\"subtle\">\n {emptyStateText}\n </Text>\n </Box>\n </>\n )}\n </Box>\n ) : (\n <Flex justifyContent=\"center\" py={5}>\n <Spinner />\n </Flex>\n )}\n </CMenu.Content>\n </CMenu.Positioner>\n </Portal>\n </CMenu.Root>\n );\n};\n"],"names":["MenuButton","hideCaret","size","text","textProps","variant","rest","jsxs","Button","jsx","Text","Flex","Icon","MenuItem","label","leftElement","onSelect","shouldTruncateText","type","handleOnSelect","useCallback","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","checkboxRest","CMenu.CheckboxItem","Checkbox","selected","defaultRest","CMenu.Item","Fragment","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","Box","ClearAllButton","SelectAllButton","buttonProps","listProps","portalled","submenuTrigger","canSelectAll","canSelectGroups","emptyStateText","loading","maxH","menuItems","minW","onSearch","onSelectAll","searchable","searchPlaceholder","restListProps","searchText","setSearchText","useState","filteredMenuItems","setFilteredMenuItems","groupedItems","useMemo","groups","item","group","checkboxItems","defaultSelectedItems","selectedItems","useCheckboxGroup","handleSearch","e","searchInput","filterdItems","handleToggle","clear","newValues","groupItems","handleSelect","currentSelection","isItemSelected","handleCleanup","open","CMenu.Root","details","CMenu.Trigger","Portal","CMenu.Positioner","CMenu.Content","TextInput","Spinner","groupLabel","types","isDefaultGroup","itemTypes","MenuGroupContainer","React","CMenu.ItemGroup","CMenu.ItemGroupLabel","items","index"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("./vendor-D-x6W6ez.js"),R=require("react"),a=require("./button.component-DDjwI0xh.js"),e=require("./chakra-DmF8Cxqs.js"),_=require("./heading.component-CExbjSBi.js"),k=({children:o,destructive:i,disabled:l,hideCancel:s=!1,loading:n,loadingText:r,onCancel:d,onSubmit:c,submitText:m="Submit",...x})=>t.jsxRuntimeExports.jsx(e.DialogFooter,{className:"Modal__Footer","data-testid":"kibble-modal-footer",...x,children:o||t.jsxRuntimeExports.jsxs(e.Flex,{alignItems:"center",justifyContent:"space-between",w:"100%",children:[!s&&t.jsxRuntimeExports.jsx(e.DialogActionTrigger,{asChild:!0,className:"Modal__CancelButton","data-testid":"kibble-modal-cancel-button",children:t.jsxRuntimeExports.jsx(a.Button,{variant:"tertiary",onClick:d,children:"Cancel"})}),t.jsxRuntimeExports.jsx(a.Button,{className:"Modal__SubmitButton","data-testid":"kibble-modal-submit-button",onClick:c,loading:n,loadingText:r,disabled:l,variant:i?"primaryDestructive":"primary",children:m})]})}),B=({children:o,footerProps:i,fullScreenMobile:l=!0,header:s,headerProps:n,hideCloseButton:r=!1,hideFooter:d=!1,motionPreset:c="slide-in-bottom",placement:m="center",showExpandButton:x=!1,size:u="md",trigger:j,...b})=>{const[p,g]=R.useState(!1),h=e.useBreakpointValue({base:l?"full":u,md:u});return t.jsxRuntimeExports.jsxs(e.DialogRoot,{motionPreset:c,placement:m,size:h,...b,expanded:p,children:[j&&t.jsxRuntimeExports.jsx(e.DialogTrigger,{asChild:!0,children:j}),t.jsxRuntimeExports.jsxs(t.Portal,{children:[t.jsxRuntimeExports.jsx(e.DialogBackdrop,{}),t.jsxRuntimeExports.jsx(e.DialogPositioner,{children:t.jsxRuntimeExports.jsxs(e.DialogContent,{className:"Modal","data-testid":"kibble-modal",children:[!r&&t.jsxRuntimeExports.jsx(e.DialogCloseTrigger,{asChild:!0,className:"Modal__CloseButton","data-testid":"kibble-modal-close-button",children:t.jsxRuntimeExports.jsx(a.Button,{iconName:"close",variant:"ghostNeutral"})}),x&&t.jsxRuntimeExports.jsx(a.Button,{className:"Modal__ExpandButton","data-testid":"kibble-modal-expand-button",variant:"ghostNeutral",iconName:p?"arrowsIn":"arrowsOut",position:"absolute",top:2,right:12,onClick:()=>g(E=>!E)}),t.jsxRuntimeExports.jsx(e.DialogHeader,{className:"Modal__Header","data-testid":"kibble-modal-header",children:s&&t.jsxRuntimeExports.jsx(e.DialogTitle,{className:"Modal__Title","data-testid":"kibble-modal-title",children:typeof s=="string"?t.jsxRuntimeExports.jsx(_.WrappedHeading,{size:"xl",...n,children:s}):s})}),t.jsxRuntimeExports.jsx(e.DialogBody,{className:"Modal__Body","data-testid":"kibble-modal-body",children:o}),!d&&t.jsxRuntimeExports.jsx(k,{...i})]})})]})]})},M=["xs","sm","md","lg","cover","full"],N=["center","top","bottom"],C=["inside","outside"],D=["scale","slide-in-bottom","slide-in-top","slide-in-left","slide-in-right","none"];exports.Modal=B;exports.modalMotionPresets=D;exports.modalPlacements=N;exports.modalScrollBehaviors=C;exports.modalSizes=M;
2
- //# sourceMappingURL=modal.types-CELCFObr.js.map
1
+ "use strict";const t=require("./vendor-DcKGwQlH.js"),R=require("react"),a=require("./button.component-DnWrqGc4.js"),e=require("./chakra-BHjfByoV.js"),_=require("./heading.component-C92ZA4Md.js"),k=({children:o,destructive:i,disabled:l,hideCancel:s=!1,loading:n,loadingText:r,onCancel:d,onSubmit:c,submitText:m="Submit",...x})=>t.jsxRuntimeExports.jsx(e.DialogFooter,{className:"Modal__Footer","data-testid":"kibble-modal-footer",...x,children:o||t.jsxRuntimeExports.jsxs(e.Flex,{alignItems:"center",justifyContent:"space-between",w:"100%",children:[!s&&t.jsxRuntimeExports.jsx(e.DialogActionTrigger,{asChild:!0,className:"Modal__CancelButton","data-testid":"kibble-modal-cancel-button",children:t.jsxRuntimeExports.jsx(a.Button,{variant:"tertiary",onClick:d,children:"Cancel"})}),t.jsxRuntimeExports.jsx(a.Button,{className:"Modal__SubmitButton","data-testid":"kibble-modal-submit-button",onClick:c,loading:n,loadingText:r,disabled:l,variant:i?"primaryDestructive":"primary",children:m})]})}),B=({children:o,footerProps:i,fullScreenMobile:l=!0,header:s,headerProps:n,hideCloseButton:r=!1,hideFooter:d=!1,motionPreset:c="slide-in-bottom",placement:m="center",showExpandButton:x=!1,size:u="md",trigger:j,...b})=>{const[p,g]=R.useState(!1),h=e.useBreakpointValue({base:l?"full":u,md:u});return t.jsxRuntimeExports.jsxs(e.DialogRoot,{motionPreset:c,placement:m,size:h,...b,expanded:p,children:[j&&t.jsxRuntimeExports.jsx(e.DialogTrigger,{asChild:!0,children:j}),t.jsxRuntimeExports.jsxs(t.Portal,{children:[t.jsxRuntimeExports.jsx(e.DialogBackdrop,{}),t.jsxRuntimeExports.jsx(e.DialogPositioner,{children:t.jsxRuntimeExports.jsxs(e.DialogContent,{className:"Modal","data-testid":"kibble-modal",children:[!r&&t.jsxRuntimeExports.jsx(e.DialogCloseTrigger,{asChild:!0,className:"Modal__CloseButton","data-testid":"kibble-modal-close-button",children:t.jsxRuntimeExports.jsx(a.Button,{iconName:"close",variant:"ghostNeutral"})}),x&&t.jsxRuntimeExports.jsx(a.Button,{className:"Modal__ExpandButton","data-testid":"kibble-modal-expand-button",variant:"ghostNeutral",iconName:p?"arrowsIn":"arrowsOut",position:"absolute",top:2,right:12,onClick:()=>g(E=>!E)}),t.jsxRuntimeExports.jsx(e.DialogHeader,{className:"Modal__Header","data-testid":"kibble-modal-header",children:s&&t.jsxRuntimeExports.jsx(e.DialogTitle,{className:"Modal__Title","data-testid":"kibble-modal-title",children:typeof s=="string"?t.jsxRuntimeExports.jsx(_.WrappedHeading,{size:"xl",...n,children:s}):s})}),t.jsxRuntimeExports.jsx(e.DialogBody,{className:"Modal__Body","data-testid":"kibble-modal-body",children:o}),!d&&t.jsxRuntimeExports.jsx(k,{...i})]})})]})]})},M=["xs","sm","md","lg","cover","full"],N=["center","top","bottom"],C=["inside","outside"],D=["scale","slide-in-bottom","slide-in-top","slide-in-left","slide-in-right","none"];exports.Modal=B;exports.modalMotionPresets=D;exports.modalPlacements=N;exports.modalScrollBehaviors=C;exports.modalSizes=M;
2
+ //# sourceMappingURL=modal.types-Bhcd1P_H.js.map