@televet/kibble-ui 5.0.13 → 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-BGd_2-DY.js","sources":["../../node_modules/@zag-js/collection/dist/index.mjs","../../node_modules/@zag-js/select/dist/index.mjs"],"sourcesContent":["import { isObject, hasProp, isEqual, chunk, prevIndex, nextIndex } from '@zag-js/utils';\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar fallback = {\n itemToValue(item) {\n if (typeof item === \"string\") return item;\n if (isObject(item) && hasProp(item, \"value\")) return item.value;\n return \"\";\n },\n itemToString(item) {\n if (typeof item === \"string\") return item;\n if (isObject(item) && hasProp(item, \"label\")) return item.label;\n return fallback.itemToValue(item);\n },\n isItemDisabled(item) {\n if (isObject(item) && hasProp(item, \"disabled\")) return !!item.disabled;\n return false;\n }\n};\nvar ListCollection = class _ListCollection {\n constructor(options) {\n this.options = options;\n /**\n * The items in the collection\n */\n __publicField(this, \"items\");\n /**\n * Copy the collection\n */\n __publicField(this, \"copy\", (items) => {\n return new _ListCollection({ ...this.options, items: items ?? [...this.items] });\n });\n /**\n * Check if the collection is equal to another collection\n */\n __publicField(this, \"isEqual\", (other) => {\n return isEqual(this.items, other.items);\n });\n /**\n * Function to update the collection items\n */\n __publicField(this, \"setItems\", (items) => {\n return this.copy(items);\n });\n /**\n * Returns all the values in the collection\n */\n __publicField(this, \"getValues\", (items = this.items) => {\n return Array.from(items).map((item) => this.getItemValue(item)).filter(Boolean);\n });\n /**\n * Get the item based on its value\n */\n __publicField(this, \"find\", (value) => {\n if (value == null) return null;\n const index = this.indexOf(value);\n return index != null ? this.at(index) : null;\n });\n /**\n * Get the items based on its values\n */\n __publicField(this, \"findMany\", (values) => {\n return Array.from(values).map((value) => this.find(value)).filter((item) => item != null);\n });\n /**\n * Get the item based on its index\n */\n __publicField(this, \"at\", (index) => {\n if (!this.options.groupBy && !this.options.groupSort) {\n return this.items[index] ?? null;\n }\n let idx = 0;\n const groups = this.group();\n for (const [, items] of groups) {\n for (const item of items) {\n if (idx === index) return item;\n idx++;\n }\n }\n return null;\n });\n __publicField(this, \"sortFn\", (valueA, valueB) => {\n const indexA = this.indexOf(valueA);\n const indexB = this.indexOf(valueB);\n return (indexA ?? 0) - (indexB ?? 0);\n });\n /**\n * Sort the values based on their index\n */\n __publicField(this, \"sort\", (values) => {\n return [...values].sort(this.sortFn.bind(this));\n });\n /**\n * Convert an item to a value\n */\n __publicField(this, \"getItemValue\", (item) => {\n if (item == null) return null;\n return this.options.itemToValue?.(item) ?? fallback.itemToValue(item);\n });\n /**\n * Whether an item is disabled\n */\n __publicField(this, \"getItemDisabled\", (item) => {\n if (item == null) return false;\n return this.options.isItemDisabled?.(item) ?? fallback.isItemDisabled(item);\n });\n /**\n * Convert an item to a string\n */\n __publicField(this, \"stringifyItem\", (item) => {\n if (item == null) return null;\n return this.options.itemToString?.(item) ?? fallback.itemToString(item);\n });\n /**\n * Convert a value to a string\n */\n __publicField(this, \"stringify\", (value) => {\n if (value == null) return null;\n return this.stringifyItem(this.find(value));\n });\n /**\n * Convert an array of items to a string\n */\n __publicField(this, \"stringifyItems\", (items, separator = \", \") => {\n return Array.from(items).map((item) => this.stringifyItem(item)).filter(Boolean).join(separator);\n });\n /**\n * Convert an array of items to a string\n */\n __publicField(this, \"stringifyMany\", (value, separator) => {\n return this.stringifyItems(this.findMany(value), separator);\n });\n /**\n * Whether the collection has a value\n */\n __publicField(this, \"has\", (value) => {\n return this.indexOf(value) !== -1;\n });\n /**\n * Whether the collection has an item\n */\n __publicField(this, \"hasItem\", (item) => {\n if (item == null) return false;\n return this.has(this.getItemValue(item));\n });\n /**\n * Group items by the groupBy function provided in options\n * Returns an array of [groupKey, items] tuples\n */\n __publicField(this, \"group\", () => {\n const { groupBy, groupSort } = this.options;\n if (!groupBy) return [[\"\", [...this.items]]];\n const groups = /* @__PURE__ */ new Map();\n this.items.forEach((item, index) => {\n const groupKey = groupBy(item, index);\n if (!groups.has(groupKey)) {\n groups.set(groupKey, []);\n }\n groups.get(groupKey).push(item);\n });\n let entries = Array.from(groups.entries());\n if (groupSort) {\n entries.sort(([a], [b]) => {\n if (typeof groupSort === \"function\") return groupSort(a, b);\n if (Array.isArray(groupSort)) {\n const indexA = groupSort.indexOf(a);\n const indexB = groupSort.indexOf(b);\n if (indexA === -1) return 1;\n if (indexB === -1) return -1;\n return indexA - indexB;\n }\n if (groupSort === \"asc\") return a.localeCompare(b);\n if (groupSort === \"desc\") return b.localeCompare(a);\n return 0;\n });\n }\n return entries;\n });\n /**\n * Returns the next value in the collection\n */\n __publicField(this, \"getNextValue\", (value, step = 1, clamp = false) => {\n let index = this.indexOf(value);\n if (index === -1) return null;\n index = clamp ? Math.min(index + step, this.size - 1) : index + step;\n while (index <= this.size && this.getItemDisabled(this.at(index))) index++;\n return this.getItemValue(this.at(index));\n });\n /**\n * Returns the previous value in the collection\n */\n __publicField(this, \"getPreviousValue\", (value, step = 1, clamp = false) => {\n let index = this.indexOf(value);\n if (index === -1) return null;\n index = clamp ? Math.max(index - step, 0) : index - step;\n while (index >= 0 && this.getItemDisabled(this.at(index))) index--;\n return this.getItemValue(this.at(index));\n });\n /**\n * Get the index of an item based on its key\n */\n __publicField(this, \"indexOf\", (value) => {\n if (value == null) return -1;\n if (!this.options.groupBy && !this.options.groupSort) {\n return this.items.findIndex((item) => this.getItemValue(item) === value);\n }\n let idx = 0;\n const groups = this.group();\n for (const [, items] of groups) {\n for (const item of items) {\n if (this.getItemValue(item) === value) return idx;\n idx++;\n }\n }\n return -1;\n });\n __publicField(this, \"getByText\", (text, current) => {\n let items = current != null ? wrap(this.items, this.indexOf(current)) : this.items;\n const isSingleKey = text.length === 1;\n if (isSingleKey) items = items.filter((item) => this.getItemValue(item) !== current);\n return items.find((item) => match(this.stringifyItem(item), text));\n });\n /**\n * Search for a value based on a query\n */\n __publicField(this, \"search\", (queryString, options) => {\n const { state, currentValue, timeout = 350 } = options;\n const search = state.keysSoFar + queryString;\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const query = isRepeated ? search[0] : search;\n const item = this.getByText(query, currentValue);\n const value = this.getItemValue(item);\n function cleanup() {\n clearTimeout(state.timer);\n state.timer = -1;\n }\n function update(value2) {\n state.keysSoFar = value2;\n cleanup();\n if (value2 !== \"\") {\n state.timer = +setTimeout(() => {\n update(\"\");\n cleanup();\n }, timeout);\n }\n }\n update(search);\n return value;\n });\n /**\n * Update an item in the collection\n */\n __publicField(this, \"update\", (value, item) => {\n let index = this.indexOf(value);\n if (index === -1) return this;\n return this.copy([...this.items.slice(0, index), item, ...this.items.slice(index + 1)]);\n });\n /**\n * Update an item in the collection if it exists, otherwise append it\n */\n __publicField(this, \"upsert\", (value, item, mode = \"append\") => {\n let index = this.indexOf(value);\n if (index === -1) {\n const fn = mode === \"append\" ? this.append : this.prepend;\n return fn(item);\n }\n return this.copy([...this.items.slice(0, index), item, ...this.items.slice(index + 1)]);\n });\n /**\n * Insert items at a specific index\n */\n __publicField(this, \"insert\", (index, ...items) => {\n return this.copy(insert(this.items, index, ...items));\n });\n /**\n * Insert items before a specific value\n */\n __publicField(this, \"insertBefore\", (value, ...items) => {\n let toIndex = this.indexOf(value);\n if (toIndex === -1) {\n if (this.items.length === 0) toIndex = 0;\n else return this;\n }\n return this.copy(insert(this.items, toIndex, ...items));\n });\n /**\n * Insert items after a specific value\n */\n __publicField(this, \"insertAfter\", (value, ...items) => {\n let toIndex = this.indexOf(value);\n if (toIndex === -1) {\n if (this.items.length === 0) toIndex = 0;\n else return this;\n }\n return this.copy(insert(this.items, toIndex + 1, ...items));\n });\n /**\n * Prepend items to the collection\n */\n __publicField(this, \"prepend\", (...items) => {\n return this.copy(insert(this.items, 0, ...items));\n });\n /**\n * Append items to the collection\n */\n __publicField(this, \"append\", (...items) => {\n return this.copy(insert(this.items, this.items.length, ...items));\n });\n /**\n * Filter the collection\n */\n __publicField(this, \"filter\", (fn) => {\n const filteredItems = this.items.filter((item, index) => fn(this.stringifyItem(item), index, item));\n return this.copy(filteredItems);\n });\n /**\n * Remove items from the collection\n */\n __publicField(this, \"remove\", (...itemsOrValues) => {\n const values = itemsOrValues.map(\n (itemOrValue) => typeof itemOrValue === \"string\" ? itemOrValue : this.getItemValue(itemOrValue)\n );\n return this.copy(\n this.items.filter((item) => {\n const value = this.getItemValue(item);\n if (value == null) return false;\n return !values.includes(value);\n })\n );\n });\n /**\n * Move an item to a specific index\n */\n __publicField(this, \"move\", (value, toIndex) => {\n const fromIndex = this.indexOf(value);\n if (fromIndex === -1) return this;\n return this.copy(move(this.items, [fromIndex], toIndex));\n });\n /**\n * Move items before a specific value\n */\n __publicField(this, \"moveBefore\", (value, ...values) => {\n let toIndex = this.items.findIndex((item) => this.getItemValue(item) === value);\n if (toIndex === -1) return this;\n let indices = values.map((value2) => this.items.findIndex((item) => this.getItemValue(item) === value2)).sort((a, b) => a - b);\n return this.copy(move(this.items, indices, toIndex));\n });\n /**\n * Move items after a specific value\n */\n __publicField(this, \"moveAfter\", (value, ...values) => {\n let toIndex = this.items.findIndex((item) => this.getItemValue(item) === value);\n if (toIndex === -1) return this;\n let indices = values.map((value2) => this.items.findIndex((item) => this.getItemValue(item) === value2)).sort((a, b) => a - b);\n return this.copy(move(this.items, indices, toIndex + 1));\n });\n /**\n * Reorder items\n */\n __publicField(this, \"reorder\", (fromIndex, toIndex) => {\n return this.copy(move(this.items, [fromIndex], toIndex));\n });\n /**\n * Compare two values\n */\n __publicField(this, \"compareValue\", (a, b) => {\n const indexA = this.indexOf(a);\n const indexB = this.indexOf(b);\n if (indexA < indexB) return -1;\n if (indexA > indexB) return 1;\n return 0;\n });\n /**\n * Get the range of values between two values\n */\n __publicField(this, \"range\", (from, to) => {\n let keys = [];\n let key = from;\n while (key != null) {\n let item = this.find(key);\n if (item) keys.push(key);\n if (key === to) return keys;\n key = this.getNextValue(key);\n }\n return [];\n });\n /**\n * Get the range of values between two values\n */\n __publicField(this, \"getValueRange\", (from, to) => {\n if (from && to) {\n if (this.compareValue(from, to) <= 0) {\n return this.range(from, to);\n }\n return this.range(to, from);\n }\n return [];\n });\n /**\n * Convert the collection to a string\n */\n __publicField(this, \"toString\", () => {\n let result = \"\";\n for (const item of this.items) {\n const value = this.getItemValue(item);\n const label = this.stringifyItem(item);\n const disabled = this.getItemDisabled(item);\n const itemString = [value, label, disabled].filter(Boolean).join(\":\");\n result += itemString + \",\";\n }\n return result;\n });\n /**\n * Convert the collection to a JSON object\n */\n __publicField(this, \"toJSON\", () => {\n return {\n size: this.size,\n first: this.firstValue,\n last: this.lastValue\n };\n });\n this.items = [...options.items];\n }\n /**\n * Returns the number of items in the collection\n */\n get size() {\n return this.items.length;\n }\n /**\n * Returns the first value in the collection\n */\n get firstValue() {\n let index = 0;\n while (this.getItemDisabled(this.at(index))) index++;\n return this.getItemValue(this.at(index));\n }\n /**\n * Returns the last value in the collection\n */\n get lastValue() {\n let index = this.size - 1;\n while (this.getItemDisabled(this.at(index))) index--;\n return this.getItemValue(this.at(index));\n }\n *[Symbol.iterator]() {\n yield* this.items;\n }\n};\nvar match = (label, query) => {\n return !!label?.toLowerCase().startsWith(query.toLowerCase());\n};\nvar wrap = (v, idx) => {\n return v.map((_, index) => v[(Math.max(idx, 0) + index) % v.length]);\n};\nfunction isListCollection(v) {\n return v instanceof ListCollection;\n}\nfunction insert(items, index, ...values) {\n return [...items.slice(0, index), ...values, ...items.slice(index)];\n}\nfunction move(items, indices, toIndex) {\n indices = [...indices].sort((a, b) => a - b);\n const itemsToMove = indices.map((i) => items[i]);\n for (let i = indices.length - 1; i >= 0; i--) {\n items = [...items.slice(0, indices[i]), ...items.slice(indices[i] + 1)];\n }\n toIndex = Math.max(0, toIndex - indices.filter((i) => i < toIndex).length);\n return [...items.slice(0, toIndex), ...itemsToMove, ...items.slice(toIndex)];\n}\n\n// src/grid-collection.ts\nvar GridCollection = class extends ListCollection {\n constructor(options) {\n const { columnCount } = options;\n super(options);\n __publicField(this, \"columnCount\");\n /**\n * Returns the row data in the grid\n */\n __publicField(this, \"getRows\", () => {\n return chunk([...this.items], this.columnCount);\n });\n /**\n * Returns the number of rows in the grid\n */\n __publicField(this, \"getRowCount\", () => {\n return this.getRows().length;\n });\n /**\n * Returns the index of the specified row and column in the grid\n */\n __publicField(this, \"getCellIndex\", (row, column) => {\n return row * this.columnCount + column;\n });\n /**\n * Returns the item at the specified row and column in the grid\n */\n __publicField(this, \"getCell\", (row, column) => {\n return this.at(this.getCellIndex(row, column));\n });\n /**\n * Returns the row and column index for a given value\n */\n __publicField(this, \"getValueCell\", (value) => {\n const index = this.indexOf(value);\n if (index === -1) return null;\n const row = Math.floor(index / this.columnCount);\n const column = index % this.columnCount;\n return { row, column };\n });\n /**\n * Returns the value of the last enabled column in a row\n */\n __publicField(this, \"getLastEnabledColumnIndex\", (row) => {\n for (let col = this.columnCount - 1; col >= 0; col--) {\n const cell = this.getCell(row, col);\n if (cell && !this.getItemDisabled(cell)) {\n return col;\n }\n }\n return null;\n });\n /**\n * Returns the index of the first enabled column in a row\n */\n __publicField(this, \"getFirstEnabledColumnIndex\", (row) => {\n for (let col = 0; col < this.columnCount; col++) {\n const cell = this.getCell(row, col);\n if (cell && !this.getItemDisabled(cell)) {\n return col;\n }\n }\n return null;\n });\n /**\n * Returns the value of the previous row in the grid, based on the current value\n */\n __publicField(this, \"getPreviousRowValue\", (value, loop = false) => {\n const currentCell = this.getValueCell(value);\n if (currentCell === null) return null;\n const rows = this.getRows();\n const rowCount = this.getRowCount();\n let prevRowIndex = currentCell.row;\n let prevColumnIndex = currentCell.column;\n for (let i = 1; i <= rowCount; i++) {\n prevRowIndex = prevIndex(rows, prevRowIndex, { loop });\n const prevRow = rows[prevRowIndex];\n if (!prevRow) continue;\n const prevCell = prevRow[prevColumnIndex];\n if (!prevCell) {\n const lastColumnIndex = this.getLastEnabledColumnIndex(prevRowIndex);\n if (lastColumnIndex != null) {\n prevColumnIndex = lastColumnIndex;\n }\n }\n const cell = this.getCell(prevRowIndex, prevColumnIndex);\n if (!this.getItemDisabled(cell)) {\n return this.getItemValue(cell);\n }\n }\n return this.firstValue;\n });\n /**\n * Returns the value of the next row in the grid, based on the current value\n */\n __publicField(this, \"getNextRowValue\", (value, loop = false) => {\n const currentCell = this.getValueCell(value);\n if (currentCell === null) return null;\n const rows = this.getRows();\n const rowCount = this.getRowCount();\n let nextRowIndex = currentCell.row;\n let nextColumnIndex = currentCell.column;\n for (let i = 1; i <= rowCount; i++) {\n nextRowIndex = nextIndex(rows, nextRowIndex, { loop });\n const nextRow = rows[nextRowIndex];\n if (!nextRow) continue;\n const nextCell = nextRow[nextColumnIndex];\n if (!nextCell) {\n const lastColumnIndex = this.getLastEnabledColumnIndex(nextRowIndex);\n if (lastColumnIndex != null) {\n nextColumnIndex = lastColumnIndex;\n }\n }\n const cell = this.getCell(nextRowIndex, nextColumnIndex);\n if (!this.getItemDisabled(cell)) {\n return this.getItemValue(cell);\n }\n }\n return this.lastValue;\n });\n this.columnCount = columnCount;\n }\n};\nfunction isGridCollection(v) {\n return v instanceof GridCollection;\n}\nvar Selection = class _Selection extends Set {\n constructor(values = []) {\n super(values);\n __publicField(this, \"selectionMode\", \"single\");\n __publicField(this, \"deselectable\", true);\n __publicField(this, \"copy\", () => {\n const clone = new _Selection([...this]);\n return this.sync(clone);\n });\n __publicField(this, \"sync\", (other) => {\n other.selectionMode = this.selectionMode;\n other.deselectable = this.deselectable;\n return other;\n });\n __publicField(this, \"isEmpty\", () => {\n return this.size === 0;\n });\n __publicField(this, \"isSelected\", (value) => {\n if (this.selectionMode === \"none\" || value == null) {\n return false;\n }\n return this.has(value);\n });\n __publicField(this, \"canSelect\", (collection, value) => {\n return this.selectionMode !== \"none\" || !collection.getItemDisabled(collection.find(value));\n });\n __publicField(this, \"firstSelectedValue\", (collection) => {\n let firstValue = null;\n for (let value of this) {\n if (!firstValue || collection.compareValue(value, firstValue) < 0) {\n firstValue = value;\n }\n }\n return firstValue;\n });\n __publicField(this, \"lastSelectedValue\", (collection) => {\n let lastValue = null;\n for (let value of this) {\n if (!lastValue || collection.compareValue(value, lastValue) > 0) {\n lastValue = value;\n }\n }\n return lastValue;\n });\n __publicField(this, \"extendSelection\", (collection, anchorValue, targetValue) => {\n if (this.selectionMode === \"none\") {\n return this;\n }\n if (this.selectionMode === \"single\") {\n return this.replaceSelection(collection, targetValue);\n }\n const selection = this.copy();\n const lastSelected = Array.from(this).pop();\n for (let key of collection.getValueRange(anchorValue, lastSelected ?? targetValue)) {\n selection.delete(key);\n }\n for (let key of collection.getValueRange(targetValue, anchorValue)) {\n if (this.canSelect(collection, key)) {\n selection.add(key);\n }\n }\n return selection;\n });\n __publicField(this, \"toggleSelection\", (collection, value) => {\n if (this.selectionMode === \"none\") {\n return this;\n }\n if (this.selectionMode === \"single\" && !this.isSelected(value)) {\n return this.replaceSelection(collection, value);\n }\n const selection = this.copy();\n if (selection.has(value)) {\n selection.delete(value);\n } else if (selection.canSelect(collection, value)) {\n selection.add(value);\n }\n return selection;\n });\n __publicField(this, \"replaceSelection\", (collection, value) => {\n if (this.selectionMode === \"none\") {\n return this;\n }\n if (value == null) {\n return this;\n }\n if (!this.canSelect(collection, value)) {\n return this;\n }\n const selection = new _Selection([value]);\n return this.sync(selection);\n });\n __publicField(this, \"setSelection\", (values) => {\n if (this.selectionMode === \"none\") {\n return this;\n }\n let selection = new _Selection();\n for (let value of values) {\n if (value != null) {\n selection.add(value);\n if (this.selectionMode === \"single\") {\n break;\n }\n }\n }\n return this.sync(selection);\n });\n __publicField(this, \"clearSelection\", () => {\n const selection = this.copy();\n if (selection.deselectable && selection.size > 0) {\n selection.clear();\n }\n return selection;\n });\n __publicField(this, \"select\", (collection, value, forceToggle) => {\n if (this.selectionMode === \"none\") {\n return this;\n }\n if (this.selectionMode === \"single\") {\n if (this.isSelected(value) && this.deselectable) {\n return this.toggleSelection(collection, value);\n } else {\n return this.replaceSelection(collection, value);\n }\n } else if (this.selectionMode === \"multiple\" || forceToggle) {\n return this.toggleSelection(collection, value);\n } else {\n return this.replaceSelection(collection, value);\n }\n });\n __publicField(this, \"deselect\", (value) => {\n const selection = this.copy();\n selection.delete(value);\n return selection;\n });\n __publicField(this, \"isEqual\", (other) => {\n return isEqual(Array.from(this), Array.from(other));\n });\n }\n};\n\n// src/tree-visit.ts\nfunction access(node, indexPath, options) {\n for (let i = 0; i < indexPath.length; i++) node = options.getChildren(node, indexPath.slice(i + 1))[indexPath[i]];\n return node;\n}\nfunction ancestorIndexPaths(indexPaths) {\n const sortedPaths = sortIndexPaths(indexPaths);\n const result = [];\n const seen = /* @__PURE__ */ new Set();\n for (const indexPath of sortedPaths) {\n const key = indexPath.join();\n if (!seen.has(key)) {\n seen.add(key);\n result.push(indexPath);\n }\n }\n return result;\n}\nfunction compareIndexPaths(a, b) {\n for (let i = 0; i < Math.min(a.length, b.length); i++) {\n if (a[i] < b[i]) return -1;\n if (a[i] > b[i]) return 1;\n }\n return a.length - b.length;\n}\nfunction sortIndexPaths(indexPaths) {\n return indexPaths.sort(compareIndexPaths);\n}\nfunction find(node, options) {\n let found;\n visit(node, {\n ...options,\n onEnter: (child, indexPath) => {\n if (options.predicate(child, indexPath)) {\n found = child;\n return \"stop\";\n }\n }\n });\n return found;\n}\nfunction findAll(node, options) {\n const found = [];\n visit(node, {\n onEnter: (child, indexPath) => {\n if (options.predicate(child, indexPath)) found.push(child);\n },\n getChildren: options.getChildren\n });\n return found;\n}\nfunction findIndexPath(node, options) {\n let found;\n visit(node, {\n onEnter: (child, indexPath) => {\n if (options.predicate(child, indexPath)) {\n found = [...indexPath];\n return \"stop\";\n }\n },\n getChildren: options.getChildren\n });\n return found;\n}\nfunction reduce(node, options) {\n let result = options.initialResult;\n visit(node, {\n ...options,\n onEnter: (child, indexPath) => {\n result = options.nextResult(result, child, indexPath);\n }\n });\n return result;\n}\nfunction flatMap(node, options) {\n return reduce(node, {\n ...options,\n initialResult: [],\n nextResult: (result, child, indexPath) => {\n result.push(...options.transform(child, indexPath));\n return result;\n }\n });\n}\nfunction filter(node, options) {\n const { predicate, create, getChildren } = options;\n const filterRecursive = (node2, indexPath) => {\n const children = getChildren(node2, indexPath);\n const filteredChildren = [];\n children.forEach((child, index) => {\n const childIndexPath = [...indexPath, index];\n const filteredChild = filterRecursive(child, childIndexPath);\n if (filteredChild) filteredChildren.push(filteredChild);\n });\n const isRoot = indexPath.length === 0;\n const nodeMatches = predicate(node2, indexPath);\n const hasFilteredChildren = filteredChildren.length > 0;\n if (isRoot || nodeMatches || hasFilteredChildren) {\n return create(node2, filteredChildren, indexPath);\n }\n return null;\n };\n return filterRecursive(node, []) || create(node, [], []);\n}\nfunction flatten(rootNode, options) {\n const nodes = [];\n let idx = 0;\n const idxMap = /* @__PURE__ */ new Map();\n const parentMap = /* @__PURE__ */ new Map();\n visit(rootNode, {\n getChildren: options.getChildren,\n onEnter: (node, indexPath) => {\n if (!idxMap.has(node)) {\n idxMap.set(node, idx++);\n }\n const children = options.getChildren(node, indexPath);\n children.forEach((child) => {\n if (!parentMap.has(child)) {\n parentMap.set(child, node);\n }\n if (!idxMap.has(child)) {\n idxMap.set(child, idx++);\n }\n });\n const _children = children.length > 0 ? children.map((child) => idxMap.get(child)) : void 0;\n const parent = parentMap.get(node);\n const _parent = parent ? idxMap.get(parent) : void 0;\n const _index = idxMap.get(node);\n nodes.push({ ...node, _children, _parent, _index });\n }\n });\n return nodes;\n}\nfunction insertOperation(index, nodes) {\n return { type: \"insert\", index, nodes };\n}\nfunction removeOperation(indexes) {\n return { type: \"remove\", indexes };\n}\nfunction replaceOperation() {\n return { type: \"replace\" };\n}\nfunction splitIndexPath(indexPath) {\n return [indexPath.slice(0, -1), indexPath[indexPath.length - 1]];\n}\nfunction getInsertionOperations(indexPath, nodes, operations = /* @__PURE__ */ new Map()) {\n const [parentIndexPath, index] = splitIndexPath(indexPath);\n for (let i = parentIndexPath.length - 1; i >= 0; i--) {\n const parentKey = parentIndexPath.slice(0, i).join();\n switch (operations.get(parentKey)?.type) {\n case \"remove\":\n continue;\n }\n operations.set(parentKey, replaceOperation());\n }\n const operation = operations.get(parentIndexPath.join());\n switch (operation?.type) {\n case \"remove\":\n operations.set(parentIndexPath.join(), {\n type: \"removeThenInsert\",\n removeIndexes: operation.indexes,\n insertIndex: index,\n insertNodes: nodes\n });\n break;\n default:\n operations.set(parentIndexPath.join(), insertOperation(index, nodes));\n }\n return operations;\n}\nfunction getRemovalOperations(indexPaths) {\n const operations = /* @__PURE__ */ new Map();\n const indexesToRemove = /* @__PURE__ */ new Map();\n for (const indexPath of indexPaths) {\n const parentKey = indexPath.slice(0, -1).join();\n const value = indexesToRemove.get(parentKey) ?? [];\n value.push(indexPath[indexPath.length - 1]);\n indexesToRemove.set(\n parentKey,\n value.sort((a, b) => a - b)\n );\n }\n for (const indexPath of indexPaths) {\n for (let i = indexPath.length - 2; i >= 0; i--) {\n const parentKey = indexPath.slice(0, i).join();\n if (!operations.has(parentKey)) {\n operations.set(parentKey, replaceOperation());\n }\n }\n }\n for (const [parentKey, indexes] of indexesToRemove) {\n operations.set(parentKey, removeOperation(indexes));\n }\n return operations;\n}\nfunction getReplaceOperations(indexPath, node) {\n const operations = /* @__PURE__ */ new Map();\n const [parentIndexPath, index] = splitIndexPath(indexPath);\n for (let i = parentIndexPath.length - 1; i >= 0; i--) {\n const parentKey = parentIndexPath.slice(0, i).join();\n operations.set(parentKey, replaceOperation());\n }\n operations.set(parentIndexPath.join(), {\n type: \"removeThenInsert\",\n removeIndexes: [index],\n insertIndex: index,\n insertNodes: [node]\n });\n return operations;\n}\nfunction mutate(node, operations, options) {\n return map(node, {\n ...options,\n getChildren: (node2, indexPath) => {\n const key = indexPath.join();\n const operation = operations.get(key);\n switch (operation?.type) {\n case \"replace\":\n case \"remove\":\n case \"removeThenInsert\":\n case \"insert\":\n return options.getChildren(node2, indexPath);\n default:\n return [];\n }\n },\n transform: (node2, children, indexPath) => {\n const key = indexPath.join();\n const operation = operations.get(key);\n switch (operation?.type) {\n case \"remove\":\n return options.create(\n node2,\n children.filter((_, index) => !operation.indexes.includes(index)),\n indexPath\n );\n case \"removeThenInsert\":\n const updatedChildren = children.filter((_, index) => !operation.removeIndexes.includes(index));\n const adjustedIndex = operation.removeIndexes.reduce(\n (index, removedIndex) => removedIndex < index ? index - 1 : index,\n operation.insertIndex\n );\n return options.create(node2, splice(updatedChildren, adjustedIndex, 0, ...operation.insertNodes), indexPath);\n case \"insert\":\n return options.create(node2, splice(children, operation.index, 0, ...operation.nodes), indexPath);\n case \"replace\":\n return options.create(node2, children, indexPath);\n default:\n return node2;\n }\n }\n });\n}\nfunction splice(array, start, deleteCount, ...items) {\n return [...array.slice(0, start), ...items, ...array.slice(start + deleteCount)];\n}\nfunction map(node, options) {\n const childrenMap = {};\n visit(node, {\n ...options,\n onLeave: (child, indexPath) => {\n const keyIndexPath = [0, ...indexPath];\n const key = keyIndexPath.join();\n const transformed = options.transform(child, childrenMap[key] ?? [], indexPath);\n const parentKey = keyIndexPath.slice(0, -1).join();\n const parentChildren = childrenMap[parentKey] ?? [];\n parentChildren.push(transformed);\n childrenMap[parentKey] = parentChildren;\n }\n });\n return childrenMap[\"\"][0];\n}\nfunction insert2(node, options) {\n const { nodes, at } = options;\n if (at.length === 0) throw new Error(`Can't insert nodes at the root`);\n const state = getInsertionOperations(at, nodes);\n return mutate(node, state, options);\n}\nfunction replace(node, options) {\n if (options.at.length === 0) return options.node;\n const operations = getReplaceOperations(options.at, options.node);\n return mutate(node, operations, options);\n}\nfunction remove(node, options) {\n if (options.indexPaths.length === 0) return node;\n for (const indexPath of options.indexPaths) {\n if (indexPath.length === 0) throw new Error(`Can't remove the root node`);\n }\n const operations = getRemovalOperations(options.indexPaths);\n return mutate(node, operations, options);\n}\nfunction move2(node, options) {\n if (options.indexPaths.length === 0) return node;\n for (const indexPath of options.indexPaths) {\n if (indexPath.length === 0) throw new Error(`Can't move the root node`);\n }\n if (options.to.length === 0) throw new Error(`Can't move nodes to the root`);\n const _ancestorIndexPaths = ancestorIndexPaths(options.indexPaths);\n const nodesToInsert = _ancestorIndexPaths.map((indexPath) => access(node, indexPath, options));\n const operations = getInsertionOperations(options.to, nodesToInsert, getRemovalOperations(_ancestorIndexPaths));\n return mutate(node, operations, options);\n}\nfunction visit(node, options) {\n const { onEnter, onLeave, getChildren } = options;\n let indexPath = [];\n let stack = [{ node }];\n const getIndexPath = options.reuseIndexPath ? () => indexPath : () => indexPath.slice();\n while (stack.length > 0) {\n let wrapper = stack[stack.length - 1];\n if (wrapper.state === void 0) {\n const enterResult = onEnter?.(wrapper.node, getIndexPath());\n if (enterResult === \"stop\") return;\n wrapper.state = enterResult === \"skip\" ? -1 : 0;\n }\n const children = wrapper.children || getChildren(wrapper.node, getIndexPath());\n wrapper.children || (wrapper.children = children);\n if (wrapper.state !== -1) {\n if (wrapper.state < children.length) {\n let currentIndex = wrapper.state;\n indexPath.push(currentIndex);\n stack.push({ node: children[currentIndex] });\n wrapper.state = currentIndex + 1;\n continue;\n }\n const leaveResult = onLeave?.(wrapper.node, getIndexPath());\n if (leaveResult === \"stop\") return;\n }\n indexPath.pop();\n stack.pop();\n }\n}\n\n// src/tree-collection.ts\nvar TreeCollection = class _TreeCollection {\n constructor(options) {\n this.options = options;\n __publicField(this, \"rootNode\");\n __publicField(this, \"isEqual\", (other) => {\n return isEqual(this.rootNode, other.rootNode);\n });\n __publicField(this, \"getNodeChildren\", (node) => {\n return this.options.nodeToChildren?.(node) ?? fallbackMethods.nodeToChildren(node) ?? [];\n });\n __publicField(this, \"resolveIndexPath\", (valueOrIndexPath) => {\n return typeof valueOrIndexPath === \"string\" ? this.getIndexPath(valueOrIndexPath) : valueOrIndexPath;\n });\n __publicField(this, \"resolveNode\", (valueOrIndexPath) => {\n const indexPath = this.resolveIndexPath(valueOrIndexPath);\n return indexPath ? this.at(indexPath) : void 0;\n });\n __publicField(this, \"getNodeChildrenCount\", (node) => {\n return this.options.nodeToChildrenCount?.(node) ?? fallbackMethods.nodeToChildrenCount(node);\n });\n __publicField(this, \"getNodeValue\", (node) => {\n return this.options.nodeToValue?.(node) ?? fallbackMethods.nodeToValue(node);\n });\n __publicField(this, \"getNodeDisabled\", (node) => {\n return this.options.isNodeDisabled?.(node) ?? fallbackMethods.isNodeDisabled(node);\n });\n __publicField(this, \"stringify\", (value) => {\n const node = this.findNode(value);\n if (!node) return null;\n return this.stringifyNode(node);\n });\n __publicField(this, \"stringifyNode\", (node) => {\n return this.options.nodeToString?.(node) ?? fallbackMethods.nodeToString(node);\n });\n __publicField(this, \"getFirstNode\", (rootNode = this.rootNode) => {\n let firstChild;\n visit(rootNode, {\n getChildren: this.getNodeChildren,\n onEnter: (node, indexPath) => {\n if (!firstChild && indexPath.length > 0 && !this.getNodeDisabled(node)) {\n firstChild = node;\n return \"stop\";\n }\n }\n });\n return firstChild;\n });\n __publicField(this, \"getLastNode\", (rootNode = this.rootNode, opts = {}) => {\n let lastChild;\n visit(rootNode, {\n getChildren: this.getNodeChildren,\n onEnter: (node, indexPath) => {\n if (this.isSameNode(node, rootNode)) return;\n if (opts.skip?.({ value: this.getNodeValue(node), node, indexPath })) return \"skip\";\n if (indexPath.length > 0 && !this.getNodeDisabled(node)) {\n lastChild = node;\n }\n }\n });\n return lastChild;\n });\n __publicField(this, \"at\", (indexPath) => {\n return access(this.rootNode, indexPath, {\n getChildren: this.getNodeChildren\n });\n });\n __publicField(this, \"findNode\", (value, rootNode = this.rootNode) => {\n return find(rootNode, {\n getChildren: this.getNodeChildren,\n predicate: (node) => this.getNodeValue(node) === value\n });\n });\n __publicField(this, \"findNodes\", (values, rootNode = this.rootNode) => {\n const v = new Set(values.filter((v2) => v2 != null));\n return findAll(rootNode, {\n getChildren: this.getNodeChildren,\n predicate: (node) => v.has(this.getNodeValue(node))\n });\n });\n __publicField(this, \"sort\", (values) => {\n return values.reduce((acc, value) => {\n const indexPath = this.getIndexPath(value);\n if (indexPath) acc.push({ value, indexPath });\n return acc;\n }, []).sort((a, b) => compareIndexPaths(a.indexPath, b.indexPath)).map(({ value }) => value);\n });\n __publicField(this, \"getIndexPath\", (value) => {\n return findIndexPath(this.rootNode, {\n getChildren: this.getNodeChildren,\n predicate: (node) => this.getNodeValue(node) === value\n });\n });\n __publicField(this, \"getValue\", (indexPath) => {\n const node = this.at(indexPath);\n return node ? this.getNodeValue(node) : void 0;\n });\n __publicField(this, \"getValuePath\", (indexPath) => {\n if (!indexPath) return [];\n const valuePath = [];\n let currentPath = [...indexPath];\n while (currentPath.length > 0) {\n const node = this.at(currentPath);\n if (node) valuePath.unshift(this.getNodeValue(node));\n currentPath.pop();\n }\n return valuePath;\n });\n __publicField(this, \"getDepth\", (value) => {\n const indexPath = findIndexPath(this.rootNode, {\n getChildren: this.getNodeChildren,\n predicate: (node) => this.getNodeValue(node) === value\n });\n return indexPath?.length ?? 0;\n });\n __publicField(this, \"isSameNode\", (node, other) => {\n return this.getNodeValue(node) === this.getNodeValue(other);\n });\n __publicField(this, \"isRootNode\", (node) => {\n return this.isSameNode(node, this.rootNode);\n });\n __publicField(this, \"contains\", (parentIndexPath, valueIndexPath) => {\n if (!parentIndexPath || !valueIndexPath) return false;\n return valueIndexPath.slice(0, parentIndexPath.length).every((_, i) => parentIndexPath[i] === valueIndexPath[i]);\n });\n __publicField(this, \"getNextNode\", (value, opts = {}) => {\n let found = false;\n let nextNode;\n visit(this.rootNode, {\n getChildren: this.getNodeChildren,\n onEnter: (node, indexPath) => {\n if (this.isRootNode(node)) return;\n const nodeValue = this.getNodeValue(node);\n if (opts.skip?.({ value: nodeValue, node, indexPath })) {\n if (nodeValue === value) {\n found = true;\n }\n return \"skip\";\n }\n if (found && !this.getNodeDisabled(node)) {\n nextNode = node;\n return \"stop\";\n }\n if (nodeValue === value) {\n found = true;\n }\n }\n });\n return nextNode;\n });\n __publicField(this, \"getPreviousNode\", (value, opts = {}) => {\n let previousNode;\n let found = false;\n visit(this.rootNode, {\n getChildren: this.getNodeChildren,\n onEnter: (node, indexPath) => {\n if (this.isRootNode(node)) return;\n const nodeValue = this.getNodeValue(node);\n if (opts.skip?.({ value: nodeValue, node, indexPath })) {\n return \"skip\";\n }\n if (nodeValue === value) {\n found = true;\n return \"stop\";\n }\n if (!this.getNodeDisabled(node)) {\n previousNode = node;\n }\n }\n });\n return found ? previousNode : void 0;\n });\n __publicField(this, \"getParentNodes\", (valueOrIndexPath) => {\n const indexPath = this.resolveIndexPath(valueOrIndexPath)?.slice();\n if (!indexPath) return [];\n const result = [];\n while (indexPath.length > 0) {\n indexPath.pop();\n const parentNode = this.at(indexPath);\n if (parentNode && !this.isRootNode(parentNode)) {\n result.unshift(parentNode);\n }\n }\n return result;\n });\n __publicField(this, \"getDescendantNodes\", (valueOrIndexPath, options) => {\n const parentNode = this.resolveNode(valueOrIndexPath);\n if (!parentNode) return [];\n const result = [];\n visit(parentNode, {\n getChildren: this.getNodeChildren,\n onEnter: (node, nodeIndexPath) => {\n if (nodeIndexPath.length === 0) return;\n if (!options?.withBranch && this.isBranchNode(node)) return;\n result.push(node);\n }\n });\n return result;\n });\n __publicField(this, \"getDescendantValues\", (valueOrIndexPath, options) => {\n const children = this.getDescendantNodes(valueOrIndexPath, options);\n return children.map((child) => this.getNodeValue(child));\n });\n __publicField(this, \"getParentIndexPath\", (indexPath) => {\n return indexPath.slice(0, -1);\n });\n __publicField(this, \"getParentNode\", (valueOrIndexPath) => {\n const indexPath = this.resolveIndexPath(valueOrIndexPath);\n return indexPath ? this.at(this.getParentIndexPath(indexPath)) : void 0;\n });\n __publicField(this, \"visit\", (opts) => {\n const { skip, ...rest } = opts;\n visit(this.rootNode, {\n ...rest,\n getChildren: this.getNodeChildren,\n onEnter: (node, indexPath) => {\n if (this.isRootNode(node)) return;\n if (skip?.({ value: this.getNodeValue(node), node, indexPath })) return \"skip\";\n return rest.onEnter?.(node, indexPath);\n }\n });\n });\n __publicField(this, \"getPreviousSibling\", (indexPath) => {\n const parentNode = this.getParentNode(indexPath);\n if (!parentNode) return;\n const siblings = this.getNodeChildren(parentNode);\n let idx = indexPath[indexPath.length - 1];\n while (--idx >= 0) {\n const sibling = siblings[idx];\n if (!this.getNodeDisabled(sibling)) return sibling;\n }\n return;\n });\n __publicField(this, \"getNextSibling\", (indexPath) => {\n const parentNode = this.getParentNode(indexPath);\n if (!parentNode) return;\n const siblings = this.getNodeChildren(parentNode);\n let idx = indexPath[indexPath.length - 1];\n while (++idx < siblings.length) {\n const sibling = siblings[idx];\n if (!this.getNodeDisabled(sibling)) return sibling;\n }\n return;\n });\n __publicField(this, \"getSiblingNodes\", (indexPath) => {\n const parentNode = this.getParentNode(indexPath);\n return parentNode ? this.getNodeChildren(parentNode) : [];\n });\n __publicField(this, \"getValues\", (rootNode = this.rootNode) => {\n const values = flatMap(rootNode, {\n getChildren: this.getNodeChildren,\n transform: (node) => [this.getNodeValue(node)]\n });\n return values.slice(1);\n });\n __publicField(this, \"isValidDepth\", (indexPath, depth) => {\n if (depth == null) return true;\n if (typeof depth === \"function\") return depth(indexPath.length);\n return indexPath.length === depth;\n });\n __publicField(this, \"isBranchNode\", (node) => {\n return this.getNodeChildren(node).length > 0 || this.getNodeChildrenCount(node) != null;\n });\n __publicField(this, \"getBranchValues\", (rootNode = this.rootNode, opts = {}) => {\n let values = [];\n visit(rootNode, {\n getChildren: this.getNodeChildren,\n onEnter: (node, indexPath) => {\n if (indexPath.length === 0) return;\n const nodeValue = this.getNodeValue(node);\n if (opts.skip?.({ value: nodeValue, node, indexPath })) return \"skip\";\n if (this.isBranchNode(node) && this.isValidDepth(indexPath, opts.depth)) {\n values.push(this.getNodeValue(node));\n }\n }\n });\n return values;\n });\n __publicField(this, \"flatten\", (rootNode = this.rootNode) => {\n return flatten(rootNode, { getChildren: this.getNodeChildren });\n });\n __publicField(this, \"_create\", (node, children) => {\n if (this.getNodeChildren(node).length > 0 || children.length > 0) {\n return { ...node, children };\n }\n return { ...node };\n });\n __publicField(this, \"_insert\", (rootNode, indexPath, nodes) => {\n return this.copy(\n insert2(rootNode, { at: indexPath, nodes, getChildren: this.getNodeChildren, create: this._create })\n );\n });\n __publicField(this, \"copy\", (rootNode) => {\n return new _TreeCollection({ ...this.options, rootNode });\n });\n __publicField(this, \"_replace\", (rootNode, indexPath, node) => {\n return this.copy(\n replace(rootNode, { at: indexPath, node, getChildren: this.getNodeChildren, create: this._create })\n );\n });\n __publicField(this, \"_move\", (rootNode, indexPaths, to) => {\n return this.copy(move2(rootNode, { indexPaths, to, getChildren: this.getNodeChildren, create: this._create }));\n });\n __publicField(this, \"_remove\", (rootNode, indexPaths) => {\n return this.copy(remove(rootNode, { indexPaths, getChildren: this.getNodeChildren, create: this._create }));\n });\n __publicField(this, \"replace\", (indexPath, node) => {\n return this._replace(this.rootNode, indexPath, node);\n });\n __publicField(this, \"remove\", (indexPaths) => {\n return this._remove(this.rootNode, indexPaths);\n });\n __publicField(this, \"insertBefore\", (indexPath, nodes) => {\n const parentNode = this.getParentNode(indexPath);\n return parentNode ? this._insert(this.rootNode, indexPath, nodes) : void 0;\n });\n __publicField(this, \"insertAfter\", (indexPath, nodes) => {\n const parentNode = this.getParentNode(indexPath);\n if (!parentNode) return;\n const nextIndex2 = [...indexPath.slice(0, -1), indexPath[indexPath.length - 1] + 1];\n return this._insert(this.rootNode, nextIndex2, nodes);\n });\n __publicField(this, \"move\", (fromIndexPaths, toIndexPath) => {\n return this._move(this.rootNode, fromIndexPaths, toIndexPath);\n });\n __publicField(this, \"filter\", (predicate) => {\n const filteredRoot = filter(this.rootNode, {\n predicate,\n getChildren: this.getNodeChildren,\n create: this._create\n });\n return this.copy(filteredRoot);\n });\n __publicField(this, \"toJSON\", () => {\n return this.getValues(this.rootNode);\n });\n this.rootNode = options.rootNode;\n }\n};\nfunction flattenedToTree(nodes, options = fallbackMethods) {\n if (nodes.length === 0) {\n throw new Error(\"[zag-js/tree] Cannot create tree from empty flattened array\");\n }\n const rootFlatNode = nodes.find((node) => node._parent === void 0);\n if (!rootFlatNode) {\n throw new Error(\"[zag-js/tree] No root node found in flattened data\");\n }\n const nodeMap = /* @__PURE__ */ new Map();\n nodes.forEach((node) => {\n nodeMap.set(node._index, node);\n });\n const buildNode = (idx) => {\n const flatNode = nodeMap.get(idx);\n if (!flatNode) return {};\n const { _children, _parent, _index, ...cleanNode } = flatNode;\n const children = [];\n _children?.forEach((childIndex) => {\n children.push(buildNode(childIndex));\n });\n return {\n ...cleanNode,\n ...children.length > 0 && { children }\n };\n };\n const rootNode = buildNode(rootFlatNode._index);\n return new TreeCollection({ ...options, rootNode });\n}\nfunction filePathToTree(paths) {\n const rootNode = {\n label: \"\",\n value: \"ROOT\",\n children: []\n };\n paths.forEach((path) => {\n const parts = path.split(\"/\");\n let currentNode = rootNode;\n parts.forEach((part, index) => {\n let childNode = currentNode.children?.find((child) => child.label === part);\n if (!childNode) {\n childNode = {\n value: parts.slice(0, index + 1).join(\"/\"),\n label: part\n };\n currentNode.children || (currentNode.children = []);\n currentNode.children.push(childNode);\n }\n currentNode = childNode;\n });\n });\n return new TreeCollection({ rootNode });\n}\nvar fallbackMethods = {\n nodeToValue(node) {\n if (typeof node === \"string\") return node;\n if (isObject(node) && hasProp(node, \"value\")) return node.value;\n return \"\";\n },\n nodeToString(node) {\n if (typeof node === \"string\") return node;\n if (isObject(node) && hasProp(node, \"label\")) return node.label;\n return fallbackMethods.nodeToValue(node);\n },\n isNodeDisabled(node) {\n if (isObject(node) && hasProp(node, \"disabled\")) return !!node.disabled;\n return false;\n },\n nodeToChildren(node) {\n return node.children;\n },\n nodeToChildrenCount(node) {\n if (isObject(node) && hasProp(node, \"childrenCount\")) return node.childrenCount;\n }\n};\n\nexport { GridCollection, ListCollection, Selection, TreeCollection, filePathToTree, flattenedToTree, isGridCollection, isListCollection };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { ListCollection } from '@zag-js/collection';\nimport { raf, getInitialFocus, observeAttributes, trackFormControl, getByTypeahead, scrollIntoView, isSelfTarget, isValidTabEvent, getEventKey, getEventTarget, isEditableElement, visuallyHiddenStyle, dataAttr, ariaAttr } from '@zag-js/dom-query';\nimport { getPlacement, getPlacementStyles } from '@zag-js/popper';\nimport { addOrRemove, isEqual, createSplitProps, ensure } from '@zag-js/utils';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { trackDismissableElement } from '@zag-js/dismissable';\nimport { createProps } from '@zag-js/types';\n\n// src/select.anatomy.ts\nvar anatomy = createAnatomy(\"select\").parts(\n \"label\",\n \"positioner\",\n \"trigger\",\n \"indicator\",\n \"clearTrigger\",\n \"item\",\n \"itemText\",\n \"itemIndicator\",\n \"itemGroup\",\n \"itemGroupLabel\",\n \"list\",\n \"content\",\n \"root\",\n \"control\",\n \"valueText\"\n);\nvar parts = anatomy.build();\nvar collection = (options) => {\n return new ListCollection(options);\n};\ncollection.empty = () => {\n return new ListCollection({ items: [] });\n};\n\n// src/select.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `select:${ctx.id}`;\nvar getContentId = (ctx) => ctx.ids?.content ?? `select:${ctx.id}:content`;\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `select:${ctx.id}:trigger`;\nvar getClearTriggerId = (ctx) => ctx.ids?.clearTrigger ?? `select:${ctx.id}:clear-trigger`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `select:${ctx.id}:label`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `select:${ctx.id}:control`;\nvar getItemId = (ctx, id) => ctx.ids?.item?.(id) ?? `select:${ctx.id}:option:${id}`;\nvar getHiddenSelectId = (ctx) => ctx.ids?.hiddenSelect ?? `select:${ctx.id}:select`;\nvar getPositionerId = (ctx) => ctx.ids?.positioner ?? `select:${ctx.id}:positioner`;\nvar getItemGroupId = (ctx, id) => ctx.ids?.itemGroup?.(id) ?? `select:${ctx.id}:optgroup:${id}`;\nvar getItemGroupLabelId = (ctx, id) => ctx.ids?.itemGroupLabel?.(id) ?? `select:${ctx.id}:optgroup-label:${id}`;\nvar getHiddenSelectEl = (ctx) => ctx.getById(getHiddenSelectId(ctx));\nvar getContentEl = (ctx) => ctx.getById(getContentId(ctx));\nvar getTriggerEl = (ctx) => ctx.getById(getTriggerId(ctx));\nvar getClearTriggerEl = (ctx) => ctx.getById(getClearTriggerId(ctx));\nvar getPositionerEl = (ctx) => ctx.getById(getPositionerId(ctx));\nvar getItemEl = (ctx, id) => ctx.getById(getItemId(ctx, id));\n\n// src/select.connect.ts\nfunction connect(service, normalize) {\n const { context, prop, scope, state, computed, send } = service;\n const disabled = prop(\"disabled\") || context.get(\"fieldsetDisabled\");\n const invalid = prop(\"invalid\");\n const readOnly = prop(\"readOnly\");\n const composite = prop(\"composite\");\n const collection2 = prop(\"collection\");\n const open = state.hasTag(\"open\");\n const focused = state.matches(\"focused\");\n const highlightedValue = context.get(\"highlightedValue\");\n const highlightedItem = context.get(\"highlightedItem\");\n const selectedItems = context.get(\"selectedItems\");\n const currentPlacement = context.get(\"currentPlacement\");\n const isTypingAhead = computed(\"isTypingAhead\");\n const interactive = computed(\"isInteractive\");\n const ariaActiveDescendant = highlightedValue ? getItemId(scope, highlightedValue) : void 0;\n function getItemState(props2) {\n const _disabled = collection2.getItemDisabled(props2.item);\n const value = collection2.getItemValue(props2.item);\n ensure(value, () => `[zag-js] No value found for item ${JSON.stringify(props2.item)}`);\n return {\n value,\n disabled: Boolean(disabled || _disabled),\n highlighted: highlightedValue === value,\n selected: context.get(\"value\").includes(value)\n };\n }\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: currentPlacement\n });\n return {\n open,\n focused,\n empty: context.get(\"value\").length === 0,\n highlightedItem,\n highlightedValue,\n selectedItems,\n hasSelectedItems: computed(\"hasSelectedItems\"),\n value: context.get(\"value\"),\n valueAsString: computed(\"valueAsString\"),\n collection: collection2,\n multiple: !!prop(\"multiple\"),\n disabled: !!disabled,\n reposition(options = {}) {\n send({ type: \"POSITIONING.SET\", options });\n },\n focus() {\n getTriggerEl(scope)?.focus({ preventScroll: true });\n },\n setOpen(nextOpen) {\n const open2 = state.hasTag(\"open\");\n if (open2 === nextOpen) return;\n send({ type: nextOpen ? \"OPEN\" : \"CLOSE\" });\n },\n selectValue(value) {\n send({ type: \"ITEM.SELECT\", value });\n },\n setValue(value) {\n send({ type: \"VALUE.SET\", value });\n },\n selectAll() {\n send({ type: \"VALUE.SET\", value: collection2.getValues() });\n },\n setHighlightValue(value) {\n send({ type: \"HIGHLIGHTED_VALUE.SET\", value });\n },\n clearHighlightValue() {\n send({ type: \"HIGHLIGHTED_VALUE.CLEAR\" });\n },\n clearValue(value) {\n if (value) {\n send({ type: \"ITEM.CLEAR\", value });\n } else {\n send({ type: \"VALUE.CLEAR\" });\n }\n },\n getItemState,\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n \"data-invalid\": dataAttr(invalid),\n \"data-readonly\": dataAttr(readOnly)\n });\n },\n getLabelProps() {\n return normalize.label({\n dir: prop(\"dir\"),\n id: getLabelId(scope),\n ...parts.label.attrs,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-readonly\": dataAttr(readOnly),\n htmlFor: getHiddenSelectId(scope),\n onClick(event) {\n if (event.defaultPrevented) return;\n if (disabled) return;\n getTriggerEl(scope)?.focus({ preventScroll: true });\n }\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n dir: prop(\"dir\"),\n id: getControlId(scope),\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(focused),\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid)\n });\n },\n getValueTextProps() {\n return normalize.element({\n ...parts.valueText.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused)\n });\n },\n getTriggerProps() {\n return normalize.button({\n id: getTriggerId(scope),\n disabled,\n dir: prop(\"dir\"),\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": getContentId(scope),\n \"aria-expanded\": open,\n \"aria-haspopup\": \"listbox\",\n \"data-state\": open ? \"open\" : \"closed\",\n \"aria-invalid\": invalid,\n \"aria-labelledby\": getLabelId(scope),\n ...parts.trigger.attrs,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-readonly\": dataAttr(readOnly),\n \"data-placement\": currentPlacement,\n \"data-placeholder-shown\": dataAttr(!computed(\"hasSelectedItems\")),\n onClick(event) {\n if (!interactive) return;\n if (event.defaultPrevented) return;\n send({ type: \"TRIGGER.CLICK\" });\n },\n onFocus() {\n send({ type: \"TRIGGER.FOCUS\" });\n },\n onBlur() {\n send({ type: \"TRIGGER.BLUR\" });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const keyMap = {\n ArrowUp() {\n send({ type: \"TRIGGER.ARROW_UP\" });\n },\n ArrowDown(event2) {\n send({ type: event2.altKey ? \"OPEN\" : \"TRIGGER.ARROW_DOWN\" });\n },\n ArrowLeft() {\n send({ type: \"TRIGGER.ARROW_LEFT\" });\n },\n ArrowRight() {\n send({ type: \"TRIGGER.ARROW_RIGHT\" });\n },\n Home() {\n send({ type: \"TRIGGER.HOME\" });\n },\n End() {\n send({ type: \"TRIGGER.END\" });\n },\n Enter() {\n send({ type: \"TRIGGER.ENTER\" });\n },\n Space(event2) {\n if (isTypingAhead) {\n send({ type: \"TRIGGER.TYPEAHEAD\", key: event2.key });\n } else {\n send({ type: \"TRIGGER.ENTER\" });\n }\n }\n };\n const exec = keyMap[getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: \"vertical\"\n })];\n if (exec) {\n exec(event);\n event.preventDefault();\n return;\n }\n if (getByTypeahead.isValidEvent(event)) {\n send({ type: \"TRIGGER.TYPEAHEAD\", key: event.key });\n event.preventDefault();\n }\n }\n });\n },\n getIndicatorProps() {\n return normalize.element({\n ...parts.indicator.attrs,\n dir: prop(\"dir\"),\n \"aria-hidden\": true,\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-readonly\": dataAttr(readOnly)\n });\n },\n getItemProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n id: getItemId(scope, itemState.value),\n role: \"option\",\n ...parts.item.attrs,\n dir: prop(\"dir\"),\n \"data-value\": itemState.value,\n \"aria-selected\": itemState.selected,\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n \"data-highlighted\": dataAttr(itemState.highlighted),\n \"data-disabled\": dataAttr(itemState.disabled),\n \"aria-disabled\": ariaAttr(itemState.disabled),\n onPointerMove(event) {\n if (itemState.disabled || event.pointerType !== \"mouse\") return;\n if (itemState.value === highlightedValue) return;\n send({ type: \"ITEM.POINTER_MOVE\", value: itemState.value });\n },\n onClick(event) {\n if (event.defaultPrevented) return;\n if (itemState.disabled) return;\n send({ type: \"ITEM.CLICK\", src: \"pointerup\", value: itemState.value });\n },\n onPointerLeave(event) {\n if (itemState.disabled) return;\n if (props2.persistFocus) return;\n if (event.pointerType !== \"mouse\") return;\n const pointerMoved = service.event.previous()?.type.includes(\"POINTER\");\n if (!pointerMoved) return;\n send({ type: \"ITEM.POINTER_LEAVE\" });\n }\n });\n },\n getItemTextProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.itemText.attrs,\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-highlighted\": dataAttr(itemState.highlighted)\n });\n },\n getItemIndicatorProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n \"aria-hidden\": true,\n ...parts.itemIndicator.attrs,\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n hidden: !itemState.selected\n });\n },\n getItemGroupLabelProps(props2) {\n const { htmlFor } = props2;\n return normalize.element({\n ...parts.itemGroupLabel.attrs,\n id: getItemGroupLabelId(scope, htmlFor),\n dir: prop(\"dir\"),\n role: \"presentation\"\n });\n },\n getItemGroupProps(props2) {\n const { id } = props2;\n return normalize.element({\n ...parts.itemGroup.attrs,\n \"data-disabled\": dataAttr(disabled),\n id: getItemGroupId(scope, id),\n \"aria-labelledby\": getItemGroupLabelId(scope, id),\n role: \"group\",\n dir: prop(\"dir\")\n });\n },\n getClearTriggerProps() {\n return normalize.button({\n ...parts.clearTrigger.attrs,\n id: getClearTriggerId(scope),\n type: \"button\",\n \"aria-label\": \"Clear value\",\n \"data-invalid\": dataAttr(invalid),\n disabled,\n hidden: !computed(\"hasSelectedItems\"),\n dir: prop(\"dir\"),\n onClick(event) {\n if (event.defaultPrevented) return;\n send({ type: \"CLEAR.CLICK\" });\n }\n });\n },\n getHiddenSelectProps() {\n const value = context.get(\"value\");\n const defaultValue = prop(\"multiple\") ? value : value?.[0];\n return normalize.select({\n name: prop(\"name\"),\n form: prop(\"form\"),\n disabled,\n multiple: prop(\"multiple\"),\n required: prop(\"required\"),\n \"aria-hidden\": true,\n id: getHiddenSelectId(scope),\n defaultValue,\n style: visuallyHiddenStyle,\n tabIndex: -1,\n // Some browser extensions will focus the hidden select.\n // Let's forward the focus to the trigger.\n onFocus() {\n getTriggerEl(scope)?.focus({ preventScroll: true });\n },\n \"aria-labelledby\": getLabelId(scope)\n });\n },\n getPositionerProps() {\n return normalize.element({\n ...parts.positioner.attrs,\n dir: prop(\"dir\"),\n id: getPositionerId(scope),\n style: popperStyles.floating\n });\n },\n getContentProps() {\n return normalize.element({\n hidden: !open,\n dir: prop(\"dir\"),\n id: getContentId(scope),\n role: composite ? \"listbox\" : \"dialog\",\n ...parts.content.attrs,\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-placement\": currentPlacement,\n \"data-activedescendant\": ariaActiveDescendant,\n \"aria-activedescendant\": composite ? ariaActiveDescendant : void 0,\n \"aria-multiselectable\": prop(\"multiple\") && composite ? true : void 0,\n \"aria-labelledby\": getLabelId(scope),\n tabIndex: 0,\n onKeyDown(event) {\n if (!interactive) return;\n if (!isSelfTarget(event)) return;\n if (event.key === \"Tab\") {\n const valid = isValidTabEvent(event);\n if (!valid) {\n event.preventDefault();\n return;\n }\n }\n const keyMap = {\n ArrowUp() {\n send({ type: \"CONTENT.ARROW_UP\" });\n },\n ArrowDown() {\n send({ type: \"CONTENT.ARROW_DOWN\" });\n },\n Home() {\n send({ type: \"CONTENT.HOME\" });\n },\n End() {\n send({ type: \"CONTENT.END\" });\n },\n Enter() {\n send({ type: \"ITEM.CLICK\", src: \"keydown.enter\" });\n },\n Space(event2) {\n if (isTypingAhead) {\n send({ type: \"CONTENT.TYPEAHEAD\", key: event2.key });\n } else {\n keyMap.Enter?.(event2);\n }\n }\n };\n const exec = keyMap[getEventKey(event)];\n if (exec) {\n exec(event);\n event.preventDefault();\n return;\n }\n const target = getEventTarget(event);\n if (isEditableElement(target)) {\n return;\n }\n if (getByTypeahead.isValidEvent(event)) {\n send({ type: \"CONTENT.TYPEAHEAD\", key: event.key });\n event.preventDefault();\n }\n }\n });\n },\n getListProps() {\n return normalize.element({\n ...parts.list.attrs,\n tabIndex: 0,\n role: !composite ? \"listbox\" : void 0,\n \"aria-labelledby\": getTriggerId(scope),\n \"aria-activedescendant\": !composite ? ariaActiveDescendant : void 0,\n \"aria-multiselectable\": !composite && prop(\"multiple\") ? true : void 0\n });\n }\n };\n}\nvar { and, not, or } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n loopFocus: false,\n closeOnSelect: !props2.multiple,\n composite: true,\n defaultValue: [],\n ...props2,\n collection: props2.collection ?? collection.empty(),\n positioning: {\n placement: \"bottom-start\",\n gutter: 8,\n ...props2.positioning\n }\n };\n },\n context({ prop, bindable }) {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n isEqual,\n onChange(value) {\n const items = prop(\"collection\").findMany(value);\n return prop(\"onValueChange\")?.({ value, items });\n }\n })),\n highlightedValue: bindable(() => ({\n defaultValue: prop(\"defaultHighlightedValue\") || null,\n value: prop(\"highlightedValue\"),\n onChange(value) {\n prop(\"onHighlightChange\")?.({\n highlightedValue: value,\n highlightedItem: prop(\"collection\").find(value),\n highlightedIndex: prop(\"collection\").indexOf(value)\n });\n }\n })),\n currentPlacement: bindable(() => ({\n defaultValue: void 0\n })),\n fieldsetDisabled: bindable(() => ({\n defaultValue: false\n })),\n highlightedItem: bindable(() => ({\n defaultValue: null\n })),\n selectedItems: bindable(() => {\n const value = prop(\"value\") ?? prop(\"defaultValue\") ?? [];\n const items = prop(\"collection\").findMany(value);\n return { defaultValue: items };\n })\n };\n },\n refs() {\n return {\n typeahead: { ...getByTypeahead.defaultOptions }\n };\n },\n computed: {\n hasSelectedItems: ({ context }) => context.get(\"value\").length > 0,\n isTypingAhead: ({ refs }) => refs.get(\"typeahead\").keysSoFar !== \"\",\n isDisabled: ({ prop, context }) => !!prop(\"disabled\") || !!context.get(\"fieldsetDisabled\"),\n isInteractive: ({ prop }) => !(prop(\"disabled\") || prop(\"readOnly\")),\n valueAsString: ({ context, prop }) => prop(\"collection\").stringifyItems(context.get(\"selectedItems\"))\n },\n initialState({ prop }) {\n const open = prop(\"open\") || prop(\"defaultOpen\");\n return open ? \"open\" : \"idle\";\n },\n entry: [\"syncSelectElement\"],\n watch({ context, prop, track, action }) {\n track([() => context.get(\"value\").toString()], () => {\n action([\"syncSelectedItems\", \"syncSelectElement\", \"dispatchChangeEvent\"]);\n });\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"]);\n });\n track([() => context.get(\"highlightedValue\")], () => {\n action([\"syncHighlightedItem\"]);\n });\n track([() => prop(\"collection\").toString()], () => {\n action([\"syncCollection\"]);\n });\n },\n on: {\n \"HIGHLIGHTED_VALUE.SET\": {\n actions: [\"setHighlightedItem\"]\n },\n \"HIGHLIGHTED_VALUE.CLEAR\": {\n actions: [\"clearHighlightedItem\"]\n },\n \"ITEM.SELECT\": {\n actions: [\"selectItem\"]\n },\n \"ITEM.CLEAR\": {\n actions: [\"clearItem\"]\n },\n \"VALUE.SET\": {\n actions: [\"setSelectedItems\"]\n },\n \"VALUE.CLEAR\": {\n actions: [\"clearSelectedItems\"]\n },\n \"CLEAR.CLICK\": {\n actions: [\"clearSelectedItems\", \"focusTriggerEl\"]\n }\n },\n effects: [\"trackFormControlState\"],\n states: {\n idle: {\n tags: [\"closed\"],\n on: {\n \"CONTROLLED.OPEN\": [\n {\n guard: \"isTriggerClickEvent\",\n target: \"open\",\n actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\"]\n },\n {\n target: \"open\",\n actions: [\"setInitialFocus\"]\n }\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\", \"highlightFirstSelectedItem\"]\n }\n ],\n \"TRIGGER.FOCUS\": {\n target: \"focused\"\n },\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setInitialFocus\", \"invokeOnOpen\"]\n }\n ]\n }\n },\n focused: {\n tags: [\"closed\"],\n on: {\n \"CONTROLLED.OPEN\": [\n {\n guard: \"isTriggerClickEvent\",\n target: \"open\",\n actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\"]\n },\n {\n guard: \"isTriggerArrowUpEvent\",\n target: \"open\",\n actions: [\"setInitialFocus\", \"highlightComputedLastItem\"]\n },\n {\n guard: or(\"isTriggerArrowDownEvent\", \"isTriggerEnterEvent\"),\n target: \"open\",\n actions: [\"setInitialFocus\", \"highlightComputedFirstItem\"]\n },\n {\n target: \"open\",\n actions: [\"setInitialFocus\"]\n }\n ],\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setInitialFocus\", \"invokeOnOpen\"]\n }\n ],\n \"TRIGGER.BLUR\": {\n target: \"idle\"\n },\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setInitialFocus\", \"invokeOnOpen\", \"highlightFirstSelectedItem\"]\n }\n ],\n \"TRIGGER.ENTER\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setInitialFocus\", \"invokeOnOpen\", \"highlightComputedFirstItem\"]\n }\n ],\n \"TRIGGER.ARROW_UP\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setInitialFocus\", \"invokeOnOpen\", \"highlightComputedLastItem\"]\n }\n ],\n \"TRIGGER.ARROW_DOWN\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setInitialFocus\", \"invokeOnOpen\", \"highlightComputedFirstItem\"]\n }\n ],\n \"TRIGGER.ARROW_LEFT\": [\n {\n guard: and(not(\"multiple\"), \"hasSelectedItems\"),\n actions: [\"selectPreviousItem\"]\n },\n {\n guard: not(\"multiple\"),\n actions: [\"selectLastItem\"]\n }\n ],\n \"TRIGGER.ARROW_RIGHT\": [\n {\n guard: and(not(\"multiple\"), \"hasSelectedItems\"),\n actions: [\"selectNextItem\"]\n },\n {\n guard: not(\"multiple\"),\n actions: [\"selectFirstItem\"]\n }\n ],\n \"TRIGGER.HOME\": {\n guard: not(\"multiple\"),\n actions: [\"selectFirstItem\"]\n },\n \"TRIGGER.END\": {\n guard: not(\"multiple\"),\n actions: [\"selectLastItem\"]\n },\n \"TRIGGER.TYPEAHEAD\": {\n guard: not(\"multiple\"),\n actions: [\"selectMatchingItem\"]\n }\n }\n },\n open: {\n tags: [\"open\"],\n exit: [\"scrollContentToTop\"],\n effects: [\"trackDismissableElement\", \"computePlacement\", \"scrollToHighlightedItem\"],\n on: {\n \"CONTROLLED.CLOSE\": [\n {\n guard: \"restoreFocus\",\n target: \"focused\",\n actions: [\"focusTriggerEl\", \"clearHighlightedItem\"]\n },\n {\n target: \"idle\",\n actions: [\"clearHighlightedItem\"]\n }\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n guard: \"restoreFocus\",\n target: \"focused\",\n actions: [\"invokeOnClose\", \"focusTriggerEl\", \"clearHighlightedItem\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\", \"clearHighlightedItem\"]\n }\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"focused\",\n actions: [\"invokeOnClose\", \"clearHighlightedItem\"]\n }\n ],\n \"ITEM.CLICK\": [\n {\n guard: and(\"closeOnSelect\", \"isOpenControlled\"),\n actions: [\"selectHighlightedItem\", \"invokeOnClose\"]\n },\n {\n guard: \"closeOnSelect\",\n target: \"focused\",\n actions: [\"selectHighlightedItem\", \"invokeOnClose\", \"focusTriggerEl\", \"clearHighlightedItem\"]\n },\n {\n actions: [\"selectHighlightedItem\"]\n }\n ],\n \"CONTENT.HOME\": {\n actions: [\"highlightFirstItem\"]\n },\n \"CONTENT.END\": {\n actions: [\"highlightLastItem\"]\n },\n \"CONTENT.ARROW_DOWN\": [\n {\n guard: and(\"hasHighlightedItem\", \"loop\", \"isLastItemHighlighted\"),\n actions: [\"highlightFirstItem\"]\n },\n {\n guard: \"hasHighlightedItem\",\n actions: [\"highlightNextItem\"]\n },\n {\n actions: [\"highlightFirstItem\"]\n }\n ],\n \"CONTENT.ARROW_UP\": [\n {\n guard: and(\"hasHighlightedItem\", \"loop\", \"isFirstItemHighlighted\"),\n actions: [\"highlightLastItem\"]\n },\n {\n guard: \"hasHighlightedItem\",\n actions: [\"highlightPreviousItem\"]\n },\n {\n actions: [\"highlightLastItem\"]\n }\n ],\n \"CONTENT.TYPEAHEAD\": {\n actions: [\"highlightMatchingItem\"]\n },\n \"ITEM.POINTER_MOVE\": {\n actions: [\"highlightItem\"]\n },\n \"ITEM.POINTER_LEAVE\": {\n actions: [\"clearHighlightedItem\"]\n },\n \"POSITIONING.SET\": {\n actions: [\"reposition\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n loop: ({ prop }) => !!prop(\"loopFocus\"),\n multiple: ({ prop }) => !!prop(\"multiple\"),\n hasSelectedItems: ({ computed }) => !!computed(\"hasSelectedItems\"),\n hasHighlightedItem: ({ context }) => context.get(\"highlightedValue\") != null,\n isFirstItemHighlighted: ({ context, prop }) => context.get(\"highlightedValue\") === prop(\"collection\").firstValue,\n isLastItemHighlighted: ({ context, prop }) => context.get(\"highlightedValue\") === prop(\"collection\").lastValue,\n closeOnSelect: ({ prop, event }) => !!(event.closeOnSelect ?? prop(\"closeOnSelect\")),\n restoreFocus: ({ event }) => restoreFocusFn(event),\n // guard assertions (for controlled mode)\n isOpenControlled: ({ prop }) => prop(\"open\") !== void 0,\n isTriggerClickEvent: ({ event }) => event.previousEvent?.type === \"TRIGGER.CLICK\",\n isTriggerEnterEvent: ({ event }) => event.previousEvent?.type === \"TRIGGER.ENTER\",\n isTriggerArrowUpEvent: ({ event }) => event.previousEvent?.type === \"TRIGGER.ARROW_UP\",\n isTriggerArrowDownEvent: ({ event }) => event.previousEvent?.type === \"TRIGGER.ARROW_DOWN\"\n },\n effects: {\n trackFormControlState({ context, scope }) {\n return trackFormControl(getHiddenSelectEl(scope), {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n const value = context.initial(\"value\");\n context.set(\"value\", value);\n }\n });\n },\n trackDismissableElement({ scope, send, prop }) {\n const contentEl = () => getContentEl(scope);\n let restoreFocus = true;\n return trackDismissableElement(contentEl, {\n defer: true,\n exclude: [getTriggerEl(scope), getClearTriggerEl(scope)],\n onFocusOutside: prop(\"onFocusOutside\"),\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onInteractOutside(event) {\n prop(\"onInteractOutside\")?.(event);\n restoreFocus = !(event.detail.focusable || event.detail.contextmenu);\n },\n onDismiss() {\n send({ type: \"CLOSE\", src: \"interact-outside\", restoreFocus });\n }\n });\n },\n computePlacement({ context, prop, scope }) {\n const positioning = prop(\"positioning\");\n context.set(\"currentPlacement\", positioning.placement);\n const triggerEl = () => getTriggerEl(scope);\n const positionerEl = () => getPositionerEl(scope);\n return getPlacement(triggerEl, positionerEl, {\n defer: true,\n ...positioning,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n scrollToHighlightedItem({ context, prop, scope, event }) {\n const exec = (immediate) => {\n const highlightedValue = context.get(\"highlightedValue\");\n if (highlightedValue == null) return;\n if (event.current().type.includes(\"POINTER\")) return;\n const optionEl = getItemEl(scope, highlightedValue);\n const contentEl2 = getContentEl(scope);\n const scrollToIndexFn = prop(\"scrollToIndexFn\");\n if (scrollToIndexFn) {\n const highlightedIndex = prop(\"collection\").indexOf(highlightedValue);\n scrollToIndexFn?.({ index: highlightedIndex, immediate });\n return;\n }\n scrollIntoView(optionEl, { rootEl: contentEl2, block: \"nearest\" });\n };\n raf(() => exec(true));\n const contentEl = () => getContentEl(scope);\n return observeAttributes(contentEl, {\n defer: true,\n attributes: [\"data-activedescendant\"],\n callback() {\n exec(false);\n }\n });\n }\n },\n actions: {\n reposition({ context, prop, scope, event }) {\n const positionerEl = () => getPositionerEl(scope);\n getPlacement(getTriggerEl(scope), positionerEl, {\n ...prop(\"positioning\"),\n ...event.options,\n defer: true,\n listeners: false,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n toggleVisibility({ send, prop, event }) {\n send({ type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: event });\n },\n highlightPreviousItem({ context, prop }) {\n const highlightedValue = context.get(\"highlightedValue\");\n if (highlightedValue == null) return;\n const value = prop(\"collection\").getPreviousValue(highlightedValue, 1, prop(\"loopFocus\"));\n if (value == null) return;\n context.set(\"highlightedValue\", value);\n },\n highlightNextItem({ context, prop }) {\n const highlightedValue = context.get(\"highlightedValue\");\n if (highlightedValue == null) return;\n const value = prop(\"collection\").getNextValue(highlightedValue, 1, prop(\"loopFocus\"));\n if (value == null) return;\n context.set(\"highlightedValue\", value);\n },\n highlightFirstItem({ context, prop }) {\n const value = prop(\"collection\").firstValue;\n context.set(\"highlightedValue\", value);\n },\n highlightLastItem({ context, prop }) {\n const value = prop(\"collection\").lastValue;\n context.set(\"highlightedValue\", value);\n },\n setInitialFocus({ scope }) {\n raf(() => {\n const element = getInitialFocus({\n root: getContentEl(scope)\n });\n element?.focus({ preventScroll: true });\n });\n },\n focusTriggerEl({ event, scope }) {\n if (!restoreFocusFn(event)) return;\n raf(() => {\n const element = getTriggerEl(scope);\n element?.focus({ preventScroll: true });\n });\n },\n selectHighlightedItem({ context, prop, event }) {\n let value = event.value ?? context.get(\"highlightedValue\");\n if (value == null || !prop(\"collection\").has(value)) return;\n prop(\"onSelect\")?.({ value });\n const nullable = prop(\"deselectable\") && !prop(\"multiple\") && context.get(\"value\").includes(value);\n value = nullable ? null : value;\n context.set(\"value\", (prev) => {\n if (value == null) return [];\n if (prop(\"multiple\")) return addOrRemove(prev, value);\n return [value];\n });\n },\n highlightComputedFirstItem({ context, prop, computed }) {\n const collection2 = prop(\"collection\");\n const value = computed(\"hasSelectedItems\") ? collection2.sort(context.get(\"value\"))[0] : collection2.firstValue;\n context.set(\"highlightedValue\", value);\n },\n highlightComputedLastItem({ context, prop, computed }) {\n const collection2 = prop(\"collection\");\n const value = computed(\"hasSelectedItems\") ? collection2.sort(context.get(\"value\"))[0] : collection2.lastValue;\n context.set(\"highlightedValue\", value);\n },\n highlightFirstSelectedItem({ context, prop, computed }) {\n if (!computed(\"hasSelectedItems\")) return;\n const value = prop(\"collection\").sort(context.get(\"value\"))[0];\n context.set(\"highlightedValue\", value);\n },\n highlightItem({ context, event }) {\n context.set(\"highlightedValue\", event.value);\n },\n highlightMatchingItem({ context, prop, event, refs }) {\n const value = prop(\"collection\").search(event.key, {\n state: refs.get(\"typeahead\"),\n currentValue: context.get(\"highlightedValue\")\n });\n if (value == null) return;\n context.set(\"highlightedValue\", value);\n },\n setHighlightedItem({ context, event }) {\n context.set(\"highlightedValue\", event.value);\n },\n clearHighlightedItem({ context }) {\n context.set(\"highlightedValue\", null);\n },\n selectItem({ context, prop, event }) {\n prop(\"onSelect\")?.({ value: event.value });\n const nullable = prop(\"deselectable\") && !prop(\"multiple\") && context.get(\"value\").includes(event.value);\n const value = nullable ? null : event.value;\n context.set(\"value\", (prev) => {\n if (value == null) return [];\n if (prop(\"multiple\")) return addOrRemove(prev, value);\n return [value];\n });\n },\n clearItem({ context, event }) {\n context.set(\"value\", (prev) => prev.filter((v) => v !== event.value));\n },\n setSelectedItems({ context, event }) {\n context.set(\"value\", event.value);\n },\n clearSelectedItems({ context }) {\n context.set(\"value\", []);\n },\n selectPreviousItem({ context, prop }) {\n const [firstItem] = context.get(\"value\");\n const value = prop(\"collection\").getPreviousValue(firstItem);\n if (value) context.set(\"value\", [value]);\n },\n selectNextItem({ context, prop }) {\n const [firstItem] = context.get(\"value\");\n const value = prop(\"collection\").getNextValue(firstItem);\n if (value) context.set(\"value\", [value]);\n },\n selectFirstItem({ context, prop }) {\n const value = prop(\"collection\").firstValue;\n if (value) context.set(\"value\", [value]);\n },\n selectLastItem({ context, prop }) {\n const value = prop(\"collection\").lastValue;\n if (value) context.set(\"value\", [value]);\n },\n selectMatchingItem({ context, prop, event, refs }) {\n const value = prop(\"collection\").search(event.key, {\n state: refs.get(\"typeahead\"),\n currentValue: context.get(\"value\")[0]\n });\n if (value == null) return;\n context.set(\"value\", [value]);\n },\n scrollContentToTop({ prop, scope }) {\n if (prop(\"scrollToIndexFn\")) {\n prop(\"scrollToIndexFn\")?.({ index: 0, immediate: true });\n } else {\n getContentEl(scope)?.scrollTo(0, 0);\n }\n },\n invokeOnOpen({ prop }) {\n prop(\"onOpenChange\")?.({ open: true });\n },\n invokeOnClose({ prop }) {\n prop(\"onOpenChange\")?.({ open: false });\n },\n syncSelectElement({ context, prop, scope }) {\n const selectEl = getHiddenSelectEl(scope);\n if (!selectEl) return;\n if (context.get(\"value\").length === 0 && !prop(\"multiple\")) {\n selectEl.selectedIndex = -1;\n return;\n }\n for (const option of selectEl.options) {\n option.selected = context.get(\"value\").includes(option.value);\n }\n },\n syncCollection({ context, prop }) {\n const collection2 = prop(\"collection\");\n const highlightedItem = collection2.find(context.get(\"highlightedValue\"));\n if (highlightedItem) context.set(\"highlightedItem\", highlightedItem);\n const selectedItems = collection2.findMany(context.get(\"value\"));\n context.set(\"selectedItems\", selectedItems);\n },\n syncSelectedItems({ context, prop }) {\n const collection2 = prop(\"collection\");\n const prevSelectedItems = context.get(\"selectedItems\");\n const value = context.get(\"value\");\n const selectedItems = value.map((value2) => {\n const item = prevSelectedItems.find((item2) => collection2.getItemValue(item2) === value2);\n return item || collection2.find(value2);\n });\n context.set(\"selectedItems\", selectedItems);\n },\n syncHighlightedItem({ context, prop }) {\n const collection2 = prop(\"collection\");\n const highlightedValue = context.get(\"highlightedValue\");\n const highlightedItem = highlightedValue ? collection2.find(highlightedValue) : null;\n context.set(\"highlightedItem\", highlightedItem);\n },\n dispatchChangeEvent({ scope }) {\n queueMicrotask(() => {\n const node = getHiddenSelectEl(scope);\n if (!node) return;\n const win = scope.getWin();\n const changeEvent = new win.Event(\"change\", { bubbles: true, composed: true });\n node.dispatchEvent(changeEvent);\n });\n }\n }\n }\n});\nfunction restoreFocusFn(event) {\n const v = event.restoreFocus ?? event.previousEvent?.restoreFocus;\n return v == null || !!v;\n}\nvar props = createProps()([\n \"closeOnSelect\",\n \"collection\",\n \"composite\",\n \"defaultHighlightedValue\",\n \"defaultOpen\",\n \"defaultValue\",\n \"deselectable\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getRootNode\",\n \"highlightedValue\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"loopFocus\",\n \"multiple\",\n \"name\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onSelect\",\n \"onValueChange\",\n \"open\",\n \"positioning\",\n \"readOnly\",\n \"required\",\n \"scrollToIndexFn\",\n \"value\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"item\", \"persistFocus\"]);\nvar splitItemProps = createSplitProps(itemProps);\nvar itemGroupProps = createProps()([\"id\"]);\nvar splitItemGroupProps = createSplitProps(itemGroupProps);\nvar itemGroupLabelProps = createProps()([\"htmlFor\"]);\nvar splitItemGroupLabelProps = createSplitProps(itemGroupLabelProps);\n\nexport { anatomy, collection, connect, itemGroupLabelProps, itemGroupProps, itemProps, machine, props, splitItemGroupLabelProps, splitItemGroupProps, splitItemProps, splitProps };\n"],"names":["__defProp","__defNormalProp","obj","key","value","__publicField","fallback","item","isObject","hasProp","ListCollection","_ListCollection","options","items","other","isEqual","index","values","idx","groups","valueA","valueB","indexA","indexB","separator","groupBy","groupSort","groupKey","entries","a","b","step","clamp","text","current","wrap","match","queryString","state","currentValue","timeout","search","query","char","cleanup","update","value2","mode","insert","toIndex","fn","filteredItems","itemsOrValues","itemOrValue","fromIndex","move","indices","from","to","keys","result","label","disabled","itemString","v","_","itemsToMove","i","anatomy","createAnatomy","parts","collection","getRootId","ctx","getContentId","getTriggerId","getClearTriggerId","getLabelId","getControlId","getItemId","id","getHiddenSelectId","getPositionerId","getItemGroupId","getItemGroupLabelId","getHiddenSelectEl","getContentEl","getTriggerEl","getClearTriggerEl","getPositionerEl","getItemEl","connect","service","normalize","context","prop","scope","computed","send","invalid","readOnly","composite","collection2","open","focused","highlightedValue","highlightedItem","selectedItems","currentPlacement","isTypingAhead","interactive","ariaActiveDescendant","getItemState","props2","_disabled","ensure","popperStyles","getPlacementStyles","nextOpen","dataAttr","event","exec","event2","getEventKey","getByTypeahead","itemState","ariaAttr","htmlFor","defaultValue","visuallyHiddenStyle","isSelfTarget","isValidTabEvent","keyMap","target","getEventTarget","isEditableElement","and","not","or","createGuards","machine","createMachine","bindable","refs","track","action","restoreFocusFn","trackFormControl","contentEl","restoreFocus","trackDismissableElement","positioning","getPlacement","data","immediate","optionEl","contentEl2","scrollToIndexFn","highlightedIndex","scrollIntoView","raf","observeAttributes","positionerEl","getInitialFocus","prev","addOrRemove","firstItem","selectEl","option","prevSelectedItems","item2","node","win","changeEvent","createProps"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const o=require("./index-CQURjLlA.js"),M=require("./index-Ts8g8jZd.js"),ie=require("./index-BoulS5Zg.js"),F=require("./use-locale-context-ym21RUxU.js");var le=Object.defineProperty,se=(e,l,t)=>l in e?le(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,d=(e,l,t)=>se(e,typeof l!="symbol"?l+"":l,t),L={itemToValue(e){return typeof e=="string"?e:o.isObject(e)&&o.hasProp(e,"value")?e.value:""},itemToString(e){return typeof e=="string"?e:o.isObject(e)&&o.hasProp(e,"label")?e.label:L.itemToValue(e)},isItemDisabled(e){return o.isObject(e)&&o.hasProp(e,"disabled")?!!e.disabled:!1}},W=class j{constructor(l){this.options=l,d(this,"items"),d(this,"copy",t=>new j({...this.options,items:t??[...this.items]})),d(this,"isEqual",t=>o.isEqual(this.items,t.items)),d(this,"setItems",t=>this.copy(t)),d(this,"getValues",(t=this.items)=>Array.from(t).map(i=>this.getItemValue(i)).filter(Boolean)),d(this,"find",t=>{if(t==null)return null;const i=this.indexOf(t);return i!=null?this.at(i):null}),d(this,"findMany",t=>Array.from(t).map(i=>this.find(i)).filter(i=>i!=null)),d(this,"at",t=>{if(!this.options.groupBy&&!this.options.groupSort)return this.items[t]??null;let i=0;const s=this.group();for(const[,n]of s)for(const u of n){if(i===t)return u;i++}return null}),d(this,"sortFn",(t,i)=>{const s=this.indexOf(t),n=this.indexOf(i);return(s??0)-(n??0)}),d(this,"sort",t=>[...t].sort(this.sortFn.bind(this))),d(this,"getItemValue",t=>t==null?null:this.options.itemToValue?.(t)??L.itemToValue(t)),d(this,"getItemDisabled",t=>t==null?!1:this.options.isItemDisabled?.(t)??L.isItemDisabled(t)),d(this,"stringifyItem",t=>t==null?null:this.options.itemToString?.(t)??L.itemToString(t)),d(this,"stringify",t=>t==null?null:this.stringifyItem(this.find(t))),d(this,"stringifyItems",(t,i=", ")=>Array.from(t).map(s=>this.stringifyItem(s)).filter(Boolean).join(i)),d(this,"stringifyMany",(t,i)=>this.stringifyItems(this.findMany(t),i)),d(this,"has",t=>this.indexOf(t)!==-1),d(this,"hasItem",t=>t==null?!1:this.has(this.getItemValue(t))),d(this,"group",()=>{const{groupBy:t,groupSort:i}=this.options;if(!t)return[["",[...this.items]]];const s=new Map;this.items.forEach((u,r)=>{const h=t(u,r);s.has(h)||s.set(h,[]),s.get(h).push(u)});let n=Array.from(s.entries());return i&&n.sort(([u],[r])=>{if(typeof i=="function")return i(u,r);if(Array.isArray(i)){const h=i.indexOf(u),m=i.indexOf(r);return h===-1?1:m===-1?-1:h-m}return i==="asc"?u.localeCompare(r):i==="desc"?r.localeCompare(u):0}),n}),d(this,"getNextValue",(t,i=1,s=!1)=>{let n=this.indexOf(t);if(n===-1)return null;for(n=s?Math.min(n+i,this.size-1):n+i;n<=this.size&&this.getItemDisabled(this.at(n));)n++;return this.getItemValue(this.at(n))}),d(this,"getPreviousValue",(t,i=1,s=!1)=>{let n=this.indexOf(t);if(n===-1)return null;for(n=s?Math.max(n-i,0):n-i;n>=0&&this.getItemDisabled(this.at(n));)n--;return this.getItemValue(this.at(n))}),d(this,"indexOf",t=>{if(t==null)return-1;if(!this.options.groupBy&&!this.options.groupSort)return this.items.findIndex(n=>this.getItemValue(n)===t);let i=0;const s=this.group();for(const[,n]of s)for(const u of n){if(this.getItemValue(u)===t)return i;i++}return-1}),d(this,"getByText",(t,i)=>{let s=i!=null?re(this.items,this.indexOf(i)):this.items;return t.length===1&&(s=s.filter(u=>this.getItemValue(u)!==i)),s.find(u=>ne(this.stringifyItem(u),t))}),d(this,"search",(t,i)=>{const{state:s,currentValue:n,timeout:u=350}=i,r=s.keysSoFar+t,m=r.length>1&&Array.from(r).every(E=>E===r[0])?r[0]:r,v=this.getByText(m,n),f=this.getItemValue(v);function y(){clearTimeout(s.timer),s.timer=-1}function I(E){s.keysSoFar=E,y(),E!==""&&(s.timer=+setTimeout(()=>{I(""),y()},u))}return I(r),f}),d(this,"update",(t,i)=>{let s=this.indexOf(t);return s===-1?this:this.copy([...this.items.slice(0,s),i,...this.items.slice(s+1)])}),d(this,"upsert",(t,i,s="append")=>{let n=this.indexOf(t);return n===-1?(s==="append"?this.append:this.prepend)(i):this.copy([...this.items.slice(0,n),i,...this.items.slice(n+1)])}),d(this,"insert",(t,...i)=>this.copy(V(this.items,t,...i))),d(this,"insertBefore",(t,...i)=>{let s=this.indexOf(t);if(s===-1)if(this.items.length===0)s=0;else return this;return this.copy(V(this.items,s,...i))}),d(this,"insertAfter",(t,...i)=>{let s=this.indexOf(t);if(s===-1)if(this.items.length===0)s=0;else return this;return this.copy(V(this.items,s+1,...i))}),d(this,"prepend",(...t)=>this.copy(V(this.items,0,...t))),d(this,"append",(...t)=>this.copy(V(this.items,this.items.length,...t))),d(this,"filter",t=>{const i=this.items.filter((s,n)=>t(this.stringifyItem(s),n,s));return this.copy(i)}),d(this,"remove",(...t)=>{const i=t.map(s=>typeof s=="string"?s:this.getItemValue(s));return this.copy(this.items.filter(s=>{const n=this.getItemValue(s);return n==null?!1:!i.includes(n)}))}),d(this,"move",(t,i)=>{const s=this.indexOf(t);return s===-1?this:this.copy(G(this.items,[s],i))}),d(this,"moveBefore",(t,...i)=>{let s=this.items.findIndex(u=>this.getItemValue(u)===t);if(s===-1)return this;let n=i.map(u=>this.items.findIndex(r=>this.getItemValue(r)===u)).sort((u,r)=>u-r);return this.copy(G(this.items,n,s))}),d(this,"moveAfter",(t,...i)=>{let s=this.items.findIndex(u=>this.getItemValue(u)===t);if(s===-1)return this;let n=i.map(u=>this.items.findIndex(r=>this.getItemValue(r)===u)).sort((u,r)=>u-r);return this.copy(G(this.items,n,s+1))}),d(this,"reorder",(t,i)=>this.copy(G(this.items,[t],i))),d(this,"compareValue",(t,i)=>{const s=this.indexOf(t),n=this.indexOf(i);return s<n?-1:s>n?1:0}),d(this,"range",(t,i)=>{let s=[],n=t;for(;n!=null;){if(this.find(n)&&s.push(n),n===i)return s;n=this.getNextValue(n)}return[]}),d(this,"getValueRange",(t,i)=>t&&i?this.compareValue(t,i)<=0?this.range(t,i):this.range(i,t):[]),d(this,"toString",()=>{let t="";for(const i of this.items){const s=this.getItemValue(i),n=this.stringifyItem(i),u=this.getItemDisabled(i),r=[s,n,u].filter(Boolean).join(":");t+=r+","}return t}),d(this,"toJSON",()=>({size:this.size,first:this.firstValue,last:this.lastValue})),this.items=[...l.items]}get size(){return this.items.length}get firstValue(){let l=0;for(;this.getItemDisabled(this.at(l));)l++;return this.getItemValue(this.at(l))}get lastValue(){let l=this.size-1;for(;this.getItemDisabled(this.at(l));)l--;return this.getItemValue(this.at(l))}*[Symbol.iterator](){yield*this.items}},ne=(e,l)=>!!e?.toLowerCase().startsWith(l.toLowerCase()),re=(e,l)=>e.map((t,i)=>e[(Math.max(l,0)+i)%e.length]);function V(e,l,...t){return[...e.slice(0,l),...t,...e.slice(l)]}function G(e,l,t){l=[...l].sort((s,n)=>s-n);const i=l.map(s=>e[s]);for(let s=l.length-1;s>=0;s--)e=[...e.slice(0,l[s]),...e.slice(l[s]+1)];return t=Math.max(0,t-l.filter(s=>s<t).length),[...e.slice(0,t),...i,...e.slice(t)]}var J=o.createAnatomy("select").parts("label","positioner","trigger","indicator","clearTrigger","item","itemText","itemIndicator","itemGroup","itemGroupLabel","list","content","root","control","valueText"),p=J.build(),Q=e=>new W(e);Q.empty=()=>new W({items:[]});var ae=e=>e.ids?.root??`select:${e.id}`,w=e=>e.ids?.content??`select:${e.id}:content`,_=e=>e.ids?.trigger??`select:${e.id}:trigger`,X=e=>e.ids?.clearTrigger??`select:${e.id}:clear-trigger`,P=e=>e.ids?.label??`select:${e.id}:label`,oe=e=>e.ids?.control??`select:${e.id}:control`,B=(e,l)=>e.ids?.item?.(l)??`select:${e.id}:option:${l}`,U=e=>e.ids?.hiddenSelect??`select:${e.id}:select`,Z=e=>e.ids?.positioner??`select:${e.id}:positioner`,ue=(e,l)=>e.ids?.itemGroup?.(l)??`select:${e.id}:optgroup:${l}`,$=(e,l)=>e.ids?.itemGroupLabel?.(l)??`select:${e.id}:optgroup-label:${l}`,x=e=>e.getById(U(e)),b=e=>e.getById(w(e)),T=e=>e.getById(_(e)),de=e=>e.getById(X(e)),q=e=>e.getById(Z(e)),ce=(e,l)=>e.getById(B(e,l));function he(e,l){const{context:t,prop:i,scope:s,state:n,computed:u,send:r}=e,h=i("disabled")||t.get("fieldsetDisabled"),m=i("invalid"),v=i("readOnly"),f=i("composite"),y=i("collection"),I=n.hasTag("open"),E=n.matches("focused"),C=t.get("highlightedValue"),z=t.get("highlightedItem"),ee=t.get("selectedItems"),N=t.get("currentPlacement"),K=u("isTypingAhead"),H=u("isInteractive"),k=C?B(s,C):void 0;function S(a){const c=y.getItemDisabled(a.item),g=y.getItemValue(a.item);return o.ensure(g,()=>`[zag-js] No value found for item ${JSON.stringify(a.item)}`),{value:g,disabled:!!(h||c),highlighted:C===g,selected:t.get("value").includes(g)}}const te=M.getPlacementStyles({...i("positioning"),placement:N});return{open:I,focused:E,empty:t.get("value").length===0,highlightedItem:z,highlightedValue:C,selectedItems:ee,hasSelectedItems:u("hasSelectedItems"),value:t.get("value"),valueAsString:u("valueAsString"),collection:y,multiple:!!i("multiple"),disabled:!!h,reposition(a={}){r({type:"POSITIONING.SET",options:a})},focus(){T(s)?.focus({preventScroll:!0})},setOpen(a){n.hasTag("open")!==a&&r({type:a?"OPEN":"CLOSE"})},selectValue(a){r({type:"ITEM.SELECT",value:a})},setValue(a){r({type:"VALUE.SET",value:a})},selectAll(){r({type:"VALUE.SET",value:y.getValues()})},setHighlightValue(a){r({type:"HIGHLIGHTED_VALUE.SET",value:a})},clearHighlightValue(){r({type:"HIGHLIGHTED_VALUE.CLEAR"})},clearValue(a){r(a?{type:"ITEM.CLEAR",value:a}:{type:"VALUE.CLEAR"})},getItemState:S,getRootProps(){return l.element({...p.root.attrs,dir:i("dir"),id:ae(s),"data-invalid":o.dataAttr(m),"data-readonly":o.dataAttr(v)})},getLabelProps(){return l.label({dir:i("dir"),id:P(s),...p.label.attrs,"data-disabled":o.dataAttr(h),"data-invalid":o.dataAttr(m),"data-readonly":o.dataAttr(v),htmlFor:U(s),onClick(a){a.defaultPrevented||h||T(s)?.focus({preventScroll:!0})}})},getControlProps(){return l.element({...p.control.attrs,dir:i("dir"),id:oe(s),"data-state":I?"open":"closed","data-focus":o.dataAttr(E),"data-disabled":o.dataAttr(h),"data-invalid":o.dataAttr(m)})},getValueTextProps(){return l.element({...p.valueText.attrs,dir:i("dir"),"data-disabled":o.dataAttr(h),"data-invalid":o.dataAttr(m),"data-focus":o.dataAttr(E)})},getTriggerProps(){return l.button({id:_(s),disabled:h,dir:i("dir"),type:"button",role:"combobox","aria-controls":w(s),"aria-expanded":I,"aria-haspopup":"listbox","data-state":I?"open":"closed","aria-invalid":m,"aria-labelledby":P(s),...p.trigger.attrs,"data-disabled":o.dataAttr(h),"data-invalid":o.dataAttr(m),"data-readonly":o.dataAttr(v),"data-placement":N,"data-placeholder-shown":o.dataAttr(!u("hasSelectedItems")),onClick(a){H&&(a.defaultPrevented||r({type:"TRIGGER.CLICK"}))},onFocus(){r({type:"TRIGGER.FOCUS"})},onBlur(){r({type:"TRIGGER.BLUR"})},onKeyDown(a){if(a.defaultPrevented||!H)return;const g={ArrowUp(){r({type:"TRIGGER.ARROW_UP"})},ArrowDown(R){r({type:R.altKey?"OPEN":"TRIGGER.ARROW_DOWN"})},ArrowLeft(){r({type:"TRIGGER.ARROW_LEFT"})},ArrowRight(){r({type:"TRIGGER.ARROW_RIGHT"})},Home(){r({type:"TRIGGER.HOME"})},End(){r({type:"TRIGGER.END"})},Enter(){r({type:"TRIGGER.ENTER"})},Space(R){r(K?{type:"TRIGGER.TYPEAHEAD",key:R.key}:{type:"TRIGGER.ENTER"})}}[o.getEventKey(a,{dir:i("dir"),orientation:"vertical"})];if(g){g(a),a.preventDefault();return}o.getByTypeahead.isValidEvent(a)&&(r({type:"TRIGGER.TYPEAHEAD",key:a.key}),a.preventDefault())}})},getIndicatorProps(){return l.element({...p.indicator.attrs,dir:i("dir"),"aria-hidden":!0,"data-state":I?"open":"closed","data-disabled":o.dataAttr(h),"data-invalid":o.dataAttr(m),"data-readonly":o.dataAttr(v)})},getItemProps(a){const c=S(a);return l.element({id:B(s,c.value),role:"option",...p.item.attrs,dir:i("dir"),"data-value":c.value,"aria-selected":c.selected,"data-state":c.selected?"checked":"unchecked","data-highlighted":o.dataAttr(c.highlighted),"data-disabled":o.dataAttr(c.disabled),"aria-disabled":o.ariaAttr(c.disabled),onPointerMove(g){c.disabled||g.pointerType!=="mouse"||c.value!==C&&r({type:"ITEM.POINTER_MOVE",value:c.value})},onClick(g){g.defaultPrevented||c.disabled||r({type:"ITEM.CLICK",src:"pointerup",value:c.value})},onPointerLeave(g){c.disabled||a.persistFocus||g.pointerType!=="mouse"||!e.event.previous()?.type.includes("POINTER")||r({type:"ITEM.POINTER_LEAVE"})}})},getItemTextProps(a){const c=S(a);return l.element({...p.itemText.attrs,"data-state":c.selected?"checked":"unchecked","data-disabled":o.dataAttr(c.disabled),"data-highlighted":o.dataAttr(c.highlighted)})},getItemIndicatorProps(a){const c=S(a);return l.element({"aria-hidden":!0,...p.itemIndicator.attrs,"data-state":c.selected?"checked":"unchecked",hidden:!c.selected})},getItemGroupLabelProps(a){const{htmlFor:c}=a;return l.element({...p.itemGroupLabel.attrs,id:$(s,c),dir:i("dir"),role:"presentation"})},getItemGroupProps(a){const{id:c}=a;return l.element({...p.itemGroup.attrs,"data-disabled":o.dataAttr(h),id:ue(s,c),"aria-labelledby":$(s,c),role:"group",dir:i("dir")})},getClearTriggerProps(){return l.button({...p.clearTrigger.attrs,id:X(s),type:"button","aria-label":"Clear value","data-invalid":o.dataAttr(m),disabled:h,hidden:!u("hasSelectedItems"),dir:i("dir"),onClick(a){a.defaultPrevented||r({type:"CLEAR.CLICK"})}})},getHiddenSelectProps(){const a=t.get("value"),c=i("multiple")?a:a?.[0];return l.select({name:i("name"),form:i("form"),disabled:h,multiple:i("multiple"),required:i("required"),"aria-hidden":!0,id:U(s),defaultValue:c,style:o.visuallyHiddenStyle,tabIndex:-1,onFocus(){T(s)?.focus({preventScroll:!0})},"aria-labelledby":P(s)})},getPositionerProps(){return l.element({...p.positioner.attrs,dir:i("dir"),id:Z(s),style:te.floating})},getContentProps(){return l.element({hidden:!I,dir:i("dir"),id:w(s),role:f?"listbox":"dialog",...p.content.attrs,"data-state":I?"open":"closed","data-placement":N,"data-activedescendant":k,"aria-activedescendant":f?k:void 0,"aria-multiselectable":i("multiple")&&f?!0:void 0,"aria-labelledby":P(s),tabIndex:0,onKeyDown(a){if(!H||!o.isSelfTarget(a))return;if(a.key==="Tab"&&!o.isValidTabEvent(a)){a.preventDefault();return}const c={ArrowUp(){r({type:"CONTENT.ARROW_UP"})},ArrowDown(){r({type:"CONTENT.ARROW_DOWN"})},Home(){r({type:"CONTENT.HOME"})},End(){r({type:"CONTENT.END"})},Enter(){r({type:"ITEM.CLICK",src:"keydown.enter"})},Space(D){K?r({type:"CONTENT.TYPEAHEAD",key:D.key}):c.Enter?.(D)}},g=c[o.getEventKey(a)];if(g){g(a),a.preventDefault();return}const R=o.getEventTarget(a);o.isEditableElement(R)||o.getByTypeahead.isValidEvent(a)&&(r({type:"CONTENT.TYPEAHEAD",key:a.key}),a.preventDefault())}})},getListProps(){return l.element({...p.list.attrs,tabIndex:0,role:f?void 0:"listbox","aria-labelledby":_(s),"aria-activedescendant":f?void 0:k,"aria-multiselectable":!f&&i("multiple")?!0:void 0})}}}var{and:A,not:O,or:ge}=o.createGuards(),me=o.createMachine({props({props:e}){return{loopFocus:!1,closeOnSelect:!e.multiple,composite:!0,defaultValue:[],...e,collection:e.collection??Q.empty(),positioning:{placement:"bottom-start",gutter:8,...e.positioning}}},context({prop:e,bindable:l}){return{value:l(()=>({defaultValue:e("defaultValue"),value:e("value"),isEqual:o.isEqual,onChange(t){const i=e("collection").findMany(t);return e("onValueChange")?.({value:t,items:i})}})),highlightedValue:l(()=>({defaultValue:e("defaultHighlightedValue")||null,value:e("highlightedValue"),onChange(t){e("onHighlightChange")?.({highlightedValue:t,highlightedItem:e("collection").find(t),highlightedIndex:e("collection").indexOf(t)})}})),currentPlacement:l(()=>({defaultValue:void 0})),fieldsetDisabled:l(()=>({defaultValue:!1})),highlightedItem:l(()=>({defaultValue:null})),selectedItems:l(()=>{const t=e("value")??e("defaultValue")??[];return{defaultValue:e("collection").findMany(t)}})}},refs(){return{typeahead:{...o.getByTypeahead.defaultOptions}}},computed:{hasSelectedItems:({context:e})=>e.get("value").length>0,isTypingAhead:({refs:e})=>e.get("typeahead").keysSoFar!=="",isDisabled:({prop:e,context:l})=>!!e("disabled")||!!l.get("fieldsetDisabled"),isInteractive:({prop:e})=>!(e("disabled")||e("readOnly")),valueAsString:({context:e,prop:l})=>l("collection").stringifyItems(e.get("selectedItems"))},initialState({prop:e}){return e("open")||e("defaultOpen")?"open":"idle"},entry:["syncSelectElement"],watch({context:e,prop:l,track:t,action:i}){t([()=>e.get("value").toString()],()=>{i(["syncSelectedItems","syncSelectElement","dispatchChangeEvent"])}),t([()=>l("open")],()=>{i(["toggleVisibility"])}),t([()=>e.get("highlightedValue")],()=>{i(["syncHighlightedItem"])}),t([()=>l("collection").toString()],()=>{i(["syncCollection"])})},on:{"HIGHLIGHTED_VALUE.SET":{actions:["setHighlightedItem"]},"HIGHLIGHTED_VALUE.CLEAR":{actions:["clearHighlightedItem"]},"ITEM.SELECT":{actions:["selectItem"]},"ITEM.CLEAR":{actions:["clearItem"]},"VALUE.SET":{actions:["setSelectedItems"]},"VALUE.CLEAR":{actions:["clearSelectedItems"]},"CLEAR.CLICK":{actions:["clearSelectedItems","focusTriggerEl"]}},effects:["trackFormControlState"],states:{idle:{tags:["closed"],on:{"CONTROLLED.OPEN":[{guard:"isTriggerClickEvent",target:"open",actions:["setInitialFocus","highlightFirstSelectedItem"]},{target:"open",actions:["setInitialFocus"]}],"TRIGGER.CLICK":[{guard:"isOpenControlled",actions:["invokeOnOpen"]},{target:"open",actions:["invokeOnOpen","setInitialFocus","highlightFirstSelectedItem"]}],"TRIGGER.FOCUS":{target:"focused"},OPEN:[{guard:"isOpenControlled",actions:["invokeOnOpen"]},{target:"open",actions:["setInitialFocus","invokeOnOpen"]}]}},focused:{tags:["closed"],on:{"CONTROLLED.OPEN":[{guard:"isTriggerClickEvent",target:"open",actions:["setInitialFocus","highlightFirstSelectedItem"]},{guard:"isTriggerArrowUpEvent",target:"open",actions:["setInitialFocus","highlightComputedLastItem"]},{guard:ge("isTriggerArrowDownEvent","isTriggerEnterEvent"),target:"open",actions:["setInitialFocus","highlightComputedFirstItem"]},{target:"open",actions:["setInitialFocus"]}],OPEN:[{guard:"isOpenControlled",actions:["invokeOnOpen"]},{target:"open",actions:["setInitialFocus","invokeOnOpen"]}],"TRIGGER.BLUR":{target:"idle"},"TRIGGER.CLICK":[{guard:"isOpenControlled",actions:["invokeOnOpen"]},{target:"open",actions:["setInitialFocus","invokeOnOpen","highlightFirstSelectedItem"]}],"TRIGGER.ENTER":[{guard:"isOpenControlled",actions:["invokeOnOpen"]},{target:"open",actions:["setInitialFocus","invokeOnOpen","highlightComputedFirstItem"]}],"TRIGGER.ARROW_UP":[{guard:"isOpenControlled",actions:["invokeOnOpen"]},{target:"open",actions:["setInitialFocus","invokeOnOpen","highlightComputedLastItem"]}],"TRIGGER.ARROW_DOWN":[{guard:"isOpenControlled",actions:["invokeOnOpen"]},{target:"open",actions:["setInitialFocus","invokeOnOpen","highlightComputedFirstItem"]}],"TRIGGER.ARROW_LEFT":[{guard:A(O("multiple"),"hasSelectedItems"),actions:["selectPreviousItem"]},{guard:O("multiple"),actions:["selectLastItem"]}],"TRIGGER.ARROW_RIGHT":[{guard:A(O("multiple"),"hasSelectedItems"),actions:["selectNextItem"]},{guard:O("multiple"),actions:["selectFirstItem"]}],"TRIGGER.HOME":{guard:O("multiple"),actions:["selectFirstItem"]},"TRIGGER.END":{guard:O("multiple"),actions:["selectLastItem"]},"TRIGGER.TYPEAHEAD":{guard:O("multiple"),actions:["selectMatchingItem"]}}},open:{tags:["open"],exit:["scrollContentToTop"],effects:["trackDismissableElement","computePlacement","scrollToHighlightedItem"],on:{"CONTROLLED.CLOSE":[{guard:"restoreFocus",target:"focused",actions:["focusTriggerEl","clearHighlightedItem"]},{target:"idle",actions:["clearHighlightedItem"]}],CLOSE:[{guard:"isOpenControlled",actions:["invokeOnClose"]},{guard:"restoreFocus",target:"focused",actions:["invokeOnClose","focusTriggerEl","clearHighlightedItem"]},{target:"idle",actions:["invokeOnClose","clearHighlightedItem"]}],"TRIGGER.CLICK":[{guard:"isOpenControlled",actions:["invokeOnClose"]},{target:"focused",actions:["invokeOnClose","clearHighlightedItem"]}],"ITEM.CLICK":[{guard:A("closeOnSelect","isOpenControlled"),actions:["selectHighlightedItem","invokeOnClose"]},{guard:"closeOnSelect",target:"focused",actions:["selectHighlightedItem","invokeOnClose","focusTriggerEl","clearHighlightedItem"]},{actions:["selectHighlightedItem"]}],"CONTENT.HOME":{actions:["highlightFirstItem"]},"CONTENT.END":{actions:["highlightLastItem"]},"CONTENT.ARROW_DOWN":[{guard:A("hasHighlightedItem","loop","isLastItemHighlighted"),actions:["highlightFirstItem"]},{guard:"hasHighlightedItem",actions:["highlightNextItem"]},{actions:["highlightFirstItem"]}],"CONTENT.ARROW_UP":[{guard:A("hasHighlightedItem","loop","isFirstItemHighlighted"),actions:["highlightLastItem"]},{guard:"hasHighlightedItem",actions:["highlightPreviousItem"]},{actions:["highlightLastItem"]}],"CONTENT.TYPEAHEAD":{actions:["highlightMatchingItem"]},"ITEM.POINTER_MOVE":{actions:["highlightItem"]},"ITEM.POINTER_LEAVE":{actions:["clearHighlightedItem"]},"POSITIONING.SET":{actions:["reposition"]}}}},implementations:{guards:{loop:({prop:e})=>!!e("loopFocus"),multiple:({prop:e})=>!!e("multiple"),hasSelectedItems:({computed:e})=>!!e("hasSelectedItems"),hasHighlightedItem:({context:e})=>e.get("highlightedValue")!=null,isFirstItemHighlighted:({context:e,prop:l})=>e.get("highlightedValue")===l("collection").firstValue,isLastItemHighlighted:({context:e,prop:l})=>e.get("highlightedValue")===l("collection").lastValue,closeOnSelect:({prop:e,event:l})=>!!(l.closeOnSelect??e("closeOnSelect")),restoreFocus:({event:e})=>Y(e),isOpenControlled:({prop:e})=>e("open")!==void 0,isTriggerClickEvent:({event:e})=>e.previousEvent?.type==="TRIGGER.CLICK",isTriggerEnterEvent:({event:e})=>e.previousEvent?.type==="TRIGGER.ENTER",isTriggerArrowUpEvent:({event:e})=>e.previousEvent?.type==="TRIGGER.ARROW_UP",isTriggerArrowDownEvent:({event:e})=>e.previousEvent?.type==="TRIGGER.ARROW_DOWN"},effects:{trackFormControlState({context:e,scope:l}){return o.trackFormControl(x(l),{onFieldsetDisabledChange(t){e.set("fieldsetDisabled",t)},onFormReset(){const t=e.initial("value");e.set("value",t)}})},trackDismissableElement({scope:e,send:l,prop:t}){const i=()=>b(e);let s=!0;return ie.trackDismissableElement(i,{defer:!0,exclude:[T(e),de(e)],onFocusOutside:t("onFocusOutside"),onPointerDownOutside:t("onPointerDownOutside"),onInteractOutside(n){t("onInteractOutside")?.(n),s=!(n.detail.focusable||n.detail.contextmenu)},onDismiss(){l({type:"CLOSE",src:"interact-outside",restoreFocus:s})}})},computePlacement({context:e,prop:l,scope:t}){const i=l("positioning");e.set("currentPlacement",i.placement);const s=()=>T(t),n=()=>q(t);return M.getPlacement(s,n,{defer:!0,...i,onComplete(u){e.set("currentPlacement",u.placement)}})},scrollToHighlightedItem({context:e,prop:l,scope:t,event:i}){const s=u=>{const r=e.get("highlightedValue");if(r==null||i.current().type.includes("POINTER"))return;const h=ce(t,r),m=b(t),v=l("scrollToIndexFn");if(v){const f=l("collection").indexOf(r);v?.({index:f,immediate:u});return}o.scrollIntoView(h,{rootEl:m,block:"nearest"})};o.raf(()=>s(!0));const n=()=>b(t);return o.observeAttributes(n,{defer:!0,attributes:["data-activedescendant"],callback(){s(!1)}})}},actions:{reposition({context:e,prop:l,scope:t,event:i}){const s=()=>q(t);M.getPlacement(T(t),s,{...l("positioning"),...i.options,defer:!0,listeners:!1,onComplete(n){e.set("currentPlacement",n.placement)}})},toggleVisibility({send:e,prop:l,event:t}){e({type:l("open")?"CONTROLLED.OPEN":"CONTROLLED.CLOSE",previousEvent:t})},highlightPreviousItem({context:e,prop:l}){const t=e.get("highlightedValue");if(t==null)return;const i=l("collection").getPreviousValue(t,1,l("loopFocus"));i!=null&&e.set("highlightedValue",i)},highlightNextItem({context:e,prop:l}){const t=e.get("highlightedValue");if(t==null)return;const i=l("collection").getNextValue(t,1,l("loopFocus"));i!=null&&e.set("highlightedValue",i)},highlightFirstItem({context:e,prop:l}){const t=l("collection").firstValue;e.set("highlightedValue",t)},highlightLastItem({context:e,prop:l}){const t=l("collection").lastValue;e.set("highlightedValue",t)},setInitialFocus({scope:e}){o.raf(()=>{o.getInitialFocus({root:b(e)})?.focus({preventScroll:!0})})},focusTriggerEl({event:e,scope:l}){Y(e)&&o.raf(()=>{T(l)?.focus({preventScroll:!0})})},selectHighlightedItem({context:e,prop:l,event:t}){let i=t.value??e.get("highlightedValue");if(i==null||!l("collection").has(i))return;l("onSelect")?.({value:i}),i=l("deselectable")&&!l("multiple")&&e.get("value").includes(i)?null:i,e.set("value",n=>i==null?[]:l("multiple")?o.addOrRemove(n,i):[i])},highlightComputedFirstItem({context:e,prop:l,computed:t}){const i=l("collection"),s=t("hasSelectedItems")?i.sort(e.get("value"))[0]:i.firstValue;e.set("highlightedValue",s)},highlightComputedLastItem({context:e,prop:l,computed:t}){const i=l("collection"),s=t("hasSelectedItems")?i.sort(e.get("value"))[0]:i.lastValue;e.set("highlightedValue",s)},highlightFirstSelectedItem({context:e,prop:l,computed:t}){if(!t("hasSelectedItems"))return;const i=l("collection").sort(e.get("value"))[0];e.set("highlightedValue",i)},highlightItem({context:e,event:l}){e.set("highlightedValue",l.value)},highlightMatchingItem({context:e,prop:l,event:t,refs:i}){const s=l("collection").search(t.key,{state:i.get("typeahead"),currentValue:e.get("highlightedValue")});s!=null&&e.set("highlightedValue",s)},setHighlightedItem({context:e,event:l}){e.set("highlightedValue",l.value)},clearHighlightedItem({context:e}){e.set("highlightedValue",null)},selectItem({context:e,prop:l,event:t}){l("onSelect")?.({value:t.value});const s=l("deselectable")&&!l("multiple")&&e.get("value").includes(t.value)?null:t.value;e.set("value",n=>s==null?[]:l("multiple")?o.addOrRemove(n,s):[s])},clearItem({context:e,event:l}){e.set("value",t=>t.filter(i=>i!==l.value))},setSelectedItems({context:e,event:l}){e.set("value",l.value)},clearSelectedItems({context:e}){e.set("value",[])},selectPreviousItem({context:e,prop:l}){const[t]=e.get("value"),i=l("collection").getPreviousValue(t);i&&e.set("value",[i])},selectNextItem({context:e,prop:l}){const[t]=e.get("value"),i=l("collection").getNextValue(t);i&&e.set("value",[i])},selectFirstItem({context:e,prop:l}){const t=l("collection").firstValue;t&&e.set("value",[t])},selectLastItem({context:e,prop:l}){const t=l("collection").lastValue;t&&e.set("value",[t])},selectMatchingItem({context:e,prop:l,event:t,refs:i}){const s=l("collection").search(t.key,{state:i.get("typeahead"),currentValue:e.get("value")[0]});s!=null&&e.set("value",[s])},scrollContentToTop({prop:e,scope:l}){e("scrollToIndexFn")?e("scrollToIndexFn")?.({index:0,immediate:!0}):b(l)?.scrollTo(0,0)},invokeOnOpen({prop:e}){e("onOpenChange")?.({open:!0})},invokeOnClose({prop:e}){e("onOpenChange")?.({open:!1})},syncSelectElement({context:e,prop:l,scope:t}){const i=x(t);if(i){if(e.get("value").length===0&&!l("multiple")){i.selectedIndex=-1;return}for(const s of i.options)s.selected=e.get("value").includes(s.value)}},syncCollection({context:e,prop:l}){const t=l("collection"),i=t.find(e.get("highlightedValue"));i&&e.set("highlightedItem",i);const s=t.findMany(e.get("value"));e.set("selectedItems",s)},syncSelectedItems({context:e,prop:l}){const t=l("collection"),i=e.get("selectedItems"),n=e.get("value").map(u=>i.find(h=>t.getItemValue(h)===u)||t.find(u));e.set("selectedItems",n)},syncHighlightedItem({context:e,prop:l}){const t=l("collection"),i=e.get("highlightedValue"),s=i?t.find(i):null;e.set("highlightedItem",s)},dispatchChangeEvent({scope:e}){queueMicrotask(()=>{const l=x(e);if(!l)return;const t=e.getWin(),i=new t.Event("change",{bubbles:!0,composed:!0});l.dispatchEvent(i)})}}}});function Y(e){const l=e.restoreFocus??e.previousEvent?.restoreFocus;return l==null||!!l}F.createProps()(["closeOnSelect","collection","composite","defaultHighlightedValue","defaultOpen","defaultValue","deselectable","dir","disabled","form","getRootNode","highlightedValue","id","ids","invalid","loopFocus","multiple","name","onFocusOutside","onHighlightChange","onInteractOutside","onOpenChange","onPointerDownOutside","onSelect","onValueChange","open","positioning","readOnly","required","scrollToIndexFn","value"]);F.createProps()(["item","persistFocus"]);F.createProps()(["id"]);F.createProps()(["htmlFor"]);exports.ListCollection=W;exports.anatomy=J;exports.connect=he;exports.machine=me;
|
|
2
|
-
//# sourceMappingURL=index-_913FPya.js.map
|