@televet/kibble-ui 4.0.0-beta.76 → 4.0.0-beta.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/dist/chunks/{alert.types-nvUPBs5x.js → alert.types-C1hSbPAj.js} +2 -2
  2. package/dist/chunks/{alert.types-nvUPBs5x.js.map → alert.types-C1hSbPAj.js.map} +1 -1
  3. package/dist/chunks/{alert.types-PdqwnPFk.js → alert.types-pRFStpHD.js} +3 -3
  4. package/dist/chunks/{alert.types-PdqwnPFk.js.map → alert.types-pRFStpHD.js.map} +1 -1
  5. package/dist/chunks/{avatar.component-CBN_huX5.js → avatar.component-BSA7tJUO.js} +2 -2
  6. package/dist/chunks/{avatar.component-CBN_huX5.js.map → avatar.component-BSA7tJUO.js.map} +1 -1
  7. package/dist/chunks/{avatar.component-ChgtiH34.js → avatar.component-BwRv7qvB.js} +13 -13
  8. package/dist/chunks/{avatar.component-ChgtiH34.js.map → avatar.component-BwRv7qvB.js.map} +1 -1
  9. package/dist/chunks/{avatarGroup.component-DqY1U0nn.js → avatarGroup.component-CtNUO8FY.js} +2 -2
  10. package/dist/chunks/{avatarGroup.component-DqY1U0nn.js.map → avatarGroup.component-CtNUO8FY.js.map} +1 -1
  11. package/dist/chunks/{avatarGroup.component-BdS6rqSd.js → avatarGroup.component-DQ8vHW56.js} +2 -2
  12. package/dist/chunks/{avatarGroup.component-BdS6rqSd.js.map → avatarGroup.component-DQ8vHW56.js.map} +1 -1
  13. package/dist/chunks/{buttonGroup.component-B0YaQeld.js → buttonGroup.component-B7YBMn5C.js} +2 -2
  14. package/dist/chunks/{buttonGroup.component-B0YaQeld.js.map → buttonGroup.component-B7YBMn5C.js.map} +1 -1
  15. package/dist/chunks/{buttonGroup.component-Dw1eWco8.js → buttonGroup.component-Cg_TQped.js} +2 -2
  16. package/dist/chunks/{buttonGroup.component-Dw1eWco8.js.map → buttonGroup.component-Cg_TQped.js.map} +1 -1
  17. package/dist/chunks/{characterCounter.component-D2yESqaY.js → characterCounter.component-0p9iEi6i.js} +2 -2
  18. package/dist/chunks/{characterCounter.component-D2yESqaY.js.map → characterCounter.component-0p9iEi6i.js.map} +1 -1
  19. package/dist/chunks/{characterCounter.component-DL4T3MCU.js → characterCounter.component-B7PijscW.js} +2 -2
  20. package/dist/chunks/{characterCounter.component-DL4T3MCU.js.map → characterCounter.component-B7PijscW.js.map} +1 -1
  21. package/dist/chunks/{checkbox.component-Ctl_OMbe.js → checkbox.component-C3SpCA_Q.js} +10 -10
  22. package/dist/chunks/{checkbox.component-Ctl_OMbe.js.map → checkbox.component-C3SpCA_Q.js.map} +1 -1
  23. package/dist/chunks/{checkbox.component-C9K_0aVs.js → checkbox.component-Dt23wSaV.js} +2 -2
  24. package/dist/chunks/{checkbox.component-C9K_0aVs.js.map → checkbox.component-Dt23wSaV.js.map} +1 -1
  25. package/dist/chunks/{checkbox.records-CSpdkmTY.js → checkbox.records-4j704fMI.js} +12 -12
  26. package/dist/chunks/{checkbox.records-CSpdkmTY.js.map → checkbox.records-4j704fMI.js.map} +1 -1
  27. package/dist/chunks/checkbox.records-DI3mqSNf.js +2 -0
  28. package/dist/chunks/{checkbox.records-DQMCwuT0.js.map → checkbox.records-DI3mqSNf.js.map} +1 -1
  29. package/dist/chunks/{checkboxGroup.component-Bskd5dH5.js → checkboxGroup.component-CVpvkfhE.js} +2 -2
  30. package/dist/chunks/{checkboxGroup.component-Bskd5dH5.js.map → checkboxGroup.component-CVpvkfhE.js.map} +1 -1
  31. package/dist/chunks/{checkboxGroup.component-BXOO72eO.js → checkboxGroup.component-DsfWyRog.js} +3 -3
  32. package/dist/chunks/{checkboxGroup.component-BXOO72eO.js.map → checkboxGroup.component-DsfWyRog.js.map} +1 -1
  33. package/dist/chunks/{conversationCard.component-C-FkaUmK.js → conversationCard.component-BOVg1QrI.js} +6 -6
  34. package/dist/chunks/{conversationCard.component-C-FkaUmK.js.map → conversationCard.component-BOVg1QrI.js.map} +1 -1
  35. package/dist/chunks/{conversationCard.component-DzWJ5HQW.js → conversationCard.component-DAk3CXE_.js} +2 -2
  36. package/dist/chunks/{conversationCard.component-DzWJ5HQW.js.map → conversationCard.component-DAk3CXE_.js.map} +1 -1
  37. package/dist/chunks/{datePicker.component-BBOkyyla.js → datePicker.component-ByOoi8Qd.js} +7 -8
  38. package/dist/chunks/datePicker.component-ByOoi8Qd.js.map +1 -0
  39. package/dist/chunks/{datePicker.component-C9lbmDiW.js → datePicker.component-DP7YTR4q.js} +3 -3
  40. package/dist/chunks/datePicker.component-DP7YTR4q.js.map +1 -0
  41. package/dist/chunks/{dialog-trigger-B5NK0lr-.js → dialog-trigger-MkOQUjzu.js} +2 -2
  42. package/dist/chunks/{dialog-trigger-B5NK0lr-.js.map → dialog-trigger-MkOQUjzu.js.map} +1 -1
  43. package/dist/chunks/{dialog-trigger-Qc_jF1sR.js → dialog-trigger-eqGXDXGQ.js} +9 -9
  44. package/dist/chunks/{dialog-trigger-Qc_jF1sR.js.map → dialog-trigger-eqGXDXGQ.js.map} +1 -1
  45. package/dist/chunks/{heading.component-D84GW8Ex.js → heading.component-B5fvHRUH.js} +2 -2
  46. package/dist/chunks/{heading.component-D84GW8Ex.js.map → heading.component-B5fvHRUH.js.map} +1 -1
  47. package/dist/chunks/{heading.component-BzNpnXHK.js → heading.component-tEOV4AD0.js} +2 -2
  48. package/dist/chunks/{heading.component-BzNpnXHK.js.map → heading.component-tEOV4AD0.js.map} +1 -1
  49. package/dist/chunks/index-BR7peqZO.js +2 -0
  50. package/dist/chunks/{index-MlhL0PDC.js.map → index-BR7peqZO.js.map} +1 -1
  51. package/dist/chunks/{index-C6cNrRSG.js → index-Bff1r_rH.js} +15 -15
  52. package/dist/chunks/{index-C6cNrRSG.js.map → index-Bff1r_rH.js.map} +1 -1
  53. package/dist/chunks/index-Bz8HDeWA.js +70 -0
  54. package/dist/chunks/index-Bz8HDeWA.js.map +1 -0
  55. package/dist/chunks/index-CHIISuTq.js +3 -0
  56. package/dist/chunks/index-CHIISuTq.js.map +1 -0
  57. package/dist/chunks/{index-Im8BYbf9.js → index-CJLttzPM.js} +3 -3
  58. package/dist/chunks/{index-Im8BYbf9.js.map → index-CJLttzPM.js.map} +1 -1
  59. package/dist/chunks/index-CS8X6LiC.js +2 -0
  60. package/dist/chunks/{index-BDnnTdaJ.js.map → index-CS8X6LiC.js.map} +1 -1
  61. package/dist/chunks/{index-BRCoaB60.js → index-C_AXAeNS.js} +16 -17
  62. package/dist/chunks/{index-BRCoaB60.js.map → index-C_AXAeNS.js.map} +1 -1
  63. package/dist/chunks/{index-B2pGzKof.js → index-Cbkb_94C.js} +48 -49
  64. package/dist/chunks/{index-B2pGzKof.js.map → index-Cbkb_94C.js.map} +1 -1
  65. package/dist/chunks/{index-BBZxmcrY.js → index-CtXUprYH.js} +2 -2
  66. package/dist/chunks/{index-BBZxmcrY.js.map → index-CtXUprYH.js.map} +1 -1
  67. package/dist/chunks/index-DBk0LkcO.js +2 -0
  68. package/dist/chunks/{index-C4Skb3ZI.js.map → index-DBk0LkcO.js.map} +1 -1
  69. package/dist/chunks/{index-BYf7SZUC.js → index-DOXzraja.js} +2 -2
  70. package/dist/chunks/{index-BYf7SZUC.js.map → index-DOXzraja.js.map} +1 -1
  71. package/dist/chunks/index-DSedXH1s.js +2 -0
  72. package/dist/chunks/{index-ZaGEDS_0.js.map → index-DSedXH1s.js.map} +1 -1
  73. package/dist/chunks/{index-KOHUWYh0.js → index-DUY19L6M.js} +105 -106
  74. package/dist/chunks/{index-KOHUWYh0.js.map → index-DUY19L6M.js.map} +1 -1
  75. package/dist/chunks/{index-ftlwWpKA.js → index-DVNjUEDJ.js} +9 -9
  76. package/dist/chunks/{index-ftlwWpKA.js.map → index-DVNjUEDJ.js.map} +1 -1
  77. package/dist/chunks/index-DbTEJc-K.js +2 -0
  78. package/dist/chunks/index-DbTEJc-K.js.map +1 -0
  79. package/dist/chunks/{index-COoMV9Mh.js → index-DowO8Ued.js} +2 -2
  80. package/dist/chunks/{index-COoMV9Mh.js.map → index-DowO8Ued.js.map} +1 -1
  81. package/dist/chunks/{index-Ootk-hWL.js → index-L197Dry5.js} +17 -18
  82. package/dist/chunks/{index-Ootk-hWL.js.map → index-L197Dry5.js.map} +1 -1
  83. package/dist/chunks/{index-BwIBc5Vr.js → index-OpolRlgD.js} +3 -3
  84. package/dist/chunks/{index-BwIBc5Vr.js.map → index-OpolRlgD.js.map} +1 -1
  85. package/dist/chunks/index-QTIBH1Or.js +2 -0
  86. package/dist/chunks/{index-CZz7hHWb.js.map → index-QTIBH1Or.js.map} +1 -1
  87. package/dist/chunks/index-YtNA0Ueo.js +1328 -0
  88. package/dist/chunks/index-YtNA0Ueo.js.map +1 -0
  89. package/dist/chunks/{index-DwxB1_tE.js → index-cSjUS7Xj.js} +43 -44
  90. package/dist/chunks/{index-DwxB1_tE.js.map → index-cSjUS7Xj.js.map} +1 -1
  91. package/dist/chunks/index-iaug4k6v.js +8 -0
  92. package/dist/chunks/{index-UWtj4ULm.js.map → index-iaug4k6v.js.map} +1 -1
  93. package/dist/chunks/{menu.component-DHh_2Eme.js → menu.component-C-HbgplJ.js} +2 -2
  94. package/dist/chunks/{menu.component-DHh_2Eme.js.map → menu.component-C-HbgplJ.js.map} +1 -1
  95. package/dist/chunks/{menu.component-C6JbDroI.js → menu.component-DRbCsT5G.js} +26 -26
  96. package/dist/chunks/{menu.component-C6JbDroI.js.map → menu.component-DRbCsT5G.js.map} +1 -1
  97. package/dist/chunks/{modal.types-nOPrSEJd.js → modal.types-BShblwxe.js} +4 -4
  98. package/dist/chunks/{modal.types-nOPrSEJd.js.map → modal.types-BShblwxe.js.map} +1 -1
  99. package/dist/chunks/{modal.types-CmgKqsZR.js → modal.types-Bbjk7iGl.js} +2 -2
  100. package/dist/chunks/{modal.types-CmgKqsZR.js.map → modal.types-Bbjk7iGl.js.map} +1 -1
  101. package/dist/chunks/{pinInput.types-CtFQbT8o.js → pinInput.types-DzKllrSu.js} +2 -2
  102. package/dist/chunks/{pinInput.types-CtFQbT8o.js.map → pinInput.types-DzKllrSu.js.map} +1 -1
  103. package/dist/chunks/{pinInput.types-W39JHqF7.js → pinInput.types-vJ-_jicz.js} +8 -8
  104. package/dist/chunks/{pinInput.types-W39JHqF7.js.map → pinInput.types-vJ-_jicz.js.map} +1 -1
  105. package/dist/chunks/{popover-80QH8HEJ.js → popover-BSBYgvs4.js} +2 -2
  106. package/dist/chunks/{popover-80QH8HEJ.js.map → popover-BSBYgvs4.js.map} +1 -1
  107. package/dist/chunks/{popover-BpMSsJKD.js → popover-DNKVYG-J.js} +26 -26
  108. package/dist/chunks/{popover-BpMSsJKD.js.map → popover-DNKVYG-J.js.map} +1 -1
  109. package/dist/chunks/{popover-root-provider-rmv9U0xr.js → popover-root-provider-BErev2-N.js} +8 -8
  110. package/dist/chunks/{popover-root-provider-rmv9U0xr.js.map → popover-root-provider-BErev2-N.js.map} +1 -1
  111. package/dist/chunks/{popover-root-provider-DAMDDAHQ.js → popover-root-provider-C2iwUZJn.js} +2 -2
  112. package/dist/chunks/{popover-root-provider-DAMDDAHQ.js.map → popover-root-provider-C2iwUZJn.js.map} +1 -1
  113. package/dist/chunks/popover.component-BxwHgQIv.js +2 -0
  114. package/dist/chunks/popover.component-BxwHgQIv.js.map +1 -0
  115. package/dist/chunks/popover.component-CVGKw2zy.js +386 -0
  116. package/dist/chunks/popover.component-CVGKw2zy.js.map +1 -0
  117. package/dist/chunks/{radio.records-DE0E27Oo.js → radio.records-4ih1q8nO.js} +16 -16
  118. package/dist/chunks/{radio.records-DE0E27Oo.js.map → radio.records-4ih1q8nO.js.map} +1 -1
  119. package/dist/chunks/radio.records-j0JOqaJ4.js +2 -0
  120. package/dist/chunks/{radio.records-DyRupgeD.js.map → radio.records-j0JOqaJ4.js.map} +1 -1
  121. package/dist/chunks/{radioGroup.component-CprwLxl1.js → radioGroup.component-DOCa9IlZ.js} +11 -11
  122. package/dist/chunks/{radioGroup.component-CprwLxl1.js.map → radioGroup.component-DOCa9IlZ.js.map} +1 -1
  123. package/dist/chunks/{radioGroup.component-C9G5TnKb.js → radioGroup.component-HJ7ADLyQ.js} +2 -2
  124. package/dist/chunks/{radioGroup.component-C9G5TnKb.js.map → radioGroup.component-HJ7ADLyQ.js.map} +1 -1
  125. package/dist/chunks/{ratingDots.component-DOB0-Fyl.js → ratingDots.component-BuFKV26e.js} +3 -3
  126. package/dist/chunks/{ratingDots.component-DOB0-Fyl.js.map → ratingDots.component-BuFKV26e.js.map} +1 -1
  127. package/dist/chunks/{ratingDots.component-DbxCjCy6.js → ratingDots.component-CJuTm2VS.js} +2 -2
  128. package/dist/chunks/{ratingDots.component-DbxCjCy6.js.map → ratingDots.component-CJuTm2VS.js.map} +1 -1
  129. package/dist/chunks/{render-strategy-m3gtiO9A.js → render-strategy-CHp7lb6C.js} +2 -2
  130. package/dist/chunks/{render-strategy-m3gtiO9A.js.map → render-strategy-CHp7lb6C.js.map} +1 -1
  131. package/dist/chunks/{render-strategy-BmWbSgqh.js → render-strategy-C_zp9LNQ.js} +2 -2
  132. package/dist/chunks/{render-strategy-BmWbSgqh.js.map → render-strategy-C_zp9LNQ.js.map} +1 -1
  133. package/dist/chunks/{select.component-D_UomQ_K.js → select.component-CybeNI0i.js} +43 -43
  134. package/dist/chunks/{select.component-D_UomQ_K.js.map → select.component-CybeNI0i.js.map} +1 -1
  135. package/dist/chunks/{select.component-ZLlCuJkB.js → select.component-i_EaT6Zs.js} +2 -2
  136. package/dist/chunks/{select.component-ZLlCuJkB.js.map → select.component-i_EaT6Zs.js.map} +1 -1
  137. package/dist/chunks/{sortableList.component-Du0lV3PZ.js → sortableList.component-C4sdfnNc.js} +3 -3
  138. package/dist/chunks/{sortableList.component-Du0lV3PZ.js.map → sortableList.component-C4sdfnNc.js.map} +1 -1
  139. package/dist/chunks/{sortableList.component-BcP0nTpP.js → sortableList.component-Di02P6Xa.js} +2 -2
  140. package/dist/chunks/{sortableList.component-BcP0nTpP.js.map → sortableList.component-Di02P6Xa.js.map} +1 -1
  141. package/dist/chunks/{spinner.component-DRjoEc9z.js → spinner.component-Y6WSYB00.js} +2 -2
  142. package/dist/chunks/{spinner.component-DRjoEc9z.js.map → spinner.component-Y6WSYB00.js.map} +1 -1
  143. package/dist/chunks/{spinner.component-DQgAPRaP.js → spinner.component-mAs2EzXc.js} +2 -2
  144. package/dist/chunks/{spinner.component-DQgAPRaP.js.map → spinner.component-mAs2EzXc.js.map} +1 -1
  145. package/dist/chunks/{styledAvatar.types-BgSRTKhc.js → styledAvatar.types-D1U_mKEg.js} +2 -2
  146. package/dist/chunks/{styledAvatar.types-BgSRTKhc.js.map → styledAvatar.types-D1U_mKEg.js.map} +1 -1
  147. package/dist/chunks/{styledAvatar.types-Qai9NHfQ.js → styledAvatar.types-E52xMx_F.js} +2 -2
  148. package/dist/chunks/{styledAvatar.types-Qai9NHfQ.js.map → styledAvatar.types-E52xMx_F.js.map} +1 -1
  149. package/dist/chunks/{switch.component-C_YkOZVM.js → switch.component-BC_L3Gzc.js} +2 -2
  150. package/dist/chunks/{switch.component-C_YkOZVM.js.map → switch.component-BC_L3Gzc.js.map} +1 -1
  151. package/dist/chunks/{switch.component-Dg54t6kn.js → switch.component-F106ejwM.js} +11 -11
  152. package/dist/chunks/{switch.component-Dg54t6kn.js.map → switch.component-F106ejwM.js.map} +1 -1
  153. package/dist/chunks/{tabs.component-U9KpRJQV.js → tabs.component-BSQtGb-N.js} +47 -47
  154. package/dist/chunks/{tabs.component-U9KpRJQV.js.map → tabs.component-BSQtGb-N.js.map} +1 -1
  155. package/dist/chunks/{tabs.component-4zh8jiEy.js → tabs.component-YEPvlQka.js} +2 -2
  156. package/dist/chunks/{tabs.component-4zh8jiEy.js.map → tabs.component-YEPvlQka.js.map} +1 -1
  157. package/dist/chunks/{tagBlock.component-V_JWEe9n.js → tagBlock.component-5R68SSbc.js} +2 -2
  158. package/dist/chunks/{tagBlock.component-V_JWEe9n.js.map → tagBlock.component-5R68SSbc.js.map} +1 -1
  159. package/dist/chunks/{tagBlock.component-BZG468o5.js → tagBlock.component-C59sawdu.js} +5 -5
  160. package/dist/chunks/{tagBlock.component-BZG468o5.js.map → tagBlock.component-C59sawdu.js.map} +1 -1
  161. package/dist/chunks/{textInput.component-BLK32hA7.js → textInput.component-BLxERLt1.js} +2 -2
  162. package/dist/chunks/{textInput.component-BLK32hA7.js.map → textInput.component-BLxERLt1.js.map} +1 -1
  163. package/dist/chunks/{textInput.component-CcyrHWXa.js → textInput.component-DF5JU8nm.js} +12 -12
  164. package/dist/chunks/{textInput.component-CcyrHWXa.js.map → textInput.component-DF5JU8nm.js.map} +1 -1
  165. package/dist/chunks/{textarea.component-D3el9l9H.js → textarea.component-C3hMq2md.js} +2 -2
  166. package/dist/chunks/{textarea.component-D3el9l9H.js.map → textarea.component-C3hMq2md.js.map} +1 -1
  167. package/dist/chunks/{textarea.component-B_KAENP6.js → textarea.component-Cb7cJ3fE.js} +7 -7
  168. package/dist/chunks/{textarea.component-B_KAENP6.js.map → textarea.component-Cb7cJ3fE.js.map} +1 -1
  169. package/dist/chunks/theme.provider-BuF0PD7y.js +26 -0
  170. package/dist/chunks/theme.provider-BuF0PD7y.js.map +1 -0
  171. package/dist/chunks/{theme.provider-px_2ytDm.js → theme.provider-DIHPjRt6.js} +1827 -1716
  172. package/dist/chunks/theme.provider-DIHPjRt6.js.map +1 -0
  173. package/dist/chunks/{timePicker.component-BDngkTzk.js → timePicker.component-DOuFbuYn.js} +2 -2
  174. package/dist/chunks/timePicker.component-DOuFbuYn.js.map +1 -0
  175. package/dist/chunks/{timePicker.component-Co16Tl6i.js → timePicker.component-DzmwMnG3.js} +19 -20
  176. package/dist/chunks/timePicker.component-DzmwMnG3.js.map +1 -0
  177. package/dist/chunks/{timeRange.component-CXZA_5f5.js → timeRange.component-BEJvno5T.js} +2 -2
  178. package/dist/chunks/{timeRange.component-CXZA_5f5.js.map → timeRange.component-BEJvno5T.js.map} +1 -1
  179. package/dist/chunks/{timeRange.component-CFgHqQ-a.js → timeRange.component-C6zB9wnu.js} +2 -2
  180. package/dist/chunks/{timeRange.component-CFgHqQ-a.js.map → timeRange.component-C6zB9wnu.js.map} +1 -1
  181. package/dist/chunks/{timestamp.component-D1c35p1O.js → timestamp.component-3r-E7s-6.js} +2 -2
  182. package/dist/chunks/{timestamp.component-D1c35p1O.js.map → timestamp.component-3r-E7s-6.js.map} +1 -1
  183. package/dist/chunks/{timestamp.component-xIXZ1QOP.js → timestamp.component-CexMdlZm.js} +2 -2
  184. package/dist/chunks/{timestamp.component-xIXZ1QOP.js.map → timestamp.component-CexMdlZm.js.map} +1 -1
  185. package/dist/chunks/{toaster.records-Dp_v1E5T.js → toaster.records-CcwOeMM7.js} +21 -22
  186. package/dist/chunks/{toaster.records-Dp_v1E5T.js.map → toaster.records-CcwOeMM7.js.map} +1 -1
  187. package/dist/chunks/toaster.records-zJfplz5w.js +2 -0
  188. package/dist/chunks/{toaster.records-BJo0j1IZ.js.map → toaster.records-zJfplz5w.js.map} +1 -1
  189. package/dist/chunks/{typography.records-C6G_65b4.js → typography.records-CSy2LmDd.js} +2 -2
  190. package/dist/chunks/{typography.records-C6G_65b4.js.map → typography.records-CSy2LmDd.js.map} +1 -1
  191. package/dist/chunks/{typography.records-BVjSfRuB.js → typography.records-H4aA5AOA.js} +2 -2
  192. package/dist/chunks/{typography.records-BVjSfRuB.js.map → typography.records-H4aA5AOA.js.map} +1 -1
  193. package/dist/chunks/{use-field-context--wBJQY1R.js → use-field-context-CArmgHPP.js} +2 -2
  194. package/dist/chunks/{use-field-context--wBJQY1R.js.map → use-field-context-CArmgHPP.js.map} +1 -1
  195. package/dist/chunks/{use-field-context-xndZXNT4.js → use-field-context-Cm3grEyV.js} +2 -2
  196. package/dist/chunks/{use-field-context-xndZXNT4.js.map → use-field-context-Cm3grEyV.js.map} +1 -1
  197. package/dist/chunks/{use-locale-context-KeBTTMq9.js → use-locale-context-BiiNTYMT.js} +29 -29
  198. package/dist/chunks/{use-locale-context-KeBTTMq9.js.map → use-locale-context-BiiNTYMT.js.map} +1 -1
  199. package/dist/chunks/{use-locale-context-BdqHZ8L8.js → use-locale-context-D0LByRu9.js} +2 -2
  200. package/dist/chunks/{use-locale-context-BdqHZ8L8.js.map → use-locale-context-D0LByRu9.js.map} +1 -1
  201. package/dist/chunks/{withFormControl-BAEE7_5w.js → withFormControl-DyPM4V_t.js} +2 -2
  202. package/dist/chunks/{withFormControl-BAEE7_5w.js.map → withFormControl-DyPM4V_t.js.map} +1 -1
  203. package/dist/chunks/{withFormControl-C8abg91Q.js → withFormControl-yxJx_BJg.js} +49 -49
  204. package/dist/chunks/{withFormControl-C8abg91Q.js.map → withFormControl-yxJx_BJg.js.map} +1 -1
  205. package/dist/chunks/withTruncation-B-Hma82m.js +2 -0
  206. package/dist/chunks/withTruncation-B-Hma82m.js.map +1 -0
  207. package/dist/chunks/withTruncation-BRHPZgp1.js +581 -0
  208. package/dist/chunks/withTruncation-BRHPZgp1.js.map +1 -0
  209. package/dist/cjs/chakra/index.cjs +1 -1
  210. package/dist/cjs/components/Alert/index.cjs +1 -1
  211. package/dist/cjs/components/Avatar/index.cjs +1 -1
  212. package/dist/cjs/components/AvatarGroup/index.cjs +1 -1
  213. package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
  214. package/dist/cjs/components/CharacterCounter/index.cjs +1 -1
  215. package/dist/cjs/components/Checkbox/index.cjs +1 -1
  216. package/dist/cjs/components/CheckboxGroup/index.cjs +1 -1
  217. package/dist/cjs/components/ConversationCard/index.cjs +1 -1
  218. package/dist/cjs/components/DatePicker/index.cjs +1 -1
  219. package/dist/cjs/components/Heading/index.cjs +1 -1
  220. package/dist/cjs/components/Menu/index.cjs +1 -1
  221. package/dist/cjs/components/Modal/index.cjs +1 -1
  222. package/dist/cjs/components/PinInput/index.cjs +1 -1
  223. package/dist/cjs/components/Popover/index.cjs +1 -1
  224. package/dist/cjs/components/RadioGroup/index.cjs +1 -1
  225. package/dist/cjs/components/RatingDots/index.cjs +1 -1
  226. package/dist/cjs/components/Select/index.cjs +1 -1
  227. package/dist/cjs/components/SortableList/index.cjs +1 -1
  228. package/dist/cjs/components/Spinner/index.cjs +1 -1
  229. package/dist/cjs/components/StyledAvatar/index.cjs +1 -1
  230. package/dist/cjs/components/Switch/index.cjs +1 -1
  231. package/dist/cjs/components/Tabs/index.cjs +1 -1
  232. package/dist/cjs/components/TagBlock/index.cjs +1 -1
  233. package/dist/cjs/components/Text/index.cjs +1 -1
  234. package/dist/cjs/components/TextInput/index.cjs +1 -1
  235. package/dist/cjs/components/Textarea/index.cjs +1 -1
  236. package/dist/cjs/components/TimePicker/index.cjs +1 -1
  237. package/dist/cjs/components/TimeRange/index.cjs +1 -1
  238. package/dist/cjs/components/Timestamp/index.cjs +1 -1
  239. package/dist/cjs/components/Toast/index.cjs +1 -1
  240. package/dist/cjs/components/Tooltip/index.cjs +1 -1
  241. package/dist/cjs/components/index.cjs +1 -1
  242. package/dist/cjs/index.cjs +1 -1
  243. package/dist/cjs/theme/index.cjs +1 -1
  244. package/dist/esm/chakra/index.js +8 -8
  245. package/dist/esm/components/Alert/index.js +1 -1
  246. package/dist/esm/components/Avatar/index.js +1 -1
  247. package/dist/esm/components/AvatarGroup/index.js +1 -1
  248. package/dist/esm/components/ButtonGroup/index.js +1 -1
  249. package/dist/esm/components/CharacterCounter/index.js +1 -1
  250. package/dist/esm/components/Checkbox/index.js +1 -1
  251. package/dist/esm/components/CheckboxGroup/index.js +1 -1
  252. package/dist/esm/components/ConversationCard/index.js +1 -1
  253. package/dist/esm/components/DatePicker/index.js +1 -1
  254. package/dist/esm/components/Heading/index.js +1 -1
  255. package/dist/esm/components/Menu/index.js +1 -1
  256. package/dist/esm/components/Modal/index.js +1 -1
  257. package/dist/esm/components/PinInput/index.js +1 -1
  258. package/dist/esm/components/Popover/index.js +1 -1
  259. package/dist/esm/components/RadioGroup/index.js +1 -1
  260. package/dist/esm/components/RatingDots/index.js +1 -1
  261. package/dist/esm/components/Select/index.js +1 -1
  262. package/dist/esm/components/SortableList/index.js +1 -1
  263. package/dist/esm/components/Spinner/index.js +1 -1
  264. package/dist/esm/components/StyledAvatar/index.js +1 -1
  265. package/dist/esm/components/Switch/index.js +1 -1
  266. package/dist/esm/components/Tabs/index.js +1 -1
  267. package/dist/esm/components/TagBlock/index.js +1 -1
  268. package/dist/esm/components/Text/index.js +1 -1
  269. package/dist/esm/components/TextInput/index.js +1 -1
  270. package/dist/esm/components/Textarea/index.js +1 -1
  271. package/dist/esm/components/TimePicker/index.js +1 -1
  272. package/dist/esm/components/TimeRange/index.js +1 -1
  273. package/dist/esm/components/Timestamp/index.js +1 -1
  274. package/dist/esm/components/Toast/index.js +1 -1
  275. package/dist/esm/components/Tooltip/index.js +1 -1
  276. package/dist/esm/components/index.js +29 -29
  277. package/dist/esm/index.js +30 -30
  278. package/dist/esm/theme/index.js +1 -1
  279. package/dist/types/components/Avatar/avatar.recipe.d.ts +1 -1
  280. package/dist/types/components/Button/button.recipe.d.ts +1 -1
  281. package/dist/types/components/Logo/logo.recipe.d.ts +1 -1
  282. package/dist/types/components/Menu/menu.recipe.d.ts +1 -1
  283. package/dist/types/components/Modal/modal.recipe.d.ts +1 -1
  284. package/dist/types/components/PinInput/pinInput.recipe.d.ts +1 -1
  285. package/dist/types/components/Popover/popover.recipe.d.ts +1 -1
  286. package/dist/types/components/Spinner/spinner.recipe.d.ts +1 -1
  287. package/dist/types/components/TimePicker/timePicker.recipe.d.ts +1 -1
  288. package/dist/types/components/Tooltip/tooltip.component.d.ts +4 -2
  289. package/dist/types/components/Tooltip/tooltip.recipe.d.ts +1 -1
  290. package/dist/types/theme/tokens/shadows/shadows.config.d.ts +3 -3
  291. package/dist/types/theme/tokens/sizes/sizes.config.d.ts +3 -3
  292. package/dist/types/theme/tokens/spacing/spacing.config.d.ts +3 -3
  293. package/dist/types/theme/tokens/transitions/transitions.config.d.ts +2 -2
  294. package/package.json +1 -1
  295. package/dist/chunks/checkbox.records-DQMCwuT0.js +0 -2
  296. package/dist/chunks/datePicker.component-BBOkyyla.js.map +0 -1
  297. package/dist/chunks/datePicker.component-C9lbmDiW.js.map +0 -1
  298. package/dist/chunks/index-BDnnTdaJ.js +0 -2
  299. package/dist/chunks/index-BGwwyukg.js +0 -2
  300. package/dist/chunks/index-BGwwyukg.js.map +0 -1
  301. package/dist/chunks/index-BIz6smcP.js +0 -322
  302. package/dist/chunks/index-BIz6smcP.js.map +0 -1
  303. package/dist/chunks/index-C4Skb3ZI.js +0 -2
  304. package/dist/chunks/index-CZ42b9rT.js +0 -3
  305. package/dist/chunks/index-CZ42b9rT.js.map +0 -1
  306. package/dist/chunks/index-CZz7hHWb.js +0 -2
  307. package/dist/chunks/index-Czx27hGN.js +0 -1018
  308. package/dist/chunks/index-Czx27hGN.js.map +0 -1
  309. package/dist/chunks/index-MlhL0PDC.js +0 -2
  310. package/dist/chunks/index-UWtj4ULm.js +0 -8
  311. package/dist/chunks/index-ZaGEDS_0.js +0 -2
  312. package/dist/chunks/popover.component-C6ERLtW7.js +0 -322
  313. package/dist/chunks/popover.component-C6ERLtW7.js.map +0 -1
  314. package/dist/chunks/popover.component-XsWmj-kz.js +0 -2
  315. package/dist/chunks/popover.component-XsWmj-kz.js.map +0 -1
  316. package/dist/chunks/popover.recipe-DLeyokHo.js +0 -2
  317. package/dist/chunks/popover.recipe-DLeyokHo.js.map +0 -1
  318. package/dist/chunks/popover.recipe-_90TbZhK.js +0 -479
  319. package/dist/chunks/popover.recipe-_90TbZhK.js.map +0 -1
  320. package/dist/chunks/radio.records-DyRupgeD.js +0 -2
  321. package/dist/chunks/theme.provider-Bar-AuPo.js +0 -26
  322. package/dist/chunks/theme.provider-Bar-AuPo.js.map +0 -1
  323. package/dist/chunks/theme.provider-px_2ytDm.js.map +0 -1
  324. package/dist/chunks/timePicker.component-BDngkTzk.js.map +0 -1
  325. package/dist/chunks/timePicker.component-Co16Tl6i.js.map +0 -1
  326. package/dist/chunks/toaster.records-BJo0j1IZ.js +0 -2
  327. package/dist/chunks/withTruncation-BAxxp5gA.js +0 -822
  328. package/dist/chunks/withTruncation-BAxxp5gA.js.map +0 -1
  329. package/dist/chunks/withTruncation-FFeS8Bf1.js +0 -2
  330. package/dist/chunks/withTruncation-FFeS8Bf1.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"menu.component-C6JbDroI.js","sources":["../../node_modules/@ark-ui/react/dist/components/menu/use-menu-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-option-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-checkbox-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-content.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-context-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-group-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group-label.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-text.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-positioner.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item-group.js","../../node_modules/@ark-ui/react/dist/utils/use-effect-once.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-machine-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-trigger-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root-provider.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-separator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger-item.js","../../node_modules/@chakra-ui/react/dist/esm/components/menu/menu.js","../../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":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuProvider, useMenuContext] = createContext({\n name: \"MenuContext\",\n hookName: \"useMenuContext\",\n providerName: \"<MenuProvider />\",\n strict: false\n});\n\nexport { MenuProvider, useMenuContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuArrow = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getArrowProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuArrow.displayName = \"MenuArrow\";\n\nexport { MenuArrow };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuArrowTip = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getArrowTipProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuArrowTip.displayName = \"MenuArrowTip\";\n\nexport { MenuArrowTip };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemProvider, useMenuItemContext] = createContext({\n name: \"MenuItemContext\",\n hookName: \"useMenuItemContext\",\n providerName: \"<MenuItemProvider />\"\n});\n\nexport { MenuItemProvider, useMenuItemContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuOptionItemPropsProvider, useMenuOptionItemPropsContext] = createContext({\n name: \"MenuOptionItemPropsContext\",\n hookName: \"useMenuOptionItemPropsContext\",\n providerName: \"<MenuOptionItemPropsProvider />\"\n});\n\nexport { MenuOptionItemPropsProvider, useMenuOptionItemPropsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { MenuOptionItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuCheckboxItem = forwardRef((props, ref) => {\n const [partialOptionItemProps, localProps] = createSplitProps()(props, [\n \"checked\",\n \"closeOnSelect\",\n \"disabled\",\n \"onCheckedChange\",\n \"value\",\n \"valueText\"\n ]);\n const optionItemProps = {\n ...partialOptionItemProps,\n type: \"checkbox\"\n };\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getOptionItemProps(optionItemProps), localProps);\n const optionItemState = menu.getOptionItemState(optionItemProps);\n return /* @__PURE__ */ jsx(MenuOptionItemPropsProvider, { value: optionItemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: optionItemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuCheckboxItem.displayName = \"MenuCheckboxItem\";\n\nexport { MenuCheckboxItem };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuContent = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(menu.getContentProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nMenuContent.displayName = \"MenuContent\";\n\nexport { MenuContent };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuContextTrigger = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getContextTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nMenuContextTrigger.displayName = \"MenuContextTrigger\";\n\nexport { MenuContextTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getIndicatorProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuIndicator.displayName = \"MenuIndicator\";\n\nexport { MenuIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useEffect } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\n\nconst MenuItem = forwardRef((props, ref) => {\n const [itemProps, localProps] = createSplitProps()(props, [\n \"closeOnSelect\",\n \"disabled\",\n \"value\",\n \"valueText\",\n \"onSelect\"\n ]);\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getItemProps(itemProps), localProps);\n const itemState = menu.getItemState(itemProps);\n useEffect(() => {\n return menu.addItemListener({ id: itemState.id, onSelect: itemProps.onSelect });\n }, [itemState.id, itemProps.onSelect]);\n return /* @__PURE__ */ jsx(MenuItemProvider, { value: itemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuItem.displayName = \"MenuItem\";\n\nexport { MenuItem };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemGroupProvider, useMenuItemGroupContext] = createContext({\n name: \"MenuItemGroupContext\",\n hookName: \"useMenuItemGroupContext\",\n providerName: \"<MenuItemGroupProvider />\"\n});\n\nexport { MenuItemGroupProvider, useMenuItemGroupContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemGroupProvider } from './use-menu-item-group-context.js';\n\nconst MenuItemGroup = forwardRef((props, ref) => {\n const [optionalItemGroupProps, localProps] = createSplitProps()(props, [\"id\"]);\n const menu = useMenuContext();\n const id = useId();\n const itemGroupProps = { id, ...optionalItemGroupProps };\n const mergedProps = mergeProps(menu.getItemGroupProps(itemGroupProps), localProps);\n return /* @__PURE__ */ jsx(MenuItemGroupProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuItemGroup.displayName = \"MenuItemGroup\";\n\nexport { MenuItemGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuItemGroupContext } from './use-menu-item-group-context.js';\n\nconst MenuItemGroupLabel = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemGroup = useMenuItemGroupContext();\n const mergedProps = mergeProps(menu.getItemGroupLabelProps({ htmlFor: itemGroup.id }), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemGroupLabel.displayName = \"MenuItemGroupLabel\";\n\nexport { MenuItemGroupLabel };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuOptionItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const optionItemProps = useMenuOptionItemPropsContext();\n const mergedProps = mergeProps(menu.getItemIndicatorProps(optionItemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemIndicator.displayName = \"MenuItemIndicator\";\n\nexport { MenuItemIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuOptionItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemText = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const optionItemProps = useMenuOptionItemPropsContext();\n const mergedProps = mergeProps(menu.getItemTextProps(optionItemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemText.displayName = \"MenuItemText\";\n\nexport { MenuItemText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuPositioner = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getPositionerProps(), props);\n const presence = usePresenceContext();\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuPositioner.displayName = \"MenuPositioner\";\n\nexport { MenuPositioner };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { useMenuItemGroupContext } from './use-menu-item-group-context.js';\nimport { MenuOptionItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuRadioItem = forwardRef((props, ref) => {\n const [partialItemProps, localProps] = createSplitProps()(props, [\n \"closeOnSelect\",\n \"disabled\",\n \"value\",\n \"valueText\"\n ]);\n const menu = useMenuContext();\n const itemGroup = useMenuItemGroupContext();\n const optionItemProps = {\n ...partialItemProps,\n checked: itemGroup.value === partialItemProps.value,\n type: \"radio\",\n onCheckedChange: () => itemGroup.onValueChange?.({ value: partialItemProps.value })\n };\n const mergedProps = mergeProps(menu.getOptionItemProps(optionItemProps), localProps);\n const optionItemState = menu.getOptionItemState(optionItemProps);\n return /* @__PURE__ */ jsx(MenuOptionItemPropsProvider, { value: optionItemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: optionItemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuRadioItem.displayName = \"MenuRadioItem\";\n\nexport { MenuRadioItem };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemGroupProvider } from './use-menu-item-group-context.js';\n\nconst MenuRadioItemGroup = forwardRef((props, ref) => {\n const [optionalItemGroupProps, localProps] = createSplitProps()(props, [\n \"id\",\n \"onValueChange\",\n \"value\"\n ]);\n const menu = useMenuContext();\n const id = useId();\n const itemGroupProps = { id, ...optionalItemGroupProps };\n const mergedProps = mergeProps(menu.getItemGroupProps({ id: itemGroupProps.id }), localProps);\n return /* @__PURE__ */ jsx(MenuItemGroupProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuRadioItemGroup.displayName = \"MenuRadioItemGroup\";\n\nexport { MenuRadioItemGroup };\n","'use client';\nimport { useRef, useEffect } from 'react';\n\nconst useEffectOnce = (cb) => {\n const savedCallback = useRef(cb);\n const effectGuard = useRef(false);\n useEffect(() => {\n savedCallback.current = cb;\n });\n useEffect(() => {\n if (effectGuard.current !== true) {\n effectGuard.current = true;\n savedCallback.current();\n }\n }, []);\n};\n\nexport { useEffectOnce };\n","'use client';\nimport * as menu from '@zag-js/menu';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useMenu = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(menu.machine, machineProps);\n const api = menu.connect(service, normalizeProps);\n return { api, service };\n};\n\nexport { useMenu };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuMachineProvider, useMenuMachineContext] = createContext({\n name: \"MenuMachineContext\",\n hookName: \"useMenuMachineContext\",\n providerName: \"<MenuMachineProvider />\",\n strict: false\n});\n\nexport { MenuMachineProvider, useMenuMachineContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuTriggerItemProvider, useMenuTriggerItemContext] = createContext({\n name: \"MenuMachineContext\",\n hookName: \"useMenuMachineContext\",\n providerName: \"<MenuMachineProvider />\",\n strict: false\n});\n\nexport { MenuTriggerItemProvider, useMenuTriggerItemContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { useCallback } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { useEffectOnce } from '../../utils/use-effect-once.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useMenu } from './use-menu.js';\nimport { useMenuContext, MenuProvider } from './use-menu-context.js';\nimport { useMenuMachineContext, MenuMachineProvider } from './use-menu-machine-context.js';\nimport { MenuTriggerItemProvider } from './use-menu-trigger-item-context.js';\n\nconst MenuRoot = (props) => {\n const [presenceProps, menuProps] = splitPresenceProps(props);\n const [useMenuProps, localProps] = createSplitProps()(menuProps, [\n \"anchorPoint\",\n \"aria-label\",\n \"closeOnSelect\",\n \"composite\",\n \"defaultHighlightedValue\",\n \"defaultOpen\",\n \"highlightedValue\",\n \"id\",\n \"ids\",\n \"loopFocus\",\n \"navigate\",\n \"onEscapeKeyDown\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onSelect\",\n \"open\",\n \"positioning\",\n \"typeahead\"\n ]);\n const parentApi = useMenuContext();\n const parentMachine = useMenuMachineContext();\n const { api, service } = useMenu(useMenuProps);\n const presence = usePresence(mergeProps({ present: api.open }, presenceProps));\n useEffectOnce(() => {\n if (!parentMachine) return;\n if (!parentApi) return;\n parentApi.setChild(service);\n api.setParent(parentMachine);\n });\n const triggerItemContext = useCallback(() => parentApi?.getTriggerItemProps(api), [api, parentApi]);\n return /* @__PURE__ */ jsx(MenuTriggerItemProvider, { value: triggerItemContext, children: /* @__PURE__ */ jsx(MenuMachineProvider, { value: service, children: /* @__PURE__ */ jsx(MenuProvider, { value: api, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, ...localProps }) }) }) });\n};\n\nexport { MenuRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { useCallback } from 'react';\nimport { useEffectOnce } from '../../utils/use-effect-once.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useMenuContext, MenuProvider } from './use-menu-context.js';\nimport { useMenuMachineContext, MenuMachineProvider } from './use-menu-machine-context.js';\nimport { MenuTriggerItemProvider } from './use-menu-trigger-item-context.js';\n\nconst MenuRootProvider = (props) => {\n const parentApi = useMenuContext();\n const parentMachine = useMenuMachineContext();\n const [presenceProps, { value: menu, children }] = splitPresenceProps(props);\n const { api, service } = menu;\n const presence = usePresence(mergeProps({ present: api.open }, presenceProps));\n useEffectOnce(() => {\n if (!parentMachine) return;\n if (!parentApi) return;\n parentApi.setChild(service);\n api.setParent(parentMachine);\n });\n const triggerItemContext = useCallback(() => parentApi?.getTriggerItemProps(api), [api, parentApi]);\n return /* @__PURE__ */ jsx(MenuTriggerItemProvider, { value: triggerItemContext, children: /* @__PURE__ */ jsx(MenuMachineProvider, { value: service, children: /* @__PURE__ */ jsx(MenuProvider, { value: api, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) }) }) });\n};\n\nexport { MenuRootProvider };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuSeparator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getSeparatorProps(), props);\n return /* @__PURE__ */ jsx(ark.hr, { ...mergedProps, ref });\n});\nMenuSeparator.displayName = \"MenuSeparator\";\n\nexport { MenuSeparator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuTrigger = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(\n {\n ...menu.getTriggerProps(),\n \"aria-controls\": presence.unmounted ? void 0 : menu.getTriggerProps()[\"aria-controls\"]\n },\n props\n );\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nMenuTrigger.displayName = \"MenuTrigger\";\n\nexport { MenuTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuTriggerItemContext } from './use-menu-trigger-item-context.js';\n\nconst MenuTriggerItem = forwardRef((props, ref) => {\n const getTriggerItemProps = useMenuTriggerItemContext();\n const mergedProps = mergeProps(getTriggerItemProps?.() ?? {}, props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuTriggerItem.displayName = \"MenuTriggerItem\";\n\nexport { MenuTriggerItem };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Menu } from '@ark-ui/react/menu';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { CheckIcon } from '../icons.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useMenuStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"menu\" });\nconst MenuRootProvider = withRootProvider(\n Menu.RootProvider\n);\nconst MenuRoot = withRootProvider(Menu.Root, {\n defaultProps: { lazyMount: true, unmountOnExit: true }\n});\nconst MenuPropsProvider = PropsProvider;\nconst MenuTrigger = withContext(\n Menu.Trigger,\n \"trigger\",\n { forwardAsChild: true }\n);\nconst MenuContextTrigger = withContext(Menu.ContextTrigger, \"contextTrigger\", { forwardAsChild: true });\nconst MenuPositioner = withContext(\n Menu.Positioner,\n \"positioner\",\n { forwardAsChild: true }\n);\nconst MenuSeparator = withContext(\n Menu.Separator,\n \"separator\",\n { forwardAsChild: true }\n);\nconst MenuContent = withContext(\n Menu.Content,\n \"content\",\n { forwardAsChild: true }\n);\nconst MenuArrowTip = withContext(\n Menu.ArrowTip,\n \"arrowTip\",\n { forwardAsChild: true }\n);\nconst MenuArrow = withContext(\n Menu.Arrow,\n \"arrow\",\n { forwardAsChild: true, defaultProps: { children: /* @__PURE__ */ jsx(MenuArrowTip, {}) } }\n);\nconst MenuIndicator = withContext(\n Menu.Indicator,\n \"indicator\",\n { forwardAsChild: true }\n);\nconst MenuItemGroup = withContext(\n Menu.ItemGroup,\n \"itemGroup\",\n { forwardAsChild: true }\n);\nconst MenuItemGroupLabel = withContext(Menu.ItemGroupLabel, \"itemGroupLabel\", { forwardAsChild: true });\nconst MenuItem = withContext(\n Menu.Item,\n \"item\",\n { forwardAsChild: true }\n);\nconst MenuTriggerItem = withContext(Menu.TriggerItem, \"item\", { forwardAsChild: true });\nconst MenuItemText = withContext(\n Menu.ItemText,\n \"itemText\",\n { forwardAsChild: true }\n);\nconst MenuItemCommand = withContext(\n \"kbd\",\n \"itemCommand\"\n);\nconst MenuItemIndicator = withContext(Menu.ItemIndicator, \"itemIndicator\", {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(CheckIcon, { boxSize: \"4\" }) }\n});\nconst MenuCheckboxItem = withContext(Menu.CheckboxItem, \"item\", { forwardAsChild: true });\nconst MenuRadioItemGroup = withContext(Menu.RadioItemGroup, \"itemGroup\", { forwardAsChild: true });\nconst MenuRadioItem = withContext(\n Menu.RadioItem,\n \"item\",\n { forwardAsChild: true }\n);\nconst MenuContext = Menu.Context;\nconst MenuItemContext = Menu.ItemContext;\n\nexport { MenuArrow, MenuArrowTip, MenuCheckboxItem, MenuContent, MenuContext, MenuContextTrigger, MenuIndicator, MenuItem, MenuItemCommand, MenuItemContext, MenuItemGroup, MenuItemGroupLabel, MenuItemIndicator, MenuItemText, MenuPositioner, MenuPropsProvider, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuRootProvider, MenuSeparator, MenuTrigger, MenuTriggerItem, useMenuStyles };\n","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 {...(!text && hideCaret && { paddingInline: 0, paddingBlock: 0 })}\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, MenuListProps } 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 {\n type: \"submenu\";\n valueText?: string;\n listProps?: MenuListProps;\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 const { valueText, listProps } = rest as Omit<SubmenuMenuItemProps, \"type\">;\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 aria-valuetext={valueText}\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 portalled={true}\n listProps={listProps}\n />\n );\n }\n\n if (type === \"checkbox\") {\n const { checked, value, closeOnSelect, ...checkboxRest } =\n 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={closeOnSelect || false}\n gap={3}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} size=\"md\" fullWidth={false} />\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 {\n selected = false,\n value,\n ...defaultRest\n } = 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, useEffect, 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\";\nimport { useModalContentRef } from \"components/Modal/context/modal.context\";\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\n extends Omit<CMenu.RootProps, \"children\" | \"onSelect\"> {\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 { contentRef: modalContentRef } = useModalContentRef();\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 filterOptions = useCallback(\n (searchInput: string, itemsToFilter: MenuItemProps[]) => {\n if (searchInput === \"\" || !searchInput) {\n return itemsToFilter;\n }\n\n return itemsToFilter.filter((item): boolean => {\n const labelText =\n typeof item.label === \"string\" ? item.label : item.valueText;\n\n return !!labelText?.toLowerCase().includes(searchInput.toLowerCase());\n });\n },\n [],\n );\n\n useEffect(() => {\n if (onSearch) {\n setFilteredMenuItems(menuItems);\n } else {\n setFilteredMenuItems(filterOptions(searchText, menuItems));\n }\n }, [searchText, onSearch, filterOptions, menuItems]);\n\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 }\n },\n [onSearch],\n );\n\n const clearSearch = useCallback(() => {\n setSearchText(\"\");\n\n if (onSearch) {\n onSearch({\n target: { value: \"\" },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n }, [onSearch]);\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} container={modalContentRef || undefined}>\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={clearSearch}\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":["MenuProvider","useMenuContext","createContext","MenuArrow","forwardRef","props","ref","menu","mergedProps","mergeProps","jsx","ark","MenuArrowTip","MenuItemProvider","useMenuItemContext","MenuOptionItemPropsProvider","useMenuOptionItemPropsContext","MenuCheckboxItem","partialOptionItemProps","localProps","createSplitProps","optionItemProps","optionItemState","MenuContent","presence","usePresenceContext","composeRefs","MenuContextTrigger","MenuIndicator","MenuItem","itemProps","itemState","useEffect","MenuItemGroupProvider","useMenuItemGroupContext","MenuItemGroup","optionalItemGroupProps","itemGroupProps","useId","MenuItemGroupLabel","itemGroup","MenuItemIndicator","MenuItemText","MenuPositioner","MenuRadioItem","partialItemProps","MenuRadioItemGroup","useEffectOnce","cb","savedCallback","useRef","effectGuard","useMenu","id","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","menu.machine","menu.connect","normalizeProps","MenuMachineProvider","useMenuMachineContext","MenuTriggerItemProvider","useMenuTriggerItemContext","MenuRoot","presenceProps","menuProps","splitPresenceProps","useMenuProps","parentApi","parentMachine","api","usePresence","triggerItemContext","useCallback","PresenceProvider","MenuRootProvider","children","MenuSeparator","MenuTrigger","MenuTriggerItem","getTriggerItemProps","withRootProvider","withContext","createSlotRecipeContext","Menu.RootProvider","Menu.Root","Menu.Trigger","Menu.ContextTrigger","Menu.Positioner","Menu.Separator","Menu.Content","Menu.ArrowTip","Menu.Arrow","Menu.Indicator","Menu.ItemGroup","Menu.ItemGroupLabel","Menu.Item","Menu.TriggerItem","Menu.ItemText","Menu.ItemIndicator","CheckIcon","Menu.CheckboxItem","Menu.RadioItemGroup","Menu.RadioItem","MenuButton","hideCaret","size","text","textProps","variant","rest","jsxs","Button","Text","Flex","Icon","label","leftElement","onSelect","shouldTruncateText","type","handleOnSelect","valueText","listProps","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","closeOnSelect","checkboxRest","CMenu.CheckboxItem","Checkbox","selected","defaultRest","CMenu.Item","Fragment","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","Box","ClearAllButton","SelectAllButton","buttonProps","portalled","submenuTrigger","modalContentRef","useModalContentRef","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","filterOptions","searchInput","itemsToFilter","handleSearch","e","clearSearch","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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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}
1
+ {"version":3,"file":"menu.component-DRbCsT5G.js","sources":["../../node_modules/@ark-ui/react/dist/components/menu/use-menu-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-option-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-checkbox-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-content.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-context-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-group-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group-label.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-text.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-positioner.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item-group.js","../../node_modules/@ark-ui/react/dist/utils/use-effect-once.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-machine-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-trigger-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root-provider.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-separator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger-item.js","../../node_modules/@chakra-ui/react/dist/esm/components/menu/menu.js","../../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":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuProvider, useMenuContext] = createContext({\n name: \"MenuContext\",\n hookName: \"useMenuContext\",\n providerName: \"<MenuProvider />\",\n strict: false\n});\n\nexport { MenuProvider, useMenuContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuArrow = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getArrowProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuArrow.displayName = \"MenuArrow\";\n\nexport { MenuArrow };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuArrowTip = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getArrowTipProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuArrowTip.displayName = \"MenuArrowTip\";\n\nexport { MenuArrowTip };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemProvider, useMenuItemContext] = createContext({\n name: \"MenuItemContext\",\n hookName: \"useMenuItemContext\",\n providerName: \"<MenuItemProvider />\"\n});\n\nexport { MenuItemProvider, useMenuItemContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuOptionItemPropsProvider, useMenuOptionItemPropsContext] = createContext({\n name: \"MenuOptionItemPropsContext\",\n hookName: \"useMenuOptionItemPropsContext\",\n providerName: \"<MenuOptionItemPropsProvider />\"\n});\n\nexport { MenuOptionItemPropsProvider, useMenuOptionItemPropsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { MenuOptionItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuCheckboxItem = forwardRef((props, ref) => {\n const [partialOptionItemProps, localProps] = createSplitProps()(props, [\n \"checked\",\n \"closeOnSelect\",\n \"disabled\",\n \"onCheckedChange\",\n \"value\",\n \"valueText\"\n ]);\n const optionItemProps = {\n ...partialOptionItemProps,\n type: \"checkbox\"\n };\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getOptionItemProps(optionItemProps), localProps);\n const optionItemState = menu.getOptionItemState(optionItemProps);\n return /* @__PURE__ */ jsx(MenuOptionItemPropsProvider, { value: optionItemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: optionItemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuCheckboxItem.displayName = \"MenuCheckboxItem\";\n\nexport { MenuCheckboxItem };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuContent = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(menu.getContentProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nMenuContent.displayName = \"MenuContent\";\n\nexport { MenuContent };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuContextTrigger = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getContextTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nMenuContextTrigger.displayName = \"MenuContextTrigger\";\n\nexport { MenuContextTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getIndicatorProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuIndicator.displayName = \"MenuIndicator\";\n\nexport { MenuIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useEffect } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\n\nconst MenuItem = forwardRef((props, ref) => {\n const [itemProps, localProps] = createSplitProps()(props, [\n \"closeOnSelect\",\n \"disabled\",\n \"value\",\n \"valueText\",\n \"onSelect\"\n ]);\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getItemProps(itemProps), localProps);\n const itemState = menu.getItemState(itemProps);\n useEffect(() => {\n return menu.addItemListener({ id: itemState.id, onSelect: itemProps.onSelect });\n }, [itemState.id, itemProps.onSelect]);\n return /* @__PURE__ */ jsx(MenuItemProvider, { value: itemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuItem.displayName = \"MenuItem\";\n\nexport { MenuItem };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemGroupProvider, useMenuItemGroupContext] = createContext({\n name: \"MenuItemGroupContext\",\n hookName: \"useMenuItemGroupContext\",\n providerName: \"<MenuItemGroupProvider />\"\n});\n\nexport { MenuItemGroupProvider, useMenuItemGroupContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemGroupProvider } from './use-menu-item-group-context.js';\n\nconst MenuItemGroup = forwardRef((props, ref) => {\n const [optionalItemGroupProps, localProps] = createSplitProps()(props, [\"id\"]);\n const menu = useMenuContext();\n const id = useId();\n const itemGroupProps = { id, ...optionalItemGroupProps };\n const mergedProps = mergeProps(menu.getItemGroupProps(itemGroupProps), localProps);\n return /* @__PURE__ */ jsx(MenuItemGroupProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuItemGroup.displayName = \"MenuItemGroup\";\n\nexport { MenuItemGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuItemGroupContext } from './use-menu-item-group-context.js';\n\nconst MenuItemGroupLabel = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemGroup = useMenuItemGroupContext();\n const mergedProps = mergeProps(menu.getItemGroupLabelProps({ htmlFor: itemGroup.id }), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemGroupLabel.displayName = \"MenuItemGroupLabel\";\n\nexport { MenuItemGroupLabel };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuOptionItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const optionItemProps = useMenuOptionItemPropsContext();\n const mergedProps = mergeProps(menu.getItemIndicatorProps(optionItemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemIndicator.displayName = \"MenuItemIndicator\";\n\nexport { MenuItemIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuOptionItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemText = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const optionItemProps = useMenuOptionItemPropsContext();\n const mergedProps = mergeProps(menu.getItemTextProps(optionItemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemText.displayName = \"MenuItemText\";\n\nexport { MenuItemText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuPositioner = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getPositionerProps(), props);\n const presence = usePresenceContext();\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuPositioner.displayName = \"MenuPositioner\";\n\nexport { MenuPositioner };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { useMenuItemGroupContext } from './use-menu-item-group-context.js';\nimport { MenuOptionItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuRadioItem = forwardRef((props, ref) => {\n const [partialItemProps, localProps] = createSplitProps()(props, [\n \"closeOnSelect\",\n \"disabled\",\n \"value\",\n \"valueText\"\n ]);\n const menu = useMenuContext();\n const itemGroup = useMenuItemGroupContext();\n const optionItemProps = {\n ...partialItemProps,\n checked: itemGroup.value === partialItemProps.value,\n type: \"radio\",\n onCheckedChange: () => itemGroup.onValueChange?.({ value: partialItemProps.value })\n };\n const mergedProps = mergeProps(menu.getOptionItemProps(optionItemProps), localProps);\n const optionItemState = menu.getOptionItemState(optionItemProps);\n return /* @__PURE__ */ jsx(MenuOptionItemPropsProvider, { value: optionItemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: optionItemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuRadioItem.displayName = \"MenuRadioItem\";\n\nexport { MenuRadioItem };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemGroupProvider } from './use-menu-item-group-context.js';\n\nconst MenuRadioItemGroup = forwardRef((props, ref) => {\n const [optionalItemGroupProps, localProps] = createSplitProps()(props, [\n \"id\",\n \"onValueChange\",\n \"value\"\n ]);\n const menu = useMenuContext();\n const id = useId();\n const itemGroupProps = { id, ...optionalItemGroupProps };\n const mergedProps = mergeProps(menu.getItemGroupProps({ id: itemGroupProps.id }), localProps);\n return /* @__PURE__ */ jsx(MenuItemGroupProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuRadioItemGroup.displayName = \"MenuRadioItemGroup\";\n\nexport { MenuRadioItemGroup };\n","'use client';\nimport { useRef, useEffect } from 'react';\n\nconst useEffectOnce = (cb) => {\n const savedCallback = useRef(cb);\n const effectGuard = useRef(false);\n useEffect(() => {\n savedCallback.current = cb;\n });\n useEffect(() => {\n if (effectGuard.current !== true) {\n effectGuard.current = true;\n savedCallback.current();\n }\n }, []);\n};\n\nexport { useEffectOnce };\n","'use client';\nimport * as menu from '@zag-js/menu';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useMenu = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(menu.machine, machineProps);\n const api = menu.connect(service, normalizeProps);\n return { api, service };\n};\n\nexport { useMenu };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuMachineProvider, useMenuMachineContext] = createContext({\n name: \"MenuMachineContext\",\n hookName: \"useMenuMachineContext\",\n providerName: \"<MenuMachineProvider />\",\n strict: false\n});\n\nexport { MenuMachineProvider, useMenuMachineContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuTriggerItemProvider, useMenuTriggerItemContext] = createContext({\n name: \"MenuMachineContext\",\n hookName: \"useMenuMachineContext\",\n providerName: \"<MenuMachineProvider />\",\n strict: false\n});\n\nexport { MenuTriggerItemProvider, useMenuTriggerItemContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { useCallback } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { useEffectOnce } from '../../utils/use-effect-once.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useMenu } from './use-menu.js';\nimport { useMenuContext, MenuProvider } from './use-menu-context.js';\nimport { useMenuMachineContext, MenuMachineProvider } from './use-menu-machine-context.js';\nimport { MenuTriggerItemProvider } from './use-menu-trigger-item-context.js';\n\nconst MenuRoot = (props) => {\n const [presenceProps, menuProps] = splitPresenceProps(props);\n const [useMenuProps, localProps] = createSplitProps()(menuProps, [\n \"anchorPoint\",\n \"aria-label\",\n \"closeOnSelect\",\n \"composite\",\n \"defaultHighlightedValue\",\n \"defaultOpen\",\n \"highlightedValue\",\n \"id\",\n \"ids\",\n \"loopFocus\",\n \"navigate\",\n \"onEscapeKeyDown\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onSelect\",\n \"open\",\n \"positioning\",\n \"typeahead\"\n ]);\n const parentApi = useMenuContext();\n const parentMachine = useMenuMachineContext();\n const { api, service } = useMenu(useMenuProps);\n const presence = usePresence(mergeProps({ present: api.open }, presenceProps));\n useEffectOnce(() => {\n if (!parentMachine) return;\n if (!parentApi) return;\n parentApi.setChild(service);\n api.setParent(parentMachine);\n });\n const triggerItemContext = useCallback(() => parentApi?.getTriggerItemProps(api), [api, parentApi]);\n return /* @__PURE__ */ jsx(MenuTriggerItemProvider, { value: triggerItemContext, children: /* @__PURE__ */ jsx(MenuMachineProvider, { value: service, children: /* @__PURE__ */ jsx(MenuProvider, { value: api, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, ...localProps }) }) }) });\n};\n\nexport { MenuRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { useCallback } from 'react';\nimport { useEffectOnce } from '../../utils/use-effect-once.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useMenuContext, MenuProvider } from './use-menu-context.js';\nimport { useMenuMachineContext, MenuMachineProvider } from './use-menu-machine-context.js';\nimport { MenuTriggerItemProvider } from './use-menu-trigger-item-context.js';\n\nconst MenuRootProvider = (props) => {\n const parentApi = useMenuContext();\n const parentMachine = useMenuMachineContext();\n const [presenceProps, { value: menu, children }] = splitPresenceProps(props);\n const { api, service } = menu;\n const presence = usePresence(mergeProps({ present: api.open }, presenceProps));\n useEffectOnce(() => {\n if (!parentMachine) return;\n if (!parentApi) return;\n parentApi.setChild(service);\n api.setParent(parentMachine);\n });\n const triggerItemContext = useCallback(() => parentApi?.getTriggerItemProps(api), [api, parentApi]);\n return /* @__PURE__ */ jsx(MenuTriggerItemProvider, { value: triggerItemContext, children: /* @__PURE__ */ jsx(MenuMachineProvider, { value: service, children: /* @__PURE__ */ jsx(MenuProvider, { value: api, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) }) }) });\n};\n\nexport { MenuRootProvider };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuSeparator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getSeparatorProps(), props);\n return /* @__PURE__ */ jsx(ark.hr, { ...mergedProps, ref });\n});\nMenuSeparator.displayName = \"MenuSeparator\";\n\nexport { MenuSeparator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuTrigger = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(\n {\n ...menu.getTriggerProps(),\n \"aria-controls\": presence.unmounted ? void 0 : menu.getTriggerProps()[\"aria-controls\"]\n },\n props\n );\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nMenuTrigger.displayName = \"MenuTrigger\";\n\nexport { MenuTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuTriggerItemContext } from './use-menu-trigger-item-context.js';\n\nconst MenuTriggerItem = forwardRef((props, ref) => {\n const getTriggerItemProps = useMenuTriggerItemContext();\n const mergedProps = mergeProps(getTriggerItemProps?.() ?? {}, props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuTriggerItem.displayName = \"MenuTriggerItem\";\n\nexport { MenuTriggerItem };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Menu } from '@ark-ui/react/menu';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { CheckIcon } from '../icons.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useMenuStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"menu\" });\nconst MenuRootProvider = withRootProvider(\n Menu.RootProvider\n);\nconst MenuRoot = withRootProvider(Menu.Root, {\n defaultProps: { lazyMount: true, unmountOnExit: true }\n});\nconst MenuPropsProvider = PropsProvider;\nconst MenuTrigger = withContext(\n Menu.Trigger,\n \"trigger\",\n { forwardAsChild: true }\n);\nconst MenuContextTrigger = withContext(Menu.ContextTrigger, \"contextTrigger\", { forwardAsChild: true });\nconst MenuPositioner = withContext(\n Menu.Positioner,\n \"positioner\",\n { forwardAsChild: true }\n);\nconst MenuSeparator = withContext(\n Menu.Separator,\n \"separator\",\n { forwardAsChild: true }\n);\nconst MenuContent = withContext(\n Menu.Content,\n \"content\",\n { forwardAsChild: true }\n);\nconst MenuArrowTip = withContext(\n Menu.ArrowTip,\n \"arrowTip\",\n { forwardAsChild: true }\n);\nconst MenuArrow = withContext(\n Menu.Arrow,\n \"arrow\",\n { forwardAsChild: true, defaultProps: { children: /* @__PURE__ */ jsx(MenuArrowTip, {}) } }\n);\nconst MenuIndicator = withContext(\n Menu.Indicator,\n \"indicator\",\n { forwardAsChild: true }\n);\nconst MenuItemGroup = withContext(\n Menu.ItemGroup,\n \"itemGroup\",\n { forwardAsChild: true }\n);\nconst MenuItemGroupLabel = withContext(Menu.ItemGroupLabel, \"itemGroupLabel\", { forwardAsChild: true });\nconst MenuItem = withContext(\n Menu.Item,\n \"item\",\n { forwardAsChild: true }\n);\nconst MenuTriggerItem = withContext(Menu.TriggerItem, \"item\", { forwardAsChild: true });\nconst MenuItemText = withContext(\n Menu.ItemText,\n \"itemText\",\n { forwardAsChild: true }\n);\nconst MenuItemCommand = withContext(\n \"kbd\",\n \"itemCommand\"\n);\nconst MenuItemIndicator = withContext(Menu.ItemIndicator, \"itemIndicator\", {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(CheckIcon, { boxSize: \"4\" }) }\n});\nconst MenuCheckboxItem = withContext(Menu.CheckboxItem, \"item\", { forwardAsChild: true });\nconst MenuRadioItemGroup = withContext(Menu.RadioItemGroup, \"itemGroup\", { forwardAsChild: true });\nconst MenuRadioItem = withContext(\n Menu.RadioItem,\n \"item\",\n { forwardAsChild: true }\n);\nconst MenuContext = Menu.Context;\nconst MenuItemContext = Menu.ItemContext;\n\nexport { MenuArrow, MenuArrowTip, MenuCheckboxItem, MenuContent, MenuContext, MenuContextTrigger, MenuIndicator, MenuItem, MenuItemCommand, MenuItemContext, MenuItemGroup, MenuItemGroupLabel, MenuItemIndicator, MenuItemText, MenuPositioner, MenuPropsProvider, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuRootProvider, MenuSeparator, MenuTrigger, MenuTriggerItem, useMenuStyles };\n","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 {...(!text && hideCaret && { paddingInline: 0, paddingBlock: 0 })}\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, MenuListProps } 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 {\n type: \"submenu\";\n valueText?: string;\n listProps?: MenuListProps;\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 const { valueText, listProps } = rest as Omit<SubmenuMenuItemProps, \"type\">;\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 aria-valuetext={valueText}\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 portalled={true}\n listProps={listProps}\n />\n );\n }\n\n if (type === \"checkbox\") {\n const { checked, value, closeOnSelect, ...checkboxRest } =\n 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={closeOnSelect || false}\n gap={3}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} size=\"md\" fullWidth={false} />\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 {\n selected = false,\n value,\n ...defaultRest\n } = 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, useEffect, 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\";\nimport { useModalContentRef } from \"components/Modal/context/modal.context\";\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\n extends Omit<CMenu.RootProps, \"children\" | \"onSelect\"> {\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 { contentRef: modalContentRef } = useModalContentRef();\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 filterOptions = useCallback(\n (searchInput: string, itemsToFilter: MenuItemProps[]) => {\n if (searchInput === \"\" || !searchInput) {\n return itemsToFilter;\n }\n\n return itemsToFilter.filter((item): boolean => {\n const labelText =\n typeof item.label === \"string\" ? item.label : item.valueText;\n\n return !!labelText?.toLowerCase().includes(searchInput.toLowerCase());\n });\n },\n [],\n );\n\n useEffect(() => {\n if (onSearch) {\n setFilteredMenuItems(menuItems);\n } else {\n setFilteredMenuItems(filterOptions(searchText, menuItems));\n }\n }, [searchText, onSearch, filterOptions, menuItems]);\n\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 }\n },\n [onSearch],\n );\n\n const clearSearch = useCallback(() => {\n setSearchText(\"\");\n\n if (onSearch) {\n onSearch({\n target: { value: \"\" },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n }, [onSearch]);\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} container={modalContentRef || undefined}>\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={clearSearch}\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":["MenuProvider","useMenuContext","createContext","MenuArrow","forwardRef","props","ref","menu","mergedProps","mergeProps","jsx","ark","MenuArrowTip","MenuItemProvider","useMenuItemContext","MenuOptionItemPropsProvider","useMenuOptionItemPropsContext","MenuCheckboxItem","partialOptionItemProps","localProps","createSplitProps","optionItemProps","optionItemState","MenuContent","presence","usePresenceContext","composeRefs","MenuContextTrigger","MenuIndicator","MenuItem","itemProps","itemState","useEffect","MenuItemGroupProvider","useMenuItemGroupContext","MenuItemGroup","optionalItemGroupProps","itemGroupProps","useId","MenuItemGroupLabel","itemGroup","MenuItemIndicator","MenuItemText","MenuPositioner","MenuRadioItem","partialItemProps","MenuRadioItemGroup","useEffectOnce","cb","savedCallback","useRef","effectGuard","useMenu","id","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","menu.machine","menu.connect","normalizeProps","MenuMachineProvider","useMenuMachineContext","MenuTriggerItemProvider","useMenuTriggerItemContext","MenuRoot","presenceProps","menuProps","splitPresenceProps","useMenuProps","parentApi","parentMachine","api","usePresence","triggerItemContext","useCallback","PresenceProvider","MenuRootProvider","children","MenuSeparator","MenuTrigger","MenuTriggerItem","getTriggerItemProps","withRootProvider","withContext","createSlotRecipeContext","Menu.RootProvider","Menu.Root","Menu.Trigger","Menu.ContextTrigger","Menu.Positioner","Menu.Separator","Menu.Content","Menu.ArrowTip","Menu.Arrow","Menu.Indicator","Menu.ItemGroup","Menu.ItemGroupLabel","Menu.Item","Menu.TriggerItem","Menu.ItemText","Menu.ItemIndicator","CheckIcon","Menu.CheckboxItem","Menu.RadioItemGroup","Menu.RadioItem","MenuButton","hideCaret","size","text","textProps","variant","rest","jsxs","Button","Text","Flex","Icon","label","leftElement","onSelect","shouldTruncateText","type","handleOnSelect","valueText","listProps","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","closeOnSelect","checkboxRest","CMenu.CheckboxItem","Checkbox","selected","defaultRest","CMenu.Item","Fragment","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","Box","ClearAllButton","SelectAllButton","buttonProps","portalled","submenuTrigger","modalContentRef","useModalContentRef","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","filterOptions","searchInput","itemsToFilter","handleSearch","e","clearSearch","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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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}
@@ -4,11 +4,11 @@ import { B as l } from "./button.component-BpF3MzbZ.js";
4
4
  import { F as w } from "./flex-smlF8uQG.js";
5
5
  import { c as N } from "./create-slot-recipe-context-BJmsuxih.js";
6
6
  import { c as y } from "./factory-Ctbv0Ozn.js";
7
- import { D as B, a as P, b as T, c as A, d as R, e as S, f as $, u as E, g as z, h as F } from "./dialog-trigger-Qc_jF1sR.js";
8
- import { W as O } from "./heading.component-BzNpnXHK.js";
7
+ import { D as B, a as P, b as T, c as A, d as R, e as S, f as $, u as E, g as z, h as F } from "./dialog-trigger-eqGXDXGQ.js";
8
+ import { W as O } from "./heading.component-tEOV4AD0.js";
9
9
  import { M as H } from "./modal.context-DSKLfsJK.js";
10
10
  import { u as I } from "./use-breakpoint-MQ7agQJe.js";
11
- import { P as V } from "./use-locale-context-KeBTTMq9.js";
11
+ import { P as V } from "./use-locale-context-BiiNTYMT.js";
12
12
  const {
13
13
  withRootProvider: b,
14
14
  withContext: t
@@ -203,4 +203,4 @@ export {
203
203
  bo as c,
204
204
  fo as m
205
205
  };
206
- //# sourceMappingURL=modal.types-nOPrSEJd.js.map
206
+ //# sourceMappingURL=modal.types-BShblwxe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.types-nOPrSEJd.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/dialog/dialog.js","../../src/components/Modal/components/ModalFooter/modalFooter.component.tsx","../../src/components/Modal/modal.component.tsx","../../src/components/Modal/modal.types.ts"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Dialog, useDialogContext } from '@ark-ui/react/dialog';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useDialogStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"dialog\" });\nconst DialogRootProvider = withRootProvider(\n Dialog.RootProvider,\n {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n }\n);\nconst DialogRoot = withRootProvider(Dialog.Root, {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n});\nconst DialogPropsProvider = PropsProvider;\nconst DialogTrigger = withContext(\n Dialog.Trigger,\n \"trigger\",\n { forwardAsChild: true }\n);\nconst DialogPositioner = withContext(Dialog.Positioner, \"positioner\", { forwardAsChild: true });\nconst DialogContent = withContext(\n Dialog.Content,\n \"content\",\n { forwardAsChild: true }\n);\nconst DialogDescription = withContext(Dialog.Description, \"description\", { forwardAsChild: true });\nconst DialogTitle = withContext(\n Dialog.Title,\n \"title\",\n { forwardAsChild: true }\n);\nconst DialogCloseTrigger = withContext(Dialog.CloseTrigger, \"closeTrigger\", { forwardAsChild: true });\nconst DialogActionTrigger = forwardRef(function DialogActionTrigger2(props, ref) {\n const dialog = useDialogContext();\n return /* @__PURE__ */ jsx(chakra.button, { ...props, ref, onClick: () => dialog.setOpen(false) });\n});\nconst DialogBackdrop = withContext(\n Dialog.Backdrop,\n \"backdrop\",\n { forwardAsChild: true }\n);\nconst DialogBody = withContext(\n \"div\",\n \"body\"\n);\nconst DialogFooter = withContext(\n \"div\",\n \"footer\"\n);\nconst DialogHeader = withContext(\n \"div\",\n \"header\"\n);\nconst DialogContext = Dialog.Context;\n\nexport { DialogActionTrigger, DialogBackdrop, DialogBody, DialogCloseTrigger, DialogContent, DialogContext, DialogDescription, DialogFooter, DialogHeader, DialogPositioner, DialogPropsProvider, DialogRoot, DialogRootProvider, DialogTitle, DialogTrigger, useDialogStyles };\n","import React from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\nexport interface ModalFooterProps extends Dialog.FooterProps {\n children?: React.ReactNode;\n destructive?: boolean;\n disabled?: boolean;\n hideCancel?: boolean;\n loading?: boolean;\n loadingText?: string;\n onCancel?: () => void;\n onSubmit?: () => void | Promise<void>;\n submitText?: string;\n}\n\nexport const ModalFooter = ({\n children,\n destructive,\n disabled,\n hideCancel = false,\n loading,\n loadingText,\n onCancel,\n onSubmit,\n submitText = \"Submit\",\n ...rest\n}: ModalFooterProps): React.JSX.Element => {\n return (\n <Dialog.Footer\n className=\"Modal__Footer\"\n data-testid=\"kibble-modal-footer\"\n {...rest}\n >\n {children ? (\n children\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" w=\"100%\">\n {!hideCancel && (\n <Dialog.ActionTrigger\n asChild\n className=\"Modal__CancelButton\"\n data-testid=\"kibble-modal-cancel-button\"\n >\n <Button variant=\"tertiary\" onClick={onCancel}>\n Cancel\n </Button>\n </Dialog.ActionTrigger>\n )}\n <Button\n className=\"Modal__SubmitButton\"\n data-testid=\"kibble-modal-submit-button\"\n onClick={onSubmit}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n variant={destructive ? \"primaryDestructive\" : \"primary\"}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Dialog.Footer>\n );\n};\n","import React, { useRef, useState } from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n ModalFooter,\n ModalFooterProps,\n} from \"./components/ModalFooter/modalFooter.component\";\nimport { Heading, HeadingProps } from \"components/Heading/heading.component\";\nimport { ModalMotionPreset, ModalPlacement, ModalSize } from \"./modal.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { useBreakpointValue } from \"@chakra-ui/react\";\nimport { ModalContext } from \"./context/modal.context\";\n\nexport interface ModalProps extends Dialog.RootProps {\n footerProps?: ModalFooterProps;\n fullScreenMobile?: boolean;\n header?: React.ReactNode;\n headerProps?: HeadingProps;\n hideCloseButton?: boolean;\n hideFooter?: boolean;\n motionPreset?: ModalMotionPreset;\n placement?: ModalPlacement;\n showExpandButton?: boolean;\n size?: ModalSize;\n trigger?: React.ReactNode;\n}\n\nexport const Modal = ({\n children,\n footerProps,\n fullScreenMobile = true,\n header,\n headerProps,\n hideCloseButton = false,\n hideFooter = false,\n motionPreset = \"slide-in-bottom\",\n placement = \"center\",\n showExpandButton = false,\n size = \"md\",\n trigger,\n ...rest\n}: ModalProps): React.JSX.Element => {\n const contentRef = useRef<HTMLDivElement>(null!);\n const contextValue = { contentRef };\n const [isExpanded, setIsExpanded] = useState(false);\n const computedSize = useBreakpointValue({\n base: fullScreenMobile ? \"full\" : size,\n md: size,\n });\n\n return (\n <Dialog.Root\n motionPreset={motionPreset}\n placement={placement}\n size={computedSize}\n {...rest}\n expanded={isExpanded}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner>\n <ModalContext.Provider value={contextValue}>\n {\" \"}\n <Dialog.Content\n className=\"Modal\"\n data-testid=\"kibble-modal\"\n ref={contentRef}\n >\n {!hideCloseButton && (\n <Dialog.CloseTrigger\n asChild\n className=\"Modal__CloseButton\"\n data-testid=\"kibble-modal-close-button\"\n >\n <Button iconName=\"close\" variant=\"ghostNeutral\" />\n </Dialog.CloseTrigger>\n )}\n {showExpandButton && (\n <Button\n className=\"Modal__ExpandButton\"\n data-testid=\"kibble-modal-expand-button\"\n variant=\"ghostNeutral\"\n iconName={isExpanded ? \"arrowsIn\" : \"arrowsOut\"}\n position=\"absolute\"\n top={2}\n right={12}\n onClick={() => setIsExpanded((prev) => !prev)}\n />\n )}\n <Dialog.Header\n className=\"Modal__Header\"\n data-testid=\"kibble-modal-header\"\n >\n {header && (\n <Dialog.Title\n className=\"Modal__Title\"\n data-testid=\"kibble-modal-title\"\n asChild\n >\n {typeof header === \"string\" ? (\n <Heading size=\"xl\" {...headerProps}>\n {header}\n </Heading>\n ) : (\n header\n )}\n </Dialog.Title>\n )}\n </Dialog.Header>\n <Dialog.Body\n className=\"Modal__Body\"\n data-testid=\"kibble-modal-body\"\n >\n {children}\n </Dialog.Body>\n {!hideFooter && <ModalFooter {...footerProps} />}\n </Dialog.Content>\n </ModalContext.Provider>\n </Dialog.Positioner>\n </Portal>\n </Dialog.Root>\n );\n};\n","export const modalSizes = [\"xs\", \"sm\", \"md\", \"lg\", \"cover\", \"full\"] as const;\nexport type ModalSize = (typeof modalSizes)[number];\n\nexport const modalPlacements = [\"center\", \"top\", \"bottom\"] as const;\nexport type ModalPlacement = (typeof modalPlacements)[number];\n\nexport const modalScrollBehaviors = [\"inside\", \"outside\"] as const;\nexport type ModalScrollBehavior = (typeof modalScrollBehaviors)[number];\n\nexport const modalMotionPresets = [\n \"scale\",\n \"slide-in-bottom\",\n \"slide-in-top\",\n \"slide-in-left\",\n \"slide-in-right\",\n \"none\",\n] as const;\nexport type ModalMotionPreset = (typeof modalMotionPresets)[number];\n"],"names":["withRootProvider","withContext","createSlotRecipeContext","Dialog.RootProvider","DialogRoot","Dialog.Root","DialogTrigger","Dialog.Trigger","DialogPositioner","Dialog.Positioner","DialogContent","Dialog.Content","Dialog.Description","DialogTitle","Dialog.Title","DialogCloseTrigger","Dialog.CloseTrigger","DialogActionTrigger","forwardRef","props","ref","dialog","useDialogContext","jsx","chakra","DialogBackdrop","Dialog.Backdrop","DialogBody","DialogFooter","DialogHeader","ModalFooter","children","destructive","disabled","hideCancel","loading","loadingText","onCancel","onSubmit","submitText","rest","Dialog.Footer","jsxs","Flex","Dialog.ActionTrigger","Button","Modal","footerProps","fullScreenMobile","header","headerProps","hideCloseButton","hideFooter","motionPreset","placement","showExpandButton","size","trigger","contentRef","useRef","contextValue","isExpanded","setIsExpanded","useState","computedSize","useBreakpointValue","Portal","ModalContext","prev","Dialog.Header","Heading","Dialog.Body","modalSizes","modalPlacements","modalScrollBehaviors","modalMotionPresets"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"modal.types-BShblwxe.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/dialog/dialog.js","../../src/components/Modal/components/ModalFooter/modalFooter.component.tsx","../../src/components/Modal/modal.component.tsx","../../src/components/Modal/modal.types.ts"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Dialog, useDialogContext } from '@ark-ui/react/dialog';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useDialogStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"dialog\" });\nconst DialogRootProvider = withRootProvider(\n Dialog.RootProvider,\n {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n }\n);\nconst DialogRoot = withRootProvider(Dialog.Root, {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n});\nconst DialogPropsProvider = PropsProvider;\nconst DialogTrigger = withContext(\n Dialog.Trigger,\n \"trigger\",\n { forwardAsChild: true }\n);\nconst DialogPositioner = withContext(Dialog.Positioner, \"positioner\", { forwardAsChild: true });\nconst DialogContent = withContext(\n Dialog.Content,\n \"content\",\n { forwardAsChild: true }\n);\nconst DialogDescription = withContext(Dialog.Description, \"description\", { forwardAsChild: true });\nconst DialogTitle = withContext(\n Dialog.Title,\n \"title\",\n { forwardAsChild: true }\n);\nconst DialogCloseTrigger = withContext(Dialog.CloseTrigger, \"closeTrigger\", { forwardAsChild: true });\nconst DialogActionTrigger = forwardRef(function DialogActionTrigger2(props, ref) {\n const dialog = useDialogContext();\n return /* @__PURE__ */ jsx(chakra.button, { ...props, ref, onClick: () => dialog.setOpen(false) });\n});\nconst DialogBackdrop = withContext(\n Dialog.Backdrop,\n \"backdrop\",\n { forwardAsChild: true }\n);\nconst DialogBody = withContext(\n \"div\",\n \"body\"\n);\nconst DialogFooter = withContext(\n \"div\",\n \"footer\"\n);\nconst DialogHeader = withContext(\n \"div\",\n \"header\"\n);\nconst DialogContext = Dialog.Context;\n\nexport { DialogActionTrigger, DialogBackdrop, DialogBody, DialogCloseTrigger, DialogContent, DialogContext, DialogDescription, DialogFooter, DialogHeader, DialogPositioner, DialogPropsProvider, DialogRoot, DialogRootProvider, DialogTitle, DialogTrigger, useDialogStyles };\n","import React from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\nexport interface ModalFooterProps extends Dialog.FooterProps {\n children?: React.ReactNode;\n destructive?: boolean;\n disabled?: boolean;\n hideCancel?: boolean;\n loading?: boolean;\n loadingText?: string;\n onCancel?: () => void;\n onSubmit?: () => void | Promise<void>;\n submitText?: string;\n}\n\nexport const ModalFooter = ({\n children,\n destructive,\n disabled,\n hideCancel = false,\n loading,\n loadingText,\n onCancel,\n onSubmit,\n submitText = \"Submit\",\n ...rest\n}: ModalFooterProps): React.JSX.Element => {\n return (\n <Dialog.Footer\n className=\"Modal__Footer\"\n data-testid=\"kibble-modal-footer\"\n {...rest}\n >\n {children ? (\n children\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" w=\"100%\">\n {!hideCancel && (\n <Dialog.ActionTrigger\n asChild\n className=\"Modal__CancelButton\"\n data-testid=\"kibble-modal-cancel-button\"\n >\n <Button variant=\"tertiary\" onClick={onCancel}>\n Cancel\n </Button>\n </Dialog.ActionTrigger>\n )}\n <Button\n className=\"Modal__SubmitButton\"\n data-testid=\"kibble-modal-submit-button\"\n onClick={onSubmit}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n variant={destructive ? \"primaryDestructive\" : \"primary\"}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Dialog.Footer>\n );\n};\n","import React, { useRef, useState } from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n ModalFooter,\n ModalFooterProps,\n} from \"./components/ModalFooter/modalFooter.component\";\nimport { Heading, HeadingProps } from \"components/Heading/heading.component\";\nimport { ModalMotionPreset, ModalPlacement, ModalSize } from \"./modal.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { useBreakpointValue } from \"@chakra-ui/react\";\nimport { ModalContext } from \"./context/modal.context\";\n\nexport interface ModalProps extends Dialog.RootProps {\n footerProps?: ModalFooterProps;\n fullScreenMobile?: boolean;\n header?: React.ReactNode;\n headerProps?: HeadingProps;\n hideCloseButton?: boolean;\n hideFooter?: boolean;\n motionPreset?: ModalMotionPreset;\n placement?: ModalPlacement;\n showExpandButton?: boolean;\n size?: ModalSize;\n trigger?: React.ReactNode;\n}\n\nexport const Modal = ({\n children,\n footerProps,\n fullScreenMobile = true,\n header,\n headerProps,\n hideCloseButton = false,\n hideFooter = false,\n motionPreset = \"slide-in-bottom\",\n placement = \"center\",\n showExpandButton = false,\n size = \"md\",\n trigger,\n ...rest\n}: ModalProps): React.JSX.Element => {\n const contentRef = useRef<HTMLDivElement>(null!);\n const contextValue = { contentRef };\n const [isExpanded, setIsExpanded] = useState(false);\n const computedSize = useBreakpointValue({\n base: fullScreenMobile ? \"full\" : size,\n md: size,\n });\n\n return (\n <Dialog.Root\n motionPreset={motionPreset}\n placement={placement}\n size={computedSize}\n {...rest}\n expanded={isExpanded}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner>\n <ModalContext.Provider value={contextValue}>\n {\" \"}\n <Dialog.Content\n className=\"Modal\"\n data-testid=\"kibble-modal\"\n ref={contentRef}\n >\n {!hideCloseButton && (\n <Dialog.CloseTrigger\n asChild\n className=\"Modal__CloseButton\"\n data-testid=\"kibble-modal-close-button\"\n >\n <Button iconName=\"close\" variant=\"ghostNeutral\" />\n </Dialog.CloseTrigger>\n )}\n {showExpandButton && (\n <Button\n className=\"Modal__ExpandButton\"\n data-testid=\"kibble-modal-expand-button\"\n variant=\"ghostNeutral\"\n iconName={isExpanded ? \"arrowsIn\" : \"arrowsOut\"}\n position=\"absolute\"\n top={2}\n right={12}\n onClick={() => setIsExpanded((prev) => !prev)}\n />\n )}\n <Dialog.Header\n className=\"Modal__Header\"\n data-testid=\"kibble-modal-header\"\n >\n {header && (\n <Dialog.Title\n className=\"Modal__Title\"\n data-testid=\"kibble-modal-title\"\n asChild\n >\n {typeof header === \"string\" ? (\n <Heading size=\"xl\" {...headerProps}>\n {header}\n </Heading>\n ) : (\n header\n )}\n </Dialog.Title>\n )}\n </Dialog.Header>\n <Dialog.Body\n className=\"Modal__Body\"\n data-testid=\"kibble-modal-body\"\n >\n {children}\n </Dialog.Body>\n {!hideFooter && <ModalFooter {...footerProps} />}\n </Dialog.Content>\n </ModalContext.Provider>\n </Dialog.Positioner>\n </Portal>\n </Dialog.Root>\n );\n};\n","export const modalSizes = [\"xs\", \"sm\", \"md\", \"lg\", \"cover\", \"full\"] as const;\nexport type ModalSize = (typeof modalSizes)[number];\n\nexport const modalPlacements = [\"center\", \"top\", \"bottom\"] as const;\nexport type ModalPlacement = (typeof modalPlacements)[number];\n\nexport const modalScrollBehaviors = [\"inside\", \"outside\"] as const;\nexport type ModalScrollBehavior = (typeof modalScrollBehaviors)[number];\n\nexport const modalMotionPresets = [\n \"scale\",\n \"slide-in-bottom\",\n \"slide-in-top\",\n \"slide-in-left\",\n \"slide-in-right\",\n \"none\",\n] as const;\nexport type ModalMotionPreset = (typeof modalMotionPresets)[number];\n"],"names":["withRootProvider","withContext","createSlotRecipeContext","Dialog.RootProvider","DialogRoot","Dialog.Root","DialogTrigger","Dialog.Trigger","DialogPositioner","Dialog.Positioner","DialogContent","Dialog.Content","Dialog.Description","DialogTitle","Dialog.Title","DialogCloseTrigger","Dialog.CloseTrigger","DialogActionTrigger","forwardRef","props","ref","dialog","useDialogContext","jsx","chakra","DialogBackdrop","Dialog.Backdrop","DialogBody","DialogFooter","DialogHeader","ModalFooter","children","destructive","disabled","hideCancel","loading","loadingText","onCancel","onSubmit","submitText","rest","Dialog.Footer","jsxs","Flex","Dialog.ActionTrigger","Button","Modal","footerProps","fullScreenMobile","header","headerProps","hideCloseButton","hideFooter","motionPreset","placement","showExpandButton","size","trigger","contentRef","useRef","contextValue","isExpanded","setIsExpanded","useState","computedSize","useBreakpointValue","Portal","ModalContext","prev","Dialog.Header","Heading","Dialog.Body","modalSizes","modalPlacements","modalScrollBehaviors","modalMotionPresets"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("./jsx-runtime-BjDatQAs.js"),p=require("react"),a=require("./button.component-Dd9AfGox.js"),_=require("./flex-D14H6HbP.js"),M=require("./create-slot-recipe-context-IwVIgtBt.js"),B=require("./factory-D6tdBUPG.js"),e=require("./dialog-trigger-B5NK0lr-.js"),v=require("./heading.component-D84GW8Ex.js"),w=require("./modal.context-EJ67QNzq.js"),y=require("./use-breakpoint-uBg4-8yY.js"),N=require("./use-locale-context-BdqHZ8L8.js"),{withRootProvider:R,withContext:o}=M.createSlotRecipeContext({key:"dialog"});R(e.DialogRootProvider,{defaultProps:{unmountOnExit:!0,lazyMount:!0}});const P=R(e.DialogRoot,{defaultProps:{unmountOnExit:!0,lazyMount:!0}}),q=o(e.DialogTrigger,"trigger",{forwardAsChild:!0}),T=o(e.DialogPositioner,"positioner",{forwardAsChild:!0}),S=o(e.DialogContent,"content",{forwardAsChild:!0});o(e.DialogDescription,"description",{forwardAsChild:!0});const A=o(e.DialogTitle,"title",{forwardAsChild:!0}),z=o(e.DialogCloseTrigger,"closeTrigger",{forwardAsChild:!0}),F=p.forwardRef(function(r,n){const s=e.useDialogContext();return t.jsxRuntimeExports.jsx(B.chakra.button,{...r,ref:n,onClick:()=>s.setOpen(!1)})}),O=o(e.DialogBackdrop,"backdrop",{forwardAsChild:!0}),H=o("div","body"),I=o("div","footer"),V=o("div","header"),L=({children:i,destructive:r,disabled:n,hideCancel:s=!1,loading:l,loadingText:d,onCancel:c,onSubmit:u,submitText:x="Submit",...m})=>t.jsxRuntimeExports.jsx(I,{className:"Modal__Footer","data-testid":"kibble-modal-footer",...m,children:i||t.jsxRuntimeExports.jsxs(_.Flex,{alignItems:"center",justifyContent:"space-between",w:"100%",children:[!s&&t.jsxRuntimeExports.jsx(F,{asChild:!0,className:"Modal__CancelButton","data-testid":"kibble-modal-cancel-button",children:t.jsxRuntimeExports.jsx(a.Button,{variant:"tertiary",onClick:c,children:"Cancel"})}),t.jsxRuntimeExports.jsx(a.Button,{className:"Modal__SubmitButton","data-testid":"kibble-modal-submit-button",onClick:u,loading:l,loadingText:d,disabled:n,variant:r?"primaryDestructive":"primary",children:x})]})}),W=({children:i,footerProps:r,fullScreenMobile:n=!0,header:s,headerProps:l,hideCloseButton:d=!1,hideFooter:c=!1,motionPreset:u="slide-in-bottom",placement:x="center",showExpandButton:m=!1,size:g="md",trigger:j,...f})=>{const b=p.useRef(null),C={contentRef:b},[h,E]=p.useState(!1),D=y.useBreakpointValue({base:n?"full":g,md:g});return t.jsxRuntimeExports.jsxs(P,{motionPreset:u,placement:x,size:D,...f,expanded:h,children:[j&&t.jsxRuntimeExports.jsx(q,{asChild:!0,children:j}),t.jsxRuntimeExports.jsxs(N.Portal,{children:[t.jsxRuntimeExports.jsx(O,{}),t.jsxRuntimeExports.jsx(T,{children:t.jsxRuntimeExports.jsxs(w.ModalContext.Provider,{value:C,children:[" ",t.jsxRuntimeExports.jsxs(S,{className:"Modal","data-testid":"kibble-modal",ref:b,children:[!d&&t.jsxRuntimeExports.jsx(z,{asChild:!0,className:"Modal__CloseButton","data-testid":"kibble-modal-close-button",children:t.jsxRuntimeExports.jsx(a.Button,{iconName:"close",variant:"ghostNeutral"})}),m&&t.jsxRuntimeExports.jsx(a.Button,{className:"Modal__ExpandButton","data-testid":"kibble-modal-expand-button",variant:"ghostNeutral",iconName:h?"arrowsIn":"arrowsOut",position:"absolute",top:2,right:12,onClick:()=>E(k=>!k)}),t.jsxRuntimeExports.jsx(V,{className:"Modal__Header","data-testid":"kibble-modal-header",children:s&&t.jsxRuntimeExports.jsx(A,{className:"Modal__Title","data-testid":"kibble-modal-title",asChild:!0,children:typeof s=="string"?t.jsxRuntimeExports.jsx(v.WrappedHeading,{size:"xl",...l,children:s}):s})}),t.jsxRuntimeExports.jsx(H,{className:"Modal__Body","data-testid":"kibble-modal-body",children:i}),!c&&t.jsxRuntimeExports.jsx(L,{...r})]})]})})]})]})},G=["xs","sm","md","lg","cover","full"],J=["center","top","bottom"],K=["inside","outside"],Q=["scale","slide-in-bottom","slide-in-top","slide-in-left","slide-in-right","none"];exports.Modal=W;exports.modalMotionPresets=Q;exports.modalPlacements=J;exports.modalScrollBehaviors=K;exports.modalSizes=G;
2
- //# sourceMappingURL=modal.types-CmgKqsZR.js.map
1
+ "use strict";const t=require("./jsx-runtime-BjDatQAs.js"),p=require("react"),a=require("./button.component-Dd9AfGox.js"),_=require("./flex-D14H6HbP.js"),M=require("./create-slot-recipe-context-IwVIgtBt.js"),B=require("./factory-D6tdBUPG.js"),e=require("./dialog-trigger-MkOQUjzu.js"),v=require("./heading.component-B5fvHRUH.js"),w=require("./modal.context-EJ67QNzq.js"),y=require("./use-breakpoint-uBg4-8yY.js"),N=require("./use-locale-context-D0LByRu9.js"),{withRootProvider:R,withContext:o}=M.createSlotRecipeContext({key:"dialog"});R(e.DialogRootProvider,{defaultProps:{unmountOnExit:!0,lazyMount:!0}});const P=R(e.DialogRoot,{defaultProps:{unmountOnExit:!0,lazyMount:!0}}),q=o(e.DialogTrigger,"trigger",{forwardAsChild:!0}),T=o(e.DialogPositioner,"positioner",{forwardAsChild:!0}),S=o(e.DialogContent,"content",{forwardAsChild:!0});o(e.DialogDescription,"description",{forwardAsChild:!0});const A=o(e.DialogTitle,"title",{forwardAsChild:!0}),z=o(e.DialogCloseTrigger,"closeTrigger",{forwardAsChild:!0}),F=p.forwardRef(function(r,n){const s=e.useDialogContext();return t.jsxRuntimeExports.jsx(B.chakra.button,{...r,ref:n,onClick:()=>s.setOpen(!1)})}),O=o(e.DialogBackdrop,"backdrop",{forwardAsChild:!0}),H=o("div","body"),I=o("div","footer"),V=o("div","header"),L=({children:i,destructive:r,disabled:n,hideCancel:s=!1,loading:l,loadingText:d,onCancel:c,onSubmit:u,submitText:x="Submit",...m})=>t.jsxRuntimeExports.jsx(I,{className:"Modal__Footer","data-testid":"kibble-modal-footer",...m,children:i||t.jsxRuntimeExports.jsxs(_.Flex,{alignItems:"center",justifyContent:"space-between",w:"100%",children:[!s&&t.jsxRuntimeExports.jsx(F,{asChild:!0,className:"Modal__CancelButton","data-testid":"kibble-modal-cancel-button",children:t.jsxRuntimeExports.jsx(a.Button,{variant:"tertiary",onClick:c,children:"Cancel"})}),t.jsxRuntimeExports.jsx(a.Button,{className:"Modal__SubmitButton","data-testid":"kibble-modal-submit-button",onClick:u,loading:l,loadingText:d,disabled:n,variant:r?"primaryDestructive":"primary",children:x})]})}),W=({children:i,footerProps:r,fullScreenMobile:n=!0,header:s,headerProps:l,hideCloseButton:d=!1,hideFooter:c=!1,motionPreset:u="slide-in-bottom",placement:x="center",showExpandButton:m=!1,size:g="md",trigger:j,...f})=>{const b=p.useRef(null),C={contentRef:b},[h,E]=p.useState(!1),D=y.useBreakpointValue({base:n?"full":g,md:g});return t.jsxRuntimeExports.jsxs(P,{motionPreset:u,placement:x,size:D,...f,expanded:h,children:[j&&t.jsxRuntimeExports.jsx(q,{asChild:!0,children:j}),t.jsxRuntimeExports.jsxs(N.Portal,{children:[t.jsxRuntimeExports.jsx(O,{}),t.jsxRuntimeExports.jsx(T,{children:t.jsxRuntimeExports.jsxs(w.ModalContext.Provider,{value:C,children:[" ",t.jsxRuntimeExports.jsxs(S,{className:"Modal","data-testid":"kibble-modal",ref:b,children:[!d&&t.jsxRuntimeExports.jsx(z,{asChild:!0,className:"Modal__CloseButton","data-testid":"kibble-modal-close-button",children:t.jsxRuntimeExports.jsx(a.Button,{iconName:"close",variant:"ghostNeutral"})}),m&&t.jsxRuntimeExports.jsx(a.Button,{className:"Modal__ExpandButton","data-testid":"kibble-modal-expand-button",variant:"ghostNeutral",iconName:h?"arrowsIn":"arrowsOut",position:"absolute",top:2,right:12,onClick:()=>E(k=>!k)}),t.jsxRuntimeExports.jsx(V,{className:"Modal__Header","data-testid":"kibble-modal-header",children:s&&t.jsxRuntimeExports.jsx(A,{className:"Modal__Title","data-testid":"kibble-modal-title",asChild:!0,children:typeof s=="string"?t.jsxRuntimeExports.jsx(v.WrappedHeading,{size:"xl",...l,children:s}):s})}),t.jsxRuntimeExports.jsx(H,{className:"Modal__Body","data-testid":"kibble-modal-body",children:i}),!c&&t.jsxRuntimeExports.jsx(L,{...r})]})]})})]})]})},G=["xs","sm","md","lg","cover","full"],J=["center","top","bottom"],K=["inside","outside"],Q=["scale","slide-in-bottom","slide-in-top","slide-in-left","slide-in-right","none"];exports.Modal=W;exports.modalMotionPresets=Q;exports.modalPlacements=J;exports.modalScrollBehaviors=K;exports.modalSizes=G;
2
+ //# sourceMappingURL=modal.types-Bbjk7iGl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.types-CmgKqsZR.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/dialog/dialog.js","../../src/components/Modal/components/ModalFooter/modalFooter.component.tsx","../../src/components/Modal/modal.component.tsx","../../src/components/Modal/modal.types.ts"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Dialog, useDialogContext } from '@ark-ui/react/dialog';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useDialogStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"dialog\" });\nconst DialogRootProvider = withRootProvider(\n Dialog.RootProvider,\n {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n }\n);\nconst DialogRoot = withRootProvider(Dialog.Root, {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n});\nconst DialogPropsProvider = PropsProvider;\nconst DialogTrigger = withContext(\n Dialog.Trigger,\n \"trigger\",\n { forwardAsChild: true }\n);\nconst DialogPositioner = withContext(Dialog.Positioner, \"positioner\", { forwardAsChild: true });\nconst DialogContent = withContext(\n Dialog.Content,\n \"content\",\n { forwardAsChild: true }\n);\nconst DialogDescription = withContext(Dialog.Description, \"description\", { forwardAsChild: true });\nconst DialogTitle = withContext(\n Dialog.Title,\n \"title\",\n { forwardAsChild: true }\n);\nconst DialogCloseTrigger = withContext(Dialog.CloseTrigger, \"closeTrigger\", { forwardAsChild: true });\nconst DialogActionTrigger = forwardRef(function DialogActionTrigger2(props, ref) {\n const dialog = useDialogContext();\n return /* @__PURE__ */ jsx(chakra.button, { ...props, ref, onClick: () => dialog.setOpen(false) });\n});\nconst DialogBackdrop = withContext(\n Dialog.Backdrop,\n \"backdrop\",\n { forwardAsChild: true }\n);\nconst DialogBody = withContext(\n \"div\",\n \"body\"\n);\nconst DialogFooter = withContext(\n \"div\",\n \"footer\"\n);\nconst DialogHeader = withContext(\n \"div\",\n \"header\"\n);\nconst DialogContext = Dialog.Context;\n\nexport { DialogActionTrigger, DialogBackdrop, DialogBody, DialogCloseTrigger, DialogContent, DialogContext, DialogDescription, DialogFooter, DialogHeader, DialogPositioner, DialogPropsProvider, DialogRoot, DialogRootProvider, DialogTitle, DialogTrigger, useDialogStyles };\n","import React from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\nexport interface ModalFooterProps extends Dialog.FooterProps {\n children?: React.ReactNode;\n destructive?: boolean;\n disabled?: boolean;\n hideCancel?: boolean;\n loading?: boolean;\n loadingText?: string;\n onCancel?: () => void;\n onSubmit?: () => void | Promise<void>;\n submitText?: string;\n}\n\nexport const ModalFooter = ({\n children,\n destructive,\n disabled,\n hideCancel = false,\n loading,\n loadingText,\n onCancel,\n onSubmit,\n submitText = \"Submit\",\n ...rest\n}: ModalFooterProps): React.JSX.Element => {\n return (\n <Dialog.Footer\n className=\"Modal__Footer\"\n data-testid=\"kibble-modal-footer\"\n {...rest}\n >\n {children ? (\n children\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" w=\"100%\">\n {!hideCancel && (\n <Dialog.ActionTrigger\n asChild\n className=\"Modal__CancelButton\"\n data-testid=\"kibble-modal-cancel-button\"\n >\n <Button variant=\"tertiary\" onClick={onCancel}>\n Cancel\n </Button>\n </Dialog.ActionTrigger>\n )}\n <Button\n className=\"Modal__SubmitButton\"\n data-testid=\"kibble-modal-submit-button\"\n onClick={onSubmit}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n variant={destructive ? \"primaryDestructive\" : \"primary\"}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Dialog.Footer>\n );\n};\n","import React, { useRef, useState } from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n ModalFooter,\n ModalFooterProps,\n} from \"./components/ModalFooter/modalFooter.component\";\nimport { Heading, HeadingProps } from \"components/Heading/heading.component\";\nimport { ModalMotionPreset, ModalPlacement, ModalSize } from \"./modal.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { useBreakpointValue } from \"@chakra-ui/react\";\nimport { ModalContext } from \"./context/modal.context\";\n\nexport interface ModalProps extends Dialog.RootProps {\n footerProps?: ModalFooterProps;\n fullScreenMobile?: boolean;\n header?: React.ReactNode;\n headerProps?: HeadingProps;\n hideCloseButton?: boolean;\n hideFooter?: boolean;\n motionPreset?: ModalMotionPreset;\n placement?: ModalPlacement;\n showExpandButton?: boolean;\n size?: ModalSize;\n trigger?: React.ReactNode;\n}\n\nexport const Modal = ({\n children,\n footerProps,\n fullScreenMobile = true,\n header,\n headerProps,\n hideCloseButton = false,\n hideFooter = false,\n motionPreset = \"slide-in-bottom\",\n placement = \"center\",\n showExpandButton = false,\n size = \"md\",\n trigger,\n ...rest\n}: ModalProps): React.JSX.Element => {\n const contentRef = useRef<HTMLDivElement>(null!);\n const contextValue = { contentRef };\n const [isExpanded, setIsExpanded] = useState(false);\n const computedSize = useBreakpointValue({\n base: fullScreenMobile ? \"full\" : size,\n md: size,\n });\n\n return (\n <Dialog.Root\n motionPreset={motionPreset}\n placement={placement}\n size={computedSize}\n {...rest}\n expanded={isExpanded}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner>\n <ModalContext.Provider value={contextValue}>\n {\" \"}\n <Dialog.Content\n className=\"Modal\"\n data-testid=\"kibble-modal\"\n ref={contentRef}\n >\n {!hideCloseButton && (\n <Dialog.CloseTrigger\n asChild\n className=\"Modal__CloseButton\"\n data-testid=\"kibble-modal-close-button\"\n >\n <Button iconName=\"close\" variant=\"ghostNeutral\" />\n </Dialog.CloseTrigger>\n )}\n {showExpandButton && (\n <Button\n className=\"Modal__ExpandButton\"\n data-testid=\"kibble-modal-expand-button\"\n variant=\"ghostNeutral\"\n iconName={isExpanded ? \"arrowsIn\" : \"arrowsOut\"}\n position=\"absolute\"\n top={2}\n right={12}\n onClick={() => setIsExpanded((prev) => !prev)}\n />\n )}\n <Dialog.Header\n className=\"Modal__Header\"\n data-testid=\"kibble-modal-header\"\n >\n {header && (\n <Dialog.Title\n className=\"Modal__Title\"\n data-testid=\"kibble-modal-title\"\n asChild\n >\n {typeof header === \"string\" ? (\n <Heading size=\"xl\" {...headerProps}>\n {header}\n </Heading>\n ) : (\n header\n )}\n </Dialog.Title>\n )}\n </Dialog.Header>\n <Dialog.Body\n className=\"Modal__Body\"\n data-testid=\"kibble-modal-body\"\n >\n {children}\n </Dialog.Body>\n {!hideFooter && <ModalFooter {...footerProps} />}\n </Dialog.Content>\n </ModalContext.Provider>\n </Dialog.Positioner>\n </Portal>\n </Dialog.Root>\n );\n};\n","export const modalSizes = [\"xs\", \"sm\", \"md\", \"lg\", \"cover\", \"full\"] as const;\nexport type ModalSize = (typeof modalSizes)[number];\n\nexport const modalPlacements = [\"center\", \"top\", \"bottom\"] as const;\nexport type ModalPlacement = (typeof modalPlacements)[number];\n\nexport const modalScrollBehaviors = [\"inside\", \"outside\"] as const;\nexport type ModalScrollBehavior = (typeof modalScrollBehaviors)[number];\n\nexport const modalMotionPresets = [\n \"scale\",\n \"slide-in-bottom\",\n \"slide-in-top\",\n \"slide-in-left\",\n \"slide-in-right\",\n \"none\",\n] as const;\nexport type ModalMotionPreset = (typeof modalMotionPresets)[number];\n"],"names":["withRootProvider","withContext","createSlotRecipeContext","Dialog.RootProvider","DialogRoot","Dialog.Root","DialogTrigger","Dialog.Trigger","DialogPositioner","Dialog.Positioner","DialogContent","Dialog.Content","Dialog.Description","DialogTitle","Dialog.Title","DialogCloseTrigger","Dialog.CloseTrigger","DialogActionTrigger","forwardRef","props","ref","dialog","useDialogContext","jsx","chakra","DialogBackdrop","Dialog.Backdrop","DialogBody","DialogFooter","DialogHeader","ModalFooter","children","destructive","disabled","hideCancel","loading","loadingText","onCancel","onSubmit","submitText","rest","Dialog.Footer","jsxs","Flex","Dialog.ActionTrigger","Button","Modal","footerProps","fullScreenMobile","header","headerProps","hideCloseButton","hideFooter","motionPreset","placement","showExpandButton","size","trigger","contentRef","useRef","contextValue","isExpanded","setIsExpanded","useState","computedSize","useBreakpointValue","Portal","ModalContext","prev","Dialog.Header","Heading","Dialog.Body","modalSizes","modalPlacements","modalScrollBehaviors","modalMotionPresets"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"modal.types-Bbjk7iGl.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/dialog/dialog.js","../../src/components/Modal/components/ModalFooter/modalFooter.component.tsx","../../src/components/Modal/modal.component.tsx","../../src/components/Modal/modal.types.ts"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Dialog, useDialogContext } from '@ark-ui/react/dialog';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useDialogStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"dialog\" });\nconst DialogRootProvider = withRootProvider(\n Dialog.RootProvider,\n {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n }\n);\nconst DialogRoot = withRootProvider(Dialog.Root, {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n});\nconst DialogPropsProvider = PropsProvider;\nconst DialogTrigger = withContext(\n Dialog.Trigger,\n \"trigger\",\n { forwardAsChild: true }\n);\nconst DialogPositioner = withContext(Dialog.Positioner, \"positioner\", { forwardAsChild: true });\nconst DialogContent = withContext(\n Dialog.Content,\n \"content\",\n { forwardAsChild: true }\n);\nconst DialogDescription = withContext(Dialog.Description, \"description\", { forwardAsChild: true });\nconst DialogTitle = withContext(\n Dialog.Title,\n \"title\",\n { forwardAsChild: true }\n);\nconst DialogCloseTrigger = withContext(Dialog.CloseTrigger, \"closeTrigger\", { forwardAsChild: true });\nconst DialogActionTrigger = forwardRef(function DialogActionTrigger2(props, ref) {\n const dialog = useDialogContext();\n return /* @__PURE__ */ jsx(chakra.button, { ...props, ref, onClick: () => dialog.setOpen(false) });\n});\nconst DialogBackdrop = withContext(\n Dialog.Backdrop,\n \"backdrop\",\n { forwardAsChild: true }\n);\nconst DialogBody = withContext(\n \"div\",\n \"body\"\n);\nconst DialogFooter = withContext(\n \"div\",\n \"footer\"\n);\nconst DialogHeader = withContext(\n \"div\",\n \"header\"\n);\nconst DialogContext = Dialog.Context;\n\nexport { DialogActionTrigger, DialogBackdrop, DialogBody, DialogCloseTrigger, DialogContent, DialogContext, DialogDescription, DialogFooter, DialogHeader, DialogPositioner, DialogPropsProvider, DialogRoot, DialogRootProvider, DialogTitle, DialogTrigger, useDialogStyles };\n","import React from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\nexport interface ModalFooterProps extends Dialog.FooterProps {\n children?: React.ReactNode;\n destructive?: boolean;\n disabled?: boolean;\n hideCancel?: boolean;\n loading?: boolean;\n loadingText?: string;\n onCancel?: () => void;\n onSubmit?: () => void | Promise<void>;\n submitText?: string;\n}\n\nexport const ModalFooter = ({\n children,\n destructive,\n disabled,\n hideCancel = false,\n loading,\n loadingText,\n onCancel,\n onSubmit,\n submitText = \"Submit\",\n ...rest\n}: ModalFooterProps): React.JSX.Element => {\n return (\n <Dialog.Footer\n className=\"Modal__Footer\"\n data-testid=\"kibble-modal-footer\"\n {...rest}\n >\n {children ? (\n children\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" w=\"100%\">\n {!hideCancel && (\n <Dialog.ActionTrigger\n asChild\n className=\"Modal__CancelButton\"\n data-testid=\"kibble-modal-cancel-button\"\n >\n <Button variant=\"tertiary\" onClick={onCancel}>\n Cancel\n </Button>\n </Dialog.ActionTrigger>\n )}\n <Button\n className=\"Modal__SubmitButton\"\n data-testid=\"kibble-modal-submit-button\"\n onClick={onSubmit}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n variant={destructive ? \"primaryDestructive\" : \"primary\"}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Dialog.Footer>\n );\n};\n","import React, { useRef, useState } from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n ModalFooter,\n ModalFooterProps,\n} from \"./components/ModalFooter/modalFooter.component\";\nimport { Heading, HeadingProps } from \"components/Heading/heading.component\";\nimport { ModalMotionPreset, ModalPlacement, ModalSize } from \"./modal.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { useBreakpointValue } from \"@chakra-ui/react\";\nimport { ModalContext } from \"./context/modal.context\";\n\nexport interface ModalProps extends Dialog.RootProps {\n footerProps?: ModalFooterProps;\n fullScreenMobile?: boolean;\n header?: React.ReactNode;\n headerProps?: HeadingProps;\n hideCloseButton?: boolean;\n hideFooter?: boolean;\n motionPreset?: ModalMotionPreset;\n placement?: ModalPlacement;\n showExpandButton?: boolean;\n size?: ModalSize;\n trigger?: React.ReactNode;\n}\n\nexport const Modal = ({\n children,\n footerProps,\n fullScreenMobile = true,\n header,\n headerProps,\n hideCloseButton = false,\n hideFooter = false,\n motionPreset = \"slide-in-bottom\",\n placement = \"center\",\n showExpandButton = false,\n size = \"md\",\n trigger,\n ...rest\n}: ModalProps): React.JSX.Element => {\n const contentRef = useRef<HTMLDivElement>(null!);\n const contextValue = { contentRef };\n const [isExpanded, setIsExpanded] = useState(false);\n const computedSize = useBreakpointValue({\n base: fullScreenMobile ? \"full\" : size,\n md: size,\n });\n\n return (\n <Dialog.Root\n motionPreset={motionPreset}\n placement={placement}\n size={computedSize}\n {...rest}\n expanded={isExpanded}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner>\n <ModalContext.Provider value={contextValue}>\n {\" \"}\n <Dialog.Content\n className=\"Modal\"\n data-testid=\"kibble-modal\"\n ref={contentRef}\n >\n {!hideCloseButton && (\n <Dialog.CloseTrigger\n asChild\n className=\"Modal__CloseButton\"\n data-testid=\"kibble-modal-close-button\"\n >\n <Button iconName=\"close\" variant=\"ghostNeutral\" />\n </Dialog.CloseTrigger>\n )}\n {showExpandButton && (\n <Button\n className=\"Modal__ExpandButton\"\n data-testid=\"kibble-modal-expand-button\"\n variant=\"ghostNeutral\"\n iconName={isExpanded ? \"arrowsIn\" : \"arrowsOut\"}\n position=\"absolute\"\n top={2}\n right={12}\n onClick={() => setIsExpanded((prev) => !prev)}\n />\n )}\n <Dialog.Header\n className=\"Modal__Header\"\n data-testid=\"kibble-modal-header\"\n >\n {header && (\n <Dialog.Title\n className=\"Modal__Title\"\n data-testid=\"kibble-modal-title\"\n asChild\n >\n {typeof header === \"string\" ? (\n <Heading size=\"xl\" {...headerProps}>\n {header}\n </Heading>\n ) : (\n header\n )}\n </Dialog.Title>\n )}\n </Dialog.Header>\n <Dialog.Body\n className=\"Modal__Body\"\n data-testid=\"kibble-modal-body\"\n >\n {children}\n </Dialog.Body>\n {!hideFooter && <ModalFooter {...footerProps} />}\n </Dialog.Content>\n </ModalContext.Provider>\n </Dialog.Positioner>\n </Portal>\n </Dialog.Root>\n );\n};\n","export const modalSizes = [\"xs\", \"sm\", \"md\", \"lg\", \"cover\", \"full\"] as const;\nexport type ModalSize = (typeof modalSizes)[number];\n\nexport const modalPlacements = [\"center\", \"top\", \"bottom\"] as const;\nexport type ModalPlacement = (typeof modalPlacements)[number];\n\nexport const modalScrollBehaviors = [\"inside\", \"outside\"] as const;\nexport type ModalScrollBehavior = (typeof modalScrollBehaviors)[number];\n\nexport const modalMotionPresets = [\n \"scale\",\n \"slide-in-bottom\",\n \"slide-in-top\",\n \"slide-in-left\",\n \"slide-in-right\",\n \"none\",\n] as const;\nexport type ModalMotionPreset = (typeof modalMotionPresets)[number];\n"],"names":["withRootProvider","withContext","createSlotRecipeContext","Dialog.RootProvider","DialogRoot","Dialog.Root","DialogTrigger","Dialog.Trigger","DialogPositioner","Dialog.Positioner","DialogContent","Dialog.Content","Dialog.Description","DialogTitle","Dialog.Title","DialogCloseTrigger","Dialog.CloseTrigger","DialogActionTrigger","forwardRef","props","ref","dialog","useDialogContext","jsx","chakra","DialogBackdrop","Dialog.Backdrop","DialogBody","DialogFooter","DialogHeader","ModalFooter","children","destructive","disabled","hideCancel","loading","loadingText","onCancel","onSubmit","submitText","rest","Dialog.Footer","jsxs","Flex","Dialog.ActionTrigger","Button","Modal","footerProps","fullScreenMobile","header","headerProps","hideCloseButton","hideFooter","motionPreset","placement","showExpandButton","size","trigger","contentRef","useRef","contextValue","isExpanded","setIsExpanded","useState","computedSize","useBreakpointValue","Portal","ModalContext","prev","Dialog.Header","Heading","Dialog.Body","modalSizes","modalPlacements","modalScrollBehaviors","modalMotionPresets"],"mappings":"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","x_google_ignoreList":[0]}