@televet/kibble-ui 5.0.13-steve.0 → 5.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{alert.types-BsTOOEB7.js → alert.types-DWm1TeiF.js} +3 -3
- package/dist/chunks/{alert.types-BsTOOEB7.js.map → alert.types-DWm1TeiF.js.map} +1 -1
- package/dist/chunks/{anatomy-BkGk10kB.js → anatomy-B0LtI6sf.js} +2 -2
- package/dist/chunks/{anatomy-BkGk10kB.js.map → anatomy-B0LtI6sf.js.map} +1 -1
- package/dist/chunks/{anatomy-zd4ecEFD.js → anatomy-DKlFmIC5.js} +12 -12
- package/dist/chunks/{anatomy-zd4ecEFD.js.map → anatomy-DKlFmIC5.js.map} +1 -1
- package/dist/chunks/{avatar.component-CzutRWy6.js → avatar.component-BL6D6Lw_.js} +5 -5
- package/dist/chunks/{avatar.component-CzutRWy6.js.map → avatar.component-BL6D6Lw_.js.map} +1 -1
- package/dist/chunks/{avatar.records-EoZmO3VR.js → avatar.records-DFg5kBIk.js} +13 -13
- package/dist/chunks/{avatar.records-EoZmO3VR.js.map → avatar.records-DFg5kBIk.js.map} +1 -1
- package/dist/chunks/{avatarGroup.component-WSh9t8AX.js → avatarGroup.component-Ba_rfWUg.js} +5 -5
- package/dist/chunks/{avatarGroup.component-WSh9t8AX.js.map → avatarGroup.component-Ba_rfWUg.js.map} +1 -1
- package/dist/chunks/{buttonGroup.component-TsLHB-LO.js → buttonGroup.component-BNOBvOyv.js} +2 -2
- package/dist/chunks/{buttonGroup.component-TsLHB-LO.js.map → buttonGroup.component-BNOBvOyv.js.map} +1 -1
- package/dist/chunks/{calendar.component-CiBkNtlB.js → calendar.component-B4EcYQEb.js} +2 -2
- package/dist/chunks/{calendar.component-CiBkNtlB.js.map → calendar.component-B4EcYQEb.js.map} +1 -1
- package/dist/chunks/{characterCounter.component-CoMqt04J.js → characterCounter.component-DI_FQNUR.js} +2 -2
- package/dist/chunks/{characterCounter.component-CoMqt04J.js.map → characterCounter.component-DI_FQNUR.js.map} +1 -1
- package/dist/chunks/{checkbox.anatomy-BzZ0IkUF.js → checkbox.anatomy-B8fWV_mm.js} +28 -28
- package/dist/chunks/{checkbox.anatomy-BzZ0IkUF.js.map → checkbox.anatomy-B8fWV_mm.js.map} +1 -1
- package/dist/chunks/{checkbox.component-C0XdgZkr.js → checkbox.component-DDsVfE4a.js} +9 -9
- package/dist/chunks/{checkbox.component-C0XdgZkr.js.map → checkbox.component-DDsVfE4a.js.map} +1 -1
- package/dist/chunks/{checkboxGroup.component-lxNvlmd_.js → checkboxGroup.component-Cx2Gvii5.js} +3 -3
- package/dist/chunks/{checkboxGroup.component-lxNvlmd_.js.map → checkboxGroup.component-Cx2Gvii5.js.map} +1 -1
- package/dist/chunks/{conversationCard.component-B_XSYd1p.js → conversationCard.component-D7hpX-QG.js} +8 -8
- package/dist/chunks/{conversationCard.component-B_XSYd1p.js.map → conversationCard.component-D7hpX-QG.js.map} +1 -1
- package/dist/chunks/{datePicker.component-BAaIqF1O.js → datePicker.component-BotAJpXU.js} +8 -8
- package/dist/chunks/{datePicker.component-BAaIqF1O.js.map → datePicker.component-BotAJpXU.js.map} +1 -1
- package/dist/chunks/{datePicker.component-mE9U6yIL.js → datePicker.component-Cx76pUPS.js} +2 -2
- package/dist/chunks/{datePicker.component-mE9U6yIL.js.map → datePicker.component-Cx76pUPS.js.map} +1 -1
- package/dist/chunks/{datePicker.provider-DEN8clnz.js → datePicker.provider-xtYFjWKI.js} +5 -5
- package/dist/chunks/{datePicker.provider-DEN8clnz.js.map → datePicker.provider-xtYFjWKI.js.map} +1 -1
- package/dist/chunks/{dateTimePicker.component-NOJdpYNs.js → dateTimePicker.component-CUIKZ5BK.js} +9 -9
- package/dist/chunks/{dateTimePicker.component-NOJdpYNs.js.map → dateTimePicker.component-CUIKZ5BK.js.map} +1 -1
- package/dist/chunks/{dateTimePicker.component-CmpTclKA.js → dateTimePicker.component-IGSiKHDc.js} +2 -2
- package/dist/chunks/{dateTimePicker.component-CmpTclKA.js.map → dateTimePicker.component-IGSiKHDc.js.map} +1 -1
- package/dist/chunks/{dialog-B9jifvV4.js → dialog-CJpn28QG.js} +6 -6
- package/dist/chunks/{dialog-B9jifvV4.js.map → dialog-CJpn28QG.js.map} +1 -1
- package/dist/chunks/{field.anatomy-C37GEr2p.js → field.anatomy-CAraH-al.js} +2 -2
- package/dist/chunks/{field.anatomy-C37GEr2p.js.map → field.anatomy-CAraH-al.js.map} +1 -1
- package/dist/chunks/{heading.component-PFNpLFT7.js → heading.component-CpSAN3cv.js} +2 -2
- package/dist/chunks/{heading.component-PFNpLFT7.js.map → heading.component-CpSAN3cv.js.map} +1 -1
- package/dist/chunks/index-6QSGfY1E.js +1011 -0
- package/dist/chunks/index-6QSGfY1E.js.map +1 -0
- package/dist/chunks/{index-D1RhzPVz.js → index-BBvspkoa.js} +3 -3
- package/dist/chunks/{index-D1RhzPVz.js.map → index-BBvspkoa.js.map} +1 -1
- package/dist/chunks/{index-D7QT9KIZ.js → index-BU6fRN91.js} +3 -3
- package/dist/chunks/{index-D7QT9KIZ.js.map → index-BU6fRN91.js.map} +1 -1
- package/dist/chunks/{index-Cxrrsmf-.js → index-BWNl4vB2.js} +8 -8
- package/dist/chunks/{index-Cxrrsmf-.js.map → index-BWNl4vB2.js.map} +1 -1
- package/dist/chunks/{index-fHSGm2nC.js → index-BcafYtXX.js} +47 -47
- package/dist/chunks/{index-fHSGm2nC.js.map → index-BcafYtXX.js.map} +1 -1
- package/dist/chunks/index-BhMI6dHH.js +191 -0
- package/dist/chunks/index-BhMI6dHH.js.map +1 -0
- package/dist/chunks/{index-QVc_GVoE.js → index-C0IJq4ol.js} +15 -15
- package/dist/chunks/{index-QVc_GVoE.js.map → index-C0IJq4ol.js.map} +1 -1
- package/dist/chunks/{index-wV4hG2vI.js → index-CXLyCyl3.js} +4 -4
- package/dist/chunks/{index-wV4hG2vI.js.map → index-CXLyCyl3.js.map} +1 -1
- package/dist/chunks/{index-DfzXSlq1.js → index-CcwGiuyq.js} +29 -29
- package/dist/chunks/{index-DfzXSlq1.js.map → index-CcwGiuyq.js.map} +1 -1
- package/dist/chunks/{index-BbZjRFzg.js → index-CgPTA7y6.js} +3 -3
- package/dist/chunks/{index-BbZjRFzg.js.map → index-CgPTA7y6.js.map} +1 -1
- package/dist/chunks/{index-CbVKVxMW.js → index-CmREf48Z.js} +11 -11
- package/dist/chunks/{index-CbVKVxMW.js.map → index-CmREf48Z.js.map} +1 -1
- package/dist/chunks/{index-B3xJnxjd.js → index-DJa3JmO7.js} +14 -14
- package/dist/chunks/{index-B3xJnxjd.js.map → index-DJa3JmO7.js.map} +1 -1
- package/dist/chunks/{index-DS4KlAkI.js → index-DVGrQEJi.js} +20 -20
- package/dist/chunks/{index-DS4KlAkI.js.map → index-DVGrQEJi.js.map} +1 -1
- package/dist/chunks/{index-C9UYIjEB.js → index-DcmJgLUo.js} +91 -91
- package/dist/chunks/{index-C9UYIjEB.js.map → index-DcmJgLUo.js.map} +1 -1
- package/dist/chunks/index-DhaZ70Qi.js +2 -0
- package/dist/chunks/index-DhaZ70Qi.js.map +1 -0
- package/dist/chunks/index-LDDF3MqB.js +2 -0
- package/dist/chunks/index-LDDF3MqB.js.map +1 -0
- package/dist/chunks/{index-D0DKQnEK.js → index-NrnnmC8w.js} +13 -13
- package/dist/chunks/{index-D0DKQnEK.js.map → index-NrnnmC8w.js.map} +1 -1
- package/dist/chunks/{index-BrJtqTzN.js → index-hPXhx9Mi.js} +5 -5
- package/dist/chunks/{index-BrJtqTzN.js.map → index-hPXhx9Mi.js.map} +1 -1
- package/dist/chunks/{index-BgFImxxe.js → index-k8xPaJWO.js} +12 -12
- package/dist/chunks/{index-BgFImxxe.js.map → index-k8xPaJWO.js.map} +1 -1
- package/dist/chunks/{index-D3Q0mQNf.js → index-mXLFPoCI.js} +18 -18
- package/dist/chunks/{index-D3Q0mQNf.js.map → index-mXLFPoCI.js.map} +1 -1
- package/dist/chunks/list-collection-Bla_aoE6.js +6 -0
- package/dist/chunks/list-collection-Bla_aoE6.js.map +1 -0
- package/dist/chunks/list-collection-DoQwQYv1.js +2 -0
- package/dist/chunks/list-collection-DoQwQYv1.js.map +1 -0
- package/dist/chunks/{menu.component-Cq9sPsTJ.js → menu.component-BEDMybmZ.js} +10 -10
- package/dist/chunks/{menu.component-Cq9sPsTJ.js.map → menu.component-BEDMybmZ.js.map} +1 -1
- package/dist/chunks/{modal.types-CVy-QT6f.js → modal.types-Bq9gdlSr.js} +4 -4
- package/dist/chunks/{modal.types-CVy-QT6f.js.map → modal.types-Bq9gdlSr.js.map} +1 -1
- package/dist/chunks/{notificationCounter.component-BlGSd37B.js → notificationCounter.component-6Q3q8jWj.js} +2 -2
- package/dist/chunks/{notificationCounter.component-BlGSd37B.js.map → notificationCounter.component-6Q3q8jWj.js.map} +1 -1
- package/dist/chunks/{numberInput.component-nT-7b9qv.js → numberInput.component-DFK4EYLV.js} +6 -6
- package/dist/chunks/{numberInput.component-nT-7b9qv.js.map → numberInput.component-DFK4EYLV.js.map} +1 -1
- package/dist/chunks/{pinInput.types-B0nfeSUS.js → pinInput.types-BmXYQb7O.js} +6 -6
- package/dist/chunks/{pinInput.types-B0nfeSUS.js.map → pinInput.types-BmXYQb7O.js.map} +1 -1
- package/dist/chunks/{popover-pd70xkY_.js → popover-Gb1fXSR7.js} +5 -5
- package/dist/chunks/{popover-pd70xkY_.js.map → popover-Gb1fXSR7.js.map} +1 -1
- package/dist/chunks/{popover-root-provider-DR0Iuda1.js → popover-root-provider-CFn2dthZ.js} +5 -5
- package/dist/chunks/{popover-root-provider-DR0Iuda1.js.map → popover-root-provider-CFn2dthZ.js.map} +1 -1
- package/dist/chunks/{popover.component-BsiKfJR7.js → popover.component-DIYT1Lc0.js} +8 -8
- package/dist/chunks/{popover.component-BsiKfJR7.js.map → popover.component-DIYT1Lc0.js.map} +1 -1
- package/dist/chunks/{popover.component-C0nG3J1J.js → popover.component-DTjA1GSd.js} +2 -2
- package/dist/chunks/{popover.component-C0nG3J1J.js.map → popover.component-DTjA1GSd.js.map} +1 -1
- package/dist/chunks/{popover.recipe-NDvOfG9X.js → popover.recipe-CtptsJg6.js} +2 -2
- package/dist/chunks/{popover.recipe-NDvOfG9X.js.map → popover.recipe-CtptsJg6.js.map} +1 -1
- package/dist/chunks/{popover.recipe-BAl0q_IZ.js → popover.recipe-DPwwsWLb.js} +2 -2
- package/dist/chunks/{popover.recipe-BAl0q_IZ.js.map → popover.recipe-DPwwsWLb.js.map} +1 -1
- package/dist/chunks/{progress-value-text-DZkUF2cO.js → progress-value-text-D1GjH6w4.js} +4 -4
- package/dist/chunks/{progress-value-text-DZkUF2cO.js.map → progress-value-text-D1GjH6w4.js.map} +1 -1
- package/dist/chunks/{radioGroup.types-B--54AgI.js → radioGroup.types-CVFQ5dZ7.js} +7 -7
- package/dist/chunks/{radioGroup.types-B--54AgI.js.map → radioGroup.types-CVFQ5dZ7.js.map} +1 -1
- package/dist/chunks/{rating-group-CfwdAW9a.js → rating-group-DRCWuE5-.js} +5 -5
- package/dist/chunks/{rating-group-CfwdAW9a.js.map → rating-group-DRCWuE5-.js.map} +1 -1
- package/dist/chunks/{rating.component-DHlwuL8y.js → rating.component-CQgpD-gS.js} +3 -3
- package/dist/chunks/{rating.component-DHlwuL8y.js.map → rating.component-CQgpD-gS.js.map} +1 -1
- package/dist/chunks/{ratingDots.component-C3ABFE0-.js → ratingDots.component-C1KgTGWj.js} +3 -3
- package/dist/chunks/{ratingDots.component-C3ABFE0-.js.map → ratingDots.component-C1KgTGWj.js.map} +1 -1
- package/dist/chunks/{render-strategy-munDZLwL.js → render-strategy-DLvzMQD1.js} +2 -2
- package/dist/chunks/{render-strategy-munDZLwL.js.map → render-strategy-DLvzMQD1.js.map} +1 -1
- package/dist/chunks/{select.component-D5EioB-E.js → select.component-BkDkYpf2.js} +254 -253
- package/dist/chunks/select.component-BkDkYpf2.js.map +1 -0
- package/dist/chunks/select.component-DoFwe4lJ.js +2 -0
- package/dist/chunks/select.component-DoFwe4lJ.js.map +1 -0
- package/dist/chunks/{sortableList.component-B2XQoMq7.js → sortableList.component-CbxbBLVQ.js} +3 -3
- package/dist/chunks/{sortableList.component-B2XQoMq7.js.map → sortableList.component-CbxbBLVQ.js.map} +1 -1
- package/dist/chunks/{spinner.component-D3s81AJH.js → spinner.component-CNHQ8UDz.js} +2 -2
- package/dist/chunks/{spinner.component-D3s81AJH.js.map → spinner.component-CNHQ8UDz.js.map} +1 -1
- package/dist/chunks/{styledAvatar.types-Dd3tKh-E.js → styledAvatar.types-BaOkOA8K.js} +2 -2
- package/dist/chunks/{styledAvatar.types-Dd3tKh-E.js.map → styledAvatar.types-BaOkOA8K.js.map} +1 -1
- package/dist/chunks/{switch.component-xlG0hUNX.js → switch.component-Cr8Abw0U.js} +6 -6
- package/dist/chunks/{switch.component-xlG0hUNX.js.map → switch.component-Cr8Abw0U.js.map} +1 -1
- package/dist/chunks/{tab.types-CO64KNxl.js → tab.types-BoHuF-QZ.js} +13 -13
- package/dist/chunks/{tab.types-CO64KNxl.js.map → tab.types-BoHuF-QZ.js.map} +1 -1
- package/dist/chunks/{tagBlock.component-BKYJDU4L.js → tagBlock.component-DjbevH0J.js} +5 -5
- package/dist/chunks/{tagBlock.component-BKYJDU4L.js.map → tagBlock.component-DjbevH0J.js.map} +1 -1
- package/dist/chunks/{text.component-IjomJyJY.js → text.component-DhuUgP3j.js} +2 -2
- package/dist/chunks/{text.component-IjomJyJY.js.map → text.component-DhuUgP3j.js.map} +1 -1
- package/dist/chunks/{textInput.component-BMy6cEdV.js → textInput.component-C7kdQ8hF.js} +6 -6
- package/dist/chunks/{textInput.component-BMy6cEdV.js.map → textInput.component-C7kdQ8hF.js.map} +1 -1
- package/dist/chunks/{textarea.component-ChN0RGoe.js → textarea.component-W9VBnd4-.js} +12 -12
- package/dist/chunks/{textarea.component-ChN0RGoe.js.map → textarea.component-W9VBnd4-.js.map} +1 -1
- package/dist/chunks/{theme.provider-CezsihF5.js → theme.provider-BWhqnOFC.js} +2 -2
- package/dist/chunks/{theme.provider-CezsihF5.js.map → theme.provider-BWhqnOFC.js.map} +1 -1
- package/dist/chunks/{theme.provider-wnaH4Plk.js → theme.provider-Cl9_chOv.js} +15 -15
- package/dist/chunks/{theme.provider-wnaH4Plk.js.map → theme.provider-Cl9_chOv.js.map} +1 -1
- package/dist/chunks/{timePicker.component-CSm0UnA5.js → timePicker.component-CDb67FCr.js} +3 -3
- package/dist/chunks/{timePicker.component-CSm0UnA5.js.map → timePicker.component-CDb67FCr.js.map} +1 -1
- package/dist/chunks/{timePicker.component-BbDzVLdb.js → timePicker.component-CIk5bEyP.js} +2 -2
- package/dist/chunks/{timePicker.component-BbDzVLdb.js.map → timePicker.component-CIk5bEyP.js.map} +1 -1
- package/dist/chunks/{timeRange.component-Cwn94GUk.js → timeRange.component-B1WKwc-X.js} +2 -2
- package/dist/chunks/{timeRange.component-Cwn94GUk.js.map → timeRange.component-B1WKwc-X.js.map} +1 -1
- package/dist/chunks/{timeRange.component-DyB1Jo1d.js → timeRange.component-NX1EOY8h.js} +2 -2
- package/dist/chunks/{timeRange.component-DyB1Jo1d.js.map → timeRange.component-NX1EOY8h.js.map} +1 -1
- package/dist/chunks/{timestamp.component-IfjfMFXl.js → timestamp.component-DkLjxUsy.js} +3 -3
- package/dist/chunks/{timestamp.component-IfjfMFXl.js.map → timestamp.component-DkLjxUsy.js.map} +1 -1
- package/dist/chunks/{toaster.records-Cb3hbtuY.js → toaster.records-BzZmnA3j.js} +69 -69
- package/dist/chunks/{toaster.records-Cb3hbtuY.js.map → toaster.records-BzZmnA3j.js.map} +1 -1
- package/dist/chunks/{tooltip.component-DFsQNG1q.js → tooltip.component-CHohp2qn.js} +5 -5
- package/dist/chunks/{tooltip.component-DFsQNG1q.js.map → tooltip.component-CHohp2qn.js.map} +1 -1
- package/dist/chunks/{use-field-context-DrC9mrDd.js → use-field-context-BoqOeObh.js} +2 -2
- package/dist/chunks/{use-field-context-DrC9mrDd.js.map → use-field-context-BoqOeObh.js.map} +1 -1
- package/dist/chunks/{use-locale-context-Bw4Gg9Z0.js → use-locale-context-DmcfCmf9.js} +11 -11
- package/dist/chunks/{use-locale-context-Bw4Gg9Z0.js.map → use-locale-context-DmcfCmf9.js.map} +1 -1
- package/dist/chunks/{withFormControl-lDkIqkED.js → withFormControl-08PrhcOk.js} +6 -6
- package/dist/chunks/{withFormControl-lDkIqkED.js.map → withFormControl-08PrhcOk.js.map} +1 -1
- package/dist/chunks/{withTruncation-CqDQUSVU.js → withTruncation-B2GhwmHG.js} +2 -2
- package/dist/chunks/{withTruncation-CqDQUSVU.js.map → withTruncation-B2GhwmHG.js.map} +1 -1
- package/dist/cjs/chakra/index.cjs +2 -2
- package/dist/cjs/chakra/index.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/index.cjs +1 -1
- package/dist/cjs/components/DateTimePicker/index.cjs +1 -1
- package/dist/cjs/components/Popover/index.cjs +1 -1
- package/dist/cjs/components/Select/index.cjs +1 -1
- package/dist/cjs/components/TimePicker/index.cjs +1 -1
- package/dist/cjs/components/TimeRange/index.cjs +1 -1
- package/dist/cjs/components/index.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/theme/index.cjs +1 -1
- package/dist/esm/chakra/index.js +17 -15
- package/dist/esm/chakra/index.js.map +1 -1
- package/dist/esm/components/Alert/index.js +1 -1
- package/dist/esm/components/Avatar/index.js +1 -1
- package/dist/esm/components/AvatarGroup/index.js +1 -1
- package/dist/esm/components/ButtonGroup/index.js +1 -1
- package/dist/esm/components/Calendar/index.js +1 -1
- package/dist/esm/components/CharacterCounter/index.js +1 -1
- package/dist/esm/components/Checkbox/index.js +1 -1
- package/dist/esm/components/CheckboxGroup/index.js +1 -1
- package/dist/esm/components/ConversationCard/index.js +1 -1
- package/dist/esm/components/DatePicker/index.js +2 -2
- package/dist/esm/components/DateTimePicker/index.js +1 -1
- package/dist/esm/components/Heading/index.js +1 -1
- package/dist/esm/components/Menu/index.js +1 -1
- package/dist/esm/components/Modal/index.js +1 -1
- package/dist/esm/components/NotificationCounter/index.js +1 -1
- package/dist/esm/components/NumberInput/index.js +1 -1
- package/dist/esm/components/PinInput/index.js +1 -1
- package/dist/esm/components/Popover/index.js +1 -1
- package/dist/esm/components/Progress/index.js +3 -3
- package/dist/esm/components/RadioGroup/index.js +1 -1
- package/dist/esm/components/Rating/index.js +1 -1
- package/dist/esm/components/RatingDots/index.js +1 -1
- package/dist/esm/components/Select/index.js +1 -1
- package/dist/esm/components/SortableList/index.js +1 -1
- package/dist/esm/components/Spinner/index.js +1 -1
- package/dist/esm/components/StyledAvatar/index.js +1 -1
- package/dist/esm/components/Switch/index.js +1 -1
- package/dist/esm/components/Tabs/index.js +1 -1
- package/dist/esm/components/TagBlock/index.js +1 -1
- package/dist/esm/components/Text/index.js +1 -1
- package/dist/esm/components/TextInput/index.js +1 -1
- package/dist/esm/components/Textarea/index.js +1 -1
- package/dist/esm/components/TimePicker/index.js +1 -1
- package/dist/esm/components/TimeRange/index.js +1 -1
- package/dist/esm/components/Timestamp/index.js +1 -1
- package/dist/esm/components/Toast/index.js +1 -1
- package/dist/esm/components/Tooltip/index.js +1 -1
- package/dist/esm/components/index.js +36 -36
- package/dist/esm/index.js +37 -37
- package/dist/esm/theme/index.js +1 -1
- package/dist/types/chakra/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/chunks/index-BGd_2-DY.js +0 -1197
- package/dist/chunks/index-BGd_2-DY.js.map +0 -1
- package/dist/chunks/index-_913FPya.js +0 -2
- package/dist/chunks/index-_913FPya.js.map +0 -1
- package/dist/chunks/select.component-D-1YMPU9.js +0 -2
- package/dist/chunks/select.component-D-1YMPU9.js.map +0 -1
- package/dist/chunks/select.component-D5EioB-E.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const s=require("./index-CQURjLlA.js"),K=require("./index-LDDF3MqB.js"),H=require("./index-Ts8g8jZd.js"),X=require("./index-BoulS5Zg.js"),S=require("./use-locale-context-ym21RUxU.js");var B=s.createAnatomy("select").parts("label","positioner","trigger","indicator","clearTrigger","item","itemText","itemIndicator","itemGroup","itemGroupLabel","list","content","root","control","valueText"),g=B.build(),q=e=>new K.ListCollection(e);q.empty=()=>new K.ListCollection({items:[]});var Z=e=>e.ids?.root??`select:${e.id}`,k=e=>e.ids?.content??`select:${e.id}:content`,D=e=>e.ids?.trigger??`select:${e.id}:trigger`,Y=e=>e.ids?.clearTrigger??`select:${e.id}:clear-trigger`,V=e=>e.ids?.label??`select:${e.id}:label`,z=e=>e.ids?.control??`select:${e.id}:control`,M=(e,t)=>e.ids?.item?.(t)??`select:${e.id}:option:${t}`,w=e=>e.ids?.hiddenSelect??`select:${e.id}:select`,x=e=>e.ids?.positioner??`select:${e.id}:positioner`,ee=(e,t)=>e.ids?.itemGroup?.(t)??`select:${e.id}:optgroup:${t}`,U=(e,t)=>e.ids?.itemGroupLabel?.(t)??`select:${e.id}:optgroup-label:${t}`,N=e=>e.getById(w(e)),y=e=>e.getById(k(e)),T=e=>e.getById(D(e)),te=e=>e.getById(Y(e)),W=e=>e.getById(x(e)),ie=(e,t)=>e.getById(M(e,t));function le(e,t){const{context:l,prop:i,scope:n,state:d,computed:h,send:o}=e,c=i("disabled")||l.get("fieldsetDisabled"),m=i("invalid"),p=i("readOnly"),I=i("composite"),C=i("collection"),E=d.hasTag("open"),b=d.matches("focused"),O=l.get("highlightedValue"),j=l.get("highlightedItem"),J=l.get("selectedItems"),G=l.get("currentPlacement"),_=h("isTypingAhead"),L=h("isInteractive"),P=O?M(n,O):void 0;function A(a){const r=C.getItemDisabled(a.item),u=C.getItemValue(a.item);return s.ensure(u,()=>`[zag-js] No value found for item ${JSON.stringify(a.item)}`),{value:u,disabled:!!(c||r),highlighted:O===u,selected:l.get("value").includes(u)}}const Q=H.getPlacementStyles({...i("positioning"),placement:G});return{open:E,focused:b,empty:l.get("value").length===0,highlightedItem:j,highlightedValue:O,selectedItems:J,hasSelectedItems:h("hasSelectedItems"),value:l.get("value"),valueAsString:h("valueAsString"),collection:C,multiple:!!i("multiple"),disabled:!!c,reposition(a={}){o({type:"POSITIONING.SET",options:a})},focus(){T(n)?.focus({preventScroll:!0})},setOpen(a){d.hasTag("open")!==a&&o({type:a?"OPEN":"CLOSE"})},selectValue(a){o({type:"ITEM.SELECT",value:a})},setValue(a){o({type:"VALUE.SET",value:a})},selectAll(){o({type:"VALUE.SET",value:C.getValues()})},setHighlightValue(a){o({type:"HIGHLIGHTED_VALUE.SET",value:a})},clearHighlightValue(){o({type:"HIGHLIGHTED_VALUE.CLEAR"})},clearValue(a){o(a?{type:"ITEM.CLEAR",value:a}:{type:"VALUE.CLEAR"})},getItemState:A,getRootProps(){return t.element({...g.root.attrs,dir:i("dir"),id:Z(n),"data-invalid":s.dataAttr(m),"data-readonly":s.dataAttr(p)})},getLabelProps(){return t.label({dir:i("dir"),id:V(n),...g.label.attrs,"data-disabled":s.dataAttr(c),"data-invalid":s.dataAttr(m),"data-readonly":s.dataAttr(p),htmlFor:w(n),onClick(a){a.defaultPrevented||c||T(n)?.focus({preventScroll:!0})}})},getControlProps(){return t.element({...g.control.attrs,dir:i("dir"),id:z(n),"data-state":E?"open":"closed","data-focus":s.dataAttr(b),"data-disabled":s.dataAttr(c),"data-invalid":s.dataAttr(m)})},getValueTextProps(){return t.element({...g.valueText.attrs,dir:i("dir"),"data-disabled":s.dataAttr(c),"data-invalid":s.dataAttr(m),"data-focus":s.dataAttr(b)})},getTriggerProps(){return t.button({id:D(n),disabled:c,dir:i("dir"),type:"button",role:"combobox","aria-controls":k(n),"aria-expanded":E,"aria-haspopup":"listbox","data-state":E?"open":"closed","aria-invalid":m,"aria-labelledby":V(n),...g.trigger.attrs,"data-disabled":s.dataAttr(c),"data-invalid":s.dataAttr(m),"data-readonly":s.dataAttr(p),"data-placement":G,"data-placeholder-shown":s.dataAttr(!h("hasSelectedItems")),onClick(a){L&&(a.defaultPrevented||o({type:"TRIGGER.CLICK"}))},onFocus(){o({type:"TRIGGER.FOCUS"})},onBlur(){o({type:"TRIGGER.BLUR"})},onKeyDown(a){if(a.defaultPrevented||!L)return;const u={ArrowUp(){o({type:"TRIGGER.ARROW_UP"})},ArrowDown(f){o({type:f.altKey?"OPEN":"TRIGGER.ARROW_DOWN"})},ArrowLeft(){o({type:"TRIGGER.ARROW_LEFT"})},ArrowRight(){o({type:"TRIGGER.ARROW_RIGHT"})},Home(){o({type:"TRIGGER.HOME"})},End(){o({type:"TRIGGER.END"})},Enter(){o({type:"TRIGGER.ENTER"})},Space(f){o(_?{type:"TRIGGER.TYPEAHEAD",key:f.key}:{type:"TRIGGER.ENTER"})}}[s.getEventKey(a,{dir:i("dir"),orientation:"vertical"})];if(u){u(a),a.preventDefault();return}s.getByTypeahead.isValidEvent(a)&&(o({type:"TRIGGER.TYPEAHEAD",key:a.key}),a.preventDefault())}})},getIndicatorProps(){return t.element({...g.indicator.attrs,dir:i("dir"),"aria-hidden":!0,"data-state":E?"open":"closed","data-disabled":s.dataAttr(c),"data-invalid":s.dataAttr(m),"data-readonly":s.dataAttr(p)})},getItemProps(a){const r=A(a);return t.element({id:M(n,r.value),role:"option",...g.item.attrs,dir:i("dir"),"data-value":r.value,"aria-selected":r.selected,"data-state":r.selected?"checked":"unchecked","data-highlighted":s.dataAttr(r.highlighted),"data-disabled":s.dataAttr(r.disabled),"aria-disabled":s.ariaAttr(r.disabled),onPointerMove(u){r.disabled||u.pointerType!=="mouse"||r.value!==O&&o({type:"ITEM.POINTER_MOVE",value:r.value})},onClick(u){u.defaultPrevented||r.disabled||o({type:"ITEM.CLICK",src:"pointerup",value:r.value})},onPointerLeave(u){r.disabled||a.persistFocus||u.pointerType!=="mouse"||!e.event.previous()?.type.includes("POINTER")||o({type:"ITEM.POINTER_LEAVE"})}})},getItemTextProps(a){const r=A(a);return t.element({...g.itemText.attrs,"data-state":r.selected?"checked":"unchecked","data-disabled":s.dataAttr(r.disabled),"data-highlighted":s.dataAttr(r.highlighted)})},getItemIndicatorProps(a){const r=A(a);return t.element({"aria-hidden":!0,...g.itemIndicator.attrs,"data-state":r.selected?"checked":"unchecked",hidden:!r.selected})},getItemGroupLabelProps(a){const{htmlFor:r}=a;return t.element({...g.itemGroupLabel.attrs,id:U(n,r),dir:i("dir"),role:"presentation"})},getItemGroupProps(a){const{id:r}=a;return t.element({...g.itemGroup.attrs,"data-disabled":s.dataAttr(c),id:ee(n,r),"aria-labelledby":U(n,r),role:"group",dir:i("dir")})},getClearTriggerProps(){return t.button({...g.clearTrigger.attrs,id:Y(n),type:"button","aria-label":"Clear value","data-invalid":s.dataAttr(m),disabled:c,hidden:!h("hasSelectedItems"),dir:i("dir"),onClick(a){a.defaultPrevented||o({type:"CLEAR.CLICK"})}})},getHiddenSelectProps(){const a=l.get("value"),r=i("multiple")?a:a?.[0];return t.select({name:i("name"),form:i("form"),disabled:c,multiple:i("multiple"),required:i("required"),"aria-hidden":!0,id:w(n),defaultValue:r,style:s.visuallyHiddenStyle,tabIndex:-1,onFocus(){T(n)?.focus({preventScroll:!0})},"aria-labelledby":V(n)})},getPositionerProps(){return t.element({...g.positioner.attrs,dir:i("dir"),id:x(n),style:Q.floating})},getContentProps(){return t.element({hidden:!E,dir:i("dir"),id:k(n),role:I?"listbox":"dialog",...g.content.attrs,"data-state":E?"open":"closed","data-placement":G,"data-activedescendant":P,"aria-activedescendant":I?P:void 0,"aria-multiselectable":i("multiple")&&I?!0:void 0,"aria-labelledby":V(n),tabIndex:0,onKeyDown(a){if(!L||!s.isSelfTarget(a))return;if(a.key==="Tab"&&!s.isValidTabEvent(a)){a.preventDefault();return}const r={ArrowUp(){o({type:"CONTENT.ARROW_UP"})},ArrowDown(){o({type:"CONTENT.ARROW_DOWN"})},Home(){o({type:"CONTENT.HOME"})},End(){o({type:"CONTENT.END"})},Enter(){o({type:"ITEM.CLICK",src:"keydown.enter"})},Space(F){_?o({type:"CONTENT.TYPEAHEAD",key:F.key}):r.Enter?.(F)}},u=r[s.getEventKey(a)];if(u){u(a),a.preventDefault();return}const f=s.getEventTarget(a);s.isEditableElement(f)||s.getByTypeahead.isValidEvent(a)&&(o({type:"CONTENT.TYPEAHEAD",key:a.key}),a.preventDefault())}})},getListProps(){return t.element({...g.list.attrs,tabIndex:0,role:I?void 0:"listbox","aria-labelledby":D(n),"aria-activedescendant":I?void 0:P,"aria-multiselectable":!I&&i("multiple")?!0:void 0})}}}var{and:R,not:v,or:ae}=s.createGuards(),ne=s.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:t}){return{value:t(()=>({defaultValue:e("defaultValue"),value:e("value"),isEqual:s.isEqual,onChange(l){const i=e("collection").findMany(l);return e("onValueChange")?.({value:l,items:i})}})),highlightedValue:t(()=>({defaultValue:e("defaultHighlightedValue")||null,value:e("highlightedValue"),onChange(l){e("onHighlightChange")?.({highlightedValue:l,highlightedItem:e("collection").find(l),highlightedIndex:e("collection").indexOf(l)})}})),currentPlacement:t(()=>({defaultValue:void 0})),fieldsetDisabled:t(()=>({defaultValue:!1})),highlightedItem:t(()=>({defaultValue:null})),selectedItems:t(()=>{const l=e("value")??e("defaultValue")??[];return{defaultValue:e("collection").findMany(l)}})}},refs(){return{typeahead:{...s.getByTypeahead.defaultOptions}}},computed:{hasSelectedItems:({context:e})=>e.get("value").length>0,isTypingAhead:({refs:e})=>e.get("typeahead").keysSoFar!=="",isDisabled:({prop:e,context:t})=>!!e("disabled")||!!t.get("fieldsetDisabled"),isInteractive:({prop:e})=>!(e("disabled")||e("readOnly")),valueAsString:({context:e,prop:t})=>t("collection").stringifyItems(e.get("selectedItems"))},initialState({prop:e}){return e("open")||e("defaultOpen")?"open":"idle"},entry:["syncSelectElement"],watch({context:e,prop:t,track:l,action:i}){l([()=>e.get("value").toString()],()=>{i(["syncSelectedItems","syncSelectElement","dispatchChangeEvent"])}),l([()=>t("open")],()=>{i(["toggleVisibility"])}),l([()=>e.get("highlightedValue")],()=>{i(["syncHighlightedItem"])}),l([()=>t("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:ae("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:R(v("multiple"),"hasSelectedItems"),actions:["selectPreviousItem"]},{guard:v("multiple"),actions:["selectLastItem"]}],"TRIGGER.ARROW_RIGHT":[{guard:R(v("multiple"),"hasSelectedItems"),actions:["selectNextItem"]},{guard:v("multiple"),actions:["selectFirstItem"]}],"TRIGGER.HOME":{guard:v("multiple"),actions:["selectFirstItem"]},"TRIGGER.END":{guard:v("multiple"),actions:["selectLastItem"]},"TRIGGER.TYPEAHEAD":{guard:v("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:R("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:R("hasHighlightedItem","loop","isLastItemHighlighted"),actions:["highlightFirstItem"]},{guard:"hasHighlightedItem",actions:["highlightNextItem"]},{actions:["highlightFirstItem"]}],"CONTENT.ARROW_UP":[{guard:R("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:t})=>e.get("highlightedValue")===t("collection").firstValue,isLastItemHighlighted:({context:e,prop:t})=>e.get("highlightedValue")===t("collection").lastValue,closeOnSelect:({prop:e,event:t})=>!!(t.closeOnSelect??e("closeOnSelect")),restoreFocus:({event:e})=>$(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:t}){return s.trackFormControl(N(t),{onFieldsetDisabledChange(l){e.set("fieldsetDisabled",l)},onFormReset(){const l=e.initial("value");e.set("value",l)}})},trackDismissableElement({scope:e,send:t,prop:l}){const i=()=>y(e);let n=!0;return X.trackDismissableElement(i,{defer:!0,exclude:[T(e),te(e)],onFocusOutside:l("onFocusOutside"),onPointerDownOutside:l("onPointerDownOutside"),onInteractOutside(d){l("onInteractOutside")?.(d),n=!(d.detail.focusable||d.detail.contextmenu)},onDismiss(){t({type:"CLOSE",src:"interact-outside",restoreFocus:n})}})},computePlacement({context:e,prop:t,scope:l}){const i=t("positioning");e.set("currentPlacement",i.placement);const n=()=>T(l),d=()=>W(l);return H.getPlacement(n,d,{defer:!0,...i,onComplete(h){e.set("currentPlacement",h.placement)}})},scrollToHighlightedItem({context:e,prop:t,scope:l,event:i}){const n=h=>{const o=e.get("highlightedValue");if(o==null||i.current().type.includes("POINTER"))return;const c=ie(l,o),m=y(l),p=t("scrollToIndexFn");if(p){const I=t("collection").indexOf(o);p?.({index:I,immediate:h});return}s.scrollIntoView(c,{rootEl:m,block:"nearest"})};s.raf(()=>n(!0));const d=()=>y(l);return s.observeAttributes(d,{defer:!0,attributes:["data-activedescendant"],callback(){n(!1)}})}},actions:{reposition({context:e,prop:t,scope:l,event:i}){const n=()=>W(l);H.getPlacement(T(l),n,{...t("positioning"),...i.options,defer:!0,listeners:!1,onComplete(d){e.set("currentPlacement",d.placement)}})},toggleVisibility({send:e,prop:t,event:l}){e({type:t("open")?"CONTROLLED.OPEN":"CONTROLLED.CLOSE",previousEvent:l})},highlightPreviousItem({context:e,prop:t}){const l=e.get("highlightedValue");if(l==null)return;const i=t("collection").getPreviousValue(l,1,t("loopFocus"));i!=null&&e.set("highlightedValue",i)},highlightNextItem({context:e,prop:t}){const l=e.get("highlightedValue");if(l==null)return;const i=t("collection").getNextValue(l,1,t("loopFocus"));i!=null&&e.set("highlightedValue",i)},highlightFirstItem({context:e,prop:t}){const l=t("collection").firstValue;e.set("highlightedValue",l)},highlightLastItem({context:e,prop:t}){const l=t("collection").lastValue;e.set("highlightedValue",l)},setInitialFocus({scope:e}){s.raf(()=>{s.getInitialFocus({root:y(e)})?.focus({preventScroll:!0})})},focusTriggerEl({event:e,scope:t}){$(e)&&s.raf(()=>{T(t)?.focus({preventScroll:!0})})},selectHighlightedItem({context:e,prop:t,event:l}){let i=l.value??e.get("highlightedValue");if(i==null||!t("collection").has(i))return;t("onSelect")?.({value:i}),i=t("deselectable")&&!t("multiple")&&e.get("value").includes(i)?null:i,e.set("value",d=>i==null?[]:t("multiple")?s.addOrRemove(d,i):[i])},highlightComputedFirstItem({context:e,prop:t,computed:l}){const i=t("collection"),n=l("hasSelectedItems")?i.sort(e.get("value"))[0]:i.firstValue;e.set("highlightedValue",n)},highlightComputedLastItem({context:e,prop:t,computed:l}){const i=t("collection"),n=l("hasSelectedItems")?i.sort(e.get("value"))[0]:i.lastValue;e.set("highlightedValue",n)},highlightFirstSelectedItem({context:e,prop:t,computed:l}){if(!l("hasSelectedItems"))return;const i=t("collection").sort(e.get("value"))[0];e.set("highlightedValue",i)},highlightItem({context:e,event:t}){e.set("highlightedValue",t.value)},highlightMatchingItem({context:e,prop:t,event:l,refs:i}){const n=t("collection").search(l.key,{state:i.get("typeahead"),currentValue:e.get("highlightedValue")});n!=null&&e.set("highlightedValue",n)},setHighlightedItem({context:e,event:t}){e.set("highlightedValue",t.value)},clearHighlightedItem({context:e}){e.set("highlightedValue",null)},selectItem({context:e,prop:t,event:l}){t("onSelect")?.({value:l.value});const n=t("deselectable")&&!t("multiple")&&e.get("value").includes(l.value)?null:l.value;e.set("value",d=>n==null?[]:t("multiple")?s.addOrRemove(d,n):[n])},clearItem({context:e,event:t}){e.set("value",l=>l.filter(i=>i!==t.value))},setSelectedItems({context:e,event:t}){e.set("value",t.value)},clearSelectedItems({context:e}){e.set("value",[])},selectPreviousItem({context:e,prop:t}){const[l]=e.get("value"),i=t("collection").getPreviousValue(l);i&&e.set("value",[i])},selectNextItem({context:e,prop:t}){const[l]=e.get("value"),i=t("collection").getNextValue(l);i&&e.set("value",[i])},selectFirstItem({context:e,prop:t}){const l=t("collection").firstValue;l&&e.set("value",[l])},selectLastItem({context:e,prop:t}){const l=t("collection").lastValue;l&&e.set("value",[l])},selectMatchingItem({context:e,prop:t,event:l,refs:i}){const n=t("collection").search(l.key,{state:i.get("typeahead"),currentValue:e.get("value")[0]});n!=null&&e.set("value",[n])},scrollContentToTop({prop:e,scope:t}){e("scrollToIndexFn")?e("scrollToIndexFn")?.({index:0,immediate:!0}):y(t)?.scrollTo(0,0)},invokeOnOpen({prop:e}){e("onOpenChange")?.({open:!0})},invokeOnClose({prop:e}){e("onOpenChange")?.({open:!1})},syncSelectElement({context:e,prop:t,scope:l}){const i=N(l);if(i){if(e.get("value").length===0&&!t("multiple")){i.selectedIndex=-1;return}for(const n of i.options)n.selected=e.get("value").includes(n.value)}},syncCollection({context:e,prop:t}){const l=t("collection"),i=l.find(e.get("highlightedValue"));i&&e.set("highlightedItem",i);const n=l.findMany(e.get("value"));e.set("selectedItems",n)},syncSelectedItems({context:e,prop:t}){const l=t("collection"),i=e.get("selectedItems"),d=e.get("value").map(h=>i.find(c=>l.getItemValue(c)===h)||l.find(h));e.set("selectedItems",d)},syncHighlightedItem({context:e,prop:t}){const l=t("collection"),i=e.get("highlightedValue"),n=i?l.find(i):null;e.set("highlightedItem",n)},dispatchChangeEvent({scope:e}){queueMicrotask(()=>{const t=N(e);if(!t)return;const l=e.getWin(),i=new l.Event("change",{bubbles:!0,composed:!0});t.dispatchEvent(i)})}}}});function $(e){const t=e.restoreFocus??e.previousEvent?.restoreFocus;return t==null||!!t}S.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"]);S.createProps()(["item","persistFocus"]);S.createProps()(["id"]);S.createProps()(["htmlFor"]);exports.anatomy=B;exports.connect=le;exports.machine=ne;
|
|
2
|
+
//# sourceMappingURL=index-DhaZ70Qi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DhaZ70Qi.js","sources":["../../node_modules/@zag-js/select/dist/index.mjs"],"sourcesContent":["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":["anatomy","createAnatomy","parts","collection","options","ListCollection","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","state","computed","send","disabled","invalid","readOnly","composite","collection2","open","focused","highlightedValue","highlightedItem","selectedItems","currentPlacement","isTypingAhead","interactive","ariaActiveDescendant","getItemState","props2","_disabled","value","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","isEqual","items","refs","track","action","restoreFocusFn","trackFormControl","contentEl","restoreFocus","trackDismissableElement","positioning","triggerEl","positionerEl","getPlacement","data","immediate","optionEl","contentEl2","scrollToIndexFn","highlightedIndex","scrollIntoView","raf","observeAttributes","getInitialFocus","prev","addOrRemove","v","firstItem","selectEl","option","prevSelectedItems","value2","item2","node","win","changeEvent","createProps"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const a=require("./index-CQURjLlA.js");var b=Object.defineProperty,O=(n,h,t)=>h in n?b(n,h,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[h]=t,r=(n,h,t)=>O(n,typeof h!="symbol"?h+"":h,t),p={itemToValue(n){return typeof n=="string"?n:a.isObject(n)&&a.hasProp(n,"value")?n.value:""},itemToString(n){return typeof n=="string"?n:a.isObject(n)&&a.hasProp(n,"label")?n.label:p.itemToValue(n)},isItemDisabled(n){return a.isObject(n)&&a.hasProp(n,"disabled")?!!n.disabled:!1}},S=class I{constructor(h){this.options=h,r(this,"items"),r(this,"copy",t=>new I({...this.options,items:t??[...this.items]})),r(this,"isEqual",t=>a.isEqual(this.items,t.items)),r(this,"setItems",t=>this.copy(t)),r(this,"getValues",(t=this.items)=>Array.from(t).map(e=>this.getItemValue(e)).filter(Boolean)),r(this,"find",t=>{if(t==null)return null;const e=this.indexOf(t);return e!=null?this.at(e):null}),r(this,"findMany",t=>Array.from(t).map(e=>this.find(e)).filter(e=>e!=null)),r(this,"at",t=>{if(!this.options.groupBy&&!this.options.groupSort)return this.items[t]??null;let e=0;const i=this.group();for(const[,s]of i)for(const l of s){if(e===t)return l;e++}return null}),r(this,"sortFn",(t,e)=>{const i=this.indexOf(t),s=this.indexOf(e);return(i??0)-(s??0)}),r(this,"sort",t=>[...t].sort(this.sortFn.bind(this))),r(this,"getItemValue",t=>t==null?null:this.options.itemToValue?.(t)??p.itemToValue(t)),r(this,"getItemDisabled",t=>t==null?!1:this.options.isItemDisabled?.(t)??p.isItemDisabled(t)),r(this,"stringifyItem",t=>t==null?null:this.options.itemToString?.(t)??p.itemToString(t)),r(this,"stringify",t=>t==null?null:this.stringifyItem(this.find(t))),r(this,"stringifyItems",(t,e=", ")=>Array.from(t).map(i=>this.stringifyItem(i)).filter(Boolean).join(e)),r(this,"stringifyMany",(t,e)=>this.stringifyItems(this.findMany(t),e)),r(this,"has",t=>this.indexOf(t)!==-1),r(this,"hasItem",t=>t==null?!1:this.has(this.getItemValue(t))),r(this,"group",()=>{const{groupBy:t,groupSort:e}=this.options;if(!t)return[["",[...this.items]]];const i=new Map;this.items.forEach((l,u)=>{const o=t(l,u);i.has(o)||i.set(o,[]),i.get(o).push(l)});let s=Array.from(i.entries());return e&&s.sort(([l],[u])=>{if(typeof e=="function")return e(l,u);if(Array.isArray(e)){const o=e.indexOf(l),m=e.indexOf(u);return o===-1?1:m===-1?-1:o-m}return e==="asc"?l.localeCompare(u):e==="desc"?u.localeCompare(l):0}),s}),r(this,"getNextValue",(t,e=1,i=!1)=>{let s=this.indexOf(t);if(s===-1)return null;for(s=i?Math.min(s+e,this.size-1):s+e;s<=this.size&&this.getItemDisabled(this.at(s));)s++;return this.getItemValue(this.at(s))}),r(this,"getPreviousValue",(t,e=1,i=!1)=>{let s=this.indexOf(t);if(s===-1)return null;for(s=i?Math.max(s-e,0):s-e;s>=0&&this.getItemDisabled(this.at(s));)s--;return this.getItemValue(this.at(s))}),r(this,"indexOf",t=>{if(t==null)return-1;if(!this.options.groupBy&&!this.options.groupSort)return this.items.findIndex(s=>this.getItemValue(s)===t);let e=0;const i=this.group();for(const[,s]of i)for(const l of s){if(this.getItemValue(l)===t)return e;e++}return-1}),r(this,"getByText",(t,e)=>{let i=e!=null?B(this.items,this.indexOf(e)):this.items;return t.length===1&&(i=i.filter(l=>this.getItemValue(l)!==e)),i.find(l=>v(this.stringifyItem(l),t))}),r(this,"search",(t,e)=>{const{state:i,currentValue:s,timeout:l=350}=e,u=i.keysSoFar+t,m=u.length>1&&Array.from(u).every(c=>c===u[0])?u[0]:u,x=this.getByText(m,s),V=this.getItemValue(x);function d(){clearTimeout(i.timer),i.timer=-1}function y(c){i.keysSoFar=c,d(),c!==""&&(i.timer=+setTimeout(()=>{y(""),d()},l))}return y(u),V}),r(this,"update",(t,e)=>{let i=this.indexOf(t);return i===-1?this:this.copy([...this.items.slice(0,i),e,...this.items.slice(i+1)])}),r(this,"upsert",(t,e,i="append")=>{let s=this.indexOf(t);return s===-1?(i==="append"?this.append:this.prepend)(e):this.copy([...this.items.slice(0,s),e,...this.items.slice(s+1)])}),r(this,"insert",(t,...e)=>this.copy(f(this.items,t,...e))),r(this,"insertBefore",(t,...e)=>{let i=this.indexOf(t);if(i===-1)if(this.items.length===0)i=0;else return this;return this.copy(f(this.items,i,...e))}),r(this,"insertAfter",(t,...e)=>{let i=this.indexOf(t);if(i===-1)if(this.items.length===0)i=0;else return this;return this.copy(f(this.items,i+1,...e))}),r(this,"prepend",(...t)=>this.copy(f(this.items,0,...t))),r(this,"append",(...t)=>this.copy(f(this.items,this.items.length,...t))),r(this,"filter",t=>{const e=this.items.filter((i,s)=>t(this.stringifyItem(i),s,i));return this.copy(e)}),r(this,"remove",(...t)=>{const e=t.map(i=>typeof i=="string"?i:this.getItemValue(i));return this.copy(this.items.filter(i=>{const s=this.getItemValue(i);return s==null?!1:!e.includes(s)}))}),r(this,"move",(t,e)=>{const i=this.indexOf(t);return i===-1?this:this.copy(g(this.items,[i],e))}),r(this,"moveBefore",(t,...e)=>{let i=this.items.findIndex(l=>this.getItemValue(l)===t);if(i===-1)return this;let s=e.map(l=>this.items.findIndex(u=>this.getItemValue(u)===l)).sort((l,u)=>l-u);return this.copy(g(this.items,s,i))}),r(this,"moveAfter",(t,...e)=>{let i=this.items.findIndex(l=>this.getItemValue(l)===t);if(i===-1)return this;let s=e.map(l=>this.items.findIndex(u=>this.getItemValue(u)===l)).sort((l,u)=>l-u);return this.copy(g(this.items,s,i+1))}),r(this,"reorder",(t,e)=>this.copy(g(this.items,[t],e))),r(this,"compareValue",(t,e)=>{const i=this.indexOf(t),s=this.indexOf(e);return i<s?-1:i>s?1:0}),r(this,"range",(t,e)=>{let i=[],s=t;for(;s!=null;){if(this.find(s)&&i.push(s),s===e)return i;s=this.getNextValue(s)}return[]}),r(this,"getValueRange",(t,e)=>t&&e?this.compareValue(t,e)<=0?this.range(t,e):this.range(e,t):[]),r(this,"toString",()=>{let t="";for(const e of this.items){const i=this.getItemValue(e),s=this.stringifyItem(e),l=this.getItemDisabled(e),u=[i,s,l].filter(Boolean).join(":");t+=u+","}return t}),r(this,"toJSON",()=>({size:this.size,first:this.firstValue,last:this.lastValue})),this.items=[...h.items]}get size(){return this.items.length}get firstValue(){let h=0;for(;this.getItemDisabled(this.at(h));)h++;return this.getItemValue(this.at(h))}get lastValue(){let h=this.size-1;for(;this.getItemDisabled(this.at(h));)h--;return this.getItemValue(this.at(h))}*[Symbol.iterator](){yield*this.items}},v=(n,h)=>!!n?.toLowerCase().startsWith(h.toLowerCase()),B=(n,h)=>n.map((t,e)=>n[(Math.max(h,0)+e)%n.length]);function f(n,h,...t){return[...n.slice(0,h),...t,...n.slice(h)]}function g(n,h,t){h=[...h].sort((i,s)=>i-s);const e=h.map(i=>n[i]);for(let i=h.length-1;i>=0;i--)n=[...n.slice(0,h[i]),...n.slice(h[i]+1)];return t=Math.max(0,t-h.filter(i=>i<t).length),[...n.slice(0,t),...e,...n.slice(t)]}exports.ListCollection=S;
|
|
2
|
+
//# sourceMappingURL=index-LDDF3MqB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-LDDF3MqB.js","sources":["../../node_modules/@zag-js/collection/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"],"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"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
function
|
|
1
|
+
import { V as d, W as E, X as g, Q as L, Y as F } from "./index-BcafYtXX.js";
|
|
2
|
+
function T(e) {
|
|
3
3
|
return !(e.metaKey || !F() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
|
|
4
4
|
}
|
|
5
|
-
var
|
|
6
|
-
function
|
|
5
|
+
var M = /* @__PURE__ */ new Set(["checkbox", "radio", "range", "color", "file", "image", "button", "submit", "reset"]);
|
|
6
|
+
function H(e, r, t) {
|
|
7
7
|
const n = t ? L(t) : null, i = d(n);
|
|
8
|
-
return e = e || n instanceof i.HTMLInputElement && !
|
|
8
|
+
return e = e || n instanceof i.HTMLInputElement && !M.has(n?.type) || n instanceof i.HTMLTextAreaElement || n instanceof i.HTMLElement && n.isContentEditable, !(e && r === "keyboard" && t instanceof i.KeyboardEvent && !Reflect.has(K, t.key));
|
|
9
9
|
}
|
|
10
|
-
var s = null, v = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Map(), u = !1, f = !1,
|
|
10
|
+
var s = null, v = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Map(), u = !1, f = !1, K = {
|
|
11
11
|
Tab: !0,
|
|
12
12
|
Escape: !0
|
|
13
13
|
};
|
|
@@ -16,7 +16,7 @@ function c(e, r) {
|
|
|
16
16
|
t(e, r);
|
|
17
17
|
}
|
|
18
18
|
function l(e) {
|
|
19
|
-
u = !0,
|
|
19
|
+
u = !0, T(e) && (s = "keyboard", c("keyboard", e));
|
|
20
20
|
}
|
|
21
21
|
function o(e) {
|
|
22
22
|
s = "pointer", (e.type === "mousedown" || e.type === "pointerdown") && (u = !0, c("pointer", e));
|
|
@@ -31,7 +31,7 @@ function w(e) {
|
|
|
31
31
|
function h() {
|
|
32
32
|
u = !1, f = !0;
|
|
33
33
|
}
|
|
34
|
-
function
|
|
34
|
+
function V(e) {
|
|
35
35
|
if (typeof window > "u" || a.get(d(e)))
|
|
36
36
|
return;
|
|
37
37
|
const r = d(e), t = E(e);
|
|
@@ -45,12 +45,12 @@ function C(e) {
|
|
|
45
45
|
}), t.addEventListener("keydown", l, !0), t.addEventListener("keyup", l, !0), t.addEventListener("click", b, !0), r.addEventListener("focus", w, !0), r.addEventListener("blur", h, !1), typeof r.PointerEvent < "u" ? (t.addEventListener("pointerdown", o, !0), t.addEventListener("pointermove", o, !0), t.addEventListener("pointerup", o, !0)) : (t.addEventListener("mousedown", o, !0), t.addEventListener("mousemove", o, !0), t.addEventListener("mouseup", o, !0)), r.addEventListener(
|
|
46
46
|
"beforeunload",
|
|
47
47
|
() => {
|
|
48
|
-
|
|
48
|
+
C(e);
|
|
49
49
|
},
|
|
50
50
|
{ once: !0 }
|
|
51
51
|
), a.set(r, { focus: n });
|
|
52
52
|
}
|
|
53
|
-
var
|
|
53
|
+
var C = (e, r) => {
|
|
54
54
|
const t = d(e), n = E(e);
|
|
55
55
|
a.has(t) && (t.HTMLElement.prototype.focus = a.get(t).focus, n.removeEventListener("keydown", l, !0), n.removeEventListener("keyup", l, !0), n.removeEventListener("click", b, !0), t.removeEventListener("focus", w, !0), t.removeEventListener("blur", h, !1), typeof t.PointerEvent < "u" ? (n.removeEventListener("pointerdown", o, !0), n.removeEventListener("pointermove", o, !0), n.removeEventListener("pointerup", o, !0)) : (n.removeEventListener("mousedown", o, !0), n.removeEventListener("mousemove", o, !0), n.removeEventListener("mouseup", o, !0)), a.delete(t));
|
|
56
56
|
};
|
|
@@ -59,9 +59,9 @@ function y() {
|
|
|
59
59
|
}
|
|
60
60
|
function P(e = {}) {
|
|
61
61
|
const { isTextInput: r, autoFocus: t, onChange: n, root: i } = e;
|
|
62
|
-
|
|
62
|
+
V(i), n?.({ isFocusVisible: t || y(), modality: s });
|
|
63
63
|
const p = (m, k) => {
|
|
64
|
-
|
|
64
|
+
H(!!r, m, k) && n?.({ isFocusVisible: y(), modality: m });
|
|
65
65
|
};
|
|
66
66
|
return v.add(p), () => {
|
|
67
67
|
v.delete(p);
|
|
@@ -71,4 +71,4 @@ export {
|
|
|
71
71
|
y as i,
|
|
72
72
|
P as t
|
|
73
73
|
};
|
|
74
|
-
//# sourceMappingURL=index-
|
|
74
|
+
//# sourceMappingURL=index-NrnnmC8w.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-D0DKQnEK.js","sources":["../../node_modules/@zag-js/focus-visible/dist/index.mjs"],"sourcesContent":["import { getWindow, getDocument, getEventTarget, isVirtualClick, isMac } from '@zag-js/dom-query';\n\n// src/index.ts\nfunction isValidKey(e) {\n return !(e.metaKey || !isMac() && e.altKey || e.ctrlKey || e.key === \"Control\" || e.key === \"Shift\" || e.key === \"Meta\");\n}\nvar nonTextInputTypes = /* @__PURE__ */ new Set([\"checkbox\", \"radio\", \"range\", \"color\", \"file\", \"image\", \"button\", \"submit\", \"reset\"]);\nfunction isKeyboardFocusEvent(isTextInput, modality, e) {\n const target = e ? getEventTarget(e) : null;\n const win = getWindow(target);\n isTextInput = isTextInput || target instanceof win.HTMLInputElement && !nonTextInputTypes.has(target?.type) || target instanceof win.HTMLTextAreaElement || target instanceof win.HTMLElement && target.isContentEditable;\n return !(isTextInput && modality === \"keyboard\" && e instanceof win.KeyboardEvent && !Reflect.has(FOCUS_VISIBLE_INPUT_KEYS, e.key));\n}\nvar currentModality = null;\nvar changeHandlers = /* @__PURE__ */ new Set();\nvar listenerMap = /* @__PURE__ */ new Map();\nvar hasEventBeforeFocus = false;\nvar hasBlurredWindowRecently = false;\nvar FOCUS_VISIBLE_INPUT_KEYS = {\n Tab: true,\n Escape: true\n};\nfunction triggerChangeHandlers(modality, e) {\n for (let handler of changeHandlers) {\n handler(modality, e);\n }\n}\nfunction handleKeyboardEvent(e) {\n hasEventBeforeFocus = true;\n if (isValidKey(e)) {\n currentModality = \"keyboard\";\n triggerChangeHandlers(\"keyboard\", e);\n }\n}\nfunction handlePointerEvent(e) {\n currentModality = \"pointer\";\n if (e.type === \"mousedown\" || e.type === \"pointerdown\") {\n hasEventBeforeFocus = true;\n triggerChangeHandlers(\"pointer\", e);\n }\n}\nfunction handleClickEvent(e) {\n if (isVirtualClick(e)) {\n hasEventBeforeFocus = true;\n currentModality = \"virtual\";\n }\n}\nfunction handleFocusEvent(e) {\n const target = getEventTarget(e);\n if (target === getWindow(target) || target === getDocument(target)) {\n return;\n }\n if (!hasEventBeforeFocus && !hasBlurredWindowRecently) {\n currentModality = \"virtual\";\n triggerChangeHandlers(\"virtual\", e);\n }\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = false;\n}\nfunction handleWindowBlur() {\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = true;\n}\nfunction setupGlobalFocusEvents(root) {\n if (typeof window === \"undefined\" || listenerMap.get(getWindow(root))) {\n return;\n }\n const win = getWindow(root);\n const doc = getDocument(root);\n let focus = win.HTMLElement.prototype.focus;\n function patchedFocus() {\n currentModality = \"virtual\";\n triggerChangeHandlers(\"virtual\", null);\n hasEventBeforeFocus = true;\n focus.apply(this, arguments);\n }\n Object.defineProperty(win.HTMLElement.prototype, \"focus\", {\n configurable: true,\n value: patchedFocus\n });\n doc.addEventListener(\"keydown\", handleKeyboardEvent, true);\n doc.addEventListener(\"keyup\", handleKeyboardEvent, true);\n doc.addEventListener(\"click\", handleClickEvent, true);\n win.addEventListener(\"focus\", handleFocusEvent, true);\n win.addEventListener(\"blur\", handleWindowBlur, false);\n if (typeof win.PointerEvent !== \"undefined\") {\n doc.addEventListener(\"pointerdown\", handlePointerEvent, true);\n doc.addEventListener(\"pointermove\", handlePointerEvent, true);\n doc.addEventListener(\"pointerup\", handlePointerEvent, true);\n } else {\n doc.addEventListener(\"mousedown\", handlePointerEvent, true);\n doc.addEventListener(\"mousemove\", handlePointerEvent, true);\n doc.addEventListener(\"mouseup\", handlePointerEvent, true);\n }\n win.addEventListener(\n \"beforeunload\",\n () => {\n tearDownWindowFocusTracking(root);\n },\n { once: true }\n );\n listenerMap.set(win, { focus });\n}\nvar tearDownWindowFocusTracking = (root, loadListener) => {\n const win = getWindow(root);\n const doc = getDocument(root);\n if (!listenerMap.has(win)) {\n return;\n }\n win.HTMLElement.prototype.focus = listenerMap.get(win).focus;\n doc.removeEventListener(\"keydown\", handleKeyboardEvent, true);\n doc.removeEventListener(\"keyup\", handleKeyboardEvent, true);\n doc.removeEventListener(\"click\", handleClickEvent, true);\n win.removeEventListener(\"focus\", handleFocusEvent, true);\n win.removeEventListener(\"blur\", handleWindowBlur, false);\n if (typeof win.PointerEvent !== \"undefined\") {\n doc.removeEventListener(\"pointerdown\", handlePointerEvent, true);\n doc.removeEventListener(\"pointermove\", handlePointerEvent, true);\n doc.removeEventListener(\"pointerup\", handlePointerEvent, true);\n } else {\n doc.removeEventListener(\"mousedown\", handlePointerEvent, true);\n doc.removeEventListener(\"mousemove\", handlePointerEvent, true);\n doc.removeEventListener(\"mouseup\", handlePointerEvent, true);\n }\n listenerMap.delete(win);\n};\nfunction getInteractionModality() {\n return currentModality;\n}\nfunction setInteractionModality(modality) {\n currentModality = modality;\n triggerChangeHandlers(modality, null);\n}\nfunction trackInteractionModality(props) {\n const { onChange, root } = props;\n setupGlobalFocusEvents(root);\n onChange({ modality: currentModality });\n const handler = () => onChange({ modality: currentModality });\n changeHandlers.add(handler);\n return () => {\n changeHandlers.delete(handler);\n };\n}\nfunction isFocusVisible() {\n return currentModality === \"keyboard\";\n}\nfunction trackFocusVisible(props = {}) {\n const { isTextInput, autoFocus, onChange, root } = props;\n setupGlobalFocusEvents(root);\n onChange?.({ isFocusVisible: autoFocus || isFocusVisible(), modality: currentModality });\n const handler = (modality, e) => {\n if (!isKeyboardFocusEvent(!!isTextInput, modality, e)) return;\n onChange?.({ isFocusVisible: isFocusVisible(), modality });\n };\n changeHandlers.add(handler);\n return () => {\n changeHandlers.delete(handler);\n };\n}\n\nexport { getInteractionModality, isFocusVisible, listenerMap, setInteractionModality, trackFocusVisible, trackInteractionModality };\n"],"names":["isValidKey","isMac","nonTextInputTypes","isKeyboardFocusEvent","isTextInput","modality","e","target","getEventTarget","win","getWindow","FOCUS_VISIBLE_INPUT_KEYS","currentModality","changeHandlers","listenerMap","hasEventBeforeFocus","hasBlurredWindowRecently","triggerChangeHandlers","handler","handleKeyboardEvent","handlePointerEvent","handleClickEvent","isVirtualClick","handleFocusEvent","getDocument","handleWindowBlur","setupGlobalFocusEvents","root","doc","focus","patchedFocus","tearDownWindowFocusTracking","loadListener","isFocusVisible","trackFocusVisible","props","autoFocus","onChange"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index-NrnnmC8w.js","sources":["../../node_modules/@zag-js/focus-visible/dist/index.mjs"],"sourcesContent":["import { getWindow, getDocument, getEventTarget, isVirtualClick, isMac } from '@zag-js/dom-query';\n\n// src/index.ts\nfunction isValidKey(e) {\n return !(e.metaKey || !isMac() && e.altKey || e.ctrlKey || e.key === \"Control\" || e.key === \"Shift\" || e.key === \"Meta\");\n}\nvar nonTextInputTypes = /* @__PURE__ */ new Set([\"checkbox\", \"radio\", \"range\", \"color\", \"file\", \"image\", \"button\", \"submit\", \"reset\"]);\nfunction isKeyboardFocusEvent(isTextInput, modality, e) {\n const target = e ? getEventTarget(e) : null;\n const win = getWindow(target);\n isTextInput = isTextInput || target instanceof win.HTMLInputElement && !nonTextInputTypes.has(target?.type) || target instanceof win.HTMLTextAreaElement || target instanceof win.HTMLElement && target.isContentEditable;\n return !(isTextInput && modality === \"keyboard\" && e instanceof win.KeyboardEvent && !Reflect.has(FOCUS_VISIBLE_INPUT_KEYS, e.key));\n}\nvar currentModality = null;\nvar changeHandlers = /* @__PURE__ */ new Set();\nvar listenerMap = /* @__PURE__ */ new Map();\nvar hasEventBeforeFocus = false;\nvar hasBlurredWindowRecently = false;\nvar FOCUS_VISIBLE_INPUT_KEYS = {\n Tab: true,\n Escape: true\n};\nfunction triggerChangeHandlers(modality, e) {\n for (let handler of changeHandlers) {\n handler(modality, e);\n }\n}\nfunction handleKeyboardEvent(e) {\n hasEventBeforeFocus = true;\n if (isValidKey(e)) {\n currentModality = \"keyboard\";\n triggerChangeHandlers(\"keyboard\", e);\n }\n}\nfunction handlePointerEvent(e) {\n currentModality = \"pointer\";\n if (e.type === \"mousedown\" || e.type === \"pointerdown\") {\n hasEventBeforeFocus = true;\n triggerChangeHandlers(\"pointer\", e);\n }\n}\nfunction handleClickEvent(e) {\n if (isVirtualClick(e)) {\n hasEventBeforeFocus = true;\n currentModality = \"virtual\";\n }\n}\nfunction handleFocusEvent(e) {\n const target = getEventTarget(e);\n if (target === getWindow(target) || target === getDocument(target)) {\n return;\n }\n if (!hasEventBeforeFocus && !hasBlurredWindowRecently) {\n currentModality = \"virtual\";\n triggerChangeHandlers(\"virtual\", e);\n }\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = false;\n}\nfunction handleWindowBlur() {\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = true;\n}\nfunction setupGlobalFocusEvents(root) {\n if (typeof window === \"undefined\" || listenerMap.get(getWindow(root))) {\n return;\n }\n const win = getWindow(root);\n const doc = getDocument(root);\n let focus = win.HTMLElement.prototype.focus;\n function patchedFocus() {\n currentModality = \"virtual\";\n triggerChangeHandlers(\"virtual\", null);\n hasEventBeforeFocus = true;\n focus.apply(this, arguments);\n }\n Object.defineProperty(win.HTMLElement.prototype, \"focus\", {\n configurable: true,\n value: patchedFocus\n });\n doc.addEventListener(\"keydown\", handleKeyboardEvent, true);\n doc.addEventListener(\"keyup\", handleKeyboardEvent, true);\n doc.addEventListener(\"click\", handleClickEvent, true);\n win.addEventListener(\"focus\", handleFocusEvent, true);\n win.addEventListener(\"blur\", handleWindowBlur, false);\n if (typeof win.PointerEvent !== \"undefined\") {\n doc.addEventListener(\"pointerdown\", handlePointerEvent, true);\n doc.addEventListener(\"pointermove\", handlePointerEvent, true);\n doc.addEventListener(\"pointerup\", handlePointerEvent, true);\n } else {\n doc.addEventListener(\"mousedown\", handlePointerEvent, true);\n doc.addEventListener(\"mousemove\", handlePointerEvent, true);\n doc.addEventListener(\"mouseup\", handlePointerEvent, true);\n }\n win.addEventListener(\n \"beforeunload\",\n () => {\n tearDownWindowFocusTracking(root);\n },\n { once: true }\n );\n listenerMap.set(win, { focus });\n}\nvar tearDownWindowFocusTracking = (root, loadListener) => {\n const win = getWindow(root);\n const doc = getDocument(root);\n if (!listenerMap.has(win)) {\n return;\n }\n win.HTMLElement.prototype.focus = listenerMap.get(win).focus;\n doc.removeEventListener(\"keydown\", handleKeyboardEvent, true);\n doc.removeEventListener(\"keyup\", handleKeyboardEvent, true);\n doc.removeEventListener(\"click\", handleClickEvent, true);\n win.removeEventListener(\"focus\", handleFocusEvent, true);\n win.removeEventListener(\"blur\", handleWindowBlur, false);\n if (typeof win.PointerEvent !== \"undefined\") {\n doc.removeEventListener(\"pointerdown\", handlePointerEvent, true);\n doc.removeEventListener(\"pointermove\", handlePointerEvent, true);\n doc.removeEventListener(\"pointerup\", handlePointerEvent, true);\n } else {\n doc.removeEventListener(\"mousedown\", handlePointerEvent, true);\n doc.removeEventListener(\"mousemove\", handlePointerEvent, true);\n doc.removeEventListener(\"mouseup\", handlePointerEvent, true);\n }\n listenerMap.delete(win);\n};\nfunction getInteractionModality() {\n return currentModality;\n}\nfunction setInteractionModality(modality) {\n currentModality = modality;\n triggerChangeHandlers(modality, null);\n}\nfunction trackInteractionModality(props) {\n const { onChange, root } = props;\n setupGlobalFocusEvents(root);\n onChange({ modality: currentModality });\n const handler = () => onChange({ modality: currentModality });\n changeHandlers.add(handler);\n return () => {\n changeHandlers.delete(handler);\n };\n}\nfunction isFocusVisible() {\n return currentModality === \"keyboard\";\n}\nfunction trackFocusVisible(props = {}) {\n const { isTextInput, autoFocus, onChange, root } = props;\n setupGlobalFocusEvents(root);\n onChange?.({ isFocusVisible: autoFocus || isFocusVisible(), modality: currentModality });\n const handler = (modality, e) => {\n if (!isKeyboardFocusEvent(!!isTextInput, modality, e)) return;\n onChange?.({ isFocusVisible: isFocusVisible(), modality });\n };\n changeHandlers.add(handler);\n return () => {\n changeHandlers.delete(handler);\n };\n}\n\nexport { getInteractionModality, isFocusVisible, listenerMap, setInteractionModality, trackFocusVisible, trackInteractionModality };\n"],"names":["isValidKey","isMac","nonTextInputTypes","isKeyboardFocusEvent","isTextInput","modality","e","target","getEventTarget","win","getWindow","FOCUS_VISIBLE_INPUT_KEYS","currentModality","changeHandlers","listenerMap","hasEventBeforeFocus","hasBlurredWindowRecently","triggerChangeHandlers","handler","handleKeyboardEvent","handlePointerEvent","handleClickEvent","isVirtualClick","handleFocusEvent","getDocument","handleWindowBlur","setupGlobalFocusEvents","root","doc","focus","patchedFocus","tearDownWindowFocusTracking","loadListener","isFocusVisible","trackFocusVisible","props","autoFocus","onChange"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { au as k, aK as O, aL as it,
|
|
2
|
-
import { c as _ } from "./use-locale-context-
|
|
3
|
-
import { g as ca, a as ga } from "./index-
|
|
4
|
-
import { t as pa, b as ha } from "./index-
|
|
1
|
+
import { au as k, aK as O, aL as it, w as ge, aM as ie, aN as Ae, f as W, p as z, C as ot, r as $, aO as jt, d as st, aP as Wt, aQ as lt, G as ut, c as d, v as dt, aA as ve, l as oe, y as se, k as be, H as Ee, J as zt, at as Y, I as ke, q as le, A as qt, ai as ct, aR as Kt, aS as Xt, _ as gt, $ as pt, aT as Yt, aU as Zt, z as Jt, ap as Qt, V as ht, e as X, j as ea, aV as ta, ab as ue, ae as aa, a0 as Me, aW as na, O as Ue, Q as ft, b as Z, E as ra, i as ia, aX as mt, aY as oa, aZ as sa, a_ as la, ay as ua, a$ as Ge, b0 as Ce, b1 as da } from "./index-BcafYtXX.js";
|
|
2
|
+
import { c as _ } from "./use-locale-context-DmcfCmf9.js";
|
|
3
|
+
import { g as ca, a as ga } from "./index-DcmJgLUo.js";
|
|
4
|
+
import { t as pa, b as ha } from "./index-mXLFPoCI.js";
|
|
5
5
|
var fa = Object.defineProperty, ma = (e, t, a) => t in e ? fa(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a, Ve = (e, t, a) => ma(e, t + "", a), va = (e, t, a) => {
|
|
6
6
|
const n = `linear-gradient(to ${e[+!t]}, transparent, #000)`;
|
|
7
7
|
return {
|
|
@@ -4112,4 +4112,4 @@ export {
|
|
|
4112
4112
|
Qr as t,
|
|
4113
4113
|
Jr as u
|
|
4114
4114
|
};
|
|
4115
|
-
//# sourceMappingURL=index-
|
|
4115
|
+
//# sourceMappingURL=index-hPXhx9Mi.js.map
|