@televet/kibble-ui 5.0.13-steve.0 → 5.0.14
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.
- package/dist/chunks/{alert.types-BsTOOEB7.js → alert.types-DWm1TeiF.js} +3 -3
- package/dist/chunks/{alert.types-BsTOOEB7.js.map → alert.types-DWm1TeiF.js.map} +1 -1
- package/dist/chunks/{anatomy-BkGk10kB.js → anatomy-B0LtI6sf.js} +2 -2
- package/dist/chunks/{anatomy-BkGk10kB.js.map → anatomy-B0LtI6sf.js.map} +1 -1
- package/dist/chunks/{anatomy-zd4ecEFD.js → anatomy-DKlFmIC5.js} +12 -12
- package/dist/chunks/{anatomy-zd4ecEFD.js.map → anatomy-DKlFmIC5.js.map} +1 -1
- package/dist/chunks/{avatar.component-CzutRWy6.js → avatar.component-BL6D6Lw_.js} +5 -5
- package/dist/chunks/{avatar.component-CzutRWy6.js.map → avatar.component-BL6D6Lw_.js.map} +1 -1
- package/dist/chunks/{avatar.records-EoZmO3VR.js → avatar.records-DFg5kBIk.js} +13 -13
- package/dist/chunks/{avatar.records-EoZmO3VR.js.map → avatar.records-DFg5kBIk.js.map} +1 -1
- package/dist/chunks/{avatarGroup.component-WSh9t8AX.js → avatarGroup.component-Ba_rfWUg.js} +5 -5
- package/dist/chunks/{avatarGroup.component-WSh9t8AX.js.map → avatarGroup.component-Ba_rfWUg.js.map} +1 -1
- package/dist/chunks/{buttonGroup.component-TsLHB-LO.js → buttonGroup.component-BNOBvOyv.js} +2 -2
- package/dist/chunks/{buttonGroup.component-TsLHB-LO.js.map → buttonGroup.component-BNOBvOyv.js.map} +1 -1
- package/dist/chunks/{calendar.component-CiBkNtlB.js → calendar.component-B4EcYQEb.js} +2 -2
- package/dist/chunks/{calendar.component-CiBkNtlB.js.map → calendar.component-B4EcYQEb.js.map} +1 -1
- package/dist/chunks/{characterCounter.component-CoMqt04J.js → characterCounter.component-DI_FQNUR.js} +2 -2
- package/dist/chunks/{characterCounter.component-CoMqt04J.js.map → characterCounter.component-DI_FQNUR.js.map} +1 -1
- package/dist/chunks/{checkbox.anatomy-BzZ0IkUF.js → checkbox.anatomy-B8fWV_mm.js} +28 -28
- package/dist/chunks/{checkbox.anatomy-BzZ0IkUF.js.map → checkbox.anatomy-B8fWV_mm.js.map} +1 -1
- package/dist/chunks/{checkbox.component-C0XdgZkr.js → checkbox.component-DDsVfE4a.js} +9 -9
- package/dist/chunks/{checkbox.component-C0XdgZkr.js.map → checkbox.component-DDsVfE4a.js.map} +1 -1
- package/dist/chunks/{checkboxGroup.component-lxNvlmd_.js → checkboxGroup.component-Cx2Gvii5.js} +3 -3
- package/dist/chunks/{checkboxGroup.component-lxNvlmd_.js.map → checkboxGroup.component-Cx2Gvii5.js.map} +1 -1
- package/dist/chunks/{conversationCard.component-B_XSYd1p.js → conversationCard.component-D7hpX-QG.js} +8 -8
- package/dist/chunks/{conversationCard.component-B_XSYd1p.js.map → conversationCard.component-D7hpX-QG.js.map} +1 -1
- package/dist/chunks/{datePicker.component-BAaIqF1O.js → datePicker.component-BotAJpXU.js} +8 -8
- package/dist/chunks/{datePicker.component-BAaIqF1O.js.map → datePicker.component-BotAJpXU.js.map} +1 -1
- package/dist/chunks/{datePicker.component-mE9U6yIL.js → datePicker.component-Cx76pUPS.js} +2 -2
- package/dist/chunks/{datePicker.component-mE9U6yIL.js.map → datePicker.component-Cx76pUPS.js.map} +1 -1
- package/dist/chunks/{datePicker.provider-DEN8clnz.js → datePicker.provider-xtYFjWKI.js} +5 -5
- package/dist/chunks/{datePicker.provider-DEN8clnz.js.map → datePicker.provider-xtYFjWKI.js.map} +1 -1
- package/dist/chunks/{dateTimePicker.component-NOJdpYNs.js → dateTimePicker.component-CUIKZ5BK.js} +9 -9
- package/dist/chunks/{dateTimePicker.component-NOJdpYNs.js.map → dateTimePicker.component-CUIKZ5BK.js.map} +1 -1
- package/dist/chunks/{dateTimePicker.component-CmpTclKA.js → dateTimePicker.component-IGSiKHDc.js} +2 -2
- package/dist/chunks/{dateTimePicker.component-CmpTclKA.js.map → dateTimePicker.component-IGSiKHDc.js.map} +1 -1
- package/dist/chunks/{dialog-B9jifvV4.js → dialog-CJpn28QG.js} +6 -6
- package/dist/chunks/{dialog-B9jifvV4.js.map → dialog-CJpn28QG.js.map} +1 -1
- package/dist/chunks/{field.anatomy-C37GEr2p.js → field.anatomy-CAraH-al.js} +2 -2
- package/dist/chunks/{field.anatomy-C37GEr2p.js.map → field.anatomy-CAraH-al.js.map} +1 -1
- package/dist/chunks/{heading.component-PFNpLFT7.js → heading.component-CpSAN3cv.js} +2 -2
- package/dist/chunks/{heading.component-PFNpLFT7.js.map → heading.component-CpSAN3cv.js.map} +1 -1
- package/dist/chunks/index-6QSGfY1E.js +1011 -0
- package/dist/chunks/index-6QSGfY1E.js.map +1 -0
- package/dist/chunks/{index-D1RhzPVz.js → index-BBvspkoa.js} +3 -3
- package/dist/chunks/{index-D1RhzPVz.js.map → index-BBvspkoa.js.map} +1 -1
- package/dist/chunks/{index-D7QT9KIZ.js → index-BU6fRN91.js} +3 -3
- package/dist/chunks/{index-D7QT9KIZ.js.map → index-BU6fRN91.js.map} +1 -1
- package/dist/chunks/{index-Cxrrsmf-.js → index-BWNl4vB2.js} +8 -8
- package/dist/chunks/{index-Cxrrsmf-.js.map → index-BWNl4vB2.js.map} +1 -1
- package/dist/chunks/{index-fHSGm2nC.js → index-BcafYtXX.js} +47 -47
- package/dist/chunks/{index-fHSGm2nC.js.map → index-BcafYtXX.js.map} +1 -1
- package/dist/chunks/index-BhMI6dHH.js +191 -0
- package/dist/chunks/index-BhMI6dHH.js.map +1 -0
- package/dist/chunks/{index-QVc_GVoE.js → index-C0IJq4ol.js} +15 -15
- package/dist/chunks/{index-QVc_GVoE.js.map → index-C0IJq4ol.js.map} +1 -1
- package/dist/chunks/{index-wV4hG2vI.js → index-CXLyCyl3.js} +4 -4
- package/dist/chunks/{index-wV4hG2vI.js.map → index-CXLyCyl3.js.map} +1 -1
- package/dist/chunks/{index-DfzXSlq1.js → index-CcwGiuyq.js} +29 -29
- package/dist/chunks/{index-DfzXSlq1.js.map → index-CcwGiuyq.js.map} +1 -1
- package/dist/chunks/{index-BbZjRFzg.js → index-CgPTA7y6.js} +3 -3
- package/dist/chunks/{index-BbZjRFzg.js.map → index-CgPTA7y6.js.map} +1 -1
- package/dist/chunks/{index-CbVKVxMW.js → index-CmREf48Z.js} +11 -11
- package/dist/chunks/{index-CbVKVxMW.js.map → index-CmREf48Z.js.map} +1 -1
- package/dist/chunks/{index-B3xJnxjd.js → index-DJa3JmO7.js} +14 -14
- package/dist/chunks/{index-B3xJnxjd.js.map → index-DJa3JmO7.js.map} +1 -1
- package/dist/chunks/{index-DS4KlAkI.js → index-DVGrQEJi.js} +20 -20
- package/dist/chunks/{index-DS4KlAkI.js.map → index-DVGrQEJi.js.map} +1 -1
- package/dist/chunks/{index-C9UYIjEB.js → index-DcmJgLUo.js} +91 -91
- package/dist/chunks/{index-C9UYIjEB.js.map → index-DcmJgLUo.js.map} +1 -1
- package/dist/chunks/index-DhaZ70Qi.js +2 -0
- package/dist/chunks/index-DhaZ70Qi.js.map +1 -0
- package/dist/chunks/index-LDDF3MqB.js +2 -0
- package/dist/chunks/index-LDDF3MqB.js.map +1 -0
- package/dist/chunks/{index-D0DKQnEK.js → index-NrnnmC8w.js} +13 -13
- package/dist/chunks/{index-D0DKQnEK.js.map → index-NrnnmC8w.js.map} +1 -1
- package/dist/chunks/{index-BrJtqTzN.js → index-hPXhx9Mi.js} +5 -5
- package/dist/chunks/{index-BrJtqTzN.js.map → index-hPXhx9Mi.js.map} +1 -1
- package/dist/chunks/{index-BgFImxxe.js → index-k8xPaJWO.js} +12 -12
- package/dist/chunks/{index-BgFImxxe.js.map → index-k8xPaJWO.js.map} +1 -1
- package/dist/chunks/{index-D3Q0mQNf.js → index-mXLFPoCI.js} +18 -18
- package/dist/chunks/{index-D3Q0mQNf.js.map → index-mXLFPoCI.js.map} +1 -1
- package/dist/chunks/list-collection-Bla_aoE6.js +6 -0
- package/dist/chunks/list-collection-Bla_aoE6.js.map +1 -0
- package/dist/chunks/list-collection-DoQwQYv1.js +2 -0
- package/dist/chunks/list-collection-DoQwQYv1.js.map +1 -0
- package/dist/chunks/{menu.component-Cq9sPsTJ.js → menu.component-BEDMybmZ.js} +10 -10
- package/dist/chunks/{menu.component-Cq9sPsTJ.js.map → menu.component-BEDMybmZ.js.map} +1 -1
- package/dist/chunks/{modal.types-CVy-QT6f.js → modal.types-Bq9gdlSr.js} +4 -4
- package/dist/chunks/{modal.types-CVy-QT6f.js.map → modal.types-Bq9gdlSr.js.map} +1 -1
- package/dist/chunks/{notificationCounter.component-BlGSd37B.js → notificationCounter.component-6Q3q8jWj.js} +2 -2
- package/dist/chunks/{notificationCounter.component-BlGSd37B.js.map → notificationCounter.component-6Q3q8jWj.js.map} +1 -1
- package/dist/chunks/{numberInput.component-nT-7b9qv.js → numberInput.component-DFK4EYLV.js} +6 -6
- package/dist/chunks/{numberInput.component-nT-7b9qv.js.map → numberInput.component-DFK4EYLV.js.map} +1 -1
- package/dist/chunks/{pinInput.types-B0nfeSUS.js → pinInput.types-BmXYQb7O.js} +6 -6
- package/dist/chunks/{pinInput.types-B0nfeSUS.js.map → pinInput.types-BmXYQb7O.js.map} +1 -1
- package/dist/chunks/{popover-pd70xkY_.js → popover-Gb1fXSR7.js} +5 -5
- package/dist/chunks/{popover-pd70xkY_.js.map → popover-Gb1fXSR7.js.map} +1 -1
- package/dist/chunks/{popover-root-provider-DR0Iuda1.js → popover-root-provider-CFn2dthZ.js} +5 -5
- package/dist/chunks/{popover-root-provider-DR0Iuda1.js.map → popover-root-provider-CFn2dthZ.js.map} +1 -1
- package/dist/chunks/{popover.component-BsiKfJR7.js → popover.component-DIYT1Lc0.js} +8 -8
- package/dist/chunks/{popover.component-BsiKfJR7.js.map → popover.component-DIYT1Lc0.js.map} +1 -1
- package/dist/chunks/{popover.component-C0nG3J1J.js → popover.component-DTjA1GSd.js} +2 -2
- package/dist/chunks/{popover.component-C0nG3J1J.js.map → popover.component-DTjA1GSd.js.map} +1 -1
- package/dist/chunks/{popover.recipe-NDvOfG9X.js → popover.recipe-CtptsJg6.js} +2 -2
- package/dist/chunks/{popover.recipe-NDvOfG9X.js.map → popover.recipe-CtptsJg6.js.map} +1 -1
- package/dist/chunks/{popover.recipe-BAl0q_IZ.js → popover.recipe-DPwwsWLb.js} +2 -2
- package/dist/chunks/{popover.recipe-BAl0q_IZ.js.map → popover.recipe-DPwwsWLb.js.map} +1 -1
- package/dist/chunks/{progress-value-text-DZkUF2cO.js → progress-value-text-D1GjH6w4.js} +4 -4
- package/dist/chunks/{progress-value-text-DZkUF2cO.js.map → progress-value-text-D1GjH6w4.js.map} +1 -1
- package/dist/chunks/{radioGroup.types-B--54AgI.js → radioGroup.types-CVFQ5dZ7.js} +7 -7
- package/dist/chunks/{radioGroup.types-B--54AgI.js.map → radioGroup.types-CVFQ5dZ7.js.map} +1 -1
- package/dist/chunks/{rating-group-CfwdAW9a.js → rating-group-DRCWuE5-.js} +5 -5
- package/dist/chunks/{rating-group-CfwdAW9a.js.map → rating-group-DRCWuE5-.js.map} +1 -1
- package/dist/chunks/{rating.component-DHlwuL8y.js → rating.component-CQgpD-gS.js} +3 -3
- package/dist/chunks/{rating.component-DHlwuL8y.js.map → rating.component-CQgpD-gS.js.map} +1 -1
- package/dist/chunks/{ratingDots.component-C3ABFE0-.js → ratingDots.component-C1KgTGWj.js} +3 -3
- package/dist/chunks/{ratingDots.component-C3ABFE0-.js.map → ratingDots.component-C1KgTGWj.js.map} +1 -1
- package/dist/chunks/{render-strategy-munDZLwL.js → render-strategy-DLvzMQD1.js} +2 -2
- package/dist/chunks/{render-strategy-munDZLwL.js.map → render-strategy-DLvzMQD1.js.map} +1 -1
- package/dist/chunks/{select.component-D5EioB-E.js → select.component-BkDkYpf2.js} +254 -253
- package/dist/chunks/select.component-BkDkYpf2.js.map +1 -0
- package/dist/chunks/select.component-DoFwe4lJ.js +2 -0
- package/dist/chunks/select.component-DoFwe4lJ.js.map +1 -0
- package/dist/chunks/{sortableList.component-B2XQoMq7.js → sortableList.component-CbxbBLVQ.js} +3 -3
- package/dist/chunks/{sortableList.component-B2XQoMq7.js.map → sortableList.component-CbxbBLVQ.js.map} +1 -1
- package/dist/chunks/{spinner.component-D3s81AJH.js → spinner.component-CNHQ8UDz.js} +2 -2
- package/dist/chunks/{spinner.component-D3s81AJH.js.map → spinner.component-CNHQ8UDz.js.map} +1 -1
- package/dist/chunks/{styledAvatar.types-Dd3tKh-E.js → styledAvatar.types-BaOkOA8K.js} +2 -2
- package/dist/chunks/{styledAvatar.types-Dd3tKh-E.js.map → styledAvatar.types-BaOkOA8K.js.map} +1 -1
- package/dist/chunks/{switch.component-xlG0hUNX.js → switch.component-Cr8Abw0U.js} +6 -6
- package/dist/chunks/{switch.component-xlG0hUNX.js.map → switch.component-Cr8Abw0U.js.map} +1 -1
- package/dist/chunks/{tab.types-CO64KNxl.js → tab.types-BoHuF-QZ.js} +13 -13
- package/dist/chunks/{tab.types-CO64KNxl.js.map → tab.types-BoHuF-QZ.js.map} +1 -1
- package/dist/chunks/{tagBlock.component-BKYJDU4L.js → tagBlock.component-DjbevH0J.js} +5 -5
- package/dist/chunks/{tagBlock.component-BKYJDU4L.js.map → tagBlock.component-DjbevH0J.js.map} +1 -1
- package/dist/chunks/{text.component-IjomJyJY.js → text.component-DhuUgP3j.js} +2 -2
- package/dist/chunks/{text.component-IjomJyJY.js.map → text.component-DhuUgP3j.js.map} +1 -1
- package/dist/chunks/{textInput.component-BMy6cEdV.js → textInput.component-C7kdQ8hF.js} +6 -6
- package/dist/chunks/{textInput.component-BMy6cEdV.js.map → textInput.component-C7kdQ8hF.js.map} +1 -1
- package/dist/chunks/{textarea.component-ChN0RGoe.js → textarea.component-W9VBnd4-.js} +12 -12
- package/dist/chunks/{textarea.component-ChN0RGoe.js.map → textarea.component-W9VBnd4-.js.map} +1 -1
- package/dist/chunks/{theme.provider-CezsihF5.js → theme.provider-BWhqnOFC.js} +2 -2
- package/dist/chunks/{theme.provider-CezsihF5.js.map → theme.provider-BWhqnOFC.js.map} +1 -1
- package/dist/chunks/{theme.provider-wnaH4Plk.js → theme.provider-Cl9_chOv.js} +15 -15
- package/dist/chunks/{theme.provider-wnaH4Plk.js.map → theme.provider-Cl9_chOv.js.map} +1 -1
- package/dist/chunks/{timePicker.component-CSm0UnA5.js → timePicker.component-CDb67FCr.js} +3 -3
- package/dist/chunks/{timePicker.component-CSm0UnA5.js.map → timePicker.component-CDb67FCr.js.map} +1 -1
- package/dist/chunks/{timePicker.component-BbDzVLdb.js → timePicker.component-CIk5bEyP.js} +2 -2
- package/dist/chunks/{timePicker.component-BbDzVLdb.js.map → timePicker.component-CIk5bEyP.js.map} +1 -1
- package/dist/chunks/{timeRange.component-Cwn94GUk.js → timeRange.component-B1WKwc-X.js} +2 -2
- package/dist/chunks/{timeRange.component-Cwn94GUk.js.map → timeRange.component-B1WKwc-X.js.map} +1 -1
- package/dist/chunks/{timeRange.component-DyB1Jo1d.js → timeRange.component-NX1EOY8h.js} +2 -2
- package/dist/chunks/{timeRange.component-DyB1Jo1d.js.map → timeRange.component-NX1EOY8h.js.map} +1 -1
- package/dist/chunks/{timestamp.component-IfjfMFXl.js → timestamp.component-DkLjxUsy.js} +3 -3
- package/dist/chunks/{timestamp.component-IfjfMFXl.js.map → timestamp.component-DkLjxUsy.js.map} +1 -1
- package/dist/chunks/{toaster.records-Cb3hbtuY.js → toaster.records-BzZmnA3j.js} +69 -69
- package/dist/chunks/{toaster.records-Cb3hbtuY.js.map → toaster.records-BzZmnA3j.js.map} +1 -1
- package/dist/chunks/{tooltip.component-DFsQNG1q.js → tooltip.component-CHohp2qn.js} +5 -5
- package/dist/chunks/{tooltip.component-DFsQNG1q.js.map → tooltip.component-CHohp2qn.js.map} +1 -1
- package/dist/chunks/{use-field-context-DrC9mrDd.js → use-field-context-BoqOeObh.js} +2 -2
- package/dist/chunks/{use-field-context-DrC9mrDd.js.map → use-field-context-BoqOeObh.js.map} +1 -1
- package/dist/chunks/{use-locale-context-Bw4Gg9Z0.js → use-locale-context-DmcfCmf9.js} +11 -11
- package/dist/chunks/{use-locale-context-Bw4Gg9Z0.js.map → use-locale-context-DmcfCmf9.js.map} +1 -1
- package/dist/chunks/{withFormControl-lDkIqkED.js → withFormControl-08PrhcOk.js} +6 -6
- package/dist/chunks/{withFormControl-lDkIqkED.js.map → withFormControl-08PrhcOk.js.map} +1 -1
- package/dist/chunks/{withTruncation-CqDQUSVU.js → withTruncation-B2GhwmHG.js} +2 -2
- package/dist/chunks/{withTruncation-CqDQUSVU.js.map → withTruncation-B2GhwmHG.js.map} +1 -1
- package/dist/cjs/chakra/index.cjs +2 -2
- package/dist/cjs/chakra/index.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/index.cjs +1 -1
- package/dist/cjs/components/DateTimePicker/index.cjs +1 -1
- package/dist/cjs/components/Popover/index.cjs +1 -1
- package/dist/cjs/components/Select/index.cjs +1 -1
- package/dist/cjs/components/TimePicker/index.cjs +1 -1
- package/dist/cjs/components/TimeRange/index.cjs +1 -1
- package/dist/cjs/components/index.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/theme/index.cjs +1 -1
- package/dist/esm/chakra/index.js +17 -15
- package/dist/esm/chakra/index.js.map +1 -1
- package/dist/esm/components/Alert/index.js +1 -1
- package/dist/esm/components/Avatar/index.js +1 -1
- package/dist/esm/components/AvatarGroup/index.js +1 -1
- package/dist/esm/components/ButtonGroup/index.js +1 -1
- package/dist/esm/components/Calendar/index.js +1 -1
- package/dist/esm/components/CharacterCounter/index.js +1 -1
- package/dist/esm/components/Checkbox/index.js +1 -1
- package/dist/esm/components/CheckboxGroup/index.js +1 -1
- package/dist/esm/components/ConversationCard/index.js +1 -1
- package/dist/esm/components/DatePicker/index.js +2 -2
- package/dist/esm/components/DateTimePicker/index.js +1 -1
- package/dist/esm/components/Heading/index.js +1 -1
- package/dist/esm/components/Menu/index.js +1 -1
- package/dist/esm/components/Modal/index.js +1 -1
- package/dist/esm/components/NotificationCounter/index.js +1 -1
- package/dist/esm/components/NumberInput/index.js +1 -1
- package/dist/esm/components/PinInput/index.js +1 -1
- package/dist/esm/components/Popover/index.js +1 -1
- package/dist/esm/components/Progress/index.js +3 -3
- package/dist/esm/components/RadioGroup/index.js +1 -1
- package/dist/esm/components/Rating/index.js +1 -1
- package/dist/esm/components/RatingDots/index.js +1 -1
- package/dist/esm/components/Select/index.js +1 -1
- package/dist/esm/components/SortableList/index.js +1 -1
- package/dist/esm/components/Spinner/index.js +1 -1
- package/dist/esm/components/StyledAvatar/index.js +1 -1
- package/dist/esm/components/Switch/index.js +1 -1
- package/dist/esm/components/Tabs/index.js +1 -1
- package/dist/esm/components/TagBlock/index.js +1 -1
- package/dist/esm/components/Text/index.js +1 -1
- package/dist/esm/components/TextInput/index.js +1 -1
- package/dist/esm/components/Textarea/index.js +1 -1
- package/dist/esm/components/TimePicker/index.js +1 -1
- package/dist/esm/components/TimeRange/index.js +1 -1
- package/dist/esm/components/Timestamp/index.js +1 -1
- package/dist/esm/components/Toast/index.js +1 -1
- package/dist/esm/components/Tooltip/index.js +1 -1
- package/dist/esm/components/index.js +36 -36
- package/dist/esm/index.js +37 -37
- package/dist/esm/theme/index.js +1 -1
- package/dist/types/chakra/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/chunks/index-BGd_2-DY.js +0 -1197
- package/dist/chunks/index-BGd_2-DY.js.map +0 -1
- package/dist/chunks/index-_913FPya.js +0 -2
- package/dist/chunks/index-_913FPya.js.map +0 -1
- package/dist/chunks/select.component-D-1YMPU9.js +0 -2
- package/dist/chunks/select.component-D-1YMPU9.js.map +0 -1
- package/dist/chunks/select.component-D5EioB-E.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.component-Cq9sPsTJ.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.component.tsx","../../src/components/Menu/components/MenuItem/menuItem.component.tsx","../../src/components/Menu/components/MenuToggleButtons/menuToggleButtons.component.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 [MenuItemPropsProvider, useMenuItemPropsContext] = createContext({\n name: \"MenuItemPropsContext\",\n hookName: \"useMenuItemPropsContext\",\n providerName: \"<MenuItemPropsProvider />\"\n});\n\nexport { MenuItemPropsProvider, useMenuItemPropsContext };\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 { MenuItemPropsProvider } 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(MenuItemPropsProvider, { 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';\nimport { MenuItemPropsProvider } from './use-menu-option-item-props-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(MenuItemPropsProvider, { value: itemProps, children: /* @__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 { useMenuItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemProps = useMenuItemPropsContext();\n const mergedProps = mergeProps(menu.getItemIndicatorProps(itemProps), 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 { useMenuItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemText = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemProps = useMenuItemPropsContext();\n const mergedProps = mergeProps(menu.getItemTextProps(itemProps), 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 { MenuItemPropsProvider } 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(MenuItemPropsProvider, { 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 { Box } from '@chakra-ui/react/box';\nimport { Button, ButtonProps } from 'components/Button/button.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Text, TextProps } from 'components/Text/text.component';\nimport { Tooltip, TooltipProps } from 'components/Tooltip/tooltip.component';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nexport interface MenuButtonProps extends Omit<ButtonProps, 'children'> {\n /** If true, the caret will be hidden.\n * @default false\n */\n hideCaret?: boolean;\n /** Text to display in the menu button. */\n text?: string;\n /** Props to customize the text. */\n textProps?: TextProps;\n /** Props to customize the tooltip. */\n tooltipProps?: Omit<TooltipProps, 'children' | 'label' | 'isOpen' | 'onClose'>;\n /** If true, the tooltip will be shown. */\n showTooltip?: boolean;\n /** Determines if the menu is open. */\n isMenuOpen?: boolean;\n}\n\nexport const MenuButton = ({\n hideCaret = false,\n size = 'md',\n text,\n textProps,\n variant,\n onClick,\n ['data-testid']: dataTestId = 'kibble-menu-button',\n ...rest\n}: MenuButtonProps): React.JSX.Element => {\n return (\n <Button\n className=\"Menu__Button\"\n data-testid={dataTestId}\n size={size}\n variant={variant}\n {...rest}\n {...(!text && hideCaret && { paddingInline: 0, paddingBlock: 0 })}\n onClick={(e) => {\n e.stopPropagation();\n onClick?.(e);\n }}\n >\n {text && (\n <Text\n className=\"Menu__ButtonText\"\n data-testid={`${dataTestId}-text`}\n fontWeight=\"semibold\"\n size={size}\n color={variant ? 'inherit' : textProps?.color || 'text.contrast'}\n truncated\n {...textProps}\n >\n {text}\n </Text>\n )}\n {!hideCaret && (\n <Flex className=\"Menu__ButtonCaret\" data-testid={`${dataTestId}-caret`}>\n <Icon name=\"chevronDown\" size={size === 'lg' ? 'sm' : 'xs'} />\n </Flex>\n )}\n </Button>\n );\n};\n\nexport const MenuButtonTooltip = ({ tooltipProps, isMenuOpen, ...rest }: MenuButtonProps): React.JSX.Element => {\n // Needed to manage tooltip open state separately to avoid sticky issues when we open and close menu list\n const [isTooltipOpen, setIsTooltipOpen] = useState(false);\n\n const onMouseEnter = useCallback((): void => {\n if (!isMenuOpen) {\n setIsTooltipOpen(true);\n }\n }, [isMenuOpen]);\n\n const onMouseLeave = useCallback((): void => {\n if (!isMenuOpen) {\n setIsTooltipOpen(false);\n }\n }, [isMenuOpen]);\n\n // Close tooltip when menu opens\n useEffect(() => {\n if (isMenuOpen) {\n setIsTooltipOpen(false);\n }\n }, [isMenuOpen]);\n\n return (\n <Tooltip label={rest.text || ''} open={isTooltipOpen && !isMenuOpen} {...tooltipProps}>\n <Box\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n setIsTooltipOpen(false);\n }}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <MenuButton {...rest} />\n </Box>\n </Tooltip>\n );\n};\n","import { Flex } from '@chakra-ui/react/flex';\nimport { Menu as CMenu } from '@chakra-ui/react/menu';\nimport React, { useCallback, useState } from 'react';\nimport { Text } from 'components/Text/text.component';\nimport { MenuItemType } from './menuItem.types';\nimport { Menu, MenuProps } from 'components/Menu';\nimport { TypographyVariant } from 'shared/types/typography';\nimport { Checkbox } from 'components/Checkbox/checkbox.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Tooltip } from 'components/Tooltip';\n\ninterface BaseMenuItemProps {\n /** Label to display in the menu item. */\n label?: React.ReactNode;\n /** Left element to display in the menu item. */\n leftElement?: React.ReactNode;\n /** Group label to display in the menu item. */\n groupLabel?: string;\n /** Callback function to be called when the menu item is selected. */\n onSelect?: (value: string) => void;\n /** If true, the text will be truncated. */\n shouldTruncateText?: boolean;\n /** Type of the menu item.\n * @default default\n */\n type?: MenuItemType;\n /** Value of the menu item. */\n value: string;\n /** Variant of the menu item. */\n variant?: TypographyVariant;\n /** Data test id for the menu item.\n * @default kibble-menu-item\n */\n 'data-testid'?: string;\n}\n\ninterface DefaultMenuItemProps extends Omit<CMenu.ItemProps, 'onSelect' | 'isDisabled'> {\n /** Type of the menu item.\n * @default default\n */\n type?: 'default';\n /** If true, the menu item will be selected. */\n selected?: boolean;\n /** Tooltip label to display in the menu item. */\n tooltipLabel?: string;\n}\n\ninterface CheckboxMenuItemProps extends Omit<CMenu.CheckboxItemProps, 'onSelect'> {\n /** Type of the menu item.\n * @default checkbox\n */\n type: 'checkbox';\n /** If true, the checkbox will be checked. */\n checked: boolean;\n /** Tooltip label to display in the menu item. */\n tooltipLabel?: string;\n}\n\ninterface SubmenuMenuItemProps extends Omit<MenuProps, 'children' | 'buttonProps'> {\n /** Type of the menu item.\n * @default submenu\n */\n type: 'submenu';\n /** Value text for keyboard navigation. */\n valueText?: string;\n}\n\nexport type MenuItemProps = BaseMenuItemProps & (DefaultMenuItemProps | CheckboxMenuItemProps | SubmenuMenuItemProps);\n\nexport const MenuItem = ({\n label,\n leftElement,\n onSelect,\n shouldTruncateText,\n type = 'default',\n variant,\n ['data-testid']: dataTestId = 'kibble-menu-item',\n ...rest\n}: MenuItemProps): React.JSX.Element => {\n const [isSubmenuOpen, setIsSubmenuOpen] = useState(false);\n\n const handleItemSelect = useCallback(() => {\n if (onSelect) {\n onSelect(rest.value);\n }\n }, [onSelect, rest.value]);\n\n if (type === 'submenu') {\n const {\n valueText,\n listProps,\n positionerProps,\n portalled = true,\n open,\n lazyMount = true,\n unmountOnExit = true,\n } = rest as Omit<SubmenuMenuItemProps, 'type'>;\n\n return (\n <Menu\n lazyMount={lazyMount}\n unmountOnExit={unmountOnExit}\n submenuTrigger={\n <CMenu.TriggerItem\n className=\"Menu__Item--Submenu\"\n data-testid={`${dataTestId}-submenu`}\n justifyContent=\"space-between\"\n aria-valuetext={valueText}\n position=\"relative\"\n onClick={(): void => {\n // If the submenu is controlled, call the onSelect callback passed to the menu\n if (open !== undefined && onSelect) {\n onSelect(rest.value);\n } else {\n // Otherwise, toggle the internalsubmenu open state\n setIsSubmenuOpen(!isSubmenuOpen);\n }\n }}\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={portalled}\n open={open !== undefined ? open : isSubmenuOpen}\n listProps={listProps}\n positionerProps={positionerProps}\n />\n );\n }\n\n if (type === 'checkbox') {\n const { checked, value, disabled, tooltipLabel, ...checkboxRest } = rest as CheckboxMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Checkbox\"\n data-testid={`${dataTestId}-checkbox`}\n value={value}\n closeOnSelect={false}\n onSelect={disabled ? undefined : handleItemSelect}\n gap={3}\n disabled={disabled}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} disabled={disabled} size=\"md\" fullWidth={false} />\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n tooltipLabel={tooltipLabel}\n />\n </CMenu.Item>\n );\n }\n\n if (type === 'default') {\n const { selected = false, disabled, value, tooltipLabel, ...defaultRest } = rest as DefaultMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Default\"\n data-testid={`${dataTestId}-default`}\n value={value}\n onSelect={disabled ? undefined : handleItemSelect}\n disabled={disabled}\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 tooltipLabel={tooltipLabel}\n />\n </CMenu.Item>\n );\n }\n\n return <></>;\n};\n\nconst MenuItemLabel = ({\n label,\n leftElement,\n shouldTruncateText,\n variant,\n tooltipLabel,\n}: {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n shouldTruncateText?: boolean;\n variant?: TypographyVariant;\n tooltipLabel?: string;\n}): React.JSX.Element => {\n const content = (\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 return tooltipLabel ? <Tooltip label={tooltipLabel}>{content}</Tooltip> : content;\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 /** Determines if there are selected items. */\n hasSelectedItems?: boolean;\n /** Name of the group. */\n groupName?: string;\n /** Callback function to toggle the selected items. */\n onToggle: ({ groupName, clear }: { clear: boolean; groupName?: string }) => void;\n /** Data test id for the menu toggle buttons.\n * @default kibble-menu-toggle-buttons\n */\n 'data-testid'?: string;\n}\n\nexport const MenuToggleButtons = ({\n groupName,\n hasSelectedItems = false,\n onToggle,\n ['data-testid']: dataTestId = 'kibble-menu-toggle-buttons',\n}: MenuToggleButtonsProps): React.JSX.Element => {\n const isGrouped = !!groupName;\n return (\n <Box className=\"Menu__ToggleButtons\" data-testid={dataTestId} {...(isGrouped && { textAlign: 'right', w: '50%' })}>\n {isGrouped ? (\n <>\n {hasSelectedItems ? (\n <ClearAllButton hasSelectedItems={hasSelectedItems} groupName={groupName} onToggle={onToggle} />\n ) : (\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n )}\n </>\n ) : (\n <Flex justifyContent=\"space-between\">\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n <ClearAllButton hasSelectedItems={hasSelectedItems} groupName={groupName} onToggle={onToggle} />\n </Flex>\n )}\n </Box>\n );\n};\n\nconst SelectAllButton = ({ groupName, onToggle }: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button variant=\"ghost\" size=\"xs\" onClick={(): void => onToggle({ groupName, clear: false })}>\n Select All\n </Button>\n );\n};\n\nconst ClearAllButton = ({ hasSelectedItems, groupName, onToggle }: 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 { MenuButton, MenuButtonTooltip, MenuButtonProps } from './components/MenuButton/menuButton.component';\nimport { MenuItem, MenuItemProps } from './components/MenuItem/menuItem.component';\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.component';\nimport { usePortalContentRef } from 'hooks/usePortalContentRef';\nimport { MenuListOnOpenChangeProps } from './menu.types';\nimport { MenuListProps } from './components/MenuList/menuList.types';\n\nexport interface MenuProps extends Omit<CMenu.RootProps, 'children' | 'onSelect' | 'onOpenChange'> {\n /** Props to customize the menu button trigger. */\n buttonProps?: MenuButtonProps;\n /** Props to customize the menu list. */\n listProps?: MenuListProps;\n /** Props to customize the positioner of the menu. */\n positionerProps?: CMenu.PositionerProps;\n /**\n * If true, the menu will be rendered in a Portal.\n * @default false\n */\n portalled?: boolean;\n /** Callback function to be called when the menu is opened or closed. */\n onOpenChange?: ({ open, allSelectedItems }: MenuListOnOpenChangeProps) => void;\n /** Data test id for the menu.\n * @default kibble-menu\n */\n 'data-testid'?: string;\n}\n\ninterface InternalMenuProps extends MenuProps {\n /** React element to be used as the trigger for the submenu.\n * @internal\n */\n submenuTrigger?: React.ReactNode;\n}\n\nexport const Menu = ({\n buttonProps,\n listProps,\n positionerProps,\n portalled = false,\n submenuTrigger,\n lazyMount = true,\n onOpenChange,\n ['data-testid']: dataTestId = 'kibble-menu',\n ...rest\n}: InternalMenuProps): React.JSX.Element => {\n const { contentRef } = usePortalContentRef();\n const {\n canSelectAll,\n canSelectGroups,\n emptyState = 'No results found',\n groupSortOrder,\n loading,\n maxH = '480px',\n menuItems = [],\n minW = '240px',\n onSearch,\n onSelect: onListSelect,\n onSelectAll,\n searchable,\n searchPlaceholder = 'Search...',\n shouldTruncateText,\n ...restListProps\n } = listProps || {};\n const [isOpen, setIsOpen] = useState(false);\n const [searchText, setSearchText] = useState<string>('');\n const [filteredMenuItems, setFilteredMenuItems] = 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(() => {\n const entries = Object.entries(groupedItems);\n\n if (!groupSortOrder || groupSortOrder.length === 0) {\n return entries;\n }\n\n // Sort groups based on groupSortOrder\n return entries.sort(([groupLabelA], [groupLabelB]) => {\n const indexA = groupSortOrder.indexOf(groupLabelA);\n const indexB = groupSortOrder.indexOf(groupLabelB);\n\n // If both groups are in the sort order, sort by their index\n if (indexA !== -1 && indexB !== -1) {\n return indexA - indexB;\n }\n\n // If only groupA is in the sort order, it comes first\n if (indexA !== -1) {\n return -1;\n }\n\n // If only groupB is in the sort order, it comes first\n if (indexB !== -1) {\n return 1;\n }\n\n // If neither group is in the sort order, maintain original order\n return 0;\n });\n }, [groupedItems, groupSortOrder]);\n\n // Checkbox State Management\n const checkboxItems = useMemo(() => menuItems?.filter((item) => item.type === 'checkbox') || [], [menuItems]);\n\n // Helper functions for checkbox state management\n const isChecked = useCallback(\n (value: string) => {\n return checkboxItems.some((item) => item.value === value && item.checked);\n },\n [checkboxItems],\n );\n\n // Helper function to get selected menu items based on selected values\n const selectedCheckboxItems = useMemo(() => {\n return checkboxItems.filter((item) => item.checked);\n }, [checkboxItems]);\n\n const handleToggleSelectAll = useCallback(\n ({ groupName, clear }: { groupName?: string; clear: boolean }) => {\n let newSelectedItems: MenuItemProps[];\n // Only allow checkbox items that are not disabled to be toggled\n const filteredCheckboxItems = filteredMenuItems.filter((item) => item.type === 'checkbox' && !item.disabled);\n\n // If the group name is provided, only toggle the items in the group\n if (groupName) {\n // Get the items in the group\n const groupedItems = filteredCheckboxItems.filter((item) => item.groupLabel === groupName);\n\n // If the clear flag is true, remove the items in the group\n newSelectedItems = clear\n ? selectedCheckboxItems.filter((cItem) => cItem.groupLabel !== groupName)\n : // Otherwise, add the items in the group to the selected items\n [...new Set([...selectedCheckboxItems, ...groupedItems])];\n } else {\n // If the group name is not provided, toggle all the items\n newSelectedItems = clear\n ? []\n : filteredCheckboxItems.map((item) => {\n return { ...item, checked: true };\n });\n }\n\n // Call the onSelectAll callback with the updated values\n onSelectAll?.({ allSelectedItems: newSelectedItems });\n },\n [onSelectAll, filteredMenuItems, selectedCheckboxItems],\n );\n\n const handleSelect = useCallback(\n (item: MenuItemProps) => {\n // If the item is a checkbox, update the selected checkbox values\n if (item.type === 'checkbox') {\n // Get the new list of selected checkbox items\n const allSelectedItems = isChecked(item.value)\n ? selectedCheckboxItems.filter((cItem) => cItem.value !== item.value)\n : [...selectedCheckboxItems, item];\n\n // If the item has it's own onSelect, call it with just the item value\n if (item.onSelect) {\n item.onSelect(item.value);\n return;\n }\n\n // Otherwise call the onSelect callback with the updated values\n onListSelect?.({ item, allSelectedItems });\n return;\n }\n\n // Otherwise this is a default item, so first check if the item has it's own onSelect callback\n if (item.onSelect) {\n item.onSelect(item.value);\n return;\n }\n\n // Otherwise call the onSelect callback with just the item itself\n onListSelect?.({ item, allSelectedItems: [item] });\n },\n [onListSelect, isChecked, selectedCheckboxItems],\n );\n\n // Search\n const filterOptions = useCallback((searchInput: string, itemsToFilter: MenuItemProps[]) => {\n if (searchInput === '' || !searchInput) {\n return itemsToFilter;\n }\n\n return itemsToFilter.filter((item): boolean => {\n const labelText = typeof item.label === 'string' ? item.label : item.valueText;\n\n return !!labelText?.toLowerCase().includes(searchInput.toLowerCase());\n });\n }, []);\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 // Cleanup\n const handleOpenChange = useCallback(\n (open: boolean) => {\n setIsOpen(open); // Track open state\n if (!open) {\n setSearchText('');\n setFilteredMenuItems(menuItems);\n }\n\n if (onOpenChange) {\n onOpenChange({ open, allSelectedItems: selectedCheckboxItems });\n }\n },\n [menuItems, onOpenChange, selectedCheckboxItems],\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 return (\n <CMenu.Root\n lazyMount={lazyMount}\n unmountOnExit={lazyMount}\n onOpenChange={(details) => {\n handleOpenChange(details.open);\n }}\n {...rest}\n >\n {!submenuTrigger ? (\n <CMenu.Trigger asChild className=\"Menu__Trigger\" data-testid={`${dataTestId}-trigger`}>\n {buttonProps?.showTooltip ? (\n <MenuButtonTooltip isMenuOpen={isOpen} {...buttonProps} />\n ) : (\n <MenuButton {...buttonProps} />\n )}\n </CMenu.Trigger>\n ) : (\n submenuTrigger\n )}\n <Portal disabled={!portalled} container={contentRef || undefined}>\n <CMenu.Positioner className=\"Menu\" data-testid={dataTestId} {...positionerProps}>\n <CMenu.Content\n className=\"Menu__Content\"\n data-testid={`${dataTestId}-content`}\n maxH={maxH}\n minW={minW}\n {...restListProps}\n {...(searchable && { pt: '0' })}\n onClick={(e) => {\n e.stopPropagation();\n restListProps?.onClick?.(e);\n }}\n >\n {searchable && (\n <Box\n className=\"Menu__SearchBarContainer\"\n data-testid={`${dataTestId}-search-bar-container`}\n px={3}\n py={2}\n position=\"sticky\"\n top={0}\n bg=\"background\"\n zIndex=\"docked\"\n >\n <TextInput\n className=\"Menu__SearchBar\"\n data-testid={`${dataTestId}-search-bar`}\n placeholder={searchPlaceholder}\n onChange={handleSearch}\n size=\"sm\"\n value={searchText}\n clearable\n onClear={clearSearch}\n // Necessary to prevent the Menu from intercepting the Space key press and opening the menu when the search input is focused\n onKeyDown={(e) => {\n if (e.code === 'Space') {\n e.stopPropagation();\n }\n }}\n />\n </Box>\n )}\n {canSelectAll && (\n <Box\n className=\"Menu__CheckboxGroupHeader\"\n data-testid={`${dataTestId}-checkbox-group-header`}\n px={3}\n mt={searchable ? 1 : 2}\n >\n {canSelectAll && !!checkboxItems.length && (\n <MenuToggleButtons\n onToggle={handleToggleSelectAll}\n hasSelectedItems={!!selectedCheckboxItems.length}\n />\n )}\n </Box>\n )}\n {loading && (\n <Flex justifyContent=\"center\" py={5}>\n <Spinner fullScreen />\n </Flex>\n )}\n <Box className=\"Menu__List\" data-testid={`${dataTestId}-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 ? CMenu.ItemGroup : React.Fragment;\n const groupValues = types['checkbox']?.map((item) => item.value);\n const hasSelectedItems = groupValues?.some((value) =>\n selectedCheckboxItems.some((item) => item.value === value && item.checked),\n );\n return (\n <MenuGroupContainer key={groupLabel}>\n {!isDefaultGroup && (\n <CMenu.ItemGroupLabel>\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n {groupLabel}\n {canSelectGroups && itemTypes.includes('checkbox') && (\n <MenuToggleButtons\n groupName={groupLabel}\n onToggle={handleToggleSelectAll}\n hasSelectedItems={hasSelectedItems}\n />\n )}\n </Flex>\n </CMenu.ItemGroupLabel>\n )}\n {Object.entries(types).map(([type, items]) =>\n items.map((item, index) => {\n const { groupLabel, ...rest } = item;\n return (\n <MenuItem\n key={`menu-item-${groupLabel}-${type}-${index}`}\n shouldTruncateText={shouldTruncateText}\n {...(item.type === 'checkbox' && {\n checked: isChecked(item.value),\n })}\n onSelect={() => handleSelect(item)}\n {...(item.type === 'submenu' && {\n positionerProps,\n })}\n {...rest}\n data-testid={`${dataTestId}-item-${item.label}`}\n />\n );\n }),\n )}\n </MenuGroupContainer>\n );\n })}\n </>\n ) : (\n <>\n <Box p={3}>\n {typeof emptyState === 'string' ? (\n <Box textAlign=\"center\">\n <Text size=\"sm\" variant=\"subtle\" data-testid={`${dataTestId}-empty-state`}>\n {emptyState}\n </Text>\n </Box>\n ) : (\n emptyState\n )}\n </Box>\n </>\n )}\n </Box>\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","MenuItemPropsProvider","useMenuItemPropsContext","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","onClick","dataTestId","rest","jsxs","Button","e","Text","Flex","Icon","MenuButtonTooltip","tooltipProps","isMenuOpen","isTooltipOpen","setIsTooltipOpen","useState","onMouseEnter","onMouseLeave","Tooltip","Box","label","leftElement","onSelect","shouldTruncateText","type","isSubmenuOpen","setIsSubmenuOpen","handleItemSelect","valueText","listProps","positionerProps","portalled","open","lazyMount","unmountOnExit","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","disabled","tooltipLabel","checkboxRest","CMenu.Item","Checkbox","selected","defaultRest","Fragment","content","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","ClearAllButton","SelectAllButton","buttonProps","submenuTrigger","onOpenChange","contentRef","usePortalContentRef","canSelectAll","canSelectGroups","emptyState","groupSortOrder","loading","maxH","menuItems","minW","onSearch","onListSelect","onSelectAll","searchable","searchPlaceholder","restListProps","isOpen","setIsOpen","searchText","setSearchText","filteredMenuItems","setFilteredMenuItems","groupedItems","useMemo","groups","item","group","entries","groupLabelA","groupLabelB","indexA","indexB","checkboxItems","isChecked","selectedCheckboxItems","handleToggleSelectAll","clear","newSelectedItems","filteredCheckboxItems","cItem","handleSelect","allSelectedItems","filterOptions","searchInput","itemsToFilter","handleSearch","clearSearch","handleOpenChange","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-BEDMybmZ.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.component.tsx","../../src/components/Menu/components/MenuItem/menuItem.component.tsx","../../src/components/Menu/components/MenuToggleButtons/menuToggleButtons.component.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 [MenuItemPropsProvider, useMenuItemPropsContext] = createContext({\n name: \"MenuItemPropsContext\",\n hookName: \"useMenuItemPropsContext\",\n providerName: \"<MenuItemPropsProvider />\"\n});\n\nexport { MenuItemPropsProvider, useMenuItemPropsContext };\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 { MenuItemPropsProvider } 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(MenuItemPropsProvider, { 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';\nimport { MenuItemPropsProvider } from './use-menu-option-item-props-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(MenuItemPropsProvider, { value: itemProps, children: /* @__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 { useMenuItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemProps = useMenuItemPropsContext();\n const mergedProps = mergeProps(menu.getItemIndicatorProps(itemProps), 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 { useMenuItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemText = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemProps = useMenuItemPropsContext();\n const mergedProps = mergeProps(menu.getItemTextProps(itemProps), 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 { MenuItemPropsProvider } 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(MenuItemPropsProvider, { 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 { Box } from '@chakra-ui/react/box';\nimport { Button, ButtonProps } from 'components/Button/button.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Text, TextProps } from 'components/Text/text.component';\nimport { Tooltip, TooltipProps } from 'components/Tooltip/tooltip.component';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nexport interface MenuButtonProps extends Omit<ButtonProps, 'children'> {\n /** If true, the caret will be hidden.\n * @default false\n */\n hideCaret?: boolean;\n /** Text to display in the menu button. */\n text?: string;\n /** Props to customize the text. */\n textProps?: TextProps;\n /** Props to customize the tooltip. */\n tooltipProps?: Omit<TooltipProps, 'children' | 'label' | 'isOpen' | 'onClose'>;\n /** If true, the tooltip will be shown. */\n showTooltip?: boolean;\n /** Determines if the menu is open. */\n isMenuOpen?: boolean;\n}\n\nexport const MenuButton = ({\n hideCaret = false,\n size = 'md',\n text,\n textProps,\n variant,\n onClick,\n ['data-testid']: dataTestId = 'kibble-menu-button',\n ...rest\n}: MenuButtonProps): React.JSX.Element => {\n return (\n <Button\n className=\"Menu__Button\"\n data-testid={dataTestId}\n size={size}\n variant={variant}\n {...rest}\n {...(!text && hideCaret && { paddingInline: 0, paddingBlock: 0 })}\n onClick={(e) => {\n e.stopPropagation();\n onClick?.(e);\n }}\n >\n {text && (\n <Text\n className=\"Menu__ButtonText\"\n data-testid={`${dataTestId}-text`}\n fontWeight=\"semibold\"\n size={size}\n color={variant ? 'inherit' : textProps?.color || 'text.contrast'}\n truncated\n {...textProps}\n >\n {text}\n </Text>\n )}\n {!hideCaret && (\n <Flex className=\"Menu__ButtonCaret\" data-testid={`${dataTestId}-caret`}>\n <Icon name=\"chevronDown\" size={size === 'lg' ? 'sm' : 'xs'} />\n </Flex>\n )}\n </Button>\n );\n};\n\nexport const MenuButtonTooltip = ({ tooltipProps, isMenuOpen, ...rest }: MenuButtonProps): React.JSX.Element => {\n // Needed to manage tooltip open state separately to avoid sticky issues when we open and close menu list\n const [isTooltipOpen, setIsTooltipOpen] = useState(false);\n\n const onMouseEnter = useCallback((): void => {\n if (!isMenuOpen) {\n setIsTooltipOpen(true);\n }\n }, [isMenuOpen]);\n\n const onMouseLeave = useCallback((): void => {\n if (!isMenuOpen) {\n setIsTooltipOpen(false);\n }\n }, [isMenuOpen]);\n\n // Close tooltip when menu opens\n useEffect(() => {\n if (isMenuOpen) {\n setIsTooltipOpen(false);\n }\n }, [isMenuOpen]);\n\n return (\n <Tooltip label={rest.text || ''} open={isTooltipOpen && !isMenuOpen} {...tooltipProps}>\n <Box\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n setIsTooltipOpen(false);\n }}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <MenuButton {...rest} />\n </Box>\n </Tooltip>\n );\n};\n","import { Flex } from '@chakra-ui/react/flex';\nimport { Menu as CMenu } from '@chakra-ui/react/menu';\nimport React, { useCallback, useState } from 'react';\nimport { Text } from 'components/Text/text.component';\nimport { MenuItemType } from './menuItem.types';\nimport { Menu, MenuProps } from 'components/Menu';\nimport { TypographyVariant } from 'shared/types/typography';\nimport { Checkbox } from 'components/Checkbox/checkbox.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Tooltip } from 'components/Tooltip';\n\ninterface BaseMenuItemProps {\n /** Label to display in the menu item. */\n label?: React.ReactNode;\n /** Left element to display in the menu item. */\n leftElement?: React.ReactNode;\n /** Group label to display in the menu item. */\n groupLabel?: string;\n /** Callback function to be called when the menu item is selected. */\n onSelect?: (value: string) => void;\n /** If true, the text will be truncated. */\n shouldTruncateText?: boolean;\n /** Type of the menu item.\n * @default default\n */\n type?: MenuItemType;\n /** Value of the menu item. */\n value: string;\n /** Variant of the menu item. */\n variant?: TypographyVariant;\n /** Data test id for the menu item.\n * @default kibble-menu-item\n */\n 'data-testid'?: string;\n}\n\ninterface DefaultMenuItemProps extends Omit<CMenu.ItemProps, 'onSelect' | 'isDisabled'> {\n /** Type of the menu item.\n * @default default\n */\n type?: 'default';\n /** If true, the menu item will be selected. */\n selected?: boolean;\n /** Tooltip label to display in the menu item. */\n tooltipLabel?: string;\n}\n\ninterface CheckboxMenuItemProps extends Omit<CMenu.CheckboxItemProps, 'onSelect'> {\n /** Type of the menu item.\n * @default checkbox\n */\n type: 'checkbox';\n /** If true, the checkbox will be checked. */\n checked: boolean;\n /** Tooltip label to display in the menu item. */\n tooltipLabel?: string;\n}\n\ninterface SubmenuMenuItemProps extends Omit<MenuProps, 'children' | 'buttonProps'> {\n /** Type of the menu item.\n * @default submenu\n */\n type: 'submenu';\n /** Value text for keyboard navigation. */\n valueText?: string;\n}\n\nexport type MenuItemProps = BaseMenuItemProps & (DefaultMenuItemProps | CheckboxMenuItemProps | SubmenuMenuItemProps);\n\nexport const MenuItem = ({\n label,\n leftElement,\n onSelect,\n shouldTruncateText,\n type = 'default',\n variant,\n ['data-testid']: dataTestId = 'kibble-menu-item',\n ...rest\n}: MenuItemProps): React.JSX.Element => {\n const [isSubmenuOpen, setIsSubmenuOpen] = useState(false);\n\n const handleItemSelect = useCallback(() => {\n if (onSelect) {\n onSelect(rest.value);\n }\n }, [onSelect, rest.value]);\n\n if (type === 'submenu') {\n const {\n valueText,\n listProps,\n positionerProps,\n portalled = true,\n open,\n lazyMount = true,\n unmountOnExit = true,\n } = rest as Omit<SubmenuMenuItemProps, 'type'>;\n\n return (\n <Menu\n lazyMount={lazyMount}\n unmountOnExit={unmountOnExit}\n submenuTrigger={\n <CMenu.TriggerItem\n className=\"Menu__Item--Submenu\"\n data-testid={`${dataTestId}-submenu`}\n justifyContent=\"space-between\"\n aria-valuetext={valueText}\n position=\"relative\"\n onClick={(): void => {\n // If the submenu is controlled, call the onSelect callback passed to the menu\n if (open !== undefined && onSelect) {\n onSelect(rest.value);\n } else {\n // Otherwise, toggle the internalsubmenu open state\n setIsSubmenuOpen(!isSubmenuOpen);\n }\n }}\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={portalled}\n open={open !== undefined ? open : isSubmenuOpen}\n listProps={listProps}\n positionerProps={positionerProps}\n />\n );\n }\n\n if (type === 'checkbox') {\n const { checked, value, disabled, tooltipLabel, ...checkboxRest } = rest as CheckboxMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Checkbox\"\n data-testid={`${dataTestId}-checkbox`}\n value={value}\n closeOnSelect={false}\n onSelect={disabled ? undefined : handleItemSelect}\n gap={3}\n disabled={disabled}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} disabled={disabled} size=\"md\" fullWidth={false} />\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n tooltipLabel={tooltipLabel}\n />\n </CMenu.Item>\n );\n }\n\n if (type === 'default') {\n const { selected = false, disabled, value, tooltipLabel, ...defaultRest } = rest as DefaultMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Default\"\n data-testid={`${dataTestId}-default`}\n value={value}\n onSelect={disabled ? undefined : handleItemSelect}\n disabled={disabled}\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 tooltipLabel={tooltipLabel}\n />\n </CMenu.Item>\n );\n }\n\n return <></>;\n};\n\nconst MenuItemLabel = ({\n label,\n leftElement,\n shouldTruncateText,\n variant,\n tooltipLabel,\n}: {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n shouldTruncateText?: boolean;\n variant?: TypographyVariant;\n tooltipLabel?: string;\n}): React.JSX.Element => {\n const content = (\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 return tooltipLabel ? <Tooltip label={tooltipLabel}>{content}</Tooltip> : content;\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 /** Determines if there are selected items. */\n hasSelectedItems?: boolean;\n /** Name of the group. */\n groupName?: string;\n /** Callback function to toggle the selected items. */\n onToggle: ({ groupName, clear }: { clear: boolean; groupName?: string }) => void;\n /** Data test id for the menu toggle buttons.\n * @default kibble-menu-toggle-buttons\n */\n 'data-testid'?: string;\n}\n\nexport const MenuToggleButtons = ({\n groupName,\n hasSelectedItems = false,\n onToggle,\n ['data-testid']: dataTestId = 'kibble-menu-toggle-buttons',\n}: MenuToggleButtonsProps): React.JSX.Element => {\n const isGrouped = !!groupName;\n return (\n <Box className=\"Menu__ToggleButtons\" data-testid={dataTestId} {...(isGrouped && { textAlign: 'right', w: '50%' })}>\n {isGrouped ? (\n <>\n {hasSelectedItems ? (\n <ClearAllButton hasSelectedItems={hasSelectedItems} groupName={groupName} onToggle={onToggle} />\n ) : (\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n )}\n </>\n ) : (\n <Flex justifyContent=\"space-between\">\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n <ClearAllButton hasSelectedItems={hasSelectedItems} groupName={groupName} onToggle={onToggle} />\n </Flex>\n )}\n </Box>\n );\n};\n\nconst SelectAllButton = ({ groupName, onToggle }: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button variant=\"ghost\" size=\"xs\" onClick={(): void => onToggle({ groupName, clear: false })}>\n Select All\n </Button>\n );\n};\n\nconst ClearAllButton = ({ hasSelectedItems, groupName, onToggle }: 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 { MenuButton, MenuButtonTooltip, MenuButtonProps } from './components/MenuButton/menuButton.component';\nimport { MenuItem, MenuItemProps } from './components/MenuItem/menuItem.component';\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.component';\nimport { usePortalContentRef } from 'hooks/usePortalContentRef';\nimport { MenuListOnOpenChangeProps } from './menu.types';\nimport { MenuListProps } from './components/MenuList/menuList.types';\n\nexport interface MenuProps extends Omit<CMenu.RootProps, 'children' | 'onSelect' | 'onOpenChange'> {\n /** Props to customize the menu button trigger. */\n buttonProps?: MenuButtonProps;\n /** Props to customize the menu list. */\n listProps?: MenuListProps;\n /** Props to customize the positioner of the menu. */\n positionerProps?: CMenu.PositionerProps;\n /**\n * If true, the menu will be rendered in a Portal.\n * @default false\n */\n portalled?: boolean;\n /** Callback function to be called when the menu is opened or closed. */\n onOpenChange?: ({ open, allSelectedItems }: MenuListOnOpenChangeProps) => void;\n /** Data test id for the menu.\n * @default kibble-menu\n */\n 'data-testid'?: string;\n}\n\ninterface InternalMenuProps extends MenuProps {\n /** React element to be used as the trigger for the submenu.\n * @internal\n */\n submenuTrigger?: React.ReactNode;\n}\n\nexport const Menu = ({\n buttonProps,\n listProps,\n positionerProps,\n portalled = false,\n submenuTrigger,\n lazyMount = true,\n onOpenChange,\n ['data-testid']: dataTestId = 'kibble-menu',\n ...rest\n}: InternalMenuProps): React.JSX.Element => {\n const { contentRef } = usePortalContentRef();\n const {\n canSelectAll,\n canSelectGroups,\n emptyState = 'No results found',\n groupSortOrder,\n loading,\n maxH = '480px',\n menuItems = [],\n minW = '240px',\n onSearch,\n onSelect: onListSelect,\n onSelectAll,\n searchable,\n searchPlaceholder = 'Search...',\n shouldTruncateText,\n ...restListProps\n } = listProps || {};\n const [isOpen, setIsOpen] = useState(false);\n const [searchText, setSearchText] = useState<string>('');\n const [filteredMenuItems, setFilteredMenuItems] = 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(() => {\n const entries = Object.entries(groupedItems);\n\n if (!groupSortOrder || groupSortOrder.length === 0) {\n return entries;\n }\n\n // Sort groups based on groupSortOrder\n return entries.sort(([groupLabelA], [groupLabelB]) => {\n const indexA = groupSortOrder.indexOf(groupLabelA);\n const indexB = groupSortOrder.indexOf(groupLabelB);\n\n // If both groups are in the sort order, sort by their index\n if (indexA !== -1 && indexB !== -1) {\n return indexA - indexB;\n }\n\n // If only groupA is in the sort order, it comes first\n if (indexA !== -1) {\n return -1;\n }\n\n // If only groupB is in the sort order, it comes first\n if (indexB !== -1) {\n return 1;\n }\n\n // If neither group is in the sort order, maintain original order\n return 0;\n });\n }, [groupedItems, groupSortOrder]);\n\n // Checkbox State Management\n const checkboxItems = useMemo(() => menuItems?.filter((item) => item.type === 'checkbox') || [], [menuItems]);\n\n // Helper functions for checkbox state management\n const isChecked = useCallback(\n (value: string) => {\n return checkboxItems.some((item) => item.value === value && item.checked);\n },\n [checkboxItems],\n );\n\n // Helper function to get selected menu items based on selected values\n const selectedCheckboxItems = useMemo(() => {\n return checkboxItems.filter((item) => item.checked);\n }, [checkboxItems]);\n\n const handleToggleSelectAll = useCallback(\n ({ groupName, clear }: { groupName?: string; clear: boolean }) => {\n let newSelectedItems: MenuItemProps[];\n // Only allow checkbox items that are not disabled to be toggled\n const filteredCheckboxItems = filteredMenuItems.filter((item) => item.type === 'checkbox' && !item.disabled);\n\n // If the group name is provided, only toggle the items in the group\n if (groupName) {\n // Get the items in the group\n const groupedItems = filteredCheckboxItems.filter((item) => item.groupLabel === groupName);\n\n // If the clear flag is true, remove the items in the group\n newSelectedItems = clear\n ? selectedCheckboxItems.filter((cItem) => cItem.groupLabel !== groupName)\n : // Otherwise, add the items in the group to the selected items\n [...new Set([...selectedCheckboxItems, ...groupedItems])];\n } else {\n // If the group name is not provided, toggle all the items\n newSelectedItems = clear\n ? []\n : filteredCheckboxItems.map((item) => {\n return { ...item, checked: true };\n });\n }\n\n // Call the onSelectAll callback with the updated values\n onSelectAll?.({ allSelectedItems: newSelectedItems });\n },\n [onSelectAll, filteredMenuItems, selectedCheckboxItems],\n );\n\n const handleSelect = useCallback(\n (item: MenuItemProps) => {\n // If the item is a checkbox, update the selected checkbox values\n if (item.type === 'checkbox') {\n // Get the new list of selected checkbox items\n const allSelectedItems = isChecked(item.value)\n ? selectedCheckboxItems.filter((cItem) => cItem.value !== item.value)\n : [...selectedCheckboxItems, item];\n\n // If the item has it's own onSelect, call it with just the item value\n if (item.onSelect) {\n item.onSelect(item.value);\n return;\n }\n\n // Otherwise call the onSelect callback with the updated values\n onListSelect?.({ item, allSelectedItems });\n return;\n }\n\n // Otherwise this is a default item, so first check if the item has it's own onSelect callback\n if (item.onSelect) {\n item.onSelect(item.value);\n return;\n }\n\n // Otherwise call the onSelect callback with just the item itself\n onListSelect?.({ item, allSelectedItems: [item] });\n },\n [onListSelect, isChecked, selectedCheckboxItems],\n );\n\n // Search\n const filterOptions = useCallback((searchInput: string, itemsToFilter: MenuItemProps[]) => {\n if (searchInput === '' || !searchInput) {\n return itemsToFilter;\n }\n\n return itemsToFilter.filter((item): boolean => {\n const labelText = typeof item.label === 'string' ? item.label : item.valueText;\n\n return !!labelText?.toLowerCase().includes(searchInput.toLowerCase());\n });\n }, []);\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 // Cleanup\n const handleOpenChange = useCallback(\n (open: boolean) => {\n setIsOpen(open); // Track open state\n if (!open) {\n setSearchText('');\n setFilteredMenuItems(menuItems);\n }\n\n if (onOpenChange) {\n onOpenChange({ open, allSelectedItems: selectedCheckboxItems });\n }\n },\n [menuItems, onOpenChange, selectedCheckboxItems],\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 return (\n <CMenu.Root\n lazyMount={lazyMount}\n unmountOnExit={lazyMount}\n onOpenChange={(details) => {\n handleOpenChange(details.open);\n }}\n {...rest}\n >\n {!submenuTrigger ? (\n <CMenu.Trigger asChild className=\"Menu__Trigger\" data-testid={`${dataTestId}-trigger`}>\n {buttonProps?.showTooltip ? (\n <MenuButtonTooltip isMenuOpen={isOpen} {...buttonProps} />\n ) : (\n <MenuButton {...buttonProps} />\n )}\n </CMenu.Trigger>\n ) : (\n submenuTrigger\n )}\n <Portal disabled={!portalled} container={contentRef || undefined}>\n <CMenu.Positioner className=\"Menu\" data-testid={dataTestId} {...positionerProps}>\n <CMenu.Content\n className=\"Menu__Content\"\n data-testid={`${dataTestId}-content`}\n maxH={maxH}\n minW={minW}\n {...restListProps}\n {...(searchable && { pt: '0' })}\n onClick={(e) => {\n e.stopPropagation();\n restListProps?.onClick?.(e);\n }}\n >\n {searchable && (\n <Box\n className=\"Menu__SearchBarContainer\"\n data-testid={`${dataTestId}-search-bar-container`}\n px={3}\n py={2}\n position=\"sticky\"\n top={0}\n bg=\"background\"\n zIndex=\"docked\"\n >\n <TextInput\n className=\"Menu__SearchBar\"\n data-testid={`${dataTestId}-search-bar`}\n placeholder={searchPlaceholder}\n onChange={handleSearch}\n size=\"sm\"\n value={searchText}\n clearable\n onClear={clearSearch}\n // Necessary to prevent the Menu from intercepting the Space key press and opening the menu when the search input is focused\n onKeyDown={(e) => {\n if (e.code === 'Space') {\n e.stopPropagation();\n }\n }}\n />\n </Box>\n )}\n {canSelectAll && (\n <Box\n className=\"Menu__CheckboxGroupHeader\"\n data-testid={`${dataTestId}-checkbox-group-header`}\n px={3}\n mt={searchable ? 1 : 2}\n >\n {canSelectAll && !!checkboxItems.length && (\n <MenuToggleButtons\n onToggle={handleToggleSelectAll}\n hasSelectedItems={!!selectedCheckboxItems.length}\n />\n )}\n </Box>\n )}\n {loading && (\n <Flex justifyContent=\"center\" py={5}>\n <Spinner fullScreen />\n </Flex>\n )}\n <Box className=\"Menu__List\" data-testid={`${dataTestId}-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 ? CMenu.ItemGroup : React.Fragment;\n const groupValues = types['checkbox']?.map((item) => item.value);\n const hasSelectedItems = groupValues?.some((value) =>\n selectedCheckboxItems.some((item) => item.value === value && item.checked),\n );\n return (\n <MenuGroupContainer key={groupLabel}>\n {!isDefaultGroup && (\n <CMenu.ItemGroupLabel>\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n {groupLabel}\n {canSelectGroups && itemTypes.includes('checkbox') && (\n <MenuToggleButtons\n groupName={groupLabel}\n onToggle={handleToggleSelectAll}\n hasSelectedItems={hasSelectedItems}\n />\n )}\n </Flex>\n </CMenu.ItemGroupLabel>\n )}\n {Object.entries(types).map(([type, items]) =>\n items.map((item, index) => {\n const { groupLabel, ...rest } = item;\n return (\n <MenuItem\n key={`menu-item-${groupLabel}-${type}-${index}`}\n shouldTruncateText={shouldTruncateText}\n {...(item.type === 'checkbox' && {\n checked: isChecked(item.value),\n })}\n onSelect={() => handleSelect(item)}\n {...(item.type === 'submenu' && {\n positionerProps,\n })}\n {...rest}\n data-testid={`${dataTestId}-item-${item.label}`}\n />\n );\n }),\n )}\n </MenuGroupContainer>\n );\n })}\n </>\n ) : (\n <>\n <Box p={3}>\n {typeof emptyState === 'string' ? (\n <Box textAlign=\"center\">\n <Text size=\"sm\" variant=\"subtle\" data-testid={`${dataTestId}-empty-state`}>\n {emptyState}\n </Text>\n </Box>\n ) : (\n emptyState\n )}\n </Box>\n </>\n )}\n </Box>\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","MenuItemPropsProvider","useMenuItemPropsContext","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","onClick","dataTestId","rest","jsxs","Button","e","Text","Flex","Icon","MenuButtonTooltip","tooltipProps","isMenuOpen","isTooltipOpen","setIsTooltipOpen","useState","onMouseEnter","onMouseLeave","Tooltip","Box","label","leftElement","onSelect","shouldTruncateText","type","isSubmenuOpen","setIsSubmenuOpen","handleItemSelect","valueText","listProps","positionerProps","portalled","open","lazyMount","unmountOnExit","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","disabled","tooltipLabel","checkboxRest","CMenu.Item","Checkbox","selected","defaultRest","Fragment","content","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","ClearAllButton","SelectAllButton","buttonProps","submenuTrigger","onOpenChange","contentRef","usePortalContentRef","canSelectAll","canSelectGroups","emptyState","groupSortOrder","loading","maxH","menuItems","minW","onSearch","onListSelect","onSelectAll","searchable","searchPlaceholder","restListProps","isOpen","setIsOpen","searchText","setSearchText","filteredMenuItems","setFilteredMenuItems","groupedItems","useMemo","groups","item","group","entries","groupLabelA","groupLabelB","indexA","indexB","checkboxItems","isChecked","selectedCheckboxItems","handleToggleSelectAll","clear","newSelectedItems","filteredCheckboxItems","cItem","handleSelect","allSelectedItems","filterOptions","searchInput","itemsToFilter","handleSearch","clearSearch","handleOpenChange","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]}
|
|
@@ -2,11 +2,11 @@ import { j as t } from "./jsx-runtime-C5mzlN2N.js";
|
|
|
2
2
|
import { useRef as y, useState as P } from "react";
|
|
3
3
|
import { B as l } from "./button.component-BO6oee_V.js";
|
|
4
4
|
import { F as k } from "./flex-CX-8gE9T.js";
|
|
5
|
-
import { D as R, a as $, b as S, c as F, d as w, e as E, f as z, g as H, h as V, i as W, j as A } from "./dialog-
|
|
6
|
-
import { W as O } from "./heading.component-
|
|
5
|
+
import { D as R, a as $, b as S, c as F, d as w, e as E, f as z, g as H, h as V, i as W, j as A } from "./dialog-CJpn28QG.js";
|
|
6
|
+
import { W as O } from "./heading.component-CpSAN3cv.js";
|
|
7
7
|
import { u as q, P as G } from "./usePortalContentRef-DO_jc4W9.js";
|
|
8
8
|
import { u as J } from "./use-breakpoint-MQ7agQJe.js";
|
|
9
|
-
import { P as K } from "./index-
|
|
9
|
+
import { P as K } from "./index-DcmJgLUo.js";
|
|
10
10
|
const L = ({
|
|
11
11
|
children: s,
|
|
12
12
|
destructive: n,
|
|
@@ -121,4 +121,4 @@ export {
|
|
|
121
121
|
lt as c,
|
|
122
122
|
at as m
|
|
123
123
|
};
|
|
124
|
-
//# sourceMappingURL=modal.types-
|
|
124
|
+
//# sourceMappingURL=modal.types-Bq9gdlSr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.types-CVy-QT6f.js","sources":["../../src/components/Modal/components/ModalFooter/modalFooter.component.tsx","../../src/components/Modal/modal.component.tsx","../../src/components/Modal/modal.types.ts"],"sourcesContent":["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 /** Content to be rendered in the footer. */\n children?: React.ReactNode;\n /** If true, the submit button will be displayed as a destructive button.\n * @default false\n */\n destructive?: boolean;\n /** If true, the footer will be disabled. */\n disabled?: boolean;\n /** If true, the cancel button will not be displayed.\n * @default false\n */\n hideCancel?: boolean;\n /** If true, the submit button will be displayed with a loading state. */\n loading?: boolean;\n /** Text to display in the loading state. */\n loadingText?: string;\n /** Text to display in the cancel button. */\n cancelText?: string;\n /** Callback function to be called when the cancel button is clicked. */\n onCancel?: () => void;\n /** Callback function to be called when the submit button is clicked. */\n onSubmit?: () => void | Promise<void>;\n /** Text to display in the submit button. */\n submitText?: string;\n /** Position of the buttons.\n * @default space-between\n */\n buttonPosition?: 'start' | 'end' | 'space-between';\n /** Data test id for the footer.\n * @default kibble-modal-footer\n */\n 'data-testid'?: 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 cancelText = 'Cancel',\n buttonPosition = 'space-between',\n ['data-testid']: dataTestId = 'kibble-modal-footer',\n ...rest\n}: ModalFooterProps): React.JSX.Element => {\n return (\n <Dialog.Footer className=\"Modal__Footer\" data-testid={dataTestId} {...rest}>\n {children ? (\n children\n ) : (\n <Flex alignItems=\"center\" justifyContent={buttonPosition} w=\"100%\">\n {!hideCancel && (\n <Dialog.ActionTrigger asChild className=\"Modal__CancelButton\" data-testid={`${dataTestId}-cancel-button`}>\n <Button variant=\"tertiary\" onClick={onCancel}>\n {cancelText}\n </Button>\n </Dialog.ActionTrigger>\n )}\n <Button\n className=\"Modal__SubmitButton\"\n data-testid={`${dataTestId}-submit-button`}\n onClick={onSubmit}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n type=\"submit\"\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 { ConditionalValue } from '@chakra-ui/react/styled-system';\nimport { ModalFooter, ModalFooterProps } from './components/ModalFooter/modalFooter.component';\nimport { Heading, HeadingProps } from 'components/Heading/heading.component';\nimport { ModalMotionPreset, ModalPlacement, ModalSize } from './modal.types';\nimport { Button, ButtonProps } from 'components/Button/button.component';\nimport { useBreakpointValue } from '@chakra-ui/react';\nimport { PortalContext, usePortalContentRef } from 'hooks/usePortalContentRef';\n\nexport interface ModalProps extends Dialog.RootProps {\n /** Props to customize the default footer. If a custom footer is needed, you can use the `children` prop to build your own. */\n footerProps?: ModalFooterProps;\n /**\n * Whether to use full screen on mobile devices.\n * @default true\n */\n fullScreenMobile?: boolean;\n /** The header of the modal. */\n header?: React.ReactNode;\n /** Props to customize the header when passed as a string. */\n headerProps?: HeadingProps;\n /**\n * Whether to hide the close button.\n * @default false\n */\n hideCloseButton?: boolean;\n /** Props to customize the close button. */\n closeButtonProps?: Omit<ButtonProps, 'iconName' | 'onClick'>;\n /**\n * Whether to hide the modal footer.\n * @default false\n */\n hideFooter?: boolean;\n /** The animation preset for the modal.\n * @default slide-in-bottom\n */\n motionPreset?: ModalMotionPreset;\n /** The placement of the modal.\n * @default center\n */\n placement?: ModalPlacement;\n /**\n * Whether to show the expand button.\n * @default false\n */\n showExpandButton?: boolean;\n /** The size of the modal.\n * @default md\n */\n size?: ConditionalValue<ModalSize>;\n /** The element used to open the modal. If no trigger is provided, the modal will need to be controlled with the `open` and `onOpenChange` props. */\n trigger?: React.ReactNode;\n /**\n * Whether to render the modal in a portal. Set to false if this modal is nested inside another modal.\n * @default true\n */\n portalled?: boolean;\n /** Props to customize the content of the modal. */\n contentProps?: Dialog.ContentProps;\n /** Props to customize the positioner of the modal. */\n positionerProps?: Dialog.PositionerProps;\n /** Data test id for the modal.\n * @default kibble-modal\n */\n 'data-testid'?: string;\n}\n\nexport const Modal = ({\n children,\n footerProps,\n fullScreenMobile = true,\n header,\n headerProps,\n hideCloseButton = false,\n closeButtonProps,\n hideFooter = false,\n motionPreset = 'slide-in-bottom',\n placement = 'center',\n showExpandButton = false,\n size = 'md',\n trigger,\n ['data-testid']: dataTestId = 'kibble-modal',\n portalled = true,\n contentProps,\n positionerProps,\n ...rest\n}: ModalProps): React.JSX.Element => {\n const { contentRef: parentContentRef } = usePortalContentRef();\n const modalContentRef = useRef<HTMLDivElement>(null!);\n const contextValue = { contentRef: modalContentRef };\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 expanded={isExpanded}\n data-testid={`${dataTestId}-root`}\n {...rest}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal disabled={!portalled} container={parentContentRef || undefined}>\n <Dialog.Backdrop />\n <Dialog.Positioner {...positionerProps}>\n <Dialog.Content\n className=\"Modal\"\n data-testid={`${dataTestId}-content`}\n {...contentProps}\n ref={modalContentRef}\n >\n <PortalContext.Provider value={contextValue}>\n {!hideCloseButton && (\n <Dialog.CloseTrigger asChild className=\"Modal__CloseButton\" data-testid=\"kibble-modal-close-button\">\n <Button iconName=\"close\" variant=\"ghostNeutral\" {...closeButtonProps} />\n </Dialog.CloseTrigger>\n )}\n {showExpandButton && (\n <Button\n className=\"Modal__ExpandButton\"\n data-testid={`${dataTestId}-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 className=\"Modal__Header\" data-testid={`${dataTestId}-header`}>\n {header && (\n <Dialog.Title fontSize=\"2xl\" className=\"Modal__Title\" data-testid={`${dataTestId}-title`} asChild>\n {typeof header === 'string' ? (\n <Heading p={0} {...headerProps}>\n {header}\n </Heading>\n ) : (\n header\n )}\n </Dialog.Title>\n )}\n </Dialog.Header>\n <Dialog.Body className=\"Modal__Body\" data-testid={`${dataTestId}-body`}>\n {children}\n </Dialog.Body>\n {!hideFooter && <ModalFooter {...footerProps} />}\n </PortalContext.Provider>\n </Dialog.Content>\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":["ModalFooter","children","destructive","disabled","hideCancel","loading","loadingText","onCancel","onSubmit","submitText","cancelText","buttonPosition","dataTestId","rest","Dialog.Footer","Flex","Dialog.ActionTrigger","Button","jsx","Modal","footerProps","fullScreenMobile","header","headerProps","hideCloseButton","closeButtonProps","hideFooter","motionPreset","placement","showExpandButton","size","trigger","portalled","contentProps","positionerProps","parentContentRef","usePortalContentRef","modalContentRef","useRef","contextValue","isExpanded","setIsExpanded","useState","computedSize","useBreakpointValue","jsxs","Dialog.Root","Dialog.Trigger","Portal","Dialog.Backdrop","Dialog.Positioner","Dialog.Content","PortalContext","Dialog.CloseTrigger","prev","Dialog.Header","Dialog.Title","Heading","Dialog.Body","modalSizes","modalPlacements","modalScrollBehaviors","modalMotionPresets"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modal.types-Bq9gdlSr.js","sources":["../../src/components/Modal/components/ModalFooter/modalFooter.component.tsx","../../src/components/Modal/modal.component.tsx","../../src/components/Modal/modal.types.ts"],"sourcesContent":["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 /** Content to be rendered in the footer. */\n children?: React.ReactNode;\n /** If true, the submit button will be displayed as a destructive button.\n * @default false\n */\n destructive?: boolean;\n /** If true, the footer will be disabled. */\n disabled?: boolean;\n /** If true, the cancel button will not be displayed.\n * @default false\n */\n hideCancel?: boolean;\n /** If true, the submit button will be displayed with a loading state. */\n loading?: boolean;\n /** Text to display in the loading state. */\n loadingText?: string;\n /** Text to display in the cancel button. */\n cancelText?: string;\n /** Callback function to be called when the cancel button is clicked. */\n onCancel?: () => void;\n /** Callback function to be called when the submit button is clicked. */\n onSubmit?: () => void | Promise<void>;\n /** Text to display in the submit button. */\n submitText?: string;\n /** Position of the buttons.\n * @default space-between\n */\n buttonPosition?: 'start' | 'end' | 'space-between';\n /** Data test id for the footer.\n * @default kibble-modal-footer\n */\n 'data-testid'?: 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 cancelText = 'Cancel',\n buttonPosition = 'space-between',\n ['data-testid']: dataTestId = 'kibble-modal-footer',\n ...rest\n}: ModalFooterProps): React.JSX.Element => {\n return (\n <Dialog.Footer className=\"Modal__Footer\" data-testid={dataTestId} {...rest}>\n {children ? (\n children\n ) : (\n <Flex alignItems=\"center\" justifyContent={buttonPosition} w=\"100%\">\n {!hideCancel && (\n <Dialog.ActionTrigger asChild className=\"Modal__CancelButton\" data-testid={`${dataTestId}-cancel-button`}>\n <Button variant=\"tertiary\" onClick={onCancel}>\n {cancelText}\n </Button>\n </Dialog.ActionTrigger>\n )}\n <Button\n className=\"Modal__SubmitButton\"\n data-testid={`${dataTestId}-submit-button`}\n onClick={onSubmit}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n type=\"submit\"\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 { ConditionalValue } from '@chakra-ui/react/styled-system';\nimport { ModalFooter, ModalFooterProps } from './components/ModalFooter/modalFooter.component';\nimport { Heading, HeadingProps } from 'components/Heading/heading.component';\nimport { ModalMotionPreset, ModalPlacement, ModalSize } from './modal.types';\nimport { Button, ButtonProps } from 'components/Button/button.component';\nimport { useBreakpointValue } from '@chakra-ui/react';\nimport { PortalContext, usePortalContentRef } from 'hooks/usePortalContentRef';\n\nexport interface ModalProps extends Dialog.RootProps {\n /** Props to customize the default footer. If a custom footer is needed, you can use the `children` prop to build your own. */\n footerProps?: ModalFooterProps;\n /**\n * Whether to use full screen on mobile devices.\n * @default true\n */\n fullScreenMobile?: boolean;\n /** The header of the modal. */\n header?: React.ReactNode;\n /** Props to customize the header when passed as a string. */\n headerProps?: HeadingProps;\n /**\n * Whether to hide the close button.\n * @default false\n */\n hideCloseButton?: boolean;\n /** Props to customize the close button. */\n closeButtonProps?: Omit<ButtonProps, 'iconName' | 'onClick'>;\n /**\n * Whether to hide the modal footer.\n * @default false\n */\n hideFooter?: boolean;\n /** The animation preset for the modal.\n * @default slide-in-bottom\n */\n motionPreset?: ModalMotionPreset;\n /** The placement of the modal.\n * @default center\n */\n placement?: ModalPlacement;\n /**\n * Whether to show the expand button.\n * @default false\n */\n showExpandButton?: boolean;\n /** The size of the modal.\n * @default md\n */\n size?: ConditionalValue<ModalSize>;\n /** The element used to open the modal. If no trigger is provided, the modal will need to be controlled with the `open` and `onOpenChange` props. */\n trigger?: React.ReactNode;\n /**\n * Whether to render the modal in a portal. Set to false if this modal is nested inside another modal.\n * @default true\n */\n portalled?: boolean;\n /** Props to customize the content of the modal. */\n contentProps?: Dialog.ContentProps;\n /** Props to customize the positioner of the modal. */\n positionerProps?: Dialog.PositionerProps;\n /** Data test id for the modal.\n * @default kibble-modal\n */\n 'data-testid'?: string;\n}\n\nexport const Modal = ({\n children,\n footerProps,\n fullScreenMobile = true,\n header,\n headerProps,\n hideCloseButton = false,\n closeButtonProps,\n hideFooter = false,\n motionPreset = 'slide-in-bottom',\n placement = 'center',\n showExpandButton = false,\n size = 'md',\n trigger,\n ['data-testid']: dataTestId = 'kibble-modal',\n portalled = true,\n contentProps,\n positionerProps,\n ...rest\n}: ModalProps): React.JSX.Element => {\n const { contentRef: parentContentRef } = usePortalContentRef();\n const modalContentRef = useRef<HTMLDivElement>(null!);\n const contextValue = { contentRef: modalContentRef };\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 expanded={isExpanded}\n data-testid={`${dataTestId}-root`}\n {...rest}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal disabled={!portalled} container={parentContentRef || undefined}>\n <Dialog.Backdrop />\n <Dialog.Positioner {...positionerProps}>\n <Dialog.Content\n className=\"Modal\"\n data-testid={`${dataTestId}-content`}\n {...contentProps}\n ref={modalContentRef}\n >\n <PortalContext.Provider value={contextValue}>\n {!hideCloseButton && (\n <Dialog.CloseTrigger asChild className=\"Modal__CloseButton\" data-testid=\"kibble-modal-close-button\">\n <Button iconName=\"close\" variant=\"ghostNeutral\" {...closeButtonProps} />\n </Dialog.CloseTrigger>\n )}\n {showExpandButton && (\n <Button\n className=\"Modal__ExpandButton\"\n data-testid={`${dataTestId}-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 className=\"Modal__Header\" data-testid={`${dataTestId}-header`}>\n {header && (\n <Dialog.Title fontSize=\"2xl\" className=\"Modal__Title\" data-testid={`${dataTestId}-title`} asChild>\n {typeof header === 'string' ? (\n <Heading p={0} {...headerProps}>\n {header}\n </Heading>\n ) : (\n header\n )}\n </Dialog.Title>\n )}\n </Dialog.Header>\n <Dialog.Body className=\"Modal__Body\" data-testid={`${dataTestId}-body`}>\n {children}\n </Dialog.Body>\n {!hideFooter && <ModalFooter {...footerProps} />}\n </PortalContext.Provider>\n </Dialog.Content>\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":["ModalFooter","children","destructive","disabled","hideCancel","loading","loadingText","onCancel","onSubmit","submitText","cancelText","buttonPosition","dataTestId","rest","Dialog.Footer","Flex","Dialog.ActionTrigger","Button","jsx","Modal","footerProps","fullScreenMobile","header","headerProps","hideCloseButton","closeButtonProps","hideFooter","motionPreset","placement","showExpandButton","size","trigger","portalled","contentProps","positionerProps","parentContentRef","usePortalContentRef","modalContentRef","useRef","contextValue","isExpanded","setIsExpanded","useState","computedSize","useBreakpointValue","jsxs","Dialog.Root","Dialog.Trigger","Portal","Dialog.Backdrop","Dialog.Positioner","Dialog.Content","PortalContext","Dialog.CloseTrigger","prev","Dialog.Header","Dialog.Title","Heading","Dialog.Body","modalSizes","modalPlacements","modalScrollBehaviors","modalMotionPresets"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as r } from "./jsx-runtime-C5mzlN2N.js";
|
|
2
2
|
import { useMemo as d } from "react";
|
|
3
3
|
import { d as f } from "./config-Djkl1N81.js";
|
|
4
|
-
import { S as p } from "./spinner.component-
|
|
4
|
+
import { S as p } from "./spinner.component-CNHQ8UDz.js";
|
|
5
5
|
import { B as g } from "./index-9BerxEcw.js";
|
|
6
6
|
import { u as h } from "./create-slot-recipe-context-D_FXDJGp.js";
|
|
7
7
|
import { F as b } from "./flex-CX-8gE9T.js";
|
|
@@ -135,4 +135,4 @@ const C = ["root", "maxElement"], S = {
|
|
|
135
135
|
export {
|
|
136
136
|
F as N
|
|
137
137
|
};
|
|
138
|
-
//# sourceMappingURL=notificationCounter.component-
|
|
138
|
+
//# sourceMappingURL=notificationCounter.component-6Q3q8jWj.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notificationCounter.component-
|
|
1
|
+
{"version":3,"file":"notificationCounter.component-6Q3q8jWj.js","sources":["../../src/components/NotificationCounter/notificationCounter.recipe.ts","../../src/components/NotificationCounter/notificationCounter.records.ts","../../src/components/NotificationCounter/notificationCounter.component.tsx"],"sourcesContent":["import { defineSlotRecipe, SystemStyleObject } from '@chakra-ui/react/styled-system';\nimport { NotificationCounterSize, NotificationCounterVariant } from './notificationCounter.types';\n\nconst notificationCounterSlots = ['root', 'maxElement'] as const;\ntype NotificationCounterSlot = (typeof notificationCounterSlots)[number];\n\nconst notificationCounterVariantStyles: Record<\n NotificationCounterVariant,\n Record<NotificationCounterSlot, SystemStyleObject>\n> = {\n blue: {\n root: {\n bgColor: 'background.accent',\n color: 'text.contrast',\n },\n maxElement: {\n bgColor: 'text.contrast',\n },\n },\n green: {\n root: {\n bgColor: 'background.success.contrast',\n color: 'text.contrast',\n },\n maxElement: {\n bgColor: 'text.contrast',\n },\n },\n neutral: {\n root: {\n bgColor: 'background.subtle.less',\n color: 'text',\n },\n maxElement: {\n bgColor: 'text',\n },\n },\n red: {\n root: {\n bgColor: 'background.danger.contrast',\n color: 'text.contrast',\n },\n maxElement: {\n bgColor: 'text.contrast',\n },\n },\n};\n\nconst notificationCounterSizeStyles: Record<\n NotificationCounterSize,\n Record<NotificationCounterSlot, SystemStyleObject>\n> = {\n xs: {\n root: {\n fontSize: '8px',\n height: 3,\n width: 3,\n },\n maxElement: {\n height: '1px',\n width: '1px',\n },\n },\n sm: {\n root: { fontSize: '10px', height: 4, width: 4 },\n maxElement: {\n height: '2px',\n width: '2px',\n },\n },\n md: {\n root: {\n fontSize: 'xs',\n height: 5,\n width: 5,\n },\n maxElement: {\n height: '3px',\n width: '3px',\n },\n },\n lg: {\n root: {\n fontSize: 'sm',\n height: 6,\n width: 6,\n },\n maxElement: {\n height: 1,\n width: 1,\n },\n },\n};\n\nexport const notificationCounterRecipe = defineSlotRecipe({\n slots: notificationCounterSlots,\n base: {\n root: {\n alignItems: 'center',\n border: '1px',\n borderColor: 'background',\n borderRadius: 'full',\n fontWeight: 'semibold',\n justifyContent: 'center',\n },\n maxElement: {\n borderRadius: 'full',\n },\n },\n variants: {\n size: notificationCounterSizeStyles,\n variant: notificationCounterVariantStyles,\n },\n defaultVariants: {\n size: 'md',\n variant: 'red',\n },\n});\n","import { SpinnerSize } from 'components/Spinner/spinner.types';\nimport { NotificationCounterSize, NotificationCounterVariant } from './notificationCounter.types';\nimport { TypographyVariant } from 'shared/types';\n\nexport const MAX_COUNT = 99;\n\nexport const notificationCounterSpinnerSize: Record<NotificationCounterSize, SpinnerSize | null> = {\n xs: null, // The xs size doesn't show a spinner\n sm: 'xs',\n md: 'xs',\n lg: 'sm',\n};\n\nexport const spinnerVariantToNotificationCounterVariant: Record<NotificationCounterVariant, TypographyVariant> = {\n red: 'dangerOnContrast',\n blue: 'interactiveOnContrast',\n green: 'brandOnContrast',\n neutral: 'subtleOnContrast',\n};\n","import React, { useMemo } from 'react';\nimport { Flex, FlexProps } from '@chakra-ui/react/flex';\nimport { NotificationCounterSize, NotificationCounterVariant } from './notificationCounter.types';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { notificationCounterRecipe } from './notificationCounter.recipe';\nimport {\n MAX_COUNT,\n notificationCounterSpinnerSize,\n spinnerVariantToNotificationCounterVariant,\n} from './notificationCounter.records';\nimport { Spinner } from 'components/Spinner/spinner.component';\nimport { Box } from '@chakra-ui/react/box';\n\nexport interface NotificationCounterProps extends FlexProps {\n /** Value of the notification counter. If count is greater than 99, the count will be hidden and a special indicator will take its place. */\n count?: number;\n /** If true, the notification counter will show a spinner.\n * @default false\n */\n loading?: boolean;\n /** Whether or not to show the counter label. If the size is xs, by default the count label won't be shown.\n * @default true\n */\n showCount?: boolean;\n /** Size of the notification counter\n * @default md\n */\n size?: NotificationCounterSize;\n /** Color variant for the notification counter\n * @default red\n */\n variant?: NotificationCounterVariant;\n /** Data test id for the notification counter.\n * @default kibble-notification-counter\n */\n 'data-testid'?: string;\n}\n\nexport const NotificationCounter = ({\n count,\n loading = false,\n showCount = true,\n size = 'md',\n variant = 'red',\n ['data-testid']: dataTestId = 'kibble-notification-counter',\n ...rest\n}: NotificationCounterProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: notificationCounterRecipe });\n const styles = recipe({ size, variant });\n const shouldShowCount = size !== 'xs' && showCount;\n\n const counterContent = useMemo(() => {\n const _spinnerSize = notificationCounterSpinnerSize[size];\n const _spinnerVariant = spinnerVariantToNotificationCounterVariant[variant];\n\n if (loading && !!_spinnerSize) return <Spinner variant={_spinnerVariant} size={_spinnerSize} />;\n\n if (count == null) return null; // Handle undefined or null count\n\n if (count > MAX_COUNT) return <Box css={styles.maxElement} />;\n\n return count;\n }, [size, variant, loading, count, styles.maxElement]);\n\n return (\n <Flex className=\"NotificationCounter\" data-testid={dataTestId} css={styles.root} {...rest}>\n {shouldShowCount && counterContent}\n </Flex>\n );\n};\n"],"names":["notificationCounterSlots","notificationCounterVariantStyles","notificationCounterSizeStyles","notificationCounterRecipe","defineSlotRecipe","MAX_COUNT","notificationCounterSpinnerSize","spinnerVariantToNotificationCounterVariant","NotificationCounter","count","loading","showCount","size","variant","dataTestId","rest","styles","useSlotRecipe","shouldShowCount","counterContent","useMemo","_spinnerSize","_spinnerVariant","Spinner","Box","jsx","Flex"],"mappings":"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"}
|