@televet/kibble-ui 4.0.0-beta.68 → 4.0.0-beta.7
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/README.md +0 -40
- package/dist/chunks/alert.types-BgmtNKXK.js +2 -0
- package/dist/chunks/alert.types-BgmtNKXK.js.map +1 -0
- package/dist/chunks/alert.types-Bxdx-xbS.js +172 -0
- package/dist/chunks/alert.types-Bxdx-xbS.js.map +1 -0
- package/dist/chunks/avatar.component-BdxN6QYq.js +307 -0
- package/dist/chunks/avatar.component-BdxN6QYq.js.map +1 -0
- package/dist/chunks/avatar.component-BzPaBLJu.js +2 -0
- package/dist/chunks/avatar.component-BzPaBLJu.js.map +1 -0
- package/dist/chunks/{avatarGroup.component-lvFlOaqP.js → avatarGroup.component-CceV-fW0.js} +28 -27
- package/dist/chunks/{avatarGroup.component-lvFlOaqP.js.map → avatarGroup.component-CceV-fW0.js.map} +1 -1
- package/dist/chunks/avatarGroup.component-Q43nemix.js +2 -0
- package/dist/chunks/{avatarGroup.component-Cyoh97E9.js.map → avatarGroup.component-Q43nemix.js.map} +1 -1
- package/dist/chunks/button.component-B0GkYzVz.js +2 -0
- package/dist/chunks/button.component-B0GkYzVz.js.map +1 -0
- package/dist/chunks/{button.component-BpF3MzbZ.js → button.component-BtkAjIWe.js} +10 -10
- package/dist/chunks/button.component-BtkAjIWe.js.map +1 -0
- package/dist/chunks/buttonGroup.component-B2VRV-q9.js +2 -0
- package/dist/chunks/buttonGroup.component-B2VRV-q9.js.map +1 -0
- package/dist/chunks/buttonGroup.component-ZElXi_Hz.js +67 -0
- package/dist/chunks/buttonGroup.component-ZElXi_Hz.js.map +1 -0
- package/dist/chunks/card.component-HX-4Y0j7.js +51 -0
- package/dist/chunks/card.component-HX-4Y0j7.js.map +1 -0
- package/dist/chunks/card.component-ZIoJIWVV.js +2 -0
- package/dist/chunks/card.component-ZIoJIWVV.js.map +1 -0
- package/dist/chunks/{theme.provider-Dd0L8qXA.js → chakra-BqBkjpvZ.js} +11093 -11916
- package/dist/chunks/chakra-BqBkjpvZ.js.map +1 -0
- package/dist/chunks/chakra-DmF8Cxqs.js +5 -0
- package/dist/chunks/chakra-DmF8Cxqs.js.map +1 -0
- package/dist/chunks/characterCounter.component-BXxyn_IB.js +2 -0
- package/dist/chunks/{characterCounter.component-MBtgMpUc.js.map → characterCounter.component-BXxyn_IB.js.map} +1 -1
- package/dist/chunks/{characterCounter.component-B0MF_ObL.js → characterCounter.component-DhiMcztY.js} +12 -14
- package/dist/chunks/{characterCounter.component-B0MF_ObL.js.map → characterCounter.component-DhiMcztY.js.map} +1 -1
- package/dist/chunks/checkbox.component-DCdt-YxF.js +90 -0
- package/dist/chunks/checkbox.component-DCdt-YxF.js.map +1 -0
- package/dist/chunks/checkbox.component-jiWqSWP0.js +2 -0
- package/dist/chunks/checkbox.component-jiWqSWP0.js.map +1 -0
- package/dist/chunks/checkbox.records-DJfdKuOe.js +2 -0
- package/dist/chunks/checkbox.records-DJfdKuOe.js.map +1 -0
- package/dist/chunks/checkbox.records-JWbKQ684.js +14 -0
- package/dist/chunks/checkbox.records-JWbKQ684.js.map +1 -0
- package/dist/chunks/checkboxGroup.component-BYKUQW4y.js +2 -0
- package/dist/chunks/{checkboxGroup.component-DYiLp3m_.js.map → checkboxGroup.component-BYKUQW4y.js.map} +1 -1
- package/dist/chunks/checkboxGroup.component-DcIdfbbl.js +51 -0
- package/dist/chunks/{checkboxGroup.component-CMyApVxs.js.map → checkboxGroup.component-DcIdfbbl.js.map} +1 -1
- package/dist/chunks/{conversationCard.component-BirDNlVs.js → conversationCard.component-BSfDNuuw.js} +49 -51
- package/dist/chunks/conversationCard.component-BSfDNuuw.js.map +1 -0
- package/dist/chunks/conversationCard.component-BcHNpQ76.js +2 -0
- package/dist/chunks/conversationCard.component-BcHNpQ76.js.map +1 -0
- package/dist/chunks/date-1NFv48Qu.js +3598 -0
- package/dist/chunks/date-1NFv48Qu.js.map +1 -0
- package/dist/chunks/date-Du64Exix.js +15 -0
- package/dist/chunks/date-Du64Exix.js.map +1 -0
- package/dist/chunks/datePicker.component-CnRDt24V.js +2 -0
- package/dist/chunks/datePicker.component-CnRDt24V.js.map +1 -0
- package/dist/chunks/datePicker.component-DubnEnlU.js +750 -0
- package/dist/chunks/datePicker.component-DubnEnlU.js.map +1 -0
- package/dist/chunks/dnd-4IMP_kRN.js +6 -0
- package/dist/chunks/dnd-4IMP_kRN.js.map +1 -0
- package/dist/chunks/{sortableList.component-Dlq8P2tc.js → dnd-DDR6viHX.js} +887 -1015
- package/dist/chunks/dnd-DDR6viHX.js.map +1 -0
- package/dist/chunks/heading.component-B8niLTxz.js +10 -0
- package/dist/chunks/heading.component-B8niLTxz.js.map +1 -0
- package/dist/chunks/heading.component-CExbjSBi.js +2 -0
- package/dist/chunks/heading.component-CExbjSBi.js.map +1 -0
- package/dist/chunks/heading.records-BaWnrbgl.js +14 -0
- package/dist/chunks/heading.records-BaWnrbgl.js.map +1 -0
- package/dist/chunks/heading.records-CbR05iL_.js +2 -0
- package/dist/chunks/heading.records-CbR05iL_.js.map +1 -0
- package/dist/chunks/{icon.component-DGNCL1Yc.js → icon.component-DjNY589M.js} +16 -14
- package/dist/chunks/icon.component-DjNY589M.js.map +1 -0
- package/dist/chunks/icon.component-DtX9HDyk.js +2 -0
- package/dist/chunks/icon.component-DtX9HDyk.js.map +1 -0
- package/dist/chunks/link.component-DjkiASIu.js +58 -0
- package/dist/chunks/link.component-DjkiASIu.js.map +1 -0
- package/dist/chunks/link.component-XWINESZ0.js +2 -0
- package/dist/chunks/link.component-XWINESZ0.js.map +1 -0
- package/dist/chunks/menu.component-CT28-CuT.js +2 -0
- package/dist/chunks/menu.component-CT28-CuT.js.map +1 -0
- package/dist/chunks/menu.component-gxhQh-pU.js +390 -0
- package/dist/chunks/menu.component-gxhQh-pU.js.map +1 -0
- package/dist/chunks/modal.types-CcUqszK6.js +2 -0
- package/dist/chunks/modal.types-CcUqszK6.js.map +1 -0
- package/dist/chunks/modal.types-pXkUwszR.js +146 -0
- package/dist/chunks/modal.types-pXkUwszR.js.map +1 -0
- package/dist/chunks/notificationCounter.component-D6v39lna.js +2 -0
- package/dist/chunks/{notificationCounter.component-BhZcuBmr.js.map → notificationCounter.component-D6v39lna.js.map} +1 -1
- package/dist/chunks/{notificationCounter.component-CHlLTEiF.js → notificationCounter.component-DU5P6Ilh.js} +8 -10
- package/dist/chunks/{notificationCounter.component-CHlLTEiF.js.map → notificationCounter.component-DU5P6Ilh.js.map} +1 -1
- package/dist/chunks/popover.component-CnJmg9qf.js +221 -0
- package/dist/chunks/popover.component-CnJmg9qf.js.map +1 -0
- package/dist/chunks/popover.component-DdC0CY7-.js +2 -0
- package/dist/chunks/popover.component-DdC0CY7-.js.map +1 -0
- package/dist/chunks/popover.recipe-DnCuZJd3.js +123 -0
- package/dist/chunks/popover.recipe-DnCuZJd3.js.map +1 -0
- package/dist/chunks/popover.recipe-Pfz3evii.js +2 -0
- package/dist/chunks/popover.recipe-Pfz3evii.js.map +1 -0
- package/dist/chunks/radio.records-BxCn4oUd.js +2 -0
- package/dist/chunks/radio.records-BxCn4oUd.js.map +1 -0
- package/dist/chunks/radio.records-Cc3kP4Vn.js +14 -0
- package/dist/chunks/radio.records-Cc3kP4Vn.js.map +1 -0
- package/dist/chunks/radioGroup.component-Cmi6MDqq.js +2 -0
- package/dist/chunks/radioGroup.component-Cmi6MDqq.js.map +1 -0
- package/dist/chunks/radioGroup.component-D96ItNYx.js +151 -0
- package/dist/chunks/radioGroup.component-D96ItNYx.js.map +1 -0
- package/dist/chunks/{ratingDots.component-B2jdV6Uk.js → ratingDots.component-B4OK_lXC.js} +28 -31
- package/dist/chunks/{ratingDots.component-B2jdV6Uk.js.map → ratingDots.component-B4OK_lXC.js.map} +1 -1
- package/dist/chunks/ratingDots.component-DOZX6EE0.js +2 -0
- package/dist/chunks/{ratingDots.component-DV7pmIJJ.js.map → ratingDots.component-DOZX6EE0.js.map} +1 -1
- package/dist/chunks/select.component-CqhmG4oz.js +2 -0
- package/dist/chunks/select.component-CqhmG4oz.js.map +1 -0
- package/dist/chunks/select.component-_JVxRL_-.js +129 -0
- package/dist/chunks/select.component-_JVxRL_-.js.map +1 -0
- package/dist/chunks/sortableList.component-BH9-C_Pe.js +2 -0
- package/dist/chunks/sortableList.component-BH9-C_Pe.js.map +1 -0
- package/dist/chunks/sortableList.component-CdDArkRq.js +145 -0
- package/dist/chunks/sortableList.component-CdDArkRq.js.map +1 -0
- package/dist/chunks/spinner.component-CUuidnSK.js +2 -0
- package/dist/chunks/{spinner.component-DBCa-ZPE.js.map → spinner.component-CUuidnSK.js.map} +1 -1
- package/dist/chunks/{spinner.component-DsDyKpq2.js → spinner.component-D5tkelNc.js} +19 -21
- package/dist/chunks/spinner.component-D5tkelNc.js.map +1 -0
- package/dist/chunks/styledAvatar.types-CMdLnJHx.js +2 -0
- package/dist/chunks/styledAvatar.types-CMdLnJHx.js.map +1 -0
- package/dist/chunks/{styledAvatar.types-X9FV2vOM.js → styledAvatar.types-CoxQchLt.js} +3 -3
- package/dist/chunks/styledAvatar.types-CoxQchLt.js.map +1 -0
- package/dist/chunks/switch.component-6jkW8-JB.js +2 -0
- package/dist/chunks/switch.component-6jkW8-JB.js.map +1 -0
- package/dist/chunks/switch.component-BopLXT0i.js +53 -0
- package/dist/chunks/switch.component-BopLXT0i.js.map +1 -0
- package/dist/chunks/tabs.component-BJv145kf.js +2 -0
- package/dist/chunks/tabs.component-BJv145kf.js.map +1 -0
- package/dist/chunks/tabs.component-DTvdLvkX.js +87 -0
- package/dist/chunks/tabs.component-DTvdLvkX.js.map +1 -0
- package/dist/chunks/tag.component-DK64cZSr.js +67 -0
- package/dist/chunks/tag.component-DK64cZSr.js.map +1 -0
- package/dist/chunks/tag.component-D_hbxu6m.js +2 -0
- package/dist/chunks/tag.component-D_hbxu6m.js.map +1 -0
- package/dist/chunks/{tagBlock.component-B_dQ7rGS.js → tagBlock.component-LX4_ve_f.js} +17 -18
- package/dist/chunks/tagBlock.component-LX4_ve_f.js.map +1 -0
- package/dist/chunks/tagBlock.component-a2gERgrx.js +2 -0
- package/dist/chunks/tagBlock.component-a2gERgrx.js.map +1 -0
- package/dist/chunks/text.component-CBa_saMP.js +2 -0
- package/dist/chunks/text.component-CBa_saMP.js.map +1 -0
- package/dist/chunks/text.component-XYjOAc2s.js +10 -0
- package/dist/chunks/text.component-XYjOAc2s.js.map +1 -0
- package/dist/chunks/text.records-BK_JBYsT.js +16 -0
- package/dist/chunks/text.records-BK_JBYsT.js.map +1 -0
- package/dist/chunks/text.records-CIL3bbY0.js +2 -0
- package/dist/chunks/text.records-CIL3bbY0.js.map +1 -0
- package/dist/chunks/textInput.component-Bk7D4sbG.js +99 -0
- package/dist/chunks/textInput.component-Bk7D4sbG.js.map +1 -0
- package/dist/chunks/textInput.component-GSpfSqUc.js +2 -0
- package/dist/chunks/textInput.component-GSpfSqUc.js.map +1 -0
- package/dist/chunks/textarea.component-B8U8KcND.js +2 -0
- package/dist/chunks/textarea.component-B8U8KcND.js.map +1 -0
- package/dist/chunks/textarea.component-CT8iVuNX.js +51 -0
- package/dist/chunks/textarea.component-CT8iVuNX.js.map +1 -0
- package/dist/chunks/{timePicker.component-D0WsvkI5.js → timePicker.component--ABdI3GF.js} +43 -46
- package/dist/chunks/{timePicker.component-D0WsvkI5.js.map → timePicker.component--ABdI3GF.js.map} +1 -1
- package/dist/chunks/timePicker.component-Dw_FjiQX.js +2 -0
- package/dist/chunks/{timePicker.component-CegBtxsl.js.map → timePicker.component-Dw_FjiQX.js.map} +1 -1
- package/dist/chunks/timeRange.component-B3OvVyo_.js +17 -0
- package/dist/chunks/{timeRange.component-C1p0bfmg.js.map → timeRange.component-B3OvVyo_.js.map} +1 -1
- package/dist/chunks/timeRange.component-RLisXhuw.js +2 -0
- package/dist/chunks/{timeRange.component-Cc3ZfoeN.js.map → timeRange.component-RLisXhuw.js.map} +1 -1
- package/dist/chunks/timestamp.component-CuqY4euh.js +2 -0
- package/dist/chunks/timestamp.component-CuqY4euh.js.map +1 -0
- package/dist/chunks/timestamp.component-D764INLm.js +37 -0
- package/dist/chunks/timestamp.component-D764INLm.js.map +1 -0
- package/dist/chunks/tooltip.component-C3v2m2T2.js +70 -0
- package/dist/chunks/tooltip.component-C3v2m2T2.js.map +1 -0
- package/dist/chunks/tooltip.component-qWFa28S5.js +2 -0
- package/dist/chunks/tooltip.component-qWFa28S5.js.map +1 -0
- package/dist/chunks/typography-Cqrokog3.js.map +1 -1
- package/dist/chunks/typography-CtiaGoJG.js.map +1 -1
- package/dist/chunks/vendor-BBfll6i3.js +11757 -0
- package/dist/chunks/vendor-BBfll6i3.js.map +1 -0
- package/dist/chunks/vendor-D-x6W6ez.js +57 -0
- package/dist/chunks/vendor-D-x6W6ez.js.map +1 -0
- package/dist/chunks/withFormControl-B269FujS.js +149 -0
- package/dist/chunks/withFormControl-B269FujS.js.map +1 -0
- package/dist/chunks/withFormControl-Cy6Bwv0i.js +2 -0
- package/dist/chunks/withFormControl-Cy6Bwv0i.js.map +1 -0
- package/dist/chunks/withTruncation-BskZBBVs.js +2 -0
- package/dist/chunks/{withTruncation-GECNx84Z.js.map → withTruncation-BskZBBVs.js.map} +1 -1
- package/dist/chunks/{withTruncation-GECNx84Z.js → withTruncation-C2xFKhgB.js} +28 -21
- package/dist/chunks/{withTruncation-lxIe2bbU.js.map → withTruncation-C2xFKhgB.js.map} +1 -1
- package/dist/cjs/components/Alert/index.cjs +1 -1
- package/dist/cjs/components/Avatar/index.cjs +1 -1
- package/dist/cjs/components/AvatarGroup/index.cjs +1 -1
- package/dist/cjs/components/Button/index.cjs +1 -1
- package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
- package/dist/cjs/components/Card/index.cjs +1 -1
- package/dist/cjs/components/Card/index.cjs.map +1 -1
- package/dist/cjs/components/CharacterCounter/index.cjs +1 -1
- package/dist/cjs/components/Checkbox/index.cjs +1 -1
- package/dist/cjs/components/CheckboxGroup/index.cjs +1 -1
- package/dist/cjs/components/DatePicker/index.cjs +1 -1
- package/dist/cjs/components/Heading/index.cjs +1 -1
- package/dist/cjs/components/Icon/generated/index.cjs +1 -1
- package/dist/cjs/components/Icon/generated/index.cjs.map +1 -1
- package/dist/cjs/components/Icon/index.cjs +1 -1
- package/dist/cjs/components/Link/index.cjs +1 -1
- package/dist/cjs/components/Menu/index.cjs +1 -1
- package/dist/cjs/components/Modal/index.cjs +1 -1
- package/dist/cjs/components/NotificationCounter/index.cjs +1 -1
- package/dist/cjs/components/NotificationCounter/index.cjs.map +1 -1
- package/dist/cjs/components/Picture/index.cjs +1 -1
- package/dist/cjs/components/Picture/index.cjs.map +1 -1
- package/dist/cjs/components/Popover/index.cjs +1 -1
- package/dist/cjs/components/RadioGroup/index.cjs +1 -1
- package/dist/cjs/components/RatingDots/index.cjs +1 -1
- package/dist/cjs/components/Select/index.cjs +1 -1
- package/dist/cjs/components/SortableList/index.cjs +1 -1
- package/dist/cjs/components/Spinner/index.cjs +1 -1
- package/dist/cjs/components/Swatch/index.cjs +1 -1
- package/dist/cjs/components/Swatch/index.cjs.map +1 -1
- package/dist/cjs/components/Switch/index.cjs +1 -1
- package/dist/cjs/components/Tabs/index.cjs +1 -1
- package/dist/cjs/components/Tag/index.cjs +1 -1
- package/dist/cjs/components/Text/index.cjs +1 -1
- package/dist/cjs/components/TextInput/index.cjs +1 -1
- package/dist/cjs/components/Textarea/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/Tooltip/index.cjs +1 -1
- package/dist/cjs/components/index.cjs +1 -1
- package/dist/cjs/hocs/index.cjs +1 -1
- package/dist/cjs/hocs/index.cjs.map +1 -1
- package/dist/cjs/hooks/index.cjs +1 -1
- package/dist/cjs/hooks/index.cjs.map +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/{components → patterns}/ConversationCard/index.cjs +1 -1
- package/dist/cjs/{components → patterns}/StyledAvatar/index.cjs +1 -1
- package/dist/cjs/{components → patterns}/TagBlock/index.cjs +1 -1
- package/dist/cjs/{components → patterns}/Timestamp/index.cjs +1 -1
- package/dist/cjs/patterns/index.cjs +2 -0
- package/dist/cjs/theme/index.cjs +23 -1
- package/dist/cjs/theme/index.cjs.map +1 -1
- package/dist/cjs/theme/tokens/blurs/index.cjs +1 -1
- package/dist/cjs/theme/tokens/blurs/index.cjs.map +1 -1
- package/dist/cjs/theme/tokens/borders/index.cjs +1 -1
- package/dist/cjs/theme/tokens/borders/index.cjs.map +1 -1
- package/dist/cjs/theme/tokens/index.cjs +1 -1
- package/dist/cjs/theme/tokens/shadows/index.cjs +1 -1
- package/dist/cjs/theme/tokens/shadows/index.cjs.map +1 -1
- package/dist/cjs/theme/tokens/sizes/index.cjs +1 -1
- package/dist/cjs/theme/tokens/sizes/index.cjs.map +1 -1
- package/dist/cjs/theme/tokens/spacing/index.cjs +1 -1
- package/dist/cjs/theme/tokens/spacing/index.cjs.map +1 -1
- package/dist/cjs/theme/tokens/transitions/index.cjs +1 -1
- package/dist/cjs/theme/tokens/transitions/index.cjs.map +1 -1
- package/dist/cjs/theme/tokens/typography/index.cjs +1 -1
- package/dist/cjs/theme/tokens/typography/index.cjs.map +1 -1
- package/dist/cjs/theme/tokens/zIndices/index.cjs +1 -1
- package/dist/cjs/theme/tokens/zIndices/index.cjs.map +1 -1
- package/dist/esm/components/Alert/index.js +5 -3
- package/dist/esm/components/Avatar/index.js +1 -1
- package/dist/esm/components/AvatarGroup/index.js +1 -1
- package/dist/esm/components/Button/index.js +1 -1
- package/dist/esm/components/ButtonGroup/index.js +1 -1
- package/dist/esm/components/Card/index.js +5 -4
- package/dist/esm/components/Card/index.js.map +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/DatePicker/index.js +4 -3
- package/dist/esm/components/Heading/index.js +4 -2
- package/dist/esm/components/Heading/index.js.map +1 -1
- package/dist/esm/components/Icon/generated/index.js +338 -373
- package/dist/esm/components/Icon/generated/index.js.map +1 -1
- package/dist/esm/components/Icon/index.js +6 -4
- package/dist/esm/components/Link/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 +11 -5
- package/dist/esm/components/NotificationCounter/index.js.map +1 -1
- package/dist/esm/components/Picture/index.js +16 -1
- package/dist/esm/components/Picture/index.js.map +1 -1
- package/dist/esm/components/Popover/index.js +1 -1
- package/dist/esm/components/RadioGroup/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/Swatch/index.js +62 -3
- package/dist/esm/components/Swatch/index.js.map +1 -1
- package/dist/esm/components/Switch/index.js +1 -1
- package/dist/esm/components/Tabs/index.js +1 -1
- package/dist/esm/components/Tag/index.js +6 -5
- package/dist/esm/components/Text/index.js +4 -2
- package/dist/esm/components/Text/index.js.map +1 -1
- package/dist/esm/components/TextInput/index.js +3 -2
- 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/Tooltip/index.js +1 -1
- package/dist/esm/components/index.js +111 -122
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/hocs/index.js +35 -3
- package/dist/esm/hocs/index.js.map +1 -1
- package/dist/esm/hooks/index.js +17 -7
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/index.js +116 -141
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{components → patterns}/ConversationCard/index.js +1 -1
- package/dist/esm/{components → patterns}/StyledAvatar/index.js +1 -1
- package/dist/esm/{components → patterns}/TagBlock/index.js +1 -1
- package/dist/esm/patterns/Timestamp/index.js +5 -0
- package/dist/esm/patterns/index.js +13 -0
- package/dist/esm/patterns/index.js.map +1 -0
- package/dist/esm/theme/index.js +2477 -3
- package/dist/esm/theme/index.js.map +1 -1
- package/dist/esm/theme/tokens/blurs/index.js +13 -1
- package/dist/esm/theme/tokens/blurs/index.js.map +1 -1
- package/dist/esm/theme/tokens/borders/index.js +22 -1
- package/dist/esm/theme/tokens/borders/index.js.map +1 -1
- package/dist/esm/theme/tokens/index.js +26 -2
- package/dist/esm/theme/tokens/index.js.map +1 -1
- package/dist/esm/theme/tokens/shadows/index.js +55 -1
- package/dist/esm/theme/tokens/shadows/index.js.map +1 -1
- package/dist/esm/theme/tokens/sizes/index.js +28 -1
- package/dist/esm/theme/tokens/sizes/index.js.map +1 -1
- package/dist/esm/theme/tokens/spacing/index.js +38 -1
- package/dist/esm/theme/tokens/spacing/index.js.map +1 -1
- package/dist/esm/theme/tokens/transitions/index.js +17 -1
- package/dist/esm/theme/tokens/transitions/index.js.map +1 -1
- package/dist/esm/theme/tokens/typography/index.js +53 -1
- package/dist/esm/theme/tokens/typography/index.js.map +1 -1
- package/dist/esm/theme/tokens/zIndices/index.js +19 -1
- package/dist/esm/theme/tokens/zIndices/index.js.map +1 -1
- package/dist/types/components/Alert/alert.component.d.ts +13 -5
- package/dist/types/components/Alert/alert.recipe.d.ts +1 -1
- package/dist/types/components/Alert/alert.records.d.ts +5 -0
- package/dist/types/components/Alert/docs/alert.argTypes.d.ts +5 -0
- package/dist/types/components/Alert/index.d.ts +1 -0
- package/dist/types/components/Alert.d.ts +2 -0
- package/dist/types/components/Avatar/avatar.recipe.d.ts +1 -1
- package/dist/types/components/Avatar/components/AvatarBadge/avatarBadge.component.d.ts +1 -1
- package/dist/types/components/Avatar/components/AvatarBadge/avatarBadge.recipe.d.ts +2 -2
- package/dist/types/components/Avatar/components/AvatarBadge/avatarBadge.types.d.ts +1 -1
- package/dist/types/components/Avatar/components/AvatarBadge/docs/avatarBadge.argTypes.d.ts +3 -0
- package/dist/types/components/Avatar/docs/avatar.argTypes.d.ts +3 -0
- package/dist/types/components/Avatar.d.ts +2 -0
- package/dist/types/components/AvatarGroup/docs/avatarGroup.argTypes.d.ts +3 -0
- package/dist/types/components/AvatarGroup.d.ts +2 -0
- package/dist/types/components/Button/button.component.d.ts +3 -2
- package/dist/types/components/Button/button.recipe.d.ts +1 -1
- package/dist/types/components/Button/docs/button.argTypes.d.ts +3 -0
- package/dist/types/components/Button.d.ts +2 -0
- package/dist/types/components/ButtonGroup/docs/buttonGroup.argTypes.d.ts +3 -0
- package/dist/types/components/ButtonGroup.d.ts +2 -0
- package/dist/types/components/Card/card.component.d.ts +1 -1
- package/dist/types/components/Card/docs/card.argTypes.d.ts +3 -0
- package/dist/types/components/Card/index.d.ts +1 -0
- package/dist/types/components/Card.d.ts +2 -0
- package/dist/types/components/CharacterCounter/docs/characterCounter.argTypes.d.ts +3 -0
- package/dist/types/components/CharacterCounter.d.ts +2 -0
- package/dist/types/components/Checkbox/docs/checkbox.argTypes.d.ts +3 -0
- package/dist/types/components/Checkbox.d.ts +2 -0
- package/dist/types/components/CheckboxGroup/docs/checkboxGroup.argTypes.d.ts +3 -0
- package/dist/types/components/CheckboxGroup.d.ts +2 -0
- package/dist/types/components/DatePicker/docs/datePicker.argTypes.d.ts +3 -0
- package/dist/types/components/DatePicker/index.d.ts +1 -0
- package/dist/types/components/DatePicker.d.ts +2 -0
- package/dist/types/components/Heading/docs/heading.argTypes.d.ts +3 -0
- package/dist/types/components/Heading/heading.component.d.ts +2 -1
- package/dist/types/components/Heading/heading.recipe.d.ts +1 -1
- package/dist/types/components/Heading/heading.types.d.ts +1 -1
- package/dist/types/components/Heading/index.d.ts +1 -0
- package/dist/types/components/Heading.d.ts +2 -0
- package/dist/types/components/Icon/docs/icon.argTypes.d.ts +3 -0
- package/dist/types/components/Icon/generated/index.d.ts +1 -1
- package/dist/types/components/Icon/generated.d.ts +2 -0
- package/dist/types/components/Icon/icon.component.d.ts +3 -2
- package/dist/types/components/Icon/index.d.ts +1 -0
- package/dist/types/components/Icon.d.ts +2 -0
- package/dist/types/components/Link/docs/link.argTypes.d.ts +5 -0
- package/dist/types/components/Link/link.recipe.d.ts +1 -1
- package/dist/types/components/Link.d.ts +2 -0
- package/dist/types/components/Menu/components/MenuItem/menuItem.component.d.ts +2 -3
- package/dist/types/components/Menu/docs/menu.argTypes.d.ts +4 -0
- package/dist/types/components/Menu/menu.component.d.ts +1 -1
- package/dist/types/components/Menu.d.ts +2 -0
- package/dist/types/components/Modal/docs/modal.argTypes.d.ts +3 -0
- package/dist/types/components/Modal/modal.recipe.d.ts +1 -1
- package/dist/types/components/Modal.d.ts +2 -0
- package/dist/types/components/NotificationCounter/docs/notificationCounter.argTypes.d.ts +3 -0
- package/dist/types/components/NotificationCounter/index.d.ts +1 -0
- package/dist/types/components/NotificationCounter/notificationCounter.recipe.d.ts +2 -2
- package/dist/types/components/NotificationCounter.d.ts +2 -0
- package/dist/types/components/Picture/docs/picture.argTypes.d.ts +3 -0
- package/dist/types/components/Picture.d.ts +2 -0
- package/dist/types/components/Popover/docs/popover.argTypes.d.ts +3 -0
- package/dist/types/components/Popover/popover.recipe.d.ts +1 -1
- package/dist/types/components/Popover.d.ts +2 -0
- package/dist/types/components/RadioGroup/components/Radio/docs/radio.argTypes.d.ts +3 -0
- package/dist/types/components/RadioGroup/docs/radioGroup.argTypes.d.ts +3 -0
- package/dist/types/components/RadioGroup/index.d.ts +0 -1
- package/dist/types/components/RadioGroup.d.ts +2 -0
- package/dist/types/components/RatingDots/docs/ratingDots.argTypes.d.ts +3 -0
- package/dist/types/components/RatingDots.d.ts +2 -0
- package/dist/types/components/Select/docs/select.argTypes.d.ts +3 -0
- package/dist/types/components/Select/select.component.d.ts +0 -3
- package/dist/types/components/Select.d.ts +2 -0
- package/dist/types/components/SortableList/docs/sortableList.argTypes.d.ts +3 -0
- package/dist/types/components/SortableList/index.d.ts +0 -1
- package/dist/types/components/SortableList.d.ts +2 -0
- package/dist/types/components/Spinner/docs/spinner.argTypes.d.ts +3 -0
- package/dist/types/components/Spinner/spinner.component.d.ts +1 -1
- package/dist/types/components/Spinner/spinner.recipe.d.ts +1 -1
- package/dist/types/components/Spinner.d.ts +2 -0
- package/dist/types/components/Swatch/docs/swatch.argTypes.d.ts +3 -0
- package/dist/types/components/Swatch/swatch.recipe.d.ts +1 -1
- package/dist/types/components/Swatch.d.ts +2 -0
- package/dist/types/components/Switch/docs/switch.argTypes.d.ts +3 -0
- package/dist/types/components/Switch.d.ts +2 -0
- package/dist/types/components/Tabs/components/Tab/docs/tab.argTypes.d.ts +3 -0
- package/dist/types/components/Tabs/docs/tabs.argTypes.d.ts +3 -0
- package/dist/types/components/Tabs/tabs.recipe.d.ts +1 -1
- package/dist/types/components/Tabs.d.ts +2 -0
- package/dist/types/components/Tag/docs/tag.argTypes.d.ts +3 -0
- package/dist/types/components/Tag/index.d.ts +1 -0
- package/dist/types/components/Tag/tag.recipe.d.ts +1 -1
- package/dist/types/components/Tag.d.ts +2 -0
- package/dist/types/components/Text/docs/text.argTypes.d.ts +3 -0
- package/dist/types/components/Text/index.d.ts +1 -0
- package/dist/types/components/Text/text.component.d.ts +2 -1
- package/dist/types/components/Text/text.recipe.d.ts +2 -1
- package/dist/types/components/Text/text.types.d.ts +1 -1
- package/dist/types/components/Text.d.ts +2 -0
- package/dist/types/components/TextInput/docs/textInput.argTypes.d.ts +3 -0
- package/dist/types/components/TextInput/index.d.ts +1 -0
- package/dist/types/components/TextInput.d.ts +2 -0
- package/dist/types/components/Textarea/docs/textarea.argTypes.d.ts +3 -0
- package/dist/types/components/Textarea.d.ts +2 -0
- package/dist/types/components/TimePicker/docs/timePicker.argTypes.d.ts +3 -0
- package/dist/types/components/TimePicker.d.ts +2 -0
- package/dist/types/components/TimeRange/docs/timeRange.argTypes.d.ts +3 -0
- package/dist/types/components/TimeRange.d.ts +2 -0
- package/dist/types/components/Tooltip/docs/tooltip.argTypes.d.ts +3 -0
- package/dist/types/components/Tooltip/tooltip.component.d.ts +5 -9
- package/dist/types/components/Tooltip.d.ts +2 -0
- package/dist/types/components/index.d.ts +1 -9
- package/dist/types/components.d.ts +2 -0
- package/dist/types/hocs/withFormControl/withFormControl.d.ts +1 -2
- package/dist/types/hocs.d.ts +2 -0
- package/dist/types/hooks/index.d.ts +0 -2
- package/dist/types/hooks.d.ts +2 -0
- package/dist/types/index.d.ts +0 -2
- package/dist/types/{components → patterns}/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.d.ts +1 -1
- package/dist/types/{components → patterns}/ConversationCard/components/ConversationCardContent/conversationCardContent.component.d.ts +1 -1
- package/dist/types/{components → patterns}/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.d.ts +2 -2
- package/dist/types/{components → patterns}/ConversationCard/components/ConversationCardTags/conversationCardTags.component.d.ts +1 -1
- package/dist/types/{components → patterns}/ConversationCard/conversationCard.component.d.ts +1 -1
- package/dist/types/patterns/ConversationCard/docs/conversationCard.argTypes.d.ts +12 -0
- package/dist/types/patterns/ConversationCard/docs/conversationCard.storiesData.d.ts +22 -0
- package/dist/types/patterns/ConversationCard.d.ts +2 -0
- package/dist/types/patterns/StyledAvatar/docs/styledAvatar.argTypes.d.ts +3 -0
- package/dist/types/{components → patterns}/StyledAvatar/styledAvatar.component.d.ts +1 -1
- package/dist/types/patterns/StyledAvatar.d.ts +2 -0
- package/dist/types/patterns/TagBlock/docs/tagBlock.argTypes.d.ts +3 -0
- package/dist/types/{components → patterns}/TagBlock/tagBlock.component.d.ts +1 -1
- package/dist/types/patterns/TagBlock.d.ts +2 -0
- package/dist/types/patterns/Timestamp/docs/timestamp.argTypes.d.ts +3 -0
- package/dist/types/{components → patterns}/Timestamp/timestamp.component.d.ts +1 -1
- package/dist/types/patterns/Timestamp.d.ts +2 -0
- package/dist/types/patterns/index.d.ts +4 -0
- package/dist/types/patterns.d.ts +2 -0
- package/dist/types/shared/records/typography.d.ts +1 -1
- package/dist/types/shared/types.d.ts +2 -0
- package/dist/types/theme/index.d.ts +1 -2
- package/dist/types/theme/providers/theme.provider.d.ts +1 -2
- package/dist/types/theme/semanticTokens/docs/semanticTokens.d.ts +7 -0
- package/dist/types/theme/semanticTokens/semanticTokens.config.d.ts +0 -4
- package/dist/types/theme/semanticTokens/semanticTokens.records.d.ts +0 -8
- package/dist/types/theme/semanticTokens.d.ts +2 -0
- package/dist/types/theme/theme.config.d.ts +0 -1
- package/dist/types/theme/tokens/blurs/blurs.config.d.ts +6 -6
- package/dist/types/theme/tokens/blurs/index.d.ts +1 -0
- package/dist/types/theme/tokens/blurs.d.ts +2 -0
- package/dist/types/theme/tokens/borders/borders.config.d.ts +9 -9
- package/dist/types/theme/tokens/borders/docs/borders.d.ts +5 -0
- package/dist/types/theme/tokens/borders/index.d.ts +1 -0
- package/dist/types/theme/tokens/borders.d.ts +2 -0
- package/dist/types/theme/tokens/colors.d.ts +2 -0
- package/dist/types/theme/tokens/shadows/docs/shadows.d.ts +6 -0
- package/dist/types/theme/tokens/shadows/index.d.ts +1 -0
- package/dist/types/theme/tokens/shadows/shadows.config.d.ts +8 -8
- package/dist/types/theme/tokens/shadows.d.ts +2 -0
- package/dist/types/theme/tokens/sizes/index.d.ts +1 -0
- package/dist/types/theme/tokens/sizes/sizes.config.d.ts +9 -23
- package/dist/types/theme/tokens/sizes.d.ts +2 -0
- package/dist/types/theme/tokens/spacing/index.d.ts +1 -0
- package/dist/types/theme/tokens/spacing/spacing.config.d.ts +21 -21
- package/dist/types/theme/tokens/spacing.d.ts +2 -0
- package/dist/types/theme/tokens/transitions/index.d.ts +1 -0
- package/dist/types/theme/tokens/transitions/transitions.config.d.ts +6 -6
- package/dist/types/theme/tokens/transitions.d.ts +2 -0
- package/dist/types/theme/tokens/typography/docs/typography.d.ts +2 -0
- package/dist/types/theme/tokens/typography/index.d.ts +1 -0
- package/dist/types/theme/tokens/typography/typography.config.d.ts +74 -29
- package/dist/types/theme/tokens/typography.d.ts +2 -0
- package/dist/types/theme/tokens/zIndices/index.d.ts +1 -0
- package/dist/types/theme/tokens/zIndices/zIndices.config.d.ts +12 -12
- package/dist/types/theme/tokens/zIndices.d.ts +2 -0
- package/dist/types/theme/tokens.d.ts +2 -0
- package/dist/types/theme.d.ts +2 -0
- package/package.json +43 -73
- package/dist/chunks/IconLogo-C4aZqkn1.js +0 -2
- package/dist/chunks/IconLogo-C4aZqkn1.js.map +0 -1
- package/dist/chunks/IconLogo-D8EHZ4Is.js +0 -62
- package/dist/chunks/IconLogo-D8EHZ4Is.js.map +0 -1
- package/dist/chunks/alert.types-B3CIqC3D.js +0 -2
- package/dist/chunks/alert.types-B3CIqC3D.js.map +0 -1
- package/dist/chunks/alert.types-D-Nx7EKC.js +0 -219
- package/dist/chunks/alert.types-D-Nx7EKC.js.map +0 -1
- package/dist/chunks/attr-BMs6szZx.js +0 -2
- package/dist/chunks/attr-BMs6szZx.js.map +0 -1
- package/dist/chunks/attr-sm10PXOd.js +0 -5
- package/dist/chunks/attr-sm10PXOd.js.map +0 -1
- package/dist/chunks/avatar.component-5acA2X5n.js +0 -420
- package/dist/chunks/avatar.component-5acA2X5n.js.map +0 -1
- package/dist/chunks/avatar.component-BBewTMu9.js +0 -2
- package/dist/chunks/avatar.component-BBewTMu9.js.map +0 -1
- package/dist/chunks/avatarGroup.component-Cyoh97E9.js +0 -2
- package/dist/chunks/box-Baq7UBls.js +0 -2
- package/dist/chunks/box-Baq7UBls.js.map +0 -1
- package/dist/chunks/box-Ck9I7FYv.js +0 -7
- package/dist/chunks/box-Ck9I7FYv.js.map +0 -1
- package/dist/chunks/button.component-BpF3MzbZ.js.map +0 -1
- package/dist/chunks/button.component-Dd9AfGox.js +0 -2
- package/dist/chunks/button.component-Dd9AfGox.js.map +0 -1
- package/dist/chunks/buttonGroup.component-B21h-pcF.js +0 -2
- package/dist/chunks/buttonGroup.component-B21h-pcF.js.map +0 -1
- package/dist/chunks/buttonGroup.component-CwN1OcaS.js +0 -77
- package/dist/chunks/buttonGroup.component-CwN1OcaS.js.map +0 -1
- package/dist/chunks/card.component-DNX41NGG.js +0 -59
- package/dist/chunks/card.component-DNX41NGG.js.map +0 -1
- package/dist/chunks/card.component-KNc4HKSh.js +0 -2
- package/dist/chunks/card.component-KNc4HKSh.js.map +0 -1
- package/dist/chunks/card.types-Cixp7ouC.js +0 -5
- package/dist/chunks/card.types-Cixp7ouC.js.map +0 -1
- package/dist/chunks/card.types-MvkQTTZF.js +0 -2
- package/dist/chunks/card.types-MvkQTTZF.js.map +0 -1
- package/dist/chunks/characterCounter.component-MBtgMpUc.js +0 -2
- package/dist/chunks/checkbox.component-CWN9kU5p.js +0 -2
- package/dist/chunks/checkbox.component-CWN9kU5p.js.map +0 -1
- package/dist/chunks/checkbox.component-HWkdi-Dt.js +0 -310
- package/dist/chunks/checkbox.component-HWkdi-Dt.js.map +0 -1
- package/dist/chunks/checkbox.records-djqGyo0P.js +0 -2
- package/dist/chunks/checkbox.records-djqGyo0P.js.map +0 -1
- package/dist/chunks/checkbox.records-kuynkQ3J.js +0 -266
- package/dist/chunks/checkbox.records-kuynkQ3J.js.map +0 -1
- package/dist/chunks/checkboxGroup.component-CMyApVxs.js +0 -52
- package/dist/chunks/checkboxGroup.component-DYiLp3m_.js +0 -2
- package/dist/chunks/config-BFcXpdZo.js +0 -2
- package/dist/chunks/config-BFcXpdZo.js.map +0 -1
- package/dist/chunks/config-DVtggL6z.js +0 -57
- package/dist/chunks/config-DVtggL6z.js.map +0 -1
- package/dist/chunks/conversationCard.component-BirDNlVs.js.map +0 -1
- package/dist/chunks/conversationCard.component-CMI6oti9.js +0 -2
- package/dist/chunks/conversationCard.component-CMI6oti9.js.map +0 -1
- package/dist/chunks/create-recipe-context-D7FewUR4.js +0 -62
- package/dist/chunks/create-recipe-context-D7FewUR4.js.map +0 -1
- package/dist/chunks/create-recipe-context-sESms8Eo.js +0 -2
- package/dist/chunks/create-recipe-context-sESms8Eo.js.map +0 -1
- package/dist/chunks/create-slot-recipe-context-BJmsuxih.js +0 -97
- package/dist/chunks/create-slot-recipe-context-BJmsuxih.js.map +0 -1
- package/dist/chunks/create-slot-recipe-context-IwVIgtBt.js +0 -2
- package/dist/chunks/create-slot-recipe-context-IwVIgtBt.js.map +0 -1
- package/dist/chunks/datePicker.component-DSGJKErd.js +0 -15
- package/dist/chunks/datePicker.component-DSGJKErd.js.map +0 -1
- package/dist/chunks/datePicker.component-Wac_ZnvV.js +0 -3165
- package/dist/chunks/datePicker.component-Wac_ZnvV.js.map +0 -1
- package/dist/chunks/dialog-trigger-6j0ZA8bc.js +0 -2
- package/dist/chunks/dialog-trigger-6j0ZA8bc.js.map +0 -1
- package/dist/chunks/dialog-trigger-rbYorcnG.js +0 -78
- package/dist/chunks/dialog-trigger-rbYorcnG.js.map +0 -1
- package/dist/chunks/divider.types-0j5qRXed.js +0 -47
- package/dist/chunks/divider.types-0j5qRXed.js.map +0 -1
- package/dist/chunks/divider.types-CK5oFy-i.js +0 -2
- package/dist/chunks/divider.types-CK5oFy-i.js.map +0 -1
- package/dist/chunks/empty-B5_AO6Pg.js +0 -2
- package/dist/chunks/empty-B5_AO6Pg.js.map +0 -1
- package/dist/chunks/empty-BU2EAux9.js +0 -8
- package/dist/chunks/empty-BU2EAux9.js.map +0 -1
- package/dist/chunks/factory-Ctbv0Ozn.js +0 -500
- package/dist/chunks/factory-Ctbv0Ozn.js.map +0 -1
- package/dist/chunks/factory-D6tdBUPG.js +0 -3
- package/dist/chunks/factory-D6tdBUPG.js.map +0 -1
- package/dist/chunks/flex-D14H6HbP.js +0 -2
- package/dist/chunks/flex-D14H6HbP.js.map +0 -1
- package/dist/chunks/flex-smlF8uQG.js +0 -40
- package/dist/chunks/flex-smlF8uQG.js.map +0 -1
- package/dist/chunks/float-DYLtz2A6.js +0 -64
- package/dist/chunks/float-DYLtz2A6.js.map +0 -1
- package/dist/chunks/float-OQXnYWBw.js +0 -2
- package/dist/chunks/float-OQXnYWBw.js.map +0 -1
- package/dist/chunks/format-BRt-TIiQ.js +0 -2
- package/dist/chunks/format-BRt-TIiQ.js.map +0 -1
- package/dist/chunks/format-DgHM6wFr.js +0 -1275
- package/dist/chunks/format-DgHM6wFr.js.map +0 -1
- package/dist/chunks/grid-item-BV4dwEBP.js +0 -90
- package/dist/chunks/grid-item-BV4dwEBP.js.map +0 -1
- package/dist/chunks/grid-item-CR-sXrjU.js +0 -2
- package/dist/chunks/grid-item-CR-sXrjU.js.map +0 -1
- package/dist/chunks/group-Cv7AQw1b.js +0 -2
- package/dist/chunks/group-Cv7AQw1b.js.map +0 -1
- package/dist/chunks/group-DPCVolOl.js +0 -139
- package/dist/chunks/group-DPCVolOl.js.map +0 -1
- package/dist/chunks/h-stack-Bjx9hlJo.js +0 -2
- package/dist/chunks/h-stack-Bjx9hlJo.js.map +0 -1
- package/dist/chunks/h-stack-Ce6JSBK2.js +0 -12
- package/dist/chunks/h-stack-Ce6JSBK2.js.map +0 -1
- package/dist/chunks/heading.component-Cum2BALi.js +0 -12
- package/dist/chunks/heading.component-Cum2BALi.js.map +0 -1
- package/dist/chunks/heading.component-a6IrCj7l.js +0 -2
- package/dist/chunks/heading.component-a6IrCj7l.js.map +0 -1
- package/dist/chunks/icon-button-DTZOklQ9.js +0 -119
- package/dist/chunks/icon-button-DTZOklQ9.js.map +0 -1
- package/dist/chunks/icon-button-DtjZ-SdQ.js +0 -2
- package/dist/chunks/icon-button-DtjZ-SdQ.js.map +0 -1
- package/dist/chunks/icon.component-C0e0UGBw.js +0 -2
- package/dist/chunks/icon.component-C0e0UGBw.js.map +0 -1
- package/dist/chunks/icon.component-DGNCL1Yc.js.map +0 -1
- package/dist/chunks/icons-BXxdrBrf.js +0 -216
- package/dist/chunks/icons-BXxdrBrf.js.map +0 -1
- package/dist/chunks/icons-CTpAjbC-.js +0 -2
- package/dist/chunks/icons-CTpAjbC-.js.map +0 -1
- package/dist/chunks/index-B3Uf1AVX.js +0 -3
- package/dist/chunks/index-B3Uf1AVX.js.map +0 -1
- package/dist/chunks/index-B4rwgehU.js +0 -2
- package/dist/chunks/index-B4rwgehU.js.map +0 -1
- package/dist/chunks/index-BQusETZC.js +0 -444
- package/dist/chunks/index-BQusETZC.js.map +0 -1
- package/dist/chunks/index-BknUKotT.js +0 -38
- package/dist/chunks/index-BknUKotT.js.map +0 -1
- package/dist/chunks/index-BmJA4z7Y.js +0 -1190
- package/dist/chunks/index-BmJA4z7Y.js.map +0 -1
- package/dist/chunks/index-C-VkceKb.js +0 -2
- package/dist/chunks/index-C-VkceKb.js.map +0 -1
- package/dist/chunks/index-C4xXAinc.js +0 -141
- package/dist/chunks/index-C4xXAinc.js.map +0 -1
- package/dist/chunks/index-CBVOChyW.js +0 -1196
- package/dist/chunks/index-CBVOChyW.js.map +0 -1
- package/dist/chunks/index-CL5b64u0.js +0 -389
- package/dist/chunks/index-CL5b64u0.js.map +0 -1
- package/dist/chunks/index-CWZQythd.js +0 -257
- package/dist/chunks/index-CWZQythd.js.map +0 -1
- package/dist/chunks/index-Cd776OkZ.js +0 -2
- package/dist/chunks/index-Cd776OkZ.js.map +0 -1
- package/dist/chunks/index-CgivotaP.js +0 -20
- package/dist/chunks/index-CgivotaP.js.map +0 -1
- package/dist/chunks/index-CkYZf9Pm.js +0 -2
- package/dist/chunks/index-CkYZf9Pm.js.map +0 -1
- package/dist/chunks/index-Csfb-K1K.js +0 -291
- package/dist/chunks/index-Csfb-K1K.js.map +0 -1
- package/dist/chunks/index-Cw75JjHp.js +0 -2
- package/dist/chunks/index-Cw75JjHp.js.map +0 -1
- package/dist/chunks/index-Cwl9h4X_.js +0 -2
- package/dist/chunks/index-Cwl9h4X_.js.map +0 -1
- package/dist/chunks/index-D8ghhfzK.js +0 -322
- package/dist/chunks/index-D8ghhfzK.js.map +0 -1
- package/dist/chunks/index-DAWHN3cH.js +0 -86
- package/dist/chunks/index-DAWHN3cH.js.map +0 -1
- package/dist/chunks/index-DD49WSSW.js +0 -2
- package/dist/chunks/index-DD49WSSW.js.map +0 -1
- package/dist/chunks/index-DUEcH1Ul.js +0 -2
- package/dist/chunks/index-DUEcH1Ul.js.map +0 -1
- package/dist/chunks/index-DX-8RG9n.js +0 -8
- package/dist/chunks/index-DX-8RG9n.js.map +0 -1
- package/dist/chunks/index-PD_OmAnh.js +0 -2
- package/dist/chunks/index-PD_OmAnh.js.map +0 -1
- package/dist/chunks/index-U8SN9h_h.js +0 -2
- package/dist/chunks/index-U8SN9h_h.js.map +0 -1
- package/dist/chunks/index-c2eCwOCU.js +0 -1018
- package/dist/chunks/index-c2eCwOCU.js.map +0 -1
- package/dist/chunks/index-iPTsth-y.js +0 -2
- package/dist/chunks/index-iPTsth-y.js.map +0 -1
- package/dist/chunks/index-iyefwwxw.js +0 -2
- package/dist/chunks/index-iyefwwxw.js.map +0 -1
- package/dist/chunks/index-vVG7UN0y.js +0 -6313
- package/dist/chunks/index-vVG7UN0y.js.map +0 -1
- package/dist/chunks/index-zgGK8otr.js +0 -376
- package/dist/chunks/index-zgGK8otr.js.map +0 -1
- package/dist/chunks/jsx-runtime-BjDatQAs.js +0 -23
- package/dist/chunks/jsx-runtime-BjDatQAs.js.map +0 -1
- package/dist/chunks/jsx-runtime-C5mzlN2N.js +0 -285
- package/dist/chunks/jsx-runtime-C5mzlN2N.js.map +0 -1
- package/dist/chunks/link.component-CCFg-LIe.js +0 -2
- package/dist/chunks/link.component-CCFg-LIe.js.map +0 -1
- package/dist/chunks/link.component-DprieyUG.js +0 -60
- package/dist/chunks/link.component-DprieyUG.js.map +0 -1
- package/dist/chunks/list-C_LmDoyW.js +0 -2
- package/dist/chunks/list-C_LmDoyW.js.map +0 -1
- package/dist/chunks/list-DqH5ttQG.js +0 -20
- package/dist/chunks/list-DqH5ttQG.js.map +0 -1
- package/dist/chunks/logo.types-CA_5hGAi.js +0 -2
- package/dist/chunks/logo.types-CA_5hGAi.js.map +0 -1
- package/dist/chunks/logo.types-DVfuQmDd.js +0 -76
- package/dist/chunks/logo.types-DVfuQmDd.js.map +0 -1
- package/dist/chunks/menu.component-ColftkpF.js +0 -678
- package/dist/chunks/menu.component-ColftkpF.js.map +0 -1
- package/dist/chunks/menu.component-Ct_9TaWj.js +0 -2
- package/dist/chunks/menu.component-Ct_9TaWj.js.map +0 -1
- package/dist/chunks/modal.context-DSKLfsJK.js +0 -12
- package/dist/chunks/modal.context-DSKLfsJK.js.map +0 -1
- package/dist/chunks/modal.context-EJ67QNzq.js +0 -2
- package/dist/chunks/modal.context-EJ67QNzq.js.map +0 -1
- package/dist/chunks/modal.types-BJDq3ofH.js +0 -206
- package/dist/chunks/modal.types-BJDq3ofH.js.map +0 -1
- package/dist/chunks/modal.types-CsGdjZZf.js +0 -2
- package/dist/chunks/modal.types-CsGdjZZf.js.map +0 -1
- package/dist/chunks/notificationCounter.component-BhZcuBmr.js +0 -2
- package/dist/chunks/notificationCounter.types-B_-siNfi.js +0 -2
- package/dist/chunks/notificationCounter.types-B_-siNfi.js.map +0 -1
- package/dist/chunks/notificationCounter.types-S7ENT1Oj.js +0 -11
- package/dist/chunks/notificationCounter.types-S7ENT1Oj.js.map +0 -1
- package/dist/chunks/omit-C-j4TrF5.js +0 -10
- package/dist/chunks/omit-C-j4TrF5.js.map +0 -1
- package/dist/chunks/omit-DqNeoZ8h.js +0 -2
- package/dist/chunks/omit-DqNeoZ8h.js.map +0 -1
- package/dist/chunks/picture.component-C2C2r_BU.js +0 -2
- package/dist/chunks/picture.component-C2C2r_BU.js.map +0 -1
- package/dist/chunks/picture.component-DKbaaL64.js +0 -35
- package/dist/chunks/picture.component-DKbaaL64.js.map +0 -1
- package/dist/chunks/pinInput.types-GznuQbzY.js +0 -2
- package/dist/chunks/pinInput.types-GznuQbzY.js.map +0 -1
- package/dist/chunks/pinInput.types-k-MTZ5SR.js +0 -161
- package/dist/chunks/pinInput.types-k-MTZ5SR.js.map +0 -1
- package/dist/chunks/popover-JzE_u7E-.js +0 -110
- package/dist/chunks/popover-JzE_u7E-.js.map +0 -1
- package/dist/chunks/popover-ZImHeDTu.js +0 -2
- package/dist/chunks/popover-ZImHeDTu.js.map +0 -1
- package/dist/chunks/popover-root-provider-RWj-0mRI.js +0 -2
- package/dist/chunks/popover-root-provider-RWj-0mRI.js.map +0 -1
- package/dist/chunks/popover-root-provider-S83-0n0E.js +0 -43
- package/dist/chunks/popover-root-provider-S83-0n0E.js.map +0 -1
- package/dist/chunks/popover.component-Bh32Kl6i.js +0 -322
- package/dist/chunks/popover.component-Bh32Kl6i.js.map +0 -1
- package/dist/chunks/popover.component-D4NdsCQv.js +0 -2
- package/dist/chunks/popover.component-D4NdsCQv.js.map +0 -1
- package/dist/chunks/popover.recipe-D7Q80iWn.js +0 -2
- package/dist/chunks/popover.recipe-D7Q80iWn.js.map +0 -1
- package/dist/chunks/popover.recipe-DhQtUTnw.js +0 -479
- package/dist/chunks/popover.recipe-DhQtUTnw.js.map +0 -1
- package/dist/chunks/portal-C7cdrplU.js +0 -2301
- package/dist/chunks/portal-C7cdrplU.js.map +0 -1
- package/dist/chunks/portal-JkodPmk7.js +0 -22
- package/dist/chunks/portal-JkodPmk7.js.map +0 -1
- package/dist/chunks/provider-ClCAdPxy.js +0 -47
- package/dist/chunks/provider-ClCAdPxy.js.map +0 -1
- package/dist/chunks/provider-NDo8kOkE.js +0 -2
- package/dist/chunks/provider-NDo8kOkE.js.map +0 -1
- package/dist/chunks/radio.records-BD5zaE5E.js +0 -382
- package/dist/chunks/radio.records-BD5zaE5E.js.map +0 -1
- package/dist/chunks/radio.records-BKkl9Mk4.js +0 -2
- package/dist/chunks/radio.records-BKkl9Mk4.js.map +0 -1
- package/dist/chunks/radioGroup.component-C6wU0Srn.js +0 -2
- package/dist/chunks/radioGroup.component-C6wU0Srn.js.map +0 -1
- package/dist/chunks/radioGroup.component-DbslYk4o.js +0 -275
- package/dist/chunks/radioGroup.component-DbslYk4o.js.map +0 -1
- package/dist/chunks/ratingDots.component-DV7pmIJJ.js +0 -2
- package/dist/chunks/render-strategy-BCWksbL8.js +0 -2
- package/dist/chunks/render-strategy-BCWksbL8.js.map +0 -1
- package/dist/chunks/render-strategy-DaeRfJpM.js +0 -12
- package/dist/chunks/render-strategy-DaeRfJpM.js.map +0 -1
- package/dist/chunks/select.component-CRmnH0Ty.js +0 -391
- package/dist/chunks/select.component-CRmnH0Ty.js.map +0 -1
- package/dist/chunks/select.component-DDRV0zBf.js +0 -2
- package/dist/chunks/select.component-DDRV0zBf.js.map +0 -1
- package/dist/chunks/sortableList.component-B59RwzTi.js +0 -6
- package/dist/chunks/sortableList.component-B59RwzTi.js.map +0 -1
- package/dist/chunks/sortableList.component-Dlq8P2tc.js.map +0 -1
- package/dist/chunks/spinner-BWqSIW6m.js +0 -8
- package/dist/chunks/spinner-BWqSIW6m.js.map +0 -1
- package/dist/chunks/spinner-BnpL14kK.js +0 -2
- package/dist/chunks/spinner-BnpL14kK.js.map +0 -1
- package/dist/chunks/spinner.component-DBCa-ZPE.js +0 -2
- package/dist/chunks/spinner.component-DsDyKpq2.js.map +0 -1
- package/dist/chunks/stack-BKu3hWEQ.js +0 -2
- package/dist/chunks/stack-BKu3hWEQ.js.map +0 -1
- package/dist/chunks/stack-Dnuh5Zgf.js +0 -85
- package/dist/chunks/stack-Dnuh5Zgf.js.map +0 -1
- package/dist/chunks/styledAvatar.types-BUyxKyGa.js +0 -2
- package/dist/chunks/styledAvatar.types-BUyxKyGa.js.map +0 -1
- package/dist/chunks/styledAvatar.types-X9FV2vOM.js.map +0 -1
- package/dist/chunks/swatch.types-DiX-4lpJ.js +0 -2
- package/dist/chunks/swatch.types-DiX-4lpJ.js.map +0 -1
- package/dist/chunks/swatch.types-Dsv11aQw.js +0 -67
- package/dist/chunks/swatch.types-Dsv11aQw.js.map +0 -1
- package/dist/chunks/switch.component-BZh12RCT.js +0 -2
- package/dist/chunks/switch.component-BZh12RCT.js.map +0 -1
- package/dist/chunks/switch.component-DR4jYcSz.js +0 -166
- package/dist/chunks/switch.component-DR4jYcSz.js.map +0 -1
- package/dist/chunks/tabs.component-C_4sO8kW.js +0 -639
- package/dist/chunks/tabs.component-C_4sO8kW.js.map +0 -1
- package/dist/chunks/tabs.component-CzyTXhJp.js +0 -2
- package/dist/chunks/tabs.component-CzyTXhJp.js.map +0 -1
- package/dist/chunks/tag.component-C6a6EzZB.js +0 -2
- package/dist/chunks/tag.component-C6a6EzZB.js.map +0 -1
- package/dist/chunks/tag.component-pexJ0TAT.js +0 -82
- package/dist/chunks/tag.component-pexJ0TAT.js.map +0 -1
- package/dist/chunks/tagBlock.component-BI1AmbDR.js +0 -2
- package/dist/chunks/tagBlock.component-BI1AmbDR.js.map +0 -1
- package/dist/chunks/tagBlock.component-B_dQ7rGS.js.map +0 -1
- package/dist/chunks/text.component-BA-9q9gX.js +0 -12
- package/dist/chunks/text.component-BA-9q9gX.js.map +0 -1
- package/dist/chunks/text.component-ColgFnqE.js +0 -2
- package/dist/chunks/text.component-ColgFnqE.js.map +0 -1
- package/dist/chunks/textInput.component-BttHjzdC.js +0 -180
- package/dist/chunks/textInput.component-BttHjzdC.js.map +0 -1
- package/dist/chunks/textInput.component-cFmQkIXY.js +0 -2
- package/dist/chunks/textInput.component-cFmQkIXY.js.map +0 -1
- package/dist/chunks/textarea.component-DKiTZ2bP.js +0 -98
- package/dist/chunks/textarea.component-DKiTZ2bP.js.map +0 -1
- package/dist/chunks/textarea.component-cEtZ6ReA.js +0 -2
- package/dist/chunks/textarea.component-cEtZ6ReA.js.map +0 -1
- package/dist/chunks/theme.provider-Dd0L8qXA.js.map +0 -1
- package/dist/chunks/theme.provider-Dh_N0A6U.js +0 -26
- package/dist/chunks/theme.provider-Dh_N0A6U.js.map +0 -1
- package/dist/chunks/timePicker.component-CegBtxsl.js +0 -2
- package/dist/chunks/timeRange.component-C1p0bfmg.js +0 -18
- package/dist/chunks/timeRange.component-Cc3ZfoeN.js +0 -2
- package/dist/chunks/timestamp.component-CZGCU-JV.js +0 -54
- package/dist/chunks/timestamp.component-CZGCU-JV.js.map +0 -1
- package/dist/chunks/timestamp.component-ZDbg3G8Z.js +0 -2
- package/dist/chunks/timestamp.component-ZDbg3G8Z.js.map +0 -1
- package/dist/chunks/toaster.records-3VWRSgsn.js +0 -2
- package/dist/chunks/toaster.records-3VWRSgsn.js.map +0 -1
- package/dist/chunks/toaster.records-DeXyJQpa.js +0 -824
- package/dist/chunks/toaster.records-DeXyJQpa.js.map +0 -1
- package/dist/chunks/tooltip.component-BiDAtm5N.js +0 -2
- package/dist/chunks/tooltip.component-BiDAtm5N.js.map +0 -1
- package/dist/chunks/tooltip.component-C5FgUWfB.js +0 -713
- package/dist/chunks/tooltip.component-C5FgUWfB.js.map +0 -1
- package/dist/chunks/typography.records-CIqVDP87.js +0 -2
- package/dist/chunks/typography.records-CIqVDP87.js.map +0 -1
- package/dist/chunks/typography.records-QKCR4PDO.js +0 -66
- package/dist/chunks/typography.records-QKCR4PDO.js.map +0 -1
- package/dist/chunks/use-breakpoint-MQ7agQJe.js +0 -72
- package/dist/chunks/use-breakpoint-MQ7agQJe.js.map +0 -1
- package/dist/chunks/use-breakpoint-uBg4-8yY.js +0 -2
- package/dist/chunks/use-breakpoint-uBg4-8yY.js.map +0 -1
- package/dist/chunks/use-field-context-BJ7xh7mY.js +0 -2
- package/dist/chunks/use-field-context-BJ7xh7mY.js.map +0 -1
- package/dist/chunks/use-field-context-PoccdU55.js +0 -12
- package/dist/chunks/use-field-context-PoccdU55.js.map +0 -1
- package/dist/chunks/use-recipe-DaPWl_pL.js +0 -2
- package/dist/chunks/use-recipe-DaPWl_pL.js.map +0 -1
- package/dist/chunks/use-recipe-d63ABaZ3.js +0 -13
- package/dist/chunks/use-recipe-d63ABaZ3.js.map +0 -1
- package/dist/chunks/use-slot-recipe-8liupslO.js +0 -2
- package/dist/chunks/use-slot-recipe-8liupslO.js.map +0 -1
- package/dist/chunks/use-slot-recipe-DhtQ1j_5.js +0 -13
- package/dist/chunks/use-slot-recipe-DhtQ1j_5.js.map +0 -1
- package/dist/chunks/v-stack-BZT7R_9f.js +0 -12
- package/dist/chunks/v-stack-BZT7R_9f.js.map +0 -1
- package/dist/chunks/v-stack-DxjgpeJ0.js +0 -2
- package/dist/chunks/v-stack-DxjgpeJ0.js.map +0 -1
- package/dist/chunks/walk-object-BrTExCqQ.js +0 -2
- package/dist/chunks/walk-object-BrTExCqQ.js.map +0 -1
- package/dist/chunks/walk-object-_CL3Bkm9.js +0 -28
- package/dist/chunks/walk-object-_CL3Bkm9.js.map +0 -1
- package/dist/chunks/withFormControl-DA1TgH2T.js +0 -376
- package/dist/chunks/withFormControl-DA1TgH2T.js.map +0 -1
- package/dist/chunks/withFormControl-PaMa_BVC.js +0 -2
- package/dist/chunks/withFormControl-PaMa_BVC.js.map +0 -1
- package/dist/chunks/withTruncation-lxIe2bbU.js +0 -2
- package/dist/chunks/wrap-CNn1kyJX.js +0 -2
- package/dist/chunks/wrap-CNn1kyJX.js.map +0 -1
- package/dist/chunks/wrap-Dk19PFnP.js +0 -45
- package/dist/chunks/wrap-Dk19PFnP.js.map +0 -1
- package/dist/cjs/chakra/index.cjs +0 -2
- package/dist/cjs/chakra/index.cjs.map +0 -1
- package/dist/cjs/cli/generate-theme-types.cjs +0 -6
- package/dist/cjs/cli/generate-theme-types.cjs.map +0 -1
- package/dist/cjs/cli/postinstall.cjs +0 -3
- package/dist/cjs/cli/postinstall.cjs.map +0 -1
- package/dist/cjs/components/Divider/index.cjs +0 -2
- package/dist/cjs/components/Logo/generated/index.cjs +0 -2
- package/dist/cjs/components/Logo/index.cjs +0 -2
- package/dist/cjs/components/PinInput/index.cjs +0 -2
- package/dist/cjs/components/StyledAvatar/index.cjs.map +0 -1
- package/dist/cjs/components/TagBlock/index.cjs.map +0 -1
- package/dist/cjs/components/Timestamp/index.cjs.map +0 -1
- package/dist/cjs/components/Toast/index.cjs +0 -2
- package/dist/cjs/components/Toast/index.cjs.map +0 -1
- package/dist/cjs/hooks/useBreakpoint/index.cjs +0 -2
- package/dist/cjs/hooks/useBreakpoint/index.cjs.map +0 -1
- package/dist/cjs/hooks/useDeviceType/index.cjs +0 -2
- package/dist/cjs/hooks/useDeviceType/index.cjs.map +0 -1
- package/dist/cjs/shared/index.cjs +0 -2
- package/dist/cjs/shared/index.cjs.map +0 -1
- package/dist/cjs/shared/records/index.cjs +0 -2
- package/dist/cjs/shared/records/index.cjs.map +0 -1
- package/dist/esm/chakra/index.js +0 -3227
- package/dist/esm/chakra/index.js.map +0 -1
- package/dist/esm/cli/generate-theme-types.js +0 -22
- package/dist/esm/cli/generate-theme-types.js.map +0 -1
- package/dist/esm/cli/postinstall.js +0 -21
- package/dist/esm/cli/postinstall.js.map +0 -1
- package/dist/esm/components/Divider/index.js +0 -8
- package/dist/esm/components/Logo/generated/index.js +0 -6
- package/dist/esm/components/Logo/index.js +0 -7
- package/dist/esm/components/PinInput/index.js +0 -6
- package/dist/esm/components/PinInput/index.js.map +0 -1
- package/dist/esm/components/StyledAvatar/index.js.map +0 -1
- package/dist/esm/components/TagBlock/index.js.map +0 -1
- package/dist/esm/components/Timestamp/index.js +0 -5
- package/dist/esm/components/Timestamp/index.js.map +0 -1
- package/dist/esm/components/Toast/index.js +0 -59
- package/dist/esm/components/Toast/index.js.map +0 -1
- package/dist/esm/hooks/useBreakpoint/index.js +0 -12
- package/dist/esm/hooks/useBreakpoint/index.js.map +0 -1
- package/dist/esm/hooks/useDeviceType/index.js +0 -12
- package/dist/esm/hooks/useDeviceType/index.js.map +0 -1
- package/dist/esm/shared/index.js +0 -9
- package/dist/esm/shared/index.js.map +0 -1
- package/dist/esm/shared/records/index.js +0 -18
- package/dist/esm/shared/records/index.js.map +0 -1
- package/dist/types/chakra/index.d.ts +0 -52
- package/dist/types/cli/generate-theme-types.d.ts +0 -2
- package/dist/types/cli/postinstall.d.ts +0 -2
- package/dist/types/components/Divider/divider.component.d.ts +0 -4
- package/dist/types/components/Divider/divider.types.d.ts +0 -6
- package/dist/types/components/Divider/index.d.ts +0 -2
- package/dist/types/components/Icon/generated/AiMicrophone.d.ts +0 -10
- package/dist/types/components/Logo/generated/FullLogo.d.ts +0 -10
- package/dist/types/components/Logo/generated/IconLogo.d.ts +0 -10
- package/dist/types/components/Logo/generated/index.d.ts +0 -4
- package/dist/types/components/Logo/index.d.ts +0 -2
- package/dist/types/components/Logo/logo.component.d.ts +0 -10
- package/dist/types/components/Logo/logo.recipe.d.ts +0 -9
- package/dist/types/components/Logo/logo.types.d.ts +0 -4
- package/dist/types/components/Modal/context/modal.context.d.ts +0 -6
- package/dist/types/components/PinInput/index.d.ts +0 -2
- package/dist/types/components/PinInput/pinInput.component.d.ts +0 -10
- package/dist/types/components/PinInput/pinInput.recipe.d.ts +0 -21
- package/dist/types/components/PinInput/pinInput.records.d.ts +0 -1
- package/dist/types/components/PinInput/pinInput.types.d.ts +0 -2
- package/dist/types/components/Toast/components/ToastAction/toastAction.component.d.ts +0 -12
- package/dist/types/components/Toast/components/Toaster/toaster.component.d.ts +0 -7
- package/dist/types/components/Toast/components/Toaster/toaster.records.d.ts +0 -11
- package/dist/types/components/Toast/components/Toaster/toaster.types.d.ts +0 -12
- package/dist/types/components/Toast/index.d.ts +0 -2
- package/dist/types/components/Toast/toast.component.d.ts +0 -14
- package/dist/types/components/Toast/toast.recipe.d.ts +0 -21
- package/dist/types/components/Toast/toast.types.d.ts +0 -19
- package/dist/types/components/Toast/useToast.d.ts +0 -3
- package/dist/types/hooks/useBreakpoint/index.d.ts +0 -1
- package/dist/types/hooks/useDeviceType/index.d.ts +0 -3
- package/dist/types/shared/index.d.ts +0 -1
- package/dist/types/shared/records/index.d.ts +0 -1
- package/dist/types/shared/records/status.d.ts +0 -5
- /package/dist/cjs/{components → patterns}/ConversationCard/index.cjs.map +0 -0
- /package/dist/cjs/{components/Divider → patterns/StyledAvatar}/index.cjs.map +0 -0
- /package/dist/cjs/{components/Logo/generated → patterns/TagBlock}/index.cjs.map +0 -0
- /package/dist/cjs/{components/Logo → patterns/Timestamp}/index.cjs.map +0 -0
- /package/dist/cjs/{components/PinInput → patterns}/index.cjs.map +0 -0
- /package/dist/esm/{components → patterns}/ConversationCard/index.js.map +0 -0
- /package/dist/esm/{components/Divider → patterns/StyledAvatar}/index.js.map +0 -0
- /package/dist/esm/{components/Logo/generated → patterns/TagBlock}/index.js.map +0 -0
- /package/dist/esm/{components/Logo → patterns/Timestamp}/index.js.map +0 -0
- /package/dist/types/{components → patterns}/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.d.ts +0 -0
- /package/dist/types/{components → patterns}/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.d.ts +0 -0
- /package/dist/types/{components → patterns}/ConversationCard/index.d.ts +0 -0
- /package/dist/types/{components → patterns}/StyledAvatar/index.d.ts +0 -0
- /package/dist/types/{components → patterns}/StyledAvatar/styledAvatar.types.d.ts +0 -0
- /package/dist/types/{components → patterns}/TagBlock/index.d.ts +0 -0
- /package/dist/types/{components → patterns}/TagBlock/tagBlock.types.d.ts +0 -0
- /package/dist/types/{components → patterns}/Timestamp/index.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vendor-BBfll6i3.js","sources":["../../node_modules/react/cjs/react-jsx-runtime.production.js","../../node_modules/react/cjs/react-jsx-runtime.development.js","../../node_modules/react/jsx-runtime.js","../../node_modules/stylis/src/Enum.js","../../node_modules/stylis/src/Utility.js","../../node_modules/stylis/src/Tokenizer.js","../../node_modules/stylis/src/Parser.js","../../node_modules/stylis/src/Serializer.js","../../node_modules/stylis/src/Middleware.js","../../node_modules/react-is/cjs/react-is.production.min.js","../../node_modules/react-is/cjs/react-is.development.js","../../node_modules/react-is/index.js","../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../node_modules/@zag-js/dom-query/dist/index.mjs","../../node_modules/react-dom/cjs/react-dom.production.js","../../node_modules/react-dom/cjs/react-dom.development.js","../../node_modules/react-dom/index.js","../../node_modules/@ark-ui/react/dist/utils/create-context.js","../../node_modules/@ark-ui/react/dist/providers/environment/use-environment-context.js","../../node_modules/@ark-ui/react/dist/components/portal/portal.js","../../node_modules/@zag-js/utils/dist/index.mjs","../../node_modules/@zag-js/core/dist/index.mjs","../../node_modules/@zag-js/types/dist/index.mjs","../../node_modules/@zag-js/react/dist/index.mjs","../../node_modules/@ark-ui/react/dist/utils/compose-refs.js","../../node_modules/@ark-ui/react/dist/components/factory.js","../../node_modules/@ark-ui/react/dist/components/tooltip/use-tooltip-context.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-arrow.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/presence/use-presence-context.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-content.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-positioner.js","../../node_modules/@ark-ui/react/dist/utils/create-split-props.js","../../node_modules/@ark-ui/react/dist/components/presence/split-presence-props.js","../../node_modules/@zag-js/presence/dist/index.mjs","../../node_modules/@ark-ui/react/dist/utils/use-event.js","../../node_modules/@ark-ui/react/dist/components/presence/use-presence.js","../../node_modules/@zag-js/anatomy/dist/index.mjs","../../node_modules/@zag-js/focus-visible/dist/index.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../node_modules/@zag-js/popper/dist/index.mjs","../../node_modules/proxy-compare/dist/index.js","../../node_modules/@zag-js/store/dist/index.mjs","../../node_modules/@zag-js/tooltip/dist/index.mjs","../../node_modules/@ark-ui/react/dist/providers/locale/use-locale-context.js","../../node_modules/@ark-ui/react/dist/components/tooltip/use-tooltip.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-root.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-root-provider.js","../../node_modules/@ark-ui/react/dist/components/tooltip/tooltip-trigger.js","../../node_modules/@ark-ui/react/dist/components/avatar/use-avatar-context.js","../../node_modules/@ark-ui/react/dist/components/avatar/avatar-fallback.js","../../node_modules/@ark-ui/react/dist/components/avatar/avatar-image.js","../../node_modules/@zag-js/avatar/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/avatar/use-avatar.js","../../node_modules/@ark-ui/react/dist/components/avatar/avatar-root.js","../../node_modules/@ark-ui/react/dist/components/avatar/avatar-root-provider.js","../../node_modules/@pandacss/is-valid-prop/dist/index.mjs","../../node_modules/fast-safe-stringify/index.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-option-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-checkbox-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-content.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-context-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-group-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group-label.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-text.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-positioner.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item-group.js","../../node_modules/@ark-ui/react/dist/utils/use-effect-once.js","../../node_modules/@zag-js/interact-outside/dist/index.mjs","../../node_modules/@zag-js/dismissable/dist/index.mjs","../../node_modules/@zag-js/rect-utils/dist/index.mjs","../../node_modules/@zag-js/menu/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/menu/use-menu.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-machine-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-trigger-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root-provider.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-separator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger-item.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-context.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-control.js","../../node_modules/@zag-js/checkbox/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox.anatomy.js","../../node_modules/@ark-ui/react/dist/utils/use-controllable-state.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-group.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-group-context.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-group.js","../../node_modules/@ark-ui/react/dist/components/field/use-field-context.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-label.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-root.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-root-provider.js","../../node_modules/@ark-ui/react/dist/components/field/field-error-text.js","../../node_modules/@ark-ui/react/dist/components/field/field-helper-text.js","../../node_modules/@ark-ui/react/dist/components/field/field-input.js","../../node_modules/@ark-ui/react/dist/components/field/field-label.js","../../node_modules/@ark-ui/react/dist/utils/use-safe-layout-effect.js","../../node_modules/@ark-ui/react/dist/components/fieldset/use-fieldset-context.js","../../node_modules/@ark-ui/react/dist/components/field/field.anatomy.js","../../node_modules/@ark-ui/react/dist/components/field/use-field.js","../../node_modules/@ark-ui/react/dist/components/field/field-root.js","../../node_modules/@zag-js/auto-resize/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/field/field-textarea.js","../../node_modules/@zag-js/collapsible/dist/index.mjs","../../node_modules/@zag-js/color-picker/dist/index.mjs","../../node_modules/@ark-ui/react/dist/utils/render-strategy.js","../../node_modules/@zag-js/accordion/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker.anatomy.js","../../node_modules/@zag-js/collection/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/collection.js","../../node_modules/@zag-js/aria-hidden/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/dialog/use-dialog-context.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-backdrop.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-close-trigger.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-content.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-description.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-positioner.js","../../node_modules/@zag-js/focus-trap/dist/index.mjs","../../node_modules/@zag-js/remove-scroll/dist/index.mjs","../../node_modules/@zag-js/dialog/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/dialog/use-dialog.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-root.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-root-provider.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-title.js","../../node_modules/@ark-ui/react/dist/components/dialog/dialog-trigger.js","../../node_modules/@zag-js/editable/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/fieldset/fieldset.anatomy.js","../../node_modules/@zag-js/file-upload/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/hover-card/use-hover-card-context.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-arrow.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-content.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-context.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-positioner.js","../../node_modules/@zag-js/hover-card/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/hover-card/use-hover-card.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-root.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-root-provider.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-trigger.js","../../node_modules/@zag-js/number-input/dist/index.mjs","../../node_modules/@zag-js/pin-input/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/popover/use-popover-context.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-anchor.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-arrow.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-close-trigger.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-content.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-context.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-description.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-indicator.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-positioner.js","../../node_modules/@zag-js/popover/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/popover/use-popover.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-root.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-root-provider.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-title.js","../../node_modules/@ark-ui/react/dist/components/popover/popover-trigger.js","../../node_modules/@zag-js/progress/dist/index.mjs","../../node_modules/@zag-js/qr-code/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-control.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-text.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-label.js","../../node_modules/@zag-js/radio-group/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-root.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-root-provider.js","../../node_modules/@zag-js/rating-group/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/segment-group/segment-group.anatomy.js","../../node_modules/@ark-ui/react/dist/components/select/use-select-context.js","../../node_modules/@ark-ui/react/dist/components/select/select-clear-trigger.js","../../node_modules/@ark-ui/react/dist/components/select/select-content.js","../../node_modules/@ark-ui/react/dist/components/select/select-control.js","../../node_modules/@ark-ui/react/dist/components/select/select-hidden-select.js","../../node_modules/@ark-ui/react/dist/components/select/select-indicator.js","../../node_modules/@ark-ui/react/dist/components/select/use-select-item-context.js","../../node_modules/@ark-ui/react/dist/components/select/use-select-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/select/select-item.js","../../node_modules/@ark-ui/react/dist/components/select/use-select-item-group-props.js","../../node_modules/@ark-ui/react/dist/components/select/select-item-group.js","../../node_modules/@ark-ui/react/dist/components/select/select-item-group-label.js","../../node_modules/@ark-ui/react/dist/components/select/select-item-indicator.js","../../node_modules/@ark-ui/react/dist/components/select/select-item-text.js","../../node_modules/@ark-ui/react/dist/components/select/select-label.js","../../node_modules/@ark-ui/react/dist/components/select/select-positioner.js","../../node_modules/@zag-js/select/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/select/use-select.js","../../node_modules/@ark-ui/react/dist/components/select/select-root.js","../../node_modules/@ark-ui/react/dist/components/select/select-root-provider.js","../../node_modules/@ark-ui/react/dist/components/select/select-trigger.js","../../node_modules/@ark-ui/react/dist/components/select/select-value-text.js","../../node_modules/@zag-js/slider/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/switch/use-switch-context.js","../../node_modules/@ark-ui/react/dist/components/switch/switch-control.js","../../node_modules/@ark-ui/react/dist/components/switch/switch-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/switch/switch-label.js","../../node_modules/@zag-js/switch/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/switch/use-switch.js","../../node_modules/@ark-ui/react/dist/components/switch/switch-root.js","../../node_modules/@ark-ui/react/dist/components/switch/switch-root-provider.js","../../node_modules/@ark-ui/react/dist/components/switch/switch-thumb.js","../../node_modules/@ark-ui/react/dist/utils/use-debounce.js","../../node_modules/@ark-ui/react/dist/components/tabs/use-tabs-context.js","../../node_modules/@ark-ui/react/dist/components/tabs/tab-content.js","../../node_modules/@ark-ui/react/dist/components/tabs/tab-indicator.js","../../node_modules/@ark-ui/react/dist/components/tabs/tab-list.js","../../node_modules/@ark-ui/react/dist/components/tabs/tab-trigger.js","../../node_modules/@zag-js/tabs/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/tabs/use-tabs.js","../../node_modules/@ark-ui/react/dist/components/tabs/tabs-root.js","../../node_modules/@ark-ui/react/dist/components/tabs/tabs-root-provider.js","../../node_modules/lodash-es/_baseRange.js","../../node_modules/lodash-es/eq.js","../../node_modules/lodash-es/_freeGlobal.js","../../node_modules/lodash-es/_root.js","../../node_modules/lodash-es/_Symbol.js","../../node_modules/lodash-es/_getRawTag.js","../../node_modules/lodash-es/_objectToString.js","../../node_modules/lodash-es/_baseGetTag.js","../../node_modules/lodash-es/isObject.js","../../node_modules/lodash-es/isFunction.js","../../node_modules/lodash-es/isLength.js","../../node_modules/lodash-es/isArrayLike.js","../../node_modules/lodash-es/_isIndex.js","../../node_modules/lodash-es/_isIterateeCall.js","../../node_modules/lodash-es/_trimmedEndIndex.js","../../node_modules/lodash-es/_baseTrim.js","../../node_modules/lodash-es/isObjectLike.js","../../node_modules/lodash-es/isSymbol.js","../../node_modules/lodash-es/toNumber.js","../../node_modules/lodash-es/toFinite.js","../../node_modules/lodash-es/_createRange.js","../../node_modules/lodash-es/range.js","../../node_modules/next-themes/dist/index.mjs"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n \"react-stack-bottom-frame\": function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React[\"react-stack-bottom-frame\"].bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","// src/caret.ts\nfunction isCaretAtStart(input) {\n if (!input) return false;\n try {\n return input.selectionStart === 0 && input.selectionEnd === 0;\n } catch {\n return input.value === \"\";\n }\n}\nfunction setCaretToEnd(input) {\n if (!input) return;\n const start = input.selectionStart ?? 0;\n const end = input.selectionEnd ?? 0;\n if (Math.abs(end - start) !== 0) return;\n if (start !== 0) return;\n input.setSelectionRange(input.value.length, input.value.length);\n}\n\n// src/shared.ts\nvar clamp = (value) => Math.max(0, Math.min(1, value));\nvar wrap = (v, idx) => {\n return v.map((_, index) => v[(Math.max(idx, 0) + index) % v.length]);\n};\nvar pipe = (...fns) => (arg) => fns.reduce((acc, fn) => fn(acc), arg);\nvar noop = () => void 0;\nvar isObject = (v) => typeof v === \"object\" && v !== null;\nvar MAX_Z_INDEX = 2147483647;\nvar dataAttr = (guard) => guard ? \"\" : void 0;\nvar ariaAttr = (guard) => guard ? \"true\" : void 0;\n\n// src/node.ts\nvar ELEMENT_NODE = 1;\nvar DOCUMENT_NODE = 9;\nvar DOCUMENT_FRAGMENT_NODE = 11;\nvar isHTMLElement = (el) => isObject(el) && el.nodeType === ELEMENT_NODE && typeof el.nodeName === \"string\";\nvar isDocument = (el) => isObject(el) && el.nodeType === DOCUMENT_NODE;\nvar isWindow = (el) => isObject(el) && el === el.window;\nvar isVisualViewport = (el) => isObject(el) && el.constructor.name === \"VisualViewport\";\nvar getNodeName = (node) => {\n if (isHTMLElement(node)) return node.localName || \"\";\n return \"#document\";\n};\nfunction isRootElement(node) {\n return [\"html\", \"body\", \"#document\"].includes(getNodeName(node));\n}\nvar isNode = (el) => isObject(el) && el.nodeType !== void 0;\nvar isShadowRoot = (el) => isNode(el) && el.nodeType === DOCUMENT_FRAGMENT_NODE && \"host\" in el;\nvar isInputElement = (el) => isHTMLElement(el) && el.localName === \"input\";\nvar isAnchorElement = (el) => !!el?.matches(\"a[href]\");\nvar isElementVisible = (el) => {\n if (!isHTMLElement(el)) return false;\n return el.offsetWidth > 0 || el.offsetHeight > 0 || el.getClientRects().length > 0;\n};\nvar TEXTAREA_SELECT_REGEX = /(textarea|select)/;\nfunction isEditableElement(el) {\n if (el == null || !isHTMLElement(el)) return false;\n try {\n return isInputElement(el) && el.selectionStart != null || TEXTAREA_SELECT_REGEX.test(el.localName) || el.isContentEditable || el.getAttribute(\"contenteditable\") === \"true\" || el.getAttribute(\"contenteditable\") === \"\";\n } catch {\n return false;\n }\n}\nfunction contains(parent, child) {\n if (!parent || !child) return false;\n if (!isHTMLElement(parent) || !isHTMLElement(child)) return false;\n const rootNode = child.getRootNode?.();\n if (parent === child) return true;\n if (parent.contains(child)) return true;\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) return true;\n next = next.parentNode || next.host;\n }\n }\n return false;\n}\nfunction getDocument(el) {\n if (isDocument(el)) return el;\n if (isWindow(el)) return el.document;\n return el?.ownerDocument ?? document;\n}\nfunction getDocumentElement(el) {\n return getDocument(el).documentElement;\n}\nfunction getWindow(el) {\n if (isShadowRoot(el)) return getWindow(el.host);\n if (isDocument(el)) return el.defaultView ?? window;\n if (isHTMLElement(el)) return el.ownerDocument?.defaultView ?? window;\n return window;\n}\nfunction getActiveElement(rootNode) {\n let activeElement = rootNode.activeElement;\n while (activeElement?.shadowRoot) {\n const el = activeElement.shadowRoot.activeElement;\n if (el === activeElement) break;\n else activeElement = el;\n }\n return activeElement;\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === \"html\") return node;\n const result = node.assignedSlot || node.parentNode || isShadowRoot(node) && node.host || getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\n\n// src/computed-style.ts\nvar styleCache = /* @__PURE__ */ new WeakMap();\nfunction getComputedStyle(el) {\n if (!styleCache.has(el)) {\n styleCache.set(el, getWindow(el).getComputedStyle(el));\n }\n return styleCache.get(el);\n}\n\n// src/data-url.ts\nfunction getDataUrl(svg, opts) {\n const { type, quality = 0.92, background } = opts;\n if (!svg) throw new Error(\"[zag-js > getDataUrl]: Could not find the svg element\");\n const win = getWindow(svg);\n const doc = win.document;\n const svgBounds = svg.getBoundingClientRect();\n const svgClone = svg.cloneNode(true);\n if (!svgClone.hasAttribute(\"viewBox\")) {\n svgClone.setAttribute(\"viewBox\", `0 0 ${svgBounds.width} ${svgBounds.height}`);\n }\n const serializer = new win.XMLSerializer();\n const source = '<?xml version=\"1.0\" standalone=\"no\"?>\\r\\n' + serializer.serializeToString(svgClone);\n const svgString = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(source);\n if (type === \"image/svg+xml\") {\n return Promise.resolve(svgString).then((str) => {\n svgClone.remove();\n return str;\n });\n }\n const dpr = win.devicePixelRatio || 1;\n const canvas = doc.createElement(\"canvas\");\n const image = new win.Image();\n image.src = svgString;\n canvas.width = svgBounds.width * dpr;\n canvas.height = svgBounds.height * dpr;\n const context = canvas.getContext(\"2d\");\n if (type === \"image/jpeg\" || background) {\n context.fillStyle = background || \"white\";\n context.fillRect(0, 0, canvas.width, canvas.height);\n }\n return new Promise((resolve) => {\n image.onload = () => {\n context?.drawImage(image, 0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL(type, quality));\n svgClone.remove();\n };\n });\n}\n\n// src/platform.ts\nvar isDom = () => typeof document !== \"undefined\";\nfunction getPlatform() {\n const agent = navigator.userAgentData;\n return agent?.platform ?? navigator.platform;\n}\nfunction getUserAgent() {\n const ua2 = navigator.userAgentData;\n if (ua2 && Array.isArray(ua2.brands)) {\n return ua2.brands.map(({ brand, version }) => `${brand}/${version}`).join(\" \");\n }\n return navigator.userAgent;\n}\nvar pt = (v) => isDom() && v.test(getPlatform());\nvar ua = (v) => isDom() && v.test(getUserAgent());\nvar vn = (v) => isDom() && v.test(navigator.vendor);\nvar isTouchDevice = () => isDom() && !!navigator.maxTouchPoints;\nvar isIPhone = () => pt(/^iPhone/i);\nvar isIPad = () => pt(/^iPad/i) || isMac() && navigator.maxTouchPoints > 1;\nvar isIos = () => isIPhone() || isIPad();\nvar isApple = () => isMac() || isIos();\nvar isMac = () => pt(/^Mac/i);\nvar isSafari = () => isApple() && vn(/apple/i);\nvar isFirefox = () => ua(/Firefox/i);\nvar isChrome = () => ua(/Chrome/i);\nvar isWebKit = () => ua(/AppleWebKit/i) && !isChrome();\nvar isAndroid = () => ua(/Android/i);\n\n// src/event.ts\nfunction getBeforeInputValue(event) {\n const { selectionStart, selectionEnd, value } = event.currentTarget;\n return value.slice(0, selectionStart) + event.data + value.slice(selectionEnd);\n}\nfunction getComposedPath(event) {\n return event.composedPath?.() ?? event.nativeEvent?.composedPath?.();\n}\nfunction getEventTarget(event) {\n const composedPath = getComposedPath(event);\n return composedPath?.[0] ?? event.target;\n}\nvar isSelfTarget = (event) => {\n return contains(event.currentTarget, getEventTarget(event));\n};\nfunction isOpeningInNewTab(event) {\n const element = event.currentTarget;\n if (!element) return false;\n const isAppleDevice = isApple();\n if (isAppleDevice && !event.metaKey) return false;\n if (!isAppleDevice && !event.ctrlKey) return false;\n const localName = element.localName;\n if (localName === \"a\") return true;\n if (localName === \"button\" && element.type === \"submit\") return true;\n if (localName === \"input\" && element.type === \"submit\") return true;\n return false;\n}\nfunction isDownloadingEvent(event) {\n const element = event.currentTarget;\n if (!element) return false;\n const localName = element.localName;\n if (!event.altKey) return false;\n if (localName === \"a\") return true;\n if (localName === \"button\" && element.type === \"submit\") return true;\n if (localName === \"input\" && element.type === \"submit\") return true;\n return false;\n}\nfunction isComposingEvent(event) {\n return getNativeEvent(event).isComposing || event.keyCode === 229;\n}\nfunction isKeyboardClick(e) {\n return e.detail === 0 || e.clientX === 0 && e.clientY === 0;\n}\nfunction isCtrlOrMetaKey(e) {\n if (isMac()) return e.metaKey;\n return e.ctrlKey;\n}\nfunction isPrintableKey(e) {\n return e.key.length === 1 && !e.ctrlKey && !e.metaKey;\n}\nfunction isVirtualPointerEvent(e) {\n return e.width === 0 && e.height === 0 || e.width === 1 && e.height === 1 && e.pressure === 0 && e.detail === 0 && e.pointerType === \"mouse\";\n}\nfunction isVirtualClick(e) {\n if (e.mozInputSource === 0 && e.isTrusted) return true;\n if (isAndroid() && e.pointerType) {\n return e.type === \"click\" && e.buttons === 1;\n }\n return e.detail === 0 && !e.pointerType;\n}\nvar isLeftClick = (e) => e.button === 0;\nvar isContextMenuEvent = (e) => {\n return e.button === 2 || isMac() && e.ctrlKey && e.button === 0;\n};\nvar isModifierKey = (e) => e.ctrlKey || e.altKey || e.metaKey;\nvar isTouchEvent = (event) => \"touches\" in event && event.touches.length > 0;\nvar keyMap = {\n Up: \"ArrowUp\",\n Down: \"ArrowDown\",\n Esc: \"Escape\",\n \" \": \"Space\",\n \",\": \"Comma\",\n Left: \"ArrowLeft\",\n Right: \"ArrowRight\"\n};\nvar rtlKeyMap = {\n ArrowLeft: \"ArrowRight\",\n ArrowRight: \"ArrowLeft\"\n};\nfunction getEventKey(event, options = {}) {\n const { dir = \"ltr\", orientation = \"horizontal\" } = options;\n let key = event.key;\n key = keyMap[key] ?? key;\n const isRtl = dir === \"rtl\" && orientation === \"horizontal\";\n if (isRtl && key in rtlKeyMap) key = rtlKeyMap[key];\n return key;\n}\nfunction getNativeEvent(event) {\n return event.nativeEvent ?? event;\n}\nvar pageKeys = /* @__PURE__ */ new Set([\"PageUp\", \"PageDown\"]);\nvar arrowKeys = /* @__PURE__ */ new Set([\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"]);\nfunction getEventStep(event) {\n if (event.ctrlKey || event.metaKey) {\n return 0.1;\n } else {\n const isPageKey = pageKeys.has(event.key);\n const isSkipKey = isPageKey || event.shiftKey && arrowKeys.has(event.key);\n return isSkipKey ? 10 : 1;\n }\n}\nfunction getEventPoint(event, type = \"client\") {\n const point = isTouchEvent(event) ? event.touches[0] || event.changedTouches[0] : event;\n return { x: point[`${type}X`], y: point[`${type}Y`] };\n}\nvar addDomEvent = (target, eventName, handler, options) => {\n const node = typeof target === \"function\" ? target() : target;\n node?.addEventListener(eventName, handler, options);\n return () => {\n node?.removeEventListener(eventName, handler, options);\n };\n};\n\n// src/form.ts\nfunction getDescriptor(el, options) {\n const { type = \"HTMLInputElement\", property = \"value\" } = options;\n const proto = getWindow(el)[type].prototype;\n return Object.getOwnPropertyDescriptor(proto, property) ?? {};\n}\nfunction getElementType(el) {\n if (el.localName === \"input\") return \"HTMLInputElement\";\n if (el.localName === \"textarea\") return \"HTMLTextAreaElement\";\n if (el.localName === \"select\") return \"HTMLSelectElement\";\n}\nfunction setElementValue(el, value, property = \"value\") {\n if (!el) return;\n const type = getElementType(el);\n if (type) {\n const descriptor = getDescriptor(el, { type, property });\n descriptor.set?.call(el, value);\n }\n el.setAttribute(property, value);\n}\nfunction setElementChecked(el, checked) {\n if (!el) return;\n const descriptor = getDescriptor(el, { type: \"HTMLInputElement\", property: \"checked\" });\n descriptor.set?.call(el, checked);\n if (checked) el.setAttribute(\"checked\", \"\");\n else el.removeAttribute(\"checked\");\n}\nfunction dispatchInputValueEvent(el, options) {\n const { value, bubbles = true } = options;\n if (!el) return;\n const win = getWindow(el);\n if (!(el instanceof win.HTMLInputElement)) return;\n setElementValue(el, `${value}`);\n el.dispatchEvent(new win.Event(\"input\", { bubbles }));\n}\nfunction dispatchInputCheckedEvent(el, options) {\n const { checked, bubbles = true } = options;\n if (!el) return;\n const win = getWindow(el);\n if (!(el instanceof win.HTMLInputElement)) return;\n setElementChecked(el, checked);\n el.dispatchEvent(new win.Event(\"click\", { bubbles }));\n}\nfunction getClosestForm(el) {\n return isFormElement(el) ? el.form : el.closest(\"form\");\n}\nfunction isFormElement(el) {\n return el.matches(\"textarea, input, select, button\");\n}\nfunction trackFormReset(el, callback) {\n if (!el) return;\n const form = getClosestForm(el);\n const onReset = (e) => {\n if (e.defaultPrevented) return;\n callback();\n };\n form?.addEventListener(\"reset\", onReset, { passive: true });\n return () => form?.removeEventListener(\"reset\", onReset);\n}\nfunction trackFieldsetDisabled(el, callback) {\n const fieldset = el?.closest(\"fieldset\");\n if (!fieldset) return;\n callback(fieldset.disabled);\n const win = getWindow(fieldset);\n const obs = new win.MutationObserver(() => callback(fieldset.disabled));\n obs.observe(fieldset, {\n attributes: true,\n attributeFilter: [\"disabled\"]\n });\n return () => obs.disconnect();\n}\nfunction trackFormControl(el, options) {\n if (!el) return;\n const { onFieldsetDisabledChange, onFormReset } = options;\n const cleanups = [trackFormReset(el, onFormReset), trackFieldsetDisabled(el, onFieldsetDisabledChange)];\n return () => cleanups.forEach((cleanup) => cleanup?.());\n}\n\n// src/tabbable.ts\nvar isFrame = (el) => isHTMLElement(el) && el.tagName === \"IFRAME\";\nvar hasTabIndex = (el) => !Number.isNaN(parseInt(el.getAttribute(\"tabindex\") || \"0\", 10));\nvar hasNegativeTabIndex = (el) => parseInt(el.getAttribute(\"tabindex\") || \"0\", 10) < 0;\nvar focusableSelector = \"input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false']), details > summary:first-of-type\";\nvar getFocusables = (container, includeContainer = false) => {\n if (!container) return [];\n const elements = Array.from(container.querySelectorAll(focusableSelector));\n const include = includeContainer == true || includeContainer == \"if-empty\" && elements.length === 0;\n if (include && isHTMLElement(container) && isFocusable(container)) {\n elements.unshift(container);\n }\n const focusableElements = elements.filter(isFocusable);\n focusableElements.forEach((element, i) => {\n if (isFrame(element) && element.contentDocument) {\n const frameBody = element.contentDocument.body;\n focusableElements.splice(i, 1, ...getFocusables(frameBody));\n }\n });\n return focusableElements;\n};\nfunction isFocusable(element) {\n if (!element || element.closest(\"[inert]\")) return false;\n return element.matches(focusableSelector) && isElementVisible(element);\n}\nfunction getFirstFocusable(container, includeContainer) {\n const [first] = getFocusables(container, includeContainer);\n return first || null;\n}\nfunction getTabbables(container, includeContainer) {\n if (!container) return [];\n const elements = Array.from(container.querySelectorAll(focusableSelector));\n const tabbableElements = elements.filter(isTabbable);\n if (includeContainer && isTabbable(container)) {\n tabbableElements.unshift(container);\n }\n tabbableElements.forEach((element, i) => {\n if (isFrame(element) && element.contentDocument) {\n const frameBody = element.contentDocument.body;\n const allFrameTabbable = getTabbables(frameBody);\n tabbableElements.splice(i, 1, ...allFrameTabbable);\n }\n });\n if (!tabbableElements.length && includeContainer) {\n return elements;\n }\n return tabbableElements;\n}\nfunction isTabbable(el) {\n if (el != null && el.tabIndex > 0) return true;\n return isFocusable(el) && !hasNegativeTabIndex(el);\n}\nfunction getFirstTabbable(container, includeContainer) {\n const [first] = getTabbables(container, includeContainer);\n return first || null;\n}\nfunction getLastTabbable(container, includeContainer) {\n const elements = getTabbables(container, includeContainer);\n return elements[elements.length - 1] || null;\n}\nfunction getTabbableEdges(container, includeContainer) {\n const elements = getTabbables(container, includeContainer);\n const first = elements[0] || null;\n const last = elements[elements.length - 1] || null;\n return [first, last];\n}\nfunction getNextTabbable(container, current) {\n const tabbables = getTabbables(container);\n const doc = container?.ownerDocument || document;\n const currentElement = current ?? doc.activeElement;\n if (!currentElement) return null;\n const index = tabbables.indexOf(currentElement);\n return tabbables[index + 1] || null;\n}\nfunction getTabIndex(node) {\n if (node.tabIndex < 0) {\n if ((/^(audio|video|details)$/.test(node.localName) || isEditableElement(node)) && !hasTabIndex(node)) {\n return 0;\n }\n }\n return node.tabIndex;\n}\n\n// src/initial-focus.ts\nfunction getInitialFocus(options) {\n const { root, getInitialEl, filter, enabled = true } = options;\n if (!enabled) return;\n let node = null;\n node || (node = typeof getInitialEl === \"function\" ? getInitialEl() : getInitialEl);\n node || (node = root?.querySelector(\"[data-autofocus],[autofocus]\"));\n if (!node) {\n const tabbables = getTabbables(root);\n node = filter ? tabbables.filter(filter)[0] : tabbables[0];\n }\n return node || root || void 0;\n}\nfunction isValidTabEvent(event) {\n const container = event.currentTarget;\n if (!container) return false;\n const [firstTabbable, lastTabbable] = getTabbableEdges(container);\n const doc = container.ownerDocument || document;\n if (doc.activeElement === firstTabbable && event.shiftKey) return false;\n if (doc.activeElement === lastTabbable && !event.shiftKey) return false;\n if (!firstTabbable && !lastTabbable) return false;\n return true;\n}\n\n// src/raf.ts\nfunction nextTick(fn) {\n const set = /* @__PURE__ */ new Set();\n function raf2(fn2) {\n const id = globalThis.requestAnimationFrame(fn2);\n set.add(() => globalThis.cancelAnimationFrame(id));\n }\n raf2(() => raf2(fn));\n return function cleanup() {\n set.forEach((fn2) => fn2());\n };\n}\nfunction raf(fn) {\n let cleanup;\n const id = globalThis.requestAnimationFrame(() => {\n cleanup = fn();\n });\n return () => {\n globalThis.cancelAnimationFrame(id);\n cleanup?.();\n };\n}\nfunction queueBeforeEvent(el, type, cb) {\n const cancelTimer = raf(() => {\n el.removeEventListener(type, exec, true);\n cb();\n });\n const exec = () => {\n cancelTimer();\n cb();\n };\n el.addEventListener(type, exec, { once: true, capture: true });\n return cancelTimer;\n}\n\n// src/mutation-observer.ts\nfunction observeAttributesImpl(node, options) {\n if (!node) return;\n const { attributes, callback: fn } = options;\n const win = node.ownerDocument.defaultView || window;\n const obs = new win.MutationObserver((changes) => {\n for (const change of changes) {\n if (change.type === \"attributes\" && change.attributeName && attributes.includes(change.attributeName)) {\n fn(change);\n }\n }\n });\n obs.observe(node, { attributes: true, attributeFilter: attributes });\n return () => obs.disconnect();\n}\nfunction observeAttributes(nodeOrFn, options) {\n const { defer } = options;\n const func = defer ? raf : (v) => v();\n const cleanups = [];\n cleanups.push(\n func(() => {\n const node = typeof nodeOrFn === \"function\" ? nodeOrFn() : nodeOrFn;\n cleanups.push(observeAttributesImpl(node, options));\n })\n );\n return () => {\n cleanups.forEach((fn) => fn?.());\n };\n}\nfunction observeChildrenImpl(node, options) {\n const { callback: fn } = options;\n if (!node) return;\n const win = node.ownerDocument.defaultView || window;\n const obs = new win.MutationObserver(fn);\n obs.observe(node, { childList: true, subtree: true });\n return () => obs.disconnect();\n}\nfunction observeChildren(nodeOrFn, options) {\n const { defer } = options;\n const func = defer ? raf : (v) => v();\n const cleanups = [];\n cleanups.push(\n func(() => {\n const node = typeof nodeOrFn === \"function\" ? nodeOrFn() : nodeOrFn;\n cleanups.push(observeChildrenImpl(node, options));\n })\n );\n return () => {\n cleanups.forEach((fn) => fn?.());\n };\n}\n\n// src/navigate.ts\nfunction clickIfLink(el) {\n const click = () => el.click();\n if (isFirefox()) {\n queueBeforeEvent(el, \"keyup\", click);\n } else {\n queueMicrotask(click);\n }\n}\n\n// src/overflow.ts\nfunction getNearestOverflowAncestor(el) {\n const parentNode = getParentNode(el);\n if (isRootElement(parentNode)) return getDocument(parentNode).body;\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) return parentNode;\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(el, list = []) {\n const scrollableAncestor = getNearestOverflowAncestor(el);\n const isBody = scrollableAncestor === el.ownerDocument.body;\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, []));\n}\nvar getElementRect = (el) => {\n if (isHTMLElement(el)) return el.getBoundingClientRect();\n if (isVisualViewport(el)) return { top: 0, left: 0, bottom: el.height, right: el.width };\n return { top: 0, left: 0, bottom: el.innerHeight, right: el.innerWidth };\n};\nfunction isInView(el, ancestor) {\n if (!isHTMLElement(el)) return true;\n const ancestorRect = getElementRect(ancestor);\n const elRect = el.getBoundingClientRect();\n return elRect.top >= ancestorRect.top && elRect.left >= ancestorRect.left && elRect.bottom <= ancestorRect.bottom && elRect.right <= ancestorRect.right;\n}\nvar OVERFLOW_RE = /auto|scroll|overlay|hidden|clip/;\nfunction isOverflowElement(el) {\n const win = getWindow(el);\n const { overflow, overflowX, overflowY, display } = win.getComputedStyle(el);\n return OVERFLOW_RE.test(overflow + overflowY + overflowX) && ![\"inline\", \"contents\"].includes(display);\n}\nfunction isScrollable(el) {\n return el.scrollHeight > el.clientHeight || el.scrollWidth > el.clientWidth;\n}\nfunction scrollIntoView(el, options) {\n const { rootEl, ...scrollOptions } = options || {};\n if (!el || !rootEl) return;\n if (!isOverflowElement(rootEl) || !isScrollable(rootEl)) return;\n el.scrollIntoView(scrollOptions);\n}\nfunction getScrollPosition(element) {\n if (isHTMLElement(element)) {\n return { scrollLeft: element.scrollLeft, scrollTop: element.scrollTop };\n }\n return { scrollLeft: element.scrollX, scrollTop: element.scrollY };\n}\n\n// src/point.ts\nfunction getRelativePoint(point, element) {\n const { left, top, width, height } = element.getBoundingClientRect();\n const offset = { x: point.x - left, y: point.y - top };\n const percent = { x: clamp(offset.x / width), y: clamp(offset.y / height) };\n function getPercentValue(options = {}) {\n const { dir = \"ltr\", orientation = \"horizontal\", inverted } = options;\n const invertX = typeof inverted === \"object\" ? inverted.x : inverted;\n const invertY = typeof inverted === \"object\" ? inverted.y : inverted;\n if (orientation === \"horizontal\") {\n return dir === \"rtl\" || invertX ? 1 - percent.x : percent.x;\n }\n return invertY ? 1 - percent.y : percent.y;\n }\n return { offset, percent, getPercentValue };\n}\n\n// src/pointer-lock.ts\nfunction requestPointerLock(doc, fn) {\n const body = doc.body;\n const supported = \"pointerLockElement\" in doc || \"mozPointerLockElement\" in doc;\n const isLocked = () => !!doc.pointerLockElement;\n function onPointerChange() {\n fn?.(isLocked());\n }\n function onPointerError(event) {\n if (isLocked()) fn?.(false);\n console.error(\"PointerLock error occurred:\", event);\n doc.exitPointerLock();\n }\n if (!supported) return;\n try {\n body.requestPointerLock();\n } catch {\n }\n const cleanup = [\n addDomEvent(doc, \"pointerlockchange\", onPointerChange, false),\n addDomEvent(doc, \"pointerlockerror\", onPointerError, false)\n ];\n return () => {\n cleanup.forEach((cleanup2) => cleanup2());\n doc.exitPointerLock();\n };\n}\n\n// src/text-selection.ts\nvar state = \"default\";\nvar userSelect = \"\";\nvar elementMap = /* @__PURE__ */ new WeakMap();\nfunction disableTextSelectionImpl(options = {}) {\n const { target, doc } = options;\n const docNode = doc ?? document;\n const rootEl = docNode.documentElement;\n if (isIos()) {\n if (state === \"default\") {\n userSelect = rootEl.style.webkitUserSelect;\n rootEl.style.webkitUserSelect = \"none\";\n }\n state = \"disabled\";\n } else if (target) {\n elementMap.set(target, target.style.userSelect);\n target.style.userSelect = \"none\";\n }\n return () => restoreTextSelection({ target, doc: docNode });\n}\nfunction restoreTextSelection(options = {}) {\n const { target, doc } = options;\n const docNode = doc ?? document;\n const rootEl = docNode.documentElement;\n if (isIos()) {\n if (state !== \"disabled\") return;\n state = \"restoring\";\n setTimeout(() => {\n nextTick(() => {\n if (state === \"restoring\") {\n if (rootEl.style.webkitUserSelect === \"none\") {\n rootEl.style.webkitUserSelect = userSelect || \"\";\n }\n userSelect = \"\";\n state = \"default\";\n }\n });\n }, 300);\n } else {\n if (target && elementMap.has(target)) {\n const prevUserSelect = elementMap.get(target);\n if (target.style.userSelect === \"none\") {\n target.style.userSelect = prevUserSelect ?? \"\";\n }\n if (target.getAttribute(\"style\") === \"\") {\n target.removeAttribute(\"style\");\n }\n elementMap.delete(target);\n }\n }\n}\nfunction disableTextSelection(options = {}) {\n const { defer, target, ...restOptions } = options;\n const func = defer ? raf : (v) => v();\n const cleanups = [];\n cleanups.push(\n func(() => {\n const node = typeof target === \"function\" ? target() : target;\n cleanups.push(disableTextSelectionImpl({ ...restOptions, target: node }));\n })\n );\n return () => {\n cleanups.forEach((fn) => fn?.());\n };\n}\n\n// src/pointer-move.ts\nfunction trackPointerMove(doc, handlers) {\n const { onPointerMove, onPointerUp } = handlers;\n const handleMove = (event) => {\n const point = getEventPoint(event);\n const distance = Math.sqrt(point.x ** 2 + point.y ** 2);\n const moveBuffer = event.pointerType === \"touch\" ? 10 : 5;\n if (distance < moveBuffer) return;\n if (event.pointerType === \"mouse\" && event.button === 0) {\n onPointerUp();\n return;\n }\n onPointerMove({ point, event });\n };\n const cleanups = [\n addDomEvent(doc, \"pointermove\", handleMove, false),\n addDomEvent(doc, \"pointerup\", onPointerUp, false),\n addDomEvent(doc, \"pointercancel\", onPointerUp, false),\n addDomEvent(doc, \"contextmenu\", onPointerUp, false),\n disableTextSelection({ doc })\n ];\n return () => {\n cleanups.forEach((cleanup) => cleanup());\n };\n}\n\n// src/press.ts\nfunction trackPress(options) {\n const {\n pointerNode,\n keyboardNode = pointerNode,\n onPress,\n onPressStart,\n onPressEnd,\n isValidKey = (e) => e.key === \"Enter\"\n } = options;\n if (!pointerNode) return noop;\n const win = getWindow(pointerNode);\n const doc = getDocument(pointerNode);\n let removeStartListeners = noop;\n let removeEndListeners = noop;\n let removeAccessibleListeners = noop;\n const getInfo = (event) => ({\n point: getEventPoint(event),\n event\n });\n function startPress(event) {\n onPressStart?.(getInfo(event));\n }\n function cancelPress(event) {\n onPressEnd?.(getInfo(event));\n }\n const startPointerPress = (startEvent) => {\n removeEndListeners();\n const endPointerPress = (endEvent) => {\n const target = getEventTarget(endEvent);\n if (contains(pointerNode, target)) {\n onPress?.(getInfo(endEvent));\n } else {\n onPressEnd?.(getInfo(endEvent));\n }\n };\n const removePointerUpListener = addDomEvent(win, \"pointerup\", endPointerPress, { passive: !onPress, once: true });\n const removePointerCancelListener = addDomEvent(win, \"pointercancel\", cancelPress, {\n passive: !onPressEnd,\n once: true\n });\n removeEndListeners = pipe(removePointerUpListener, removePointerCancelListener);\n if (doc.activeElement === keyboardNode && startEvent.pointerType === \"mouse\") {\n startEvent.preventDefault();\n }\n startPress(startEvent);\n };\n const removePointerListener = addDomEvent(pointerNode, \"pointerdown\", startPointerPress, { passive: !onPressStart });\n const removeFocusListener = addDomEvent(keyboardNode, \"focus\", startAccessiblePress);\n removeStartListeners = pipe(removePointerListener, removeFocusListener);\n function startAccessiblePress() {\n const handleKeydown = (keydownEvent) => {\n if (!isValidKey(keydownEvent)) return;\n const handleKeyup = (keyupEvent) => {\n if (!isValidKey(keyupEvent)) return;\n const evt2 = new win.PointerEvent(\"pointerup\");\n const info = getInfo(evt2);\n onPress?.(info);\n onPressEnd?.(info);\n };\n removeEndListeners();\n removeEndListeners = addDomEvent(keyboardNode, \"keyup\", handleKeyup);\n const evt = new win.PointerEvent(\"pointerdown\");\n startPress(evt);\n };\n const handleBlur = () => {\n const evt = new win.PointerEvent(\"pointercancel\");\n cancelPress(evt);\n };\n const removeKeydownListener = addDomEvent(keyboardNode, \"keydown\", handleKeydown);\n const removeBlurListener = addDomEvent(keyboardNode, \"blur\", handleBlur);\n removeAccessibleListeners = pipe(removeKeydownListener, removeBlurListener);\n }\n return () => {\n removeStartListeners();\n removeEndListeners();\n removeAccessibleListeners();\n };\n}\n\n// src/proxy-tab-focus.ts\nfunction proxyTabFocusImpl(container, options = {}) {\n const { triggerElement, onFocus, onFocusEnter } = options;\n const doc = container?.ownerDocument || document;\n const body = doc.body;\n function onKeyDown(event) {\n if (event.key !== \"Tab\") return;\n let elementToFocus = null;\n const [firstTabbable, lastTabbable] = getTabbableEdges(container, true);\n const nextTabbableAfterTrigger = getNextTabbable(body, triggerElement);\n const noTabbableElements = !firstTabbable && !lastTabbable;\n if (event.shiftKey && nextTabbableAfterTrigger === doc.activeElement) {\n onFocusEnter?.();\n elementToFocus = lastTabbable;\n } else if (event.shiftKey && (doc.activeElement === firstTabbable || noTabbableElements)) {\n elementToFocus = triggerElement;\n } else if (!event.shiftKey && doc.activeElement === triggerElement) {\n onFocusEnter?.();\n elementToFocus = firstTabbable;\n } else if (!event.shiftKey && (doc.activeElement === lastTabbable || noTabbableElements)) {\n elementToFocus = nextTabbableAfterTrigger;\n }\n if (!elementToFocus) return;\n event.preventDefault();\n if (typeof onFocus === \"function\") {\n onFocus(elementToFocus);\n } else {\n elementToFocus.focus();\n }\n }\n return addDomEvent(doc, \"keydown\", onKeyDown, true);\n}\nfunction proxyTabFocus(container, options) {\n const { defer, triggerElement, ...restOptions } = options;\n const func = defer ? raf : (v) => v();\n const cleanups = [];\n cleanups.push(\n func(() => {\n const node = typeof container === \"function\" ? container() : container;\n const trigger = typeof triggerElement === \"function\" ? triggerElement() : triggerElement;\n cleanups.push(proxyTabFocusImpl(node, { triggerElement: trigger, ...restOptions }));\n })\n );\n return () => {\n cleanups.forEach((fn) => fn?.());\n };\n}\n\n// src/query.ts\nfunction queryAll(root, selector) {\n return Array.from(root?.querySelectorAll(selector) ?? []);\n}\nfunction query(root, selector) {\n return root?.querySelector(selector) ?? null;\n}\nvar defaultItemToId = (v) => v.id;\nfunction itemById(v, id, itemToId = defaultItemToId) {\n return v.find((item) => itemToId(item) === id);\n}\nfunction indexOfId(v, id, itemToId = defaultItemToId) {\n const item = itemById(v, id, itemToId);\n return item ? v.indexOf(item) : -1;\n}\nfunction nextById(v, id, loop = true) {\n let idx = indexOfId(v, id);\n idx = loop ? (idx + 1) % v.length : Math.min(idx + 1, v.length - 1);\n return v[idx];\n}\nfunction prevById(v, id, loop = true) {\n let idx = indexOfId(v, id);\n if (idx === -1) return loop ? v[v.length - 1] : null;\n idx = loop ? (idx - 1 + v.length) % v.length : Math.max(0, idx - 1);\n return v[idx];\n}\n\n// src/resize-observer.ts\nfunction trackElementRect(elements, options) {\n const { onEntry, measure, box = \"border-box\" } = options;\n const elems = (Array.isArray(elements) ? elements : [elements]).filter(isHTMLElement);\n const win = getWindow(elems[0]);\n const trigger = (entries) => {\n const rects = elems.map((el) => measure(el));\n onEntry({ rects, entries });\n };\n trigger([]);\n const obs = new win.ResizeObserver(trigger);\n elems.forEach((el) => obs.observe(el, { box }));\n return () => obs.disconnect();\n}\n\n// src/scope.ts\nfunction createScope(methods) {\n const dom = {\n getRootNode: (ctx) => ctx.getRootNode?.() ?? document,\n getDoc: (ctx) => getDocument(dom.getRootNode(ctx)),\n getWin: (ctx) => dom.getDoc(ctx).defaultView ?? window,\n getActiveElement: (ctx) => getActiveElement(dom.getRootNode(ctx)),\n isActiveElement: (ctx, elem) => elem === dom.getActiveElement(ctx),\n getById: (ctx, id) => dom.getRootNode(ctx).getElementById(id),\n setValue: (elem, value) => {\n if (elem == null || value == null) return;\n setElementValue(elem, value.toString());\n }\n };\n return { ...dom, ...methods };\n}\n\n// src/searchable.ts\nvar sanitize = (str) => str.split(\"\").map((char) => {\n const code = char.charCodeAt(0);\n if (code > 0 && code < 128) return char;\n if (code >= 128 && code <= 255) return `/x${code.toString(16)}`.replace(\"/\", \"\\\\\");\n return \"\";\n}).join(\"\").trim();\nvar getValueText = (el) => {\n return sanitize(el.dataset?.valuetext ?? el.textContent ?? \"\");\n};\nvar match = (valueText, query2) => {\n return valueText.trim().toLowerCase().startsWith(query2.toLowerCase());\n};\nfunction getByText(v, text, currentId, itemToId = defaultItemToId) {\n const index = currentId ? indexOfId(v, currentId, itemToId) : -1;\n let items = currentId ? wrap(v, index) : v;\n const isSingleKey = text.length === 1;\n if (isSingleKey) {\n items = items.filter((item) => itemToId(item) !== currentId);\n }\n return items.find((item) => match(getValueText(item), text));\n}\n\n// src/set.ts\nfunction setAttribute(el, attr, v) {\n const prev = el.getAttribute(attr);\n const exists = prev != null;\n el.setAttribute(attr, v);\n return () => {\n if (!exists) {\n el.removeAttribute(attr);\n } else {\n el.setAttribute(attr, prev);\n }\n };\n}\nfunction setProperty(el, prop, v) {\n const exists = prop in el;\n const prev = el[prop];\n el[prop] = v;\n return () => {\n if (!exists) {\n delete el[prop];\n } else {\n el[prop] = prev;\n }\n };\n}\nfunction setStyle(el, style) {\n if (!el) return noop;\n const prev = Object.keys(style).reduce((acc, key) => {\n acc[key] = el.style.getPropertyValue(key);\n return acc;\n }, {});\n Object.assign(el.style, style);\n return () => {\n Object.assign(el.style, prev);\n if (el.style.length === 0) {\n el.removeAttribute(\"style\");\n }\n };\n}\nfunction setStyleProperty(el, prop, value) {\n if (!el) return noop;\n const prev = el.style.getPropertyValue(prop);\n el.style.setProperty(prop, value);\n return () => {\n el.style.setProperty(prop, prev);\n if (el.style.length === 0) {\n el.removeAttribute(\"style\");\n }\n };\n}\n\n// src/typeahead.ts\nfunction getByTypeaheadImpl(baseItems, options) {\n const { state: state2, activeId, key, timeout = 350, itemToId } = options;\n const search = state2.keysSoFar + key;\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const query2 = isRepeated ? search[0] : search;\n let items = baseItems.slice();\n const next = getByText(items, query2, activeId, itemToId);\n function cleanup() {\n clearTimeout(state2.timer);\n state2.timer = -1;\n }\n function update(value) {\n state2.keysSoFar = value;\n cleanup();\n if (value !== \"\") {\n state2.timer = +setTimeout(() => {\n update(\"\");\n cleanup();\n }, timeout);\n }\n }\n update(search);\n return next;\n}\nvar getByTypeahead = /* @__PURE__ */ Object.assign(getByTypeaheadImpl, {\n defaultOptions: { keysSoFar: \"\", timer: -1 },\n isValidEvent: isValidTypeaheadEvent\n});\nfunction isValidTypeaheadEvent(event) {\n return event.key.length === 1 && !event.ctrlKey && !event.metaKey;\n}\n\n// src/visual-viewport.ts\nfunction trackVisualViewport(doc, fn) {\n const win = doc?.defaultView || window;\n const onResize = () => {\n fn?.(getViewportSize(win));\n };\n onResize();\n return addDomEvent(win.visualViewport ?? win, \"resize\", onResize);\n}\nfunction getViewportSize(win) {\n return {\n width: win.visualViewport?.width || win.innerWidth,\n height: win.visualViewport?.height || win.innerHeight\n };\n}\n\n// src/visually-hidden.ts\nvar visuallyHiddenStyle = {\n border: \"0\",\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: \"0\",\n position: \"absolute\",\n width: \"1px\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n};\nfunction setVisuallyHidden(el) {\n Object.assign(el.style, visuallyHiddenStyle);\n}\n\n// src/wait-for.ts\nvar fps = 1e3 / 60;\nfunction waitForElement(query2, cb) {\n const el = query2();\n if (isHTMLElement(el) && el.isConnected) {\n cb(el);\n return () => void 0;\n } else {\n const timerId = setInterval(() => {\n const el2 = query2();\n if (isHTMLElement(el2) && el2.isConnected) {\n cb(el2);\n clearInterval(timerId);\n }\n }, fps);\n return () => clearInterval(timerId);\n }\n}\nfunction waitForElements(queries, cb) {\n const cleanups = [];\n queries?.forEach((query2) => {\n const clean = waitForElement(query2, cb);\n cleanups.push(clean);\n });\n return () => {\n cleanups.forEach((fn) => fn());\n };\n}\n\nexport { MAX_Z_INDEX, addDomEvent, ariaAttr, clickIfLink, contains, createScope, dataAttr, defaultItemToId, disableTextSelection, dispatchInputCheckedEvent, dispatchInputValueEvent, getActiveElement, getBeforeInputValue, getByText, getByTypeahead, getComputedStyle, getDataUrl, getDocument, getDocumentElement, getEventKey, getEventPoint, getEventStep, getEventTarget, getFirstFocusable, getFirstTabbable, getFocusables, getInitialFocus, getLastTabbable, getNativeEvent, getNearestOverflowAncestor, getNextTabbable, getNodeName, getOverflowAncestors, getParentNode, getPlatform, getRelativePoint, getScrollPosition, getTabIndex, getTabbableEdges, getTabbables, getUserAgent, getWindow, indexOfId, isAnchorElement, isAndroid, isApple, isCaretAtStart, isChrome, isComposingEvent, isContextMenuEvent, isCtrlOrMetaKey, isDocument, isDom, isDownloadingEvent, isEditableElement, isElementVisible, isFirefox, isFocusable, isHTMLElement, isIPad, isIPhone, isInView, isInputElement, isIos, isKeyboardClick, isLeftClick, isMac, isModifierKey, isNode, isOpeningInNewTab, isOverflowElement, isPrintableKey, isRootElement, isSafari, isSelfTarget, isShadowRoot, isTabbable, isTouchDevice, isTouchEvent, isValidTabEvent, isVirtualClick, isVirtualPointerEvent, isVisualViewport, isWebKit, isWindow, itemById, nextById, nextTick, observeAttributes, observeChildren, prevById, proxyTabFocus, query, queryAll, queueBeforeEvent, raf, requestPointerLock, restoreTextSelection, scrollIntoView, setAttribute, setCaretToEnd, setElementChecked, setElementValue, setProperty, setStyle, setStyleProperty, setVisuallyHidden, trackElementRect, trackFormControl, trackPointerMove, trackPress, trackVisualViewport, visuallyHiddenStyle, waitForElement, waitForElements };\n","/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.1.0\";\n","/**\n * @license React\n * react-dom.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function noop() {}\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n try {\n testStringCoercion(key);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n JSCompiler_inline_result &&\n (console.error(\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n key[Symbol.toStringTag]) ||\n key.constructor.name ||\n \"Object\"\n ),\n testStringCoercion(key));\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n }\n function getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n }\n function getValueDescriptorExpectingObjectForWarning(thing) {\n return null === thing\n ? \"`null`\"\n : void 0 === thing\n ? \"`undefined`\"\n : \"\" === thing\n ? \"an empty string\"\n : 'something with type \"' + typeof thing + '\"';\n }\n function getValueDescriptorExpectingEnumForWarning(thing) {\n return null === thing\n ? \"`null`\"\n : void 0 === thing\n ? \"`undefined`\"\n : \"\" === thing\n ? \"an empty string\"\n : \"string\" === typeof thing\n ? JSON.stringify(thing)\n : \"number\" === typeof thing\n ? \"`\" + thing + \"`\"\n : 'something with type \"' + typeof thing + '\"';\n }\n function resolveDispatcher() {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher;\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(\n \"Invalid form element. requestFormReset must be passed a form that was rendered by React.\"\n );\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n (\"function\" === typeof Map &&\n null != Map.prototype &&\n \"function\" === typeof Map.prototype.forEach &&\n \"function\" === typeof Set &&\n null != Set.prototype &&\n \"function\" === typeof Set.prototype.clear &&\n \"function\" === typeof Set.prototype.forEach) ||\n console.error(\n \"React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\"\n );\n exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\n exports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(\"Target container is not a DOM element.\");\n return createPortal$1(children, container, null, key);\n };\n exports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn))\n return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f() &&\n console.error(\n \"flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.\"\n );\n }\n };\n exports.preconnect = function (href, options) {\n \"string\" === typeof href && href\n ? null != options && \"object\" !== typeof options\n ? console.error(\n \"ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.\",\n getValueDescriptorExpectingEnumForWarning(options)\n )\n : null != options &&\n \"string\" !== typeof options.crossOrigin &&\n console.error(\n \"ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.\",\n getValueDescriptorExpectingObjectForWarning(options.crossOrigin)\n )\n : console.error(\n \"ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\",\n getValueDescriptorExpectingObjectForWarning(href)\n );\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n };\n exports.prefetchDNS = function (href) {\n if (\"string\" !== typeof href || !href)\n console.error(\n \"ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\",\n getValueDescriptorExpectingObjectForWarning(href)\n );\n else if (1 < arguments.length) {\n var options = arguments[1];\n \"object\" === typeof options && options.hasOwnProperty(\"crossOrigin\")\n ? console.error(\n \"ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.\",\n getValueDescriptorExpectingEnumForWarning(options)\n )\n : console.error(\n \"ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.\",\n getValueDescriptorExpectingEnumForWarning(options)\n );\n }\n \"string\" === typeof href && Internals.d.D(href);\n };\n exports.preinit = function (href, options) {\n \"string\" === typeof href && href\n ? null == options || \"object\" !== typeof options\n ? console.error(\n \"ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.\",\n getValueDescriptorExpectingEnumForWarning(options)\n )\n : \"style\" !== options.as &&\n \"script\" !== options.as &&\n console.error(\n 'ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are \"style\" and \"script\".',\n getValueDescriptorExpectingEnumForWarning(options.as)\n )\n : console.error(\n \"ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\",\n getValueDescriptorExpectingObjectForWarning(href)\n );\n if (\n \"string\" === typeof href &&\n options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence\n ? options.precedence\n : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n };\n exports.preinitModule = function (href, options) {\n var encountered = \"\";\n (\"string\" === typeof href && href) ||\n (encountered +=\n \" The `href` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(href) +\n \".\");\n void 0 !== options && \"object\" !== typeof options\n ? (encountered +=\n \" The `options` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options) +\n \".\")\n : options &&\n \"as\" in options &&\n \"script\" !== options.as &&\n (encountered +=\n \" The `as` option encountered was \" +\n getValueDescriptorExpectingEnumForWarning(options.as) +\n \".\");\n if (encountered)\n console.error(\n \"ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s\",\n encountered\n );\n else\n switch (\n ((encountered =\n options && \"string\" === typeof options.as ? options.as : \"script\"),\n encountered)\n ) {\n case \"script\":\n break;\n default:\n (encountered =\n getValueDescriptorExpectingEnumForWarning(encountered)),\n console.error(\n 'ReactDOM.preinitModule(): Currently the only supported \"as\" type for this function is \"script\" but received \"%s\" instead. This warning was generated for `href` \"%s\". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)',\n encountered,\n href\n );\n }\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as)\n (encountered = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n )),\n Internals.d.M(href, {\n crossOrigin: encountered,\n integrity:\n \"string\" === typeof options.integrity\n ? options.integrity\n : void 0,\n nonce:\n \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n } else null == options && Internals.d.M(href);\n };\n exports.preload = function (href, options) {\n var encountered = \"\";\n (\"string\" === typeof href && href) ||\n (encountered +=\n \" The `href` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(href) +\n \".\");\n null == options || \"object\" !== typeof options\n ? (encountered +=\n \" The `options` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options) +\n \".\")\n : (\"string\" === typeof options.as && options.as) ||\n (encountered +=\n \" The `as` option encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options.as) +\n \".\");\n encountered &&\n console.error(\n 'ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel=\"preload\" as=\"...\" />` tag.%s',\n encountered\n );\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n encountered = options.as;\n var crossOrigin = getCrossOriginStringAs(\n encountered,\n options.crossOrigin\n );\n Internals.d.L(href, encountered, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet\n ? options.imageSrcSet\n : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes\n ? options.imageSizes\n : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n };\n exports.preloadModule = function (href, options) {\n var encountered = \"\";\n (\"string\" === typeof href && href) ||\n (encountered +=\n \" The `href` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(href) +\n \".\");\n void 0 !== options && \"object\" !== typeof options\n ? (encountered +=\n \" The `options` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options) +\n \".\")\n : options &&\n \"as\" in options &&\n \"string\" !== typeof options.as &&\n (encountered +=\n \" The `as` option encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options.as) +\n \".\");\n encountered &&\n console.error(\n 'ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel=\"modulepreload\" as=\"...\" />` tag.%s',\n encountered\n );\n \"string\" === typeof href &&\n (options\n ? ((encountered = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n )),\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: encountered,\n integrity:\n \"string\" === typeof options.integrity\n ? options.integrity\n : void 0\n }))\n : Internals.d.m(href));\n };\n exports.requestFormReset = function (form) {\n Internals.d.r(form);\n };\n exports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n };\n exports.useFormState = function (action, initialState, permalink) {\n return resolveDispatcher().useFormState(action, initialState, permalink);\n };\n exports.useFormStatus = function () {\n return resolveDispatcher().useHostTransitionStatus();\n };\n exports.version = \"19.1.0\";\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use client';\nimport { createContext as createContext$1, useContext } from 'react';\n\nfunction getErrorMessage(hook, provider) {\n return `${hook} returned \\`undefined\\`. Seems you forgot to wrap component within ${provider}`;\n}\nfunction createContext(options = {}) {\n const {\n name,\n strict = true,\n hookName = \"useContext\",\n providerName = \"Provider\",\n errorMessage,\n defaultValue\n } = options;\n const Context = createContext$1(defaultValue);\n Context.displayName = name;\n function useContext$1() {\n const context = useContext(Context);\n if (!context && strict) {\n const error = new Error(errorMessage ?? getErrorMessage(hookName, providerName));\n error.name = \"ContextError\";\n Error.captureStackTrace?.(error, useContext$1);\n throw error;\n }\n return context;\n }\n return [Context.Provider, useContext$1, Context];\n}\n\nexport { createContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [EnvironmentContextProvider, useEnvironmentContext] = createContext({\n name: \"EnvironmentContext\",\n hookName: \"useEnvironmentContext\",\n providerName: \"<EnvironmentProvider />\",\n strict: false,\n defaultValue: {\n getRootNode: () => document,\n getDocument: () => document,\n getWindow: () => window\n }\n});\n\nexport { EnvironmentContextProvider, useEnvironmentContext };\n","'use client';\nimport { jsx, Fragment } from 'react/jsx-runtime';\nimport { isShadowRoot, getDocument } from '@zag-js/dom-query';\nimport { useState, useSyncExternalStore, useEffect, Children } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\n\nconst Portal = (props) => {\n const { children, disabled } = props;\n const [container, setContainer] = useState(props.container?.current);\n const isServer = useSyncExternalStore(\n subscribe,\n () => false,\n () => true\n );\n const { getRootNode } = useEnvironmentContext();\n useEffect(() => {\n setContainer(() => props.container?.current);\n }, [props.container]);\n if (isServer || disabled) return /* @__PURE__ */ jsx(Fragment, { children });\n const mountNode = container ?? getPortalNode(getRootNode);\n return /* @__PURE__ */ jsx(Fragment, { children: Children.map(children, (child) => createPortal(child, mountNode)) });\n};\nconst getPortalNode = (cb) => {\n const node = cb?.();\n const rootNode = node.getRootNode();\n if (isShadowRoot(rootNode)) return rootNode;\n return getDocument(node).body;\n};\nconst subscribe = () => () => {\n};\n\nexport { Portal };\n","// src/array.ts\nfunction toArray(v) {\n if (!v) return [];\n return Array.isArray(v) ? v : [v];\n}\nvar fromLength = (length) => Array.from(Array(length).keys());\nvar first = (v) => v[0];\nvar last = (v) => v[v.length - 1];\nvar isEmpty = (v) => v.length === 0;\nvar has = (v, t) => v.indexOf(t) !== -1;\nvar add = (v, ...items) => v.concat(items);\nvar remove = (v, ...items) => v.filter((t) => !items.includes(t));\nvar removeAt = (v, i) => v.filter((_, idx) => idx !== i);\nvar insertAt = (v, i, ...items) => [...v.slice(0, i), ...items, ...v.slice(i)];\nvar uniq = (v) => Array.from(new Set(v));\nvar addOrRemove = (v, item) => {\n if (has(v, item)) return remove(v, item);\n return add(v, item);\n};\nfunction clear(v) {\n while (v.length > 0) v.pop();\n return v;\n}\nfunction nextIndex(v, idx, opts = {}) {\n const { step = 1, loop = true } = opts;\n const next2 = idx + step;\n const len = v.length;\n const last2 = len - 1;\n if (idx === -1) return step > 0 ? 0 : last2;\n if (next2 < 0) return loop ? last2 : 0;\n if (next2 >= len) return loop ? 0 : idx > len ? len : idx;\n return next2;\n}\nfunction next(v, idx, opts = {}) {\n return v[nextIndex(v, idx, opts)];\n}\nfunction prevIndex(v, idx, opts = {}) {\n const { step = 1, loop = true } = opts;\n return nextIndex(v, idx, { step: -step, loop });\n}\nfunction prev(v, index, opts = {}) {\n return v[prevIndex(v, index, opts)];\n}\nvar chunk = (v, size) => {\n const res = [];\n return v.reduce((rows, value, index) => {\n if (index % size === 0) rows.push([value]);\n else last(rows)?.push(value);\n return rows;\n }, res);\n};\nfunction flatArray(arr) {\n return arr.reduce((flat, item) => {\n if (Array.isArray(item)) {\n return flat.concat(flatArray(item));\n }\n return flat.concat(item);\n }, []);\n}\n\n// src/equal.ts\nvar isArrayLike = (value) => value?.constructor.name === \"Array\";\nvar isArrayEqual = (a, b) => {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (!isEqual(a[i], b[i])) return false;\n }\n return true;\n};\nvar isEqual = (a, b) => {\n if (Object.is(a, b)) return true;\n if (a == null && b != null || a != null && b == null) return false;\n if (typeof a?.isEqual === \"function\" && typeof b?.isEqual === \"function\") {\n return a.isEqual(b);\n }\n if (typeof a === \"function\" && typeof b === \"function\") {\n return a.toString() === b.toString();\n }\n if (isArrayLike(a) && isArrayLike(b)) {\n return isArrayEqual(Array.from(a), Array.from(b));\n }\n if (!(typeof a === \"object\") || !(typeof b === \"object\")) return false;\n const keys = Object.keys(b ?? /* @__PURE__ */ Object.create(null));\n const length = keys.length;\n for (let i = 0; i < length; i++) {\n const hasKey = Reflect.has(a, keys[i]);\n if (!hasKey) return false;\n }\n for (let i = 0; i < length; i++) {\n const key = keys[i];\n if (!isEqual(a[key], b[key])) return false;\n }\n return true;\n};\n\n// src/guard.ts\nvar isDev = () => process.env.NODE_ENV !== \"production\";\nvar isArray = (v) => Array.isArray(v);\nvar isBoolean = (v) => v === true || v === false;\nvar isObjectLike = (v) => v != null && typeof v === \"object\";\nvar isObject = (v) => isObjectLike(v) && !isArray(v);\nvar isNumber = (v) => typeof v === \"number\" && !Number.isNaN(v);\nvar isString = (v) => typeof v === \"string\";\nvar isFunction = (v) => typeof v === \"function\";\nvar isNull = (v) => v == null;\nvar hasProp = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nvar baseGetTag = (v) => Object.prototype.toString.call(v);\nvar fnToString = Function.prototype.toString;\nvar objectCtorString = fnToString.call(Object);\nvar isPlainObject = (v) => {\n if (!isObjectLike(v) || baseGetTag(v) != \"[object Object]\") return false;\n const proto = Object.getPrototypeOf(v);\n if (proto === null) return true;\n const Ctor = hasProp(proto, \"constructor\") && proto.constructor;\n return typeof Ctor == \"function\" && Ctor instanceof Ctor && fnToString.call(Ctor) == objectCtorString;\n};\n\n// src/functions.ts\nvar runIfFn = (v, ...a) => {\n const res = typeof v === \"function\" ? v(...a) : v;\n return res ?? void 0;\n};\nvar cast = (v) => v;\nvar identity = (v) => v();\nvar noop = () => {\n};\nvar callAll = (...fns) => (...a) => {\n fns.forEach(function(fn) {\n fn?.(...a);\n });\n};\nvar uuid = /* @__PURE__ */ (() => {\n let id = 0;\n return () => {\n id++;\n return id.toString(36);\n };\n})();\nfunction match(key, record, ...args) {\n if (key in record) {\n const fn = record[key];\n return isFunction(fn) ? fn(...args) : fn;\n }\n const error = new Error(`No matching key: ${JSON.stringify(key)} in ${JSON.stringify(Object.keys(record))}`);\n Error.captureStackTrace?.(error, match);\n throw error;\n}\nvar tryCatch = (fn, fallback) => {\n try {\n return fn();\n } catch (error) {\n if (error instanceof Error) {\n Error.captureStackTrace?.(error, tryCatch);\n }\n return fallback?.();\n }\n};\nfunction throttle(fn, wait = 0) {\n let lastCall = 0;\n let timeout = null;\n return (...args) => {\n const now = Date.now();\n const timeSinceLastCall = now - lastCall;\n if (timeSinceLastCall >= wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n fn(...args);\n lastCall = now;\n } else if (!timeout) {\n timeout = setTimeout(() => {\n fn(...args);\n lastCall = Date.now();\n timeout = null;\n }, wait - timeSinceLastCall);\n }\n };\n}\n\n// src/number.ts\nvar { floor, abs, round, min, max, pow, sign } = Math;\nvar isNaN = (v) => Number.isNaN(v);\nvar nan = (v) => isNaN(v) ? 0 : v;\nvar mod = (v, m) => (v % m + m) % m;\nvar wrap = (v, vmax) => (v % vmax + vmax) % vmax;\nvar getMinValueAtIndex = (i, v, vmin) => i === 0 ? vmin : v[i - 1];\nvar getMaxValueAtIndex = (i, v, vmax) => i === v.length - 1 ? vmax : v[i + 1];\nvar isValueAtMax = (v, vmax) => nan(v) >= vmax;\nvar isValueAtMin = (v, vmin) => nan(v) <= vmin;\nvar isValueWithinRange = (v, vmin, vmax) => nan(v) >= vmin && nan(v) <= vmax;\nvar roundValue = (v, vmin, step) => round((nan(v) - vmin) / step) * step + vmin;\nvar clampValue = (v, vmin, vmax) => min(max(nan(v), vmin), vmax);\nvar clampPercent = (v) => clampValue(v, 0, 1);\nvar getValuePercent = (v, vmin, vmax) => (nan(v) - vmin) / (vmax - vmin);\nvar getPercentValue = (p, vmin, vmax, step) => clampValue(roundValue(p * (vmax - vmin) + vmin, vmin, step), vmin, vmax);\nvar roundToStepPrecision = (v, step) => {\n let rv = v;\n let ss = step.toString();\n let pi = ss.indexOf(\".\");\n let p = pi >= 0 ? ss.length - pi : 0;\n if (p > 0) {\n let pw = pow(10, p);\n rv = round(rv * pw) / pw;\n }\n return rv;\n};\nvar roundToDpr = (v, dpr) => typeof dpr === \"number\" ? floor(v * dpr + 0.5) / dpr : round(v);\nvar snapValueToStep = (v, vmin, vmax, step) => {\n vmin = Number(vmin);\n vmax = Number(vmax);\n let remainder = (v - (isNaN(vmin) ? 0 : vmin)) % step;\n let sv = roundToStepPrecision(\n abs(remainder) * 2 >= step ? v + sign(remainder) * (step - abs(remainder)) : v - remainder,\n step\n );\n if (!isNaN(vmin)) {\n if (sv < vmin) {\n sv = vmin;\n } else if (!isNaN(vmax) && sv > vmax) {\n sv = vmin + floor(roundToStepPrecision((vmax - vmin) / step, step)) * step;\n }\n } else if (!isNaN(vmax) && sv > vmax) {\n sv = vmin + floor(roundToStepPrecision((vmax - vmin) / step, step)) * step;\n }\n return roundToStepPrecision(sv, step);\n};\nvar setValueAtIndex = (vs, i, v) => {\n if (vs[i] === v) return vs;\n return [...vs.slice(0, i), v, ...vs.slice(i + 1)];\n};\nfunction getValueSetterAtIndex(index, ctx) {\n const minValueAtIndex = getMinValueAtIndex(index, ctx.values, ctx.min);\n const maxValueAtIndex = getMaxValueAtIndex(index, ctx.values, ctx.max);\n let nextValues = ctx.values.slice();\n return function setValue(value) {\n let nextValue = snapValueToStep(value, minValueAtIndex, maxValueAtIndex, ctx.step);\n nextValues = setValueAtIndex(nextValues, index, value);\n nextValues[index] = nextValue;\n return nextValues;\n };\n}\nfunction getNextStepValue(index, ctx) {\n const nextValue = ctx.values[index] + ctx.step;\n return getValueSetterAtIndex(index, ctx)(nextValue);\n}\nfunction getPreviousStepValue(index, ctx) {\n const nextValue = ctx.values[index] - ctx.step;\n return getValueSetterAtIndex(index, ctx)(nextValue);\n}\nvar getClosestValueIndex = (vs, t) => {\n let i = vs.findIndex((v) => t - v < 0);\n if (i === 0) return i;\n if (i === -1) return vs.length - 1;\n let vLeft = vs[i - 1];\n let vRight = vs[i];\n if (abs(vLeft - t) < abs(vRight - t)) return i - 1;\n return i;\n};\nvar getClosestValue = (vs, t) => vs[getClosestValueIndex(vs, t)];\nvar getValueRanges = (vs, vmin, vmax, gap) => vs.map((v, i) => ({\n min: i === 0 ? vmin : vs[i - 1] + gap,\n max: i === vs.length - 1 ? vmax : vs[i + 1] - gap,\n value: v\n}));\nvar getValueTransformer = (va, vb) => {\n const [a, b] = va;\n const [c, d] = vb;\n return (v) => a === b || c === d ? c : c + (d - c) / (b - a) * (v - a);\n};\nvar toFixedNumber = (v, d = 0, b = 10) => {\n const pow2 = Math.pow(b, d);\n return round(v * pow2) / pow2;\n};\nvar countDecimals = (value) => {\n if (!Number.isFinite(value)) return 0;\n let e = 1, p = 0;\n while (Math.round(value * e) / e !== value) {\n e *= 10;\n p += 1;\n }\n return p;\n};\nvar decimalOp = (a, op, b) => {\n let result = op === \"+\" ? a + b : a - b;\n if (a % 1 !== 0 || b % 1 !== 0) {\n const multiplier = 10 ** Math.max(countDecimals(a), countDecimals(b));\n a = Math.round(a * multiplier);\n b = Math.round(b * multiplier);\n result = op === \"+\" ? a + b : a - b;\n result /= multiplier;\n }\n return result;\n};\nvar incrementValue = (v, s) => decimalOp(nan(v), \"+\", s);\nvar decrementValue = (v, s) => decimalOp(nan(v), \"-\", s);\nvar toPx = (v) => v != null ? `${v}px` : void 0;\n\n// src/object.ts\nfunction compact(obj) {\n if (!isPlainObject2(obj) || obj === void 0) return obj;\n const keys = Reflect.ownKeys(obj).filter((key) => typeof key === \"string\");\n const filtered = {};\n for (const key of keys) {\n const value = obj[key];\n if (value !== void 0) {\n filtered[key] = compact(value);\n }\n }\n return filtered;\n}\nvar json = (v) => JSON.parse(JSON.stringify(v));\nvar isPlainObject2 = (v) => {\n return v && typeof v === \"object\" && v.constructor === Object;\n};\nfunction pick(obj, keys) {\n const filtered = {};\n for (const key of keys) {\n const value = obj[key];\n if (value !== void 0) {\n filtered[key] = value;\n }\n }\n return filtered;\n}\nfunction splitProps(props, keys) {\n const rest = {};\n const result = {};\n const keySet = new Set(keys);\n for (const key in props) {\n if (keySet.has(key)) {\n result[key] = props[key];\n } else {\n rest[key] = props[key];\n }\n }\n return [result, rest];\n}\nvar createSplitProps = (keys) => {\n return function split(props) {\n return splitProps(props, keys);\n };\n};\nfunction omit(obj, keys) {\n return createSplitProps(keys)(obj)[1];\n}\n\n// src/timers.ts\nfunction setRafInterval(callback, interval) {\n let start = performance.now();\n let handle;\n function loop(now) {\n handle = requestAnimationFrame(loop);\n const delta = now - start;\n if (delta >= interval) {\n start = now - delta % interval;\n callback({ startMs: start, deltaMs: delta });\n }\n }\n handle = requestAnimationFrame(loop);\n return () => cancelAnimationFrame(handle);\n}\nfunction setRafTimeout(callback, delay) {\n const start = performance.now();\n let handle;\n function loop(now) {\n handle = requestAnimationFrame(loop);\n const delta = now - start;\n if (delta >= delay) {\n callback();\n }\n }\n handle = requestAnimationFrame(loop);\n return () => cancelAnimationFrame(handle);\n}\n\n// src/warning.ts\nfunction warn(...a) {\n const m = a.length === 1 ? a[0] : a[1];\n const c = a.length === 2 ? a[0] : true;\n if (c && process.env.NODE_ENV !== \"production\") {\n console.warn(m);\n }\n}\nfunction invariant(...a) {\n const m = a.length === 1 ? a[0] : a[1];\n const c = a.length === 2 ? a[0] : true;\n if (c && process.env.NODE_ENV !== \"production\") {\n throw new Error(m);\n }\n}\nfunction ensure(c, m) {\n if (c == null) throw new Error(m());\n}\nfunction ensureProps(props, keys, scope) {\n let missingKeys = [];\n for (const key of keys) {\n if (props[key] == null) missingKeys.push(key);\n }\n if (missingKeys.length > 0)\n throw new Error(`[zag-js${scope ? ` > ${scope}` : \"\"}] missing required props: ${missingKeys.join(\", \")}`);\n}\n\nexport { add, addOrRemove, callAll, cast, chunk, clampPercent, clampValue, clear, compact, createSplitProps, decrementValue, ensure, ensureProps, first, flatArray, fromLength, getClosestValue, getClosestValueIndex, getMaxValueAtIndex, getMinValueAtIndex, getNextStepValue, getPercentValue, getPreviousStepValue, getValuePercent, getValueRanges, getValueSetterAtIndex, getValueTransformer, has, hasProp, identity, incrementValue, insertAt, invariant, isArray, isBoolean, isDev, isEmpty, isEqual, isFunction, isNaN, isNull, isNumber, isObject, isObjectLike, isPlainObject, isString, isValueAtMax, isValueAtMin, isValueWithinRange, json, last, match, mod, nan, next, nextIndex, noop, omit, pick, prev, prevIndex, remove, removeAt, roundToDpr, roundToStepPrecision, roundValue, runIfFn, setRafInterval, setRafTimeout, setValueAtIndex, snapValueToStep, splitProps, throttle, toArray, toFixedNumber, toPx, tryCatch, uniq, uuid, warn, wrap };\n","import { callAll, isEqual, isString } from '@zag-js/utils';\nimport { getActiveElement, getDocument } from '@zag-js/dom-query';\n\n// src/merge-props.ts\nvar clsx = (...args) => args.map((str) => str?.trim?.()).filter(Boolean).join(\" \");\nvar CSS_REGEX = /((?:--)?(?:\\w+-?)+)\\s*:\\s*([^;]*)/g;\nvar serialize = (style) => {\n const res = {};\n let match;\n while (match = CSS_REGEX.exec(style)) {\n res[match[1]] = match[2];\n }\n return res;\n};\nvar css = (a, b) => {\n if (isString(a)) {\n if (isString(b)) return `${a};${b}`;\n a = serialize(a);\n } else if (isString(b)) {\n b = serialize(b);\n }\n return Object.assign({}, a ?? {}, b ?? {});\n};\nfunction mergeProps(...args) {\n let result = {};\n for (let props of args) {\n for (let key in result) {\n if (key.startsWith(\"on\") && typeof result[key] === \"function\" && typeof props[key] === \"function\") {\n result[key] = callAll(props[key], result[key]);\n continue;\n }\n if (key === \"className\" || key === \"class\") {\n result[key] = clsx(result[key], props[key]);\n continue;\n }\n if (key === \"style\") {\n result[key] = css(result[key], props[key]);\n continue;\n }\n result[key] = props[key] !== void 0 ? props[key] : result[key];\n }\n for (let key in props) {\n if (result[key] === void 0) {\n result[key] = props[key];\n }\n }\n }\n return result;\n}\nfunction memo(getDeps, fn, opts) {\n let deps = [];\n let result;\n return (depArgs) => {\n const newDeps = getDeps(depArgs);\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => !isEqual(deps[index], dep));\n if (!depsChanged) return result;\n deps = newDeps;\n result = fn(...newDeps);\n opts?.onChange?.(result);\n return result;\n };\n}\n\n// src/create-machine.ts\nfunction createGuards() {\n return {\n and: (...guards) => {\n return function andGuard(params) {\n return guards.every((str) => params.guard(str));\n };\n },\n or: (...guards) => {\n return function orGuard(params) {\n return guards.some((str) => params.guard(str));\n };\n },\n not: (guard) => {\n return function notGuard(params) {\n return !params.guard(guard);\n };\n }\n };\n}\nfunction createMachine(config) {\n return config;\n}\nfunction setup() {\n return {\n guards: createGuards(),\n createMachine: (config) => {\n return createMachine(config);\n },\n choose: (transitions) => {\n return function chooseFn({ choose }) {\n return choose(transitions)?.actions;\n };\n }\n };\n}\n\n// src/types.ts\nvar MachineStatus = /* @__PURE__ */ ((MachineStatus2) => {\n MachineStatus2[\"NotStarted\"] = \"Not Started\";\n MachineStatus2[\"Started\"] = \"Started\";\n MachineStatus2[\"Stopped\"] = \"Stopped\";\n return MachineStatus2;\n})(MachineStatus || {});\nvar INIT_STATE = \"__init__\";\nfunction createScope(props) {\n const getRootNode = () => props.getRootNode?.() ?? document;\n const getDoc = () => getDocument(getRootNode());\n const getWin = () => getDoc().defaultView ?? window;\n const getActiveElementFn = () => getActiveElement(getRootNode());\n const isActiveElement = (elem) => elem === getActiveElementFn();\n const getById = (id) => getRootNode().getElementById(id);\n return {\n ...props,\n getRootNode,\n getDoc,\n getWin,\n getActiveElement: getActiveElementFn,\n isActiveElement,\n getById\n };\n}\n\nexport { INIT_STATE, MachineStatus, createGuards, createMachine, createScope, memo, mergeProps, setup };\n","// src/prop-types.ts\nfunction createNormalizer(fn) {\n return new Proxy({}, {\n get(_target, key) {\n if (key === \"style\")\n return (props) => {\n return fn({ style: props }).style;\n };\n return fn;\n }\n });\n}\n\n// src/create-props.ts\nvar createProps = () => (props) => Array.from(new Set(props));\n\nexport { createNormalizer, createProps };\n","\"use client\";\n\nimport { createScope, MachineStatus, INIT_STATE } from '@zag-js/core';\nexport { mergeProps } from '@zag-js/core';\nimport { compact, ensure, isFunction, warn, toArray, isString, identity } from '@zag-js/utils';\nimport * as React from 'react';\nimport { useMemo, useRef, useLayoutEffect, useEffect, useState } from 'react';\nimport { flushSync, createPortal } from 'react-dom';\nimport { createNormalizer } from '@zag-js/types';\nimport { jsx } from 'react/jsx-runtime';\n\n// src/index.ts\nvar useSafeLayoutEffect = typeof globalThis.document !== \"undefined\" ? useLayoutEffect : useEffect;\n\n// src/bindable.ts\nfunction useBindable(props) {\n const initial = props().value ?? props().defaultValue;\n const eq = props().isEqual ?? Object.is;\n const [initialValue] = useState(initial);\n const [value, setValue] = useState(initialValue);\n const controlled = props().value !== void 0;\n const valueRef = useRef(value);\n valueRef.current = controlled ? props().value : value;\n const prevValue = useRef(valueRef.current);\n useSafeLayoutEffect(() => {\n prevValue.current = valueRef.current;\n }, [value, props().value]);\n const setFn = (value2) => {\n const prev = prevValue.current;\n const next = isFunction(value2) ? value2(prev) : value2;\n if (props().debug) {\n console.log(`[bindable > ${props().debug}] setValue`, { next, prev });\n }\n if (!controlled) setValue(next);\n if (!eq(next, prev)) {\n props().onChange?.(next, prev);\n }\n };\n function get() {\n return controlled ? props().value : value;\n }\n return {\n initial: initialValue,\n ref: valueRef,\n get,\n set(value2) {\n const exec = props().sync ? flushSync : identity;\n exec(() => setFn(value2));\n },\n invoke(nextValue, prevValue2) {\n props().onChange?.(nextValue, prevValue2);\n },\n hash(value2) {\n return props().hash?.(value2) ?? String(value2);\n }\n };\n}\nuseBindable.cleanup = (fn) => {\n useEffect(() => fn, []);\n};\nuseBindable.ref = (defaultValue) => {\n const value = useRef(defaultValue);\n return {\n get: () => value.current,\n set: (next) => {\n value.current = next;\n }\n };\n};\nfunction useRefs(refs) {\n const ref = useRef(refs);\n return {\n get(key) {\n return ref.current[key];\n },\n set(key, value) {\n ref.current[key] = value;\n }\n };\n}\nvar useTrack = (deps, effect) => {\n const render = useRef(false);\n const called = useRef(false);\n useEffect(() => {\n const mounted = render.current;\n const run = mounted && called.current;\n if (run) return effect();\n called.current = true;\n }, [...(deps ?? []).map((d) => typeof d === \"function\" ? d() : d)]);\n useEffect(() => {\n render.current = true;\n return () => {\n render.current = false;\n };\n }, []);\n};\n\n// src/machine.ts\nfunction useMachine(machine, userProps = {}) {\n const scope = useMemo(() => {\n const { id, ids, getRootNode } = userProps;\n return createScope({ id, ids, getRootNode });\n }, [userProps]);\n const debug = (...args) => {\n if (machine.debug) console.log(...args);\n };\n const props = machine.props?.({ props: compact(userProps), scope }) ?? userProps;\n const prop = useProp(props);\n const context = machine.context?.({\n prop,\n bindable: useBindable,\n scope,\n flush,\n getContext() {\n return ctx;\n },\n getComputed() {\n return computed;\n },\n getRefs() {\n return refs;\n }\n });\n const contextRef = useLiveRef(context);\n const ctx = {\n get(key) {\n return contextRef.current?.[key].ref.current;\n },\n set(key, value) {\n contextRef.current?.[key].set(value);\n },\n initial(key) {\n return contextRef.current?.[key].initial;\n },\n hash(key) {\n const current = contextRef.current?.[key].get();\n return contextRef.current?.[key].hash(current);\n }\n };\n const effects = useRef(/* @__PURE__ */ new Map());\n const transitionRef = useRef(null);\n const previousEventRef = useRef(null);\n const eventRef = useRef({ type: \"\" });\n const getEvent = () => ({\n ...eventRef.current,\n current() {\n return eventRef.current;\n },\n previous() {\n return previousEventRef.current;\n }\n });\n const getState = () => ({\n ...state,\n matches(...values) {\n return values.includes(state.ref.current);\n },\n hasTag(tag) {\n return !!machine.states[state.ref.current]?.tags?.includes(tag);\n }\n });\n const refs = useRefs(machine.refs?.({ prop, context: ctx }) ?? {});\n const getParams = () => ({\n state: getState(),\n context: ctx,\n event: getEvent(),\n prop,\n send,\n action,\n guard,\n track: useTrack,\n refs,\n computed,\n flush,\n scope,\n choose\n });\n const action = (keys) => {\n const strs = isFunction(keys) ? keys(getParams()) : keys;\n if (!strs) return;\n const fns = strs.map((s) => {\n const fn = machine.implementations?.actions?.[s];\n if (!fn) warn(`[zag-js] No implementation found for action \"${JSON.stringify(s)}\"`);\n return fn;\n });\n for (const fn of fns) {\n fn?.(getParams());\n }\n };\n const guard = (str) => {\n if (isFunction(str)) return str(getParams());\n return machine.implementations?.guards?.[str](getParams());\n };\n const effect = (keys) => {\n const strs = isFunction(keys) ? keys(getParams()) : keys;\n if (!strs) return;\n const fns = strs.map((s) => {\n const fn = machine.implementations?.effects?.[s];\n if (!fn) warn(`[zag-js] No implementation found for effect \"${JSON.stringify(s)}\"`);\n return fn;\n });\n const cleanups = [];\n for (const fn of fns) {\n const cleanup = fn?.(getParams());\n if (cleanup) cleanups.push(cleanup);\n }\n return () => cleanups.forEach((fn) => fn?.());\n };\n const choose = (transitions) => {\n return toArray(transitions).find((t) => {\n let result = !t.guard;\n if (isString(t.guard)) result = !!guard(t.guard);\n else if (isFunction(t.guard)) result = t.guard(getParams());\n return result;\n });\n };\n const computed = (key) => {\n ensure(machine.computed, () => `[zag-js] No computed object found on machine`);\n const fn = machine.computed[key];\n return fn({\n context: ctx,\n event: getEvent(),\n prop,\n refs,\n scope,\n computed\n });\n };\n const state = useBindable(() => ({\n defaultValue: machine.initialState({ prop }),\n onChange(nextState, prevState) {\n if (prevState) {\n const exitEffects = effects.current.get(prevState);\n exitEffects?.();\n effects.current.delete(prevState);\n }\n if (prevState) {\n action(machine.states[prevState]?.exit);\n }\n action(transitionRef.current?.actions);\n const cleanup = effect(machine.states[nextState]?.effects);\n if (cleanup) effects.current.set(nextState, cleanup);\n if (prevState === INIT_STATE) {\n action(machine.entry);\n const cleanup2 = effect(machine.effects);\n if (cleanup2) effects.current.set(INIT_STATE, cleanup2);\n }\n action(machine.states[nextState]?.entry);\n }\n }));\n const hydratedStateRef = useRef(void 0);\n const statusRef = useRef(MachineStatus.NotStarted);\n useSafeLayoutEffect(() => {\n queueMicrotask(() => {\n const started = statusRef.current === MachineStatus.Started;\n statusRef.current = MachineStatus.Started;\n debug(started ? \"rehydrating...\" : \"initializing...\");\n const initialState = hydratedStateRef.current ?? state.initial;\n state.invoke(initialState, started ? state.get() : INIT_STATE);\n });\n const fns = effects.current;\n const currentState = state.ref.current;\n return () => {\n debug(\"unmounting...\");\n hydratedStateRef.current = currentState;\n statusRef.current = MachineStatus.Stopped;\n fns.forEach((fn) => fn?.());\n effects.current = /* @__PURE__ */ new Map();\n transitionRef.current = null;\n queueMicrotask(() => {\n action(machine.exit);\n });\n };\n }, []);\n const getCurrentState = () => {\n if (\"ref\" in state) return state.ref.current;\n return state.get();\n };\n const send = (event) => {\n queueMicrotask(() => {\n if (statusRef.current !== MachineStatus.Started) return;\n previousEventRef.current = eventRef.current;\n eventRef.current = event;\n debug(\"send\", event);\n let currentState = getCurrentState();\n const transitions = (\n // @ts-ignore\n machine.states[currentState].on?.[event.type] ?? // @ts-ignore\n machine.on?.[event.type]\n );\n const transition = choose(transitions);\n if (!transition) return;\n transitionRef.current = transition;\n const target = transition.target ?? currentState;\n debug(\"transition\", transition);\n const changed = target !== currentState;\n if (changed) {\n flushSync(() => state.set(target));\n } else if (transition.reenter && !changed) {\n state.invoke(currentState, currentState);\n } else {\n action(transition.actions ?? []);\n }\n });\n };\n machine.watch?.(getParams());\n return {\n state: getState(),\n send,\n context: ctx,\n prop,\n scope,\n refs,\n computed,\n event: getEvent(),\n getStatus: () => statusRef.current\n };\n}\nfunction useLiveRef(value) {\n const ref = useRef(value);\n ref.current = value;\n return ref;\n}\nfunction useProp(value) {\n const ref = useLiveRef(value);\n return function get(key) {\n return ref.current[key];\n };\n}\nfunction flush(fn) {\n queueMicrotask(() => {\n flushSync(() => fn());\n });\n}\nvar normalizeProps = createNormalizer((v) => v);\nvar Portal = (props) => {\n const { children, container, disabled, getRootNode } = props;\n const isServer = typeof window === \"undefined\";\n if (isServer || disabled) return /* @__PURE__ */ jsx(React.Fragment, { children });\n const doc = getRootNode?.().ownerDocument ?? document;\n const mountNode = container?.current ?? doc.body;\n return /* @__PURE__ */ jsx(React.Fragment, { children: React.Children.map(children, (child) => createPortal(child, mountNode)) });\n};\n\nexport { Portal, normalizeProps, useMachine };\n","function composeRefs(...refs) {\n return (node) => {\n const cleanUps = [];\n for (const ref of refs) {\n if (typeof ref === \"function\") {\n const cb = ref(node);\n if (typeof cb === \"function\") {\n cleanUps.push(cb);\n }\n } else if (ref) {\n ref.current = node;\n }\n }\n if (cleanUps.length) {\n return () => {\n for (const cleanUp of cleanUps) {\n cleanUp();\n }\n };\n }\n };\n}\n\nexport { composeRefs };\n","import { mergeProps } from '@zag-js/core';\nimport { memo, forwardRef, createElement, Children, isValidElement, cloneElement } from 'react';\nimport { composeRefs } from '../utils/compose-refs.js';\n\nfunction getRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nconst withAsChild = (Component) => {\n const Comp = memo(\n forwardRef((props, ref) => {\n const { asChild, children, ...restProps } = props;\n if (!asChild) {\n return createElement(Component, { ...restProps, ref }, children);\n }\n const onlyChild = Children.only(children);\n if (!isValidElement(onlyChild)) {\n return null;\n }\n const childRef = getRef(onlyChild);\n return cloneElement(onlyChild, {\n ...mergeProps(restProps, onlyChild.props),\n ref: ref ? composeRefs(ref, childRef) : childRef\n });\n })\n );\n Comp.displayName = Component.displayName || Component.name;\n return Comp;\n};\nconst jsxFactory = () => {\n const cache = /* @__PURE__ */ new Map();\n return new Proxy(withAsChild, {\n apply(_target, _thisArg, argArray) {\n return withAsChild(argArray[0]);\n },\n get(_, element) {\n const asElement = element;\n if (!cache.has(asElement)) {\n cache.set(asElement, withAsChild(asElement));\n }\n return cache.get(asElement);\n }\n });\n};\nconst ark = jsxFactory();\n\nexport { ark, jsxFactory };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [TooltipProvider, useTooltipContext] = createContext({\n name: \"TooltipContext\",\n hookName: \"useTooltipContext\",\n providerName: \"<TooltipProvider />\"\n});\n\nexport { TooltipProvider, useTooltipContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useTooltipContext } from './use-tooltip-context.js';\n\nconst TooltipArrow = forwardRef((props, ref) => {\n const tooltip = useTooltipContext();\n const mergedProps = mergeProps(tooltip.getArrowProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nTooltipArrow.displayName = \"TooltipArrow\";\n\nexport { TooltipArrow };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useTooltipContext } from './use-tooltip-context.js';\n\nconst TooltipArrowTip = forwardRef((props, ref) => {\n const tooltip = useTooltipContext();\n const mergedProps = mergeProps(tooltip.getArrowTipProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nTooltipArrowTip.displayName = \"TooltipArrowTip\";\n\nexport { TooltipArrowTip };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [PresenceProvider, usePresenceContext] = createContext({\n name: \"PresenceContext\",\n hookName: \"usePresenceContext\",\n providerName: \"<PresenceProvider />\"\n});\n\nexport { PresenceProvider, usePresenceContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useTooltipContext } from './use-tooltip-context.js';\n\nconst TooltipContent = forwardRef((props, ref) => {\n const tooltip = useTooltipContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(tooltip.getContentProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nTooltipContent.displayName = \"TooltipContent\";\n\nexport { TooltipContent };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useTooltipContext } from './use-tooltip-context.js';\n\nconst TooltipPositioner = forwardRef((props, ref) => {\n const tooltip = useTooltipContext();\n const mergedProps = mergeProps(tooltip.getPositionerProps(), props);\n const presence = usePresenceContext();\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nTooltipPositioner.displayName = \"TooltipPositioner\";\n\nexport { TooltipPositioner };\n","'use client';\nconst createSplitProps = () => (props, keys) => keys.reduce(\n (previousValue, currentValue) => {\n const [target, source] = previousValue;\n const key = currentValue;\n if (source[key] !== void 0) {\n target[key] = source[key];\n }\n delete source[key];\n return [target, source];\n },\n [{}, { ...props }]\n);\n\nexport { createSplitProps };\n","'use client';\nimport { createSplitProps } from '../../utils/create-split-props.js';\n\nconst splitPresenceProps = (props) => createSplitProps()(props, [\n \"immediate\",\n \"lazyMount\",\n \"onExitComplete\",\n \"present\",\n \"skipAnimationOnMount\",\n \"unmountOnExit\"\n]);\n\nexport { splitPresenceProps };\n","import { setStyle, nextTick, raf, getComputedStyle, getEventTarget } from '@zag-js/dom-query';\nimport { createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\n\n// src/presence.connect.ts\nfunction connect(service, _normalize) {\n const { state, send, context } = service;\n const present = state.matches(\"mounted\", \"unmountSuspended\");\n return {\n skip: !context.get(\"initial\"),\n present,\n setNode(node) {\n if (!node) return;\n send({ type: \"NODE.SET\", node });\n },\n unmount() {\n send({ type: \"UNMOUNT\" });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return { ...props2, present: !!props2.present };\n },\n initialState({ prop }) {\n return prop(\"present\") ? \"mounted\" : \"unmounted\";\n },\n refs() {\n return {\n node: null,\n styles: null\n };\n },\n context({ bindable }) {\n return {\n unmountAnimationName: bindable(() => ({ defaultValue: null })),\n prevAnimationName: bindable(() => ({ defaultValue: null })),\n present: bindable(() => ({ defaultValue: false })),\n initial: bindable(() => ({\n sync: true,\n defaultValue: false\n }))\n };\n },\n exit: [\"clearInitial\", \"cleanupNode\"],\n watch({ track, action, prop }) {\n track([() => prop(\"present\")], () => {\n action([\"setInitial\", \"syncPresence\"]);\n });\n },\n on: {\n \"NODE.SET\": {\n actions: [\"setNode\", \"setStyles\"]\n }\n },\n states: {\n mounted: {\n on: {\n UNMOUNT: {\n target: \"unmounted\",\n actions: [\"clearPrevAnimationName\", \"invokeOnExitComplete\"]\n },\n \"UNMOUNT.SUSPEND\": {\n target: \"unmountSuspended\"\n }\n }\n },\n unmountSuspended: {\n effects: [\"trackAnimationEvents\"],\n on: {\n MOUNT: {\n target: \"mounted\",\n actions: [\"setPrevAnimationName\"]\n },\n UNMOUNT: {\n target: \"unmounted\",\n actions: [\"clearPrevAnimationName\", \"invokeOnExitComplete\"]\n }\n }\n },\n unmounted: {\n on: {\n MOUNT: {\n target: \"mounted\",\n actions: [\"setPrevAnimationName\"]\n }\n }\n }\n },\n implementations: {\n actions: {\n setInitial: ({ context }) => {\n if (context.get(\"initial\")) return;\n queueMicrotask(() => {\n context.set(\"initial\", true);\n });\n },\n clearInitial: ({ context }) => {\n context.set(\"initial\", false);\n },\n cleanupNode: ({ refs }) => {\n refs.set(\"node\", null);\n refs.set(\"styles\", null);\n },\n invokeOnExitComplete: ({ prop }) => {\n prop(\"onExitComplete\")?.();\n },\n setNode: ({ refs, event }) => {\n refs.set(\"node\", event.node);\n },\n setStyles: ({ refs, event }) => {\n refs.set(\"styles\", getComputedStyle(event.node));\n },\n syncPresence: ({ context, refs, send, prop }) => {\n const presentProp = prop(\"present\");\n if (presentProp) {\n return send({ type: \"MOUNT\", src: \"presence.changed\" });\n }\n const node = refs.get(\"node\");\n if (!presentProp && node?.ownerDocument.visibilityState === \"hidden\") {\n return send({ type: \"UNMOUNT\", src: \"visibilitychange\" });\n }\n raf(() => {\n const animationName = getAnimationName(refs.get(\"styles\"));\n context.set(\"unmountAnimationName\", animationName);\n if (animationName === \"none\" || animationName === context.get(\"prevAnimationName\") || refs.get(\"styles\")?.display === \"none\" || refs.get(\"styles\")?.animationDuration === \"0s\") {\n send({ type: \"UNMOUNT\", src: \"presence.changed\" });\n } else {\n send({ type: \"UNMOUNT.SUSPEND\" });\n }\n });\n },\n setPrevAnimationName: ({ context, refs }) => {\n raf(() => {\n context.set(\"prevAnimationName\", getAnimationName(refs.get(\"styles\")));\n });\n },\n clearPrevAnimationName: ({ context }) => {\n context.set(\"prevAnimationName\", null);\n }\n },\n effects: {\n trackAnimationEvents: ({ context, refs, send }) => {\n const node = refs.get(\"node\");\n if (!node) return;\n const onStart = (event) => {\n const target = event.composedPath?.()?.[0] ?? event.target;\n if (target === node) {\n context.set(\"prevAnimationName\", getAnimationName(refs.get(\"styles\")));\n }\n };\n const onEnd = (event) => {\n const animationName = getAnimationName(refs.get(\"styles\"));\n const target = getEventTarget(event);\n if (target === node && animationName === context.get(\"unmountAnimationName\")) {\n send({ type: \"UNMOUNT\", src: \"animationend\" });\n }\n };\n node.addEventListener(\"animationstart\", onStart);\n node.addEventListener(\"animationcancel\", onEnd);\n node.addEventListener(\"animationend\", onEnd);\n const cleanupStyles = setStyle(node, { animationFillMode: \"forwards\" });\n return () => {\n node.removeEventListener(\"animationstart\", onStart);\n node.removeEventListener(\"animationcancel\", onEnd);\n node.removeEventListener(\"animationend\", onEnd);\n nextTick(() => cleanupStyles());\n };\n }\n }\n }\n});\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nvar props = createProps()([\"onExitComplete\", \"present\", \"immediate\"]);\n\nexport { connect, machine, props };\n","'use client';\nimport { useCallback, useRef } from 'react';\n\nfunction useEvent(callback, opts = {}) {\n const { sync = false } = opts;\n const callbackRef = useLatestRef(callback);\n return useCallback(\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n (...args) => {\n if (sync) return queueMicrotask(() => callbackRef.current?.(...args));\n return callbackRef.current?.(...args);\n },\n [sync, callbackRef]\n );\n}\nfunction useLatestRef(value) {\n const ref = useRef(value);\n ref.current = value;\n return ref;\n}\n\nexport { useEvent };\n","'use client';\nimport * as presence from '@zag-js/presence';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useRef } from 'react';\nimport { useEvent } from '../../utils/use-event.js';\n\nconst usePresence = (props = {}) => {\n const { lazyMount, unmountOnExit, present, skipAnimationOnMount = false, ...rest } = props;\n const wasEverPresent = useRef(false);\n const machineProps = {\n ...rest,\n present,\n onExitComplete: useEvent(props.onExitComplete)\n };\n const service = useMachine(presence.machine, machineProps);\n const api = presence.connect(service, normalizeProps);\n if (api.present) {\n wasEverPresent.current = true;\n }\n const unmounted = !api.present && !wasEverPresent.current && lazyMount || unmountOnExit && !api.present && wasEverPresent.current;\n const getPresenceProps = () => ({\n \"data-state\": api.skip && skipAnimationOnMount ? void 0 : present ? \"open\" : \"closed\",\n hidden: !api.present\n });\n return {\n ref: api.setNode,\n getPresenceProps,\n present: api.present,\n unmounted\n };\n};\n\nexport { usePresence };\n","// src/create-anatomy.ts\nvar createAnatomy = (name, parts = []) => ({\n parts: (...values) => {\n if (isEmpty(parts)) {\n return createAnatomy(name, values);\n }\n throw new Error(\"createAnatomy().parts(...) should only be called once. Did you mean to use .extendWith(...) ?\");\n },\n extendWith: (...values) => createAnatomy(name, [...parts, ...values]),\n rename: (newName) => createAnatomy(newName, parts),\n keys: () => parts,\n build: () => [...new Set(parts)].reduce(\n (prev, part) => Object.assign(prev, {\n [part]: {\n selector: [\n `&[data-scope=\"${toKebabCase(name)}\"][data-part=\"${toKebabCase(part)}\"]`,\n `& [data-scope=\"${toKebabCase(name)}\"][data-part=\"${toKebabCase(part)}\"]`\n ].join(\", \"),\n attrs: { \"data-scope\": toKebabCase(name), \"data-part\": toKebabCase(part) }\n }\n }),\n {}\n )\n});\nvar toKebabCase = (value) => value.replace(/([A-Z])([A-Z])/g, \"$1-$2\").replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/[\\s_]+/g, \"-\").toLowerCase();\nvar isEmpty = (v) => v.length === 0;\n\nexport { createAnatomy };\n","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 win.HTMLElement.prototype.focus = function() {\n currentModality = \"virtual\";\n triggerChangeHandlers(\"virtual\", null);\n hasEventBeforeFocus = true;\n focus.apply(this, arguments);\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","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","import { autoUpdate, offset, flip, shift, limitShift, arrow, size, hide, computePosition } from '@floating-ui/dom';\nimport { raf, isHTMLElement, getWindow, getComputedStyle } from '@zag-js/dom-query';\nimport { noop, isNull, compact, runIfFn } from '@zag-js/utils';\n\n// src/get-placement.ts\nfunction createDOMRect(x = 0, y = 0, width = 0, height = 0) {\n if (typeof DOMRect === \"function\") {\n return new DOMRect(x, y, width, height);\n }\n const rect = {\n x,\n y,\n width,\n height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x\n };\n return { ...rect, toJSON: () => rect };\n}\nfunction getDOMRect(anchorRect) {\n if (!anchorRect) return createDOMRect();\n const { x, y, width, height } = anchorRect;\n return createDOMRect(x, y, width, height);\n}\nfunction getAnchorElement(anchorElement, getAnchorRect) {\n return {\n contextElement: isHTMLElement(anchorElement) ? anchorElement : void 0,\n getBoundingClientRect: () => {\n const anchor = anchorElement;\n const anchorRect = getAnchorRect?.(anchor);\n if (anchorRect || !anchor) {\n return getDOMRect(anchorRect);\n }\n return anchor.getBoundingClientRect();\n }\n };\n}\n\n// src/middleware.ts\nvar toVar = (value) => ({ variable: value, reference: `var(${value})` });\nvar cssVars = {\n arrowSize: toVar(\"--arrow-size\"),\n arrowSizeHalf: toVar(\"--arrow-size-half\"),\n arrowBg: toVar(\"--arrow-background\"),\n transformOrigin: toVar(\"--transform-origin\"),\n arrowOffset: toVar(\"--arrow-offset\")\n};\nvar getTransformOrigin = (arrow2) => ({\n top: \"bottom center\",\n \"top-start\": arrow2 ? `${arrow2.x}px bottom` : \"left bottom\",\n \"top-end\": arrow2 ? `${arrow2.x}px bottom` : \"right bottom\",\n bottom: \"top center\",\n \"bottom-start\": arrow2 ? `${arrow2.x}px top` : \"top left\",\n \"bottom-end\": arrow2 ? `${arrow2.x}px top` : \"top right\",\n left: \"right center\",\n \"left-start\": arrow2 ? `right ${arrow2.y}px` : \"right top\",\n \"left-end\": arrow2 ? `right ${arrow2.y}px` : \"right bottom\",\n right: \"left center\",\n \"right-start\": arrow2 ? `left ${arrow2.y}px` : \"left top\",\n \"right-end\": arrow2 ? `left ${arrow2.y}px` : \"left bottom\"\n});\nvar transformOriginMiddleware = {\n name: \"transformOrigin\",\n fn({ placement, elements, middlewareData }) {\n const { arrow: arrow2 } = middlewareData;\n const transformOrigin = getTransformOrigin(arrow2)[placement];\n const { floating } = elements;\n floating.style.setProperty(cssVars.transformOrigin.variable, transformOrigin);\n return {\n data: { transformOrigin }\n };\n }\n};\nvar rectMiddleware = {\n name: \"rects\",\n fn({ rects }) {\n return {\n data: rects\n };\n }\n};\nvar shiftArrowMiddleware = (arrowEl) => {\n if (!arrowEl) return;\n return {\n name: \"shiftArrow\",\n fn({ placement, middlewareData }) {\n if (!middlewareData.arrow) return {};\n const { x, y } = middlewareData.arrow;\n const dir = placement.split(\"-\")[0];\n Object.assign(arrowEl.style, {\n left: x != null ? `${x}px` : \"\",\n top: y != null ? `${y}px` : \"\",\n [dir]: `calc(100% + ${cssVars.arrowOffset.reference})`\n });\n return {};\n }\n };\n};\n\n// src/placement.ts\nfunction isValidPlacement(v) {\n return /^(?:top|bottom|left|right)(?:-(?:start|end))?$/.test(v);\n}\nfunction getPlacementDetails(placement) {\n const [side, align] = placement.split(\"-\");\n return { side, align, hasAlign: align != null };\n}\nfunction getPlacementSide(placement) {\n return placement.split(\"-\")[0];\n}\n\n// src/get-placement.ts\nvar defaultOptions = {\n strategy: \"absolute\",\n placement: \"bottom\",\n listeners: true,\n gutter: 8,\n flip: true,\n slide: true,\n overlap: false,\n sameWidth: false,\n fitViewport: false,\n overflowPadding: 8,\n arrowPadding: 4\n};\nfunction roundByDpr(win, value) {\n const dpr = win.devicePixelRatio || 1;\n return Math.round(value * dpr) / dpr;\n}\nfunction getBoundaryMiddleware(opts) {\n return runIfFn(opts.boundary);\n}\nfunction getArrowMiddleware(arrowElement, opts) {\n if (!arrowElement) return;\n return arrow({\n element: arrowElement,\n padding: opts.arrowPadding\n });\n}\nfunction getOffsetMiddleware(arrowElement, opts) {\n if (isNull(opts.offset ?? opts.gutter)) return;\n return offset(({ placement }) => {\n const arrowOffset = (arrowElement?.clientHeight || 0) / 2;\n const gutter = opts.offset?.mainAxis ?? opts.gutter;\n const mainAxis = typeof gutter === \"number\" ? gutter + arrowOffset : gutter ?? arrowOffset;\n const { hasAlign } = getPlacementDetails(placement);\n const shift2 = !hasAlign ? opts.shift : void 0;\n const crossAxis = opts.offset?.crossAxis ?? shift2;\n return compact({\n crossAxis,\n mainAxis,\n alignmentAxis: opts.shift\n });\n });\n}\nfunction getFlipMiddleware(opts) {\n if (!opts.flip) return;\n return flip({\n boundary: getBoundaryMiddleware(opts),\n padding: opts.overflowPadding,\n fallbackPlacements: opts.flip === true ? void 0 : opts.flip\n });\n}\nfunction getShiftMiddleware(opts) {\n if (!opts.slide && !opts.overlap) return;\n return shift({\n boundary: getBoundaryMiddleware(opts),\n mainAxis: opts.slide,\n crossAxis: opts.overlap,\n padding: opts.overflowPadding,\n limiter: limitShift()\n });\n}\nfunction getSizeMiddleware(opts) {\n return size({\n padding: opts.overflowPadding,\n apply({ elements, rects, availableHeight, availableWidth }) {\n const floating = elements.floating;\n const referenceWidth = Math.round(rects.reference.width);\n availableWidth = Math.floor(availableWidth);\n availableHeight = Math.floor(availableHeight);\n floating.style.setProperty(\"--reference-width\", `${referenceWidth}px`);\n floating.style.setProperty(\"--available-width\", `${availableWidth}px`);\n floating.style.setProperty(\"--available-height\", `${availableHeight}px`);\n }\n });\n}\nfunction hideWhenDetachedMiddleware(opts) {\n if (!opts.hideWhenDetached) return;\n return hide({ strategy: \"referenceHidden\", boundary: opts.boundary?.() ?? \"clippingAncestors\" });\n}\nfunction getAutoUpdateOptions(opts) {\n if (!opts) return {};\n if (opts === true) {\n return { ancestorResize: true, ancestorScroll: true, elementResize: true, layoutShift: true };\n }\n return opts;\n}\nfunction getPlacementImpl(referenceOrVirtual, floating, opts = {}) {\n const reference = getAnchorElement(referenceOrVirtual, opts.getAnchorRect);\n if (!floating || !reference) return;\n const options = Object.assign({}, defaultOptions, opts);\n const arrowEl = floating.querySelector(\"[data-part=arrow]\");\n const middleware = [\n getOffsetMiddleware(arrowEl, options),\n getFlipMiddleware(options),\n getShiftMiddleware(options),\n getArrowMiddleware(arrowEl, options),\n shiftArrowMiddleware(arrowEl),\n transformOriginMiddleware,\n getSizeMiddleware(options),\n hideWhenDetachedMiddleware(options),\n rectMiddleware\n ];\n const { placement, strategy, onComplete, onPositioned } = options;\n const updatePosition = async () => {\n if (!reference || !floating) return;\n const pos = await computePosition(reference, floating, {\n placement,\n middleware,\n strategy\n });\n onComplete?.(pos);\n onPositioned?.({ placed: true });\n const win = getWindow(floating);\n const x = roundByDpr(win, pos.x);\n const y = roundByDpr(win, pos.y);\n floating.style.setProperty(\"--x\", `${x}px`);\n floating.style.setProperty(\"--y\", `${y}px`);\n if (options.hideWhenDetached) {\n const isHidden = pos.middlewareData.hide?.referenceHidden;\n if (isHidden) {\n floating.style.setProperty(\"visibility\", \"hidden\");\n floating.style.setProperty(\"pointer-events\", \"none\");\n } else {\n floating.style.removeProperty(\"visibility\");\n floating.style.removeProperty(\"pointer-events\");\n }\n }\n const contentEl = floating.firstElementChild;\n if (contentEl) {\n const styles = getComputedStyle(contentEl);\n floating.style.setProperty(\"--z-index\", styles.zIndex);\n }\n };\n const update = async () => {\n if (opts.updatePosition) {\n await opts.updatePosition({ updatePosition });\n onPositioned?.({ placed: true });\n } else {\n await updatePosition();\n }\n };\n const autoUpdateOptions = getAutoUpdateOptions(options.listeners);\n const cancelAutoUpdate = options.listeners ? autoUpdate(reference, floating, update, autoUpdateOptions) : noop;\n update();\n return () => {\n cancelAutoUpdate?.();\n onPositioned?.({ placed: false });\n };\n}\nfunction getPlacement(referenceOrFn, floatingOrFn, opts = {}) {\n const { defer, ...options } = opts;\n const func = defer ? raf : (v) => v();\n const cleanups = [];\n cleanups.push(\n func(() => {\n const reference = typeof referenceOrFn === \"function\" ? referenceOrFn() : referenceOrFn;\n const floating = typeof floatingOrFn === \"function\" ? floatingOrFn() : floatingOrFn;\n cleanups.push(getPlacementImpl(reference, floating, options));\n })\n );\n return () => {\n cleanups.forEach((fn) => fn?.());\n };\n}\n\n// src/get-styles.ts\nvar ARROW_FLOATING_STYLE = {\n bottom: \"rotate(45deg)\",\n left: \"rotate(135deg)\",\n top: \"rotate(225deg)\",\n right: \"rotate(315deg)\"\n};\nfunction getPlacementStyles(options = {}) {\n const { placement, sameWidth, fitViewport, strategy = \"absolute\" } = options;\n return {\n arrow: {\n position: \"absolute\",\n width: cssVars.arrowSize.reference,\n height: cssVars.arrowSize.reference,\n [cssVars.arrowSizeHalf.variable]: `calc(${cssVars.arrowSize.reference} / 2)`,\n [cssVars.arrowOffset.variable]: `calc(${cssVars.arrowSizeHalf.reference} * -1)`\n },\n arrowTip: {\n // @ts-expect-error - Fix this\n transform: placement ? ARROW_FLOATING_STYLE[placement.split(\"-\")[0]] : void 0,\n background: cssVars.arrowBg.reference,\n top: \"0\",\n left: \"0\",\n width: \"100%\",\n height: \"100%\",\n position: \"absolute\",\n zIndex: \"inherit\"\n },\n floating: {\n position: strategy,\n isolation: \"isolate\",\n minWidth: sameWidth ? void 0 : \"max-content\",\n width: sameWidth ? \"var(--reference-width)\" : void 0,\n maxWidth: fitViewport ? \"var(--available-width)\" : void 0,\n maxHeight: fitViewport ? \"var(--available-height)\" : void 0,\n pointerEvents: !placement ? \"none\" : void 0,\n top: \"0px\",\n left: \"0px\",\n // move off-screen if placement is not defined\n transform: placement ? \"translate3d(var(--x), var(--y), 0)\" : \"translate3d(0, -100vh, 0)\",\n zIndex: \"var(--z-index)\"\n }\n };\n}\n\nexport { getPlacement, getPlacementSide, getPlacementStyles, isValidPlacement };\n","/* eslint @typescript-eslint/no-explicit-any: off */\n// symbols\nconst TRACK_MEMO_SYMBOL = Symbol();\nconst GET_ORIGINAL_SYMBOL = Symbol();\n// properties\nconst AFFECTED_PROPERTY = 'a';\nconst IS_TARGET_COPIED_PROPERTY = 'f';\nconst PROXY_PROPERTY = 'p';\nconst PROXY_CACHE_PROPERTY = 'c';\nconst TARGET_CACHE_PROPERTY = 't';\nconst HAS_KEY_PROPERTY = 'h';\nconst ALL_OWN_KEYS_PROPERTY = 'w';\nconst HAS_OWN_KEY_PROPERTY = 'o';\nconst KEYS_PROPERTY = 'k';\n// function to create a new bare proxy\nlet newProxy = (target, handler) => new Proxy(target, handler);\n// get object prototype\nconst getProto = Object.getPrototypeOf;\nconst objectsToTrack = new WeakMap();\n// check if obj is a plain object or an array\nconst isObjectToTrack = (obj) => obj &&\n (objectsToTrack.has(obj)\n ? objectsToTrack.get(obj)\n : getProto(obj) === Object.prototype || getProto(obj) === Array.prototype);\n// check if it is object\nconst isObject = (x) => typeof x === 'object' && x !== null;\n// Properties that are both non-configurable and non-writable will break\n// the proxy get trap when we try to return a recursive/child compare proxy\n// from them. We can avoid this by making a copy of the target object with\n// all descriptors marked as configurable, see `copyTargetObject`.\n// See: https://github.com/dai-shi/proxy-compare/pull/8\nconst needsToCopyTargetObject = (obj) => Object.values(Object.getOwnPropertyDescriptors(obj)).some((descriptor) => !descriptor.configurable && !descriptor.writable);\n// Make a copy with all descriptors marked as configurable.\nconst copyTargetObject = (obj) => {\n if (Array.isArray(obj)) {\n // Arrays need a special way to copy\n return Array.from(obj);\n }\n // For non-array objects, we create a new object keeping the prototype\n // with changing all configurable options (otherwise, proxies will complain)\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n Object.values(descriptors).forEach((desc) => {\n desc.configurable = true;\n });\n return Object.create(getProto(obj), descriptors);\n};\nconst createProxyHandler = (origObj, isTargetCopied) => {\n const state = {\n [IS_TARGET_COPIED_PROPERTY]: isTargetCopied,\n };\n let trackObject = false; // for trackMemo\n const recordUsage = (type, key) => {\n if (!trackObject) {\n let used = state[AFFECTED_PROPERTY].get(origObj);\n if (!used) {\n used = {};\n state[AFFECTED_PROPERTY].set(origObj, used);\n }\n if (type === ALL_OWN_KEYS_PROPERTY) {\n used[ALL_OWN_KEYS_PROPERTY] = true;\n }\n else {\n let set = used[type];\n if (!set) {\n set = new Set();\n used[type] = set;\n }\n set.add(key);\n }\n }\n };\n const recordObjectAsUsed = () => {\n trackObject = true;\n state[AFFECTED_PROPERTY].delete(origObj);\n };\n const handler = {\n get(target, key) {\n if (key === GET_ORIGINAL_SYMBOL) {\n return origObj;\n }\n recordUsage(KEYS_PROPERTY, key);\n return createProxy(Reflect.get(target, key), state[AFFECTED_PROPERTY], state[PROXY_CACHE_PROPERTY], state[TARGET_CACHE_PROPERTY]);\n },\n has(target, key) {\n if (key === TRACK_MEMO_SYMBOL) {\n recordObjectAsUsed();\n return true;\n }\n recordUsage(HAS_KEY_PROPERTY, key);\n return Reflect.has(target, key);\n },\n getOwnPropertyDescriptor(target, key) {\n recordUsage(HAS_OWN_KEY_PROPERTY, key);\n return Reflect.getOwnPropertyDescriptor(target, key);\n },\n ownKeys(target) {\n recordUsage(ALL_OWN_KEYS_PROPERTY);\n return Reflect.ownKeys(target);\n },\n };\n if (isTargetCopied) {\n handler.set = handler.deleteProperty = () => false;\n }\n return [handler, state];\n};\nconst getOriginalObject = (obj) => \n// unwrap proxy\nobj[GET_ORIGINAL_SYMBOL] ||\n // otherwise\n obj;\n/**\n * Create a proxy.\n *\n * This function will create a proxy at top level and proxy nested objects as you access them,\n * in order to keep track of which properties were accessed via get/has proxy handlers:\n *\n * NOTE: Printing of WeakMap is hard to inspect and not very readable\n * for this purpose you can use the `affectedToPathList` helper.\n *\n * @param {object} obj - Object that will be wrapped on the proxy.\n * @param {WeakMap<object, unknown>} affected -\n * WeakMap that will hold the tracking of which properties in the proxied object were accessed.\n * @param {WeakMap<object, unknown>} [proxyCache] -\n * WeakMap that will help keep referential identity for proxies.\n * @returns {Proxy<object>} - Object wrapped in a proxy.\n *\n * @example\n * import { createProxy } from 'proxy-compare';\n *\n * const original = { a: \"1\", c: \"2\", d: { e: \"3\" } };\n * const affected = new WeakMap();\n * const proxy = createProxy(original, affected);\n *\n * proxy.a // Will mark as used and track its value.\n * // This will update the affected WeakMap with original as key\n * // and a Set with \"a\"\n *\n * proxy.d // Will mark \"d\" as accessed to track and proxy itself ({ e: \"3\" }).\n * // This will update the affected WeakMap with original as key\n * // and a Set with \"d\"\n */\nexport const createProxy = (obj, affected, proxyCache, targetCache) => {\n if (!isObjectToTrack(obj))\n return obj;\n let targetAndCopied = targetCache && targetCache.get(obj);\n if (!targetAndCopied) {\n const target = getOriginalObject(obj);\n if (needsToCopyTargetObject(target)) {\n targetAndCopied = [target, copyTargetObject(target)];\n }\n else {\n targetAndCopied = [target];\n }\n targetCache === null || targetCache === void 0 ? void 0 : targetCache.set(obj, targetAndCopied);\n }\n const [target, copiedTarget] = targetAndCopied;\n let handlerAndState = proxyCache && proxyCache.get(target);\n if (!handlerAndState ||\n handlerAndState[1][IS_TARGET_COPIED_PROPERTY] !== !!copiedTarget) {\n handlerAndState = createProxyHandler(target, !!copiedTarget);\n handlerAndState[1][PROXY_PROPERTY] = newProxy(copiedTarget || target, handlerAndState[0]);\n if (proxyCache) {\n proxyCache.set(target, handlerAndState);\n }\n }\n handlerAndState[1][AFFECTED_PROPERTY] = affected;\n handlerAndState[1][PROXY_CACHE_PROPERTY] = proxyCache;\n handlerAndState[1][TARGET_CACHE_PROPERTY] = targetCache;\n return handlerAndState[1][PROXY_PROPERTY];\n};\nconst isAllOwnKeysChanged = (prevObj, nextObj) => {\n const prevKeys = Reflect.ownKeys(prevObj);\n const nextKeys = Reflect.ownKeys(nextObj);\n return (prevKeys.length !== nextKeys.length ||\n prevKeys.some((k, i) => k !== nextKeys[i]));\n};\n/**\n * Compare changes on objects.\n *\n * This will compare the affected properties on tracked objects inside the proxy\n * to check if there were any changes made to it,\n * by default if no property was accessed on the proxy it will attempt to do a\n * reference equality check for the objects provided (Object.is(a, b)). If you access a property\n * on the proxy, then isChanged will only compare the affected properties.\n *\n * @param {object} prevObj - The previous object to compare.\n * @param {object} nextObj - Object to compare with the previous one.\n * @param {WeakMap<object, unknown>} affected -\n * WeakMap that holds the tracking of which properties in the proxied object were accessed.\n * @param {WeakMap<object, unknown>} [cache] -\n * WeakMap that holds a cache of the comparisons for better performance with repetitive comparisons,\n * and to avoid infinite loop with circular structures.\n * @returns {boolean} - Boolean indicating if the affected property on the object has changed.\n *\n * @example\n * import { createProxy, isChanged } from 'proxy-compare';\n *\n * const obj = { a: \"1\", c: \"2\", d: { e: \"3\" } };\n * const affected = new WeakMap();\n *\n * const proxy = createProxy(obj, affected);\n *\n * proxy.a\n *\n * isChanged(obj, { a: \"1\" }, affected) // false\n *\n * proxy.a = \"2\"\n *\n * isChanged(obj, { a: \"1\" }, affected) // true\n */\nexport const isChanged = (prevObj, nextObj, affected, cache, // for object with cycles\nisEqual = Object.is) => {\n if (isEqual(prevObj, nextObj)) {\n return false;\n }\n if (!isObject(prevObj) || !isObject(nextObj))\n return true;\n const used = affected.get(getOriginalObject(prevObj));\n if (!used)\n return true;\n if (cache) {\n const hit = cache.get(prevObj);\n if (hit === nextObj) {\n return false;\n }\n // for object with cycles\n cache.set(prevObj, nextObj);\n }\n let changed = null;\n for (const key of used[HAS_KEY_PROPERTY] || []) {\n changed = Reflect.has(prevObj, key) !== Reflect.has(nextObj, key);\n if (changed)\n return changed;\n }\n if (used[ALL_OWN_KEYS_PROPERTY] === true) {\n changed = isAllOwnKeysChanged(prevObj, nextObj);\n if (changed)\n return changed;\n }\n else {\n for (const key of used[HAS_OWN_KEY_PROPERTY] || []) {\n const hasPrev = !!Reflect.getOwnPropertyDescriptor(prevObj, key);\n const hasNext = !!Reflect.getOwnPropertyDescriptor(nextObj, key);\n changed = hasPrev !== hasNext;\n if (changed)\n return changed;\n }\n }\n for (const key of used[KEYS_PROPERTY] || []) {\n changed = isChanged(prevObj[key], nextObj[key], affected, cache, isEqual);\n if (changed)\n return changed;\n }\n if (changed === null)\n throw new Error('invalid used');\n return changed;\n};\n// explicitly track object with memo\nexport const trackMemo = (obj) => {\n if (isObjectToTrack(obj)) {\n return TRACK_MEMO_SYMBOL in obj;\n }\n return false;\n};\n/**\n * Unwrap proxy to get the original object.\n *\n * Used to retrieve the original object used to create the proxy instance with `createProxy`.\n *\n * @param {Proxy<object>} obj - The proxy wrapper of the originial object.\n * @returns {object | null} - Return either the unwrapped object if exists.\n *\n * @example\n * import { createProxy, getUntracked } from 'proxy-compare';\n *\n * const original = { a: \"1\", c: \"2\", d: { e: \"3\" } };\n * const affected = new WeakMap();\n *\n * const proxy = createProxy(original, affected);\n * const originalFromProxy = getUntracked(proxy)\n *\n * Object.is(original, originalFromProxy) // true\n * isChanged(original, originalFromProxy, affected) // false\n */\nexport const getUntracked = (obj) => {\n if (isObjectToTrack(obj)) {\n return obj[GET_ORIGINAL_SYMBOL] || null;\n }\n return null;\n};\n/**\n * Mark object to be tracked.\n *\n * This function marks an object that will be passed into `createProxy`\n * as marked to track or not. By default only Array and Object are marked to track,\n * so this is useful for example to mark a class instance to track or to mark a object\n * to be untracked when creating your proxy.\n *\n * @param obj - Object to mark as tracked or not.\n * @param mark - Boolean indicating whether you want to track this object or not.\n * @returns - No return.\n *\n * @example\n * import { createProxy, markToTrack, isChanged } from 'proxy-compare';\n *\n * const nested = { e: \"3\" }\n *\n * markToTrack(nested, false)\n *\n * const original = { a: \"1\", c: \"2\", d: nested };\n * const affected = new WeakMap();\n *\n * const proxy = createProxy(original, affected);\n *\n * proxy.d.e\n *\n * isChanged(original, { d: { e: \"3\" } }, affected) // true\n */\nexport const markToTrack = (obj, mark = true) => {\n objectsToTrack.set(obj, mark);\n};\n/**\n * Convert `affected` to path list\n *\n * `affected` is a weak map which is not printable.\n * This function is can convert it to printable path list.\n * It's for debugging purpose.\n *\n * @param obj - An object that is used with `createProxy`.\n * @param affected - A weak map that is used with `createProxy`.\n * @param onlyWithValues - An optional boolean to exclude object getters.\n * @returns - An array of paths.\n */\nexport const affectedToPathList = (obj, affected, onlyWithValues) => {\n const list = [];\n const seen = new WeakSet();\n const walk = (x, path) => {\n var _a, _b, _c;\n if (seen.has(x)) {\n // for object with cycles\n return;\n }\n if (isObject(x)) {\n seen.add(x);\n }\n const used = isObject(x) && affected.get(getOriginalObject(x));\n if (used) {\n (_a = used[HAS_KEY_PROPERTY]) === null || _a === void 0 ? void 0 : _a.forEach((key) => {\n const segment = `:has(${String(key)})`;\n list.push(path ? [...path, segment] : [segment]);\n });\n if (used[ALL_OWN_KEYS_PROPERTY] === true) {\n const segment = ':ownKeys';\n list.push(path ? [...path, segment] : [segment]);\n }\n else {\n (_b = used[HAS_OWN_KEY_PROPERTY]) === null || _b === void 0 ? void 0 : _b.forEach((key) => {\n const segment = `:hasOwn(${String(key)})`;\n list.push(path ? [...path, segment] : [segment]);\n });\n }\n (_c = used[KEYS_PROPERTY]) === null || _c === void 0 ? void 0 : _c.forEach((key) => {\n if (!onlyWithValues ||\n 'value' in (Object.getOwnPropertyDescriptor(x, key) || {})) {\n walk(x[key], path ? [...path, key] : [key]);\n }\n });\n }\n else if (path) {\n list.push(path);\n }\n };\n walk(obj);\n return list;\n};\n/**\n * replace newProxy function.\n *\n * This can be used if you want to use proxy-polyfill.\n * Note that proxy-polyfill can't polyfill everything.\n * Use it at your own risk.\n */\nexport const replaceNewProxy = (fn) => {\n newProxy = fn;\n};\n","import { markToTrack, getUntracked } from 'proxy-compare';\n\n// src/global.ts\nfunction glob() {\n if (typeof globalThis !== \"undefined\") return globalThis;\n if (typeof self !== \"undefined\") return self;\n if (typeof window !== \"undefined\") return window;\n if (typeof global !== \"undefined\") return global;\n}\nfunction globalRef(key, value) {\n const g = glob();\n if (!g) return value();\n g[key] || (g[key] = value());\n return g[key];\n}\nvar refSet = globalRef(\"__zag__refSet\", () => /* @__PURE__ */ new WeakSet());\n\n// src/utils.ts\nvar isReactElement = (x) => typeof x === \"object\" && x !== null && \"$$typeof\" in x && \"props\" in x;\nvar isVueElement = (x) => typeof x === \"object\" && x !== null && \"__v_isVNode\" in x;\nvar isDOMElement = (x) => typeof x === \"object\" && x !== null && \"nodeType\" in x && typeof x.nodeName === \"string\";\nvar isElement = (x) => isReactElement(x) || isVueElement(x) || isDOMElement(x);\nvar isObject = (x) => x !== null && typeof x === \"object\";\nvar canProxy = (x) => isObject(x) && !refSet.has(x) && (Array.isArray(x) || !(Symbol.iterator in x)) && !isElement(x) && !(x instanceof WeakMap) && !(x instanceof WeakSet) && !(x instanceof Error) && !(x instanceof Number) && !(x instanceof Date) && !(x instanceof String) && !(x instanceof RegExp) && !(x instanceof ArrayBuffer) && !(x instanceof Promise);\nvar isDev = () => process.env.NODE_ENV !== \"production\";\n\n// src/clone.ts\nfunction set(obj, key, val) {\n if (typeof val.value === \"object\" && !canProxy(val.value)) val.value = clone(val.value);\n if (!val.enumerable || val.get || val.set || !val.configurable || !val.writable || key === \"__proto__\") {\n Object.defineProperty(obj, key, val);\n } else obj[key] = val.value;\n}\nfunction clone(x) {\n if (typeof x !== \"object\") return x;\n var i = 0, k, list, tmp, str = Object.prototype.toString.call(x);\n if (str === \"[object Object]\") {\n tmp = Object.create(Object.getPrototypeOf(x) || null);\n } else if (str === \"[object Array]\") {\n tmp = Array(x.length);\n } else if (str === \"[object Set]\") {\n tmp = /* @__PURE__ */ new Set();\n x.forEach(function(val) {\n tmp.add(clone(val));\n });\n } else if (str === \"[object Map]\") {\n tmp = /* @__PURE__ */ new Map();\n x.forEach(function(val, key) {\n tmp.set(clone(key), clone(val));\n });\n } else if (str === \"[object Date]\") {\n tmp = /* @__PURE__ */ new Date(+x);\n } else if (str === \"[object RegExp]\") {\n tmp = new RegExp(x.source, x.flags);\n } else if (str === \"[object DataView]\") {\n tmp = new x.constructor(clone(x.buffer));\n } else if (str === \"[object ArrayBuffer]\") {\n tmp = x.slice(0);\n } else if (str === \"[object Blob]\") {\n tmp = x.slice();\n } else if (str.slice(-6) === \"Array]\") {\n tmp = new x.constructor(x);\n }\n if (tmp) {\n for (list = Object.getOwnPropertySymbols(x); i < list.length; i++) {\n set(tmp, list[i], Object.getOwnPropertyDescriptor(x, list[i]));\n }\n for (i = 0, list = Object.getOwnPropertyNames(x); i < list.length; i++) {\n if (Object.hasOwnProperty.call(tmp, k = list[i]) && tmp[k] === x[k]) continue;\n set(tmp, k, Object.getOwnPropertyDescriptor(x, k));\n }\n }\n return tmp || x;\n}\nvar proxyStateMap = globalRef(\"__zag__proxyStateMap\", () => /* @__PURE__ */ new WeakMap());\nvar buildProxyFunction = (objectIs = Object.is, newProxy = (target, handler) => new Proxy(target, handler), snapCache = /* @__PURE__ */ new WeakMap(), createSnapshot = (target, version) => {\n const cache = snapCache.get(target);\n if (cache?.[0] === version) {\n return cache[1];\n }\n const snap = Array.isArray(target) ? [] : Object.create(Object.getPrototypeOf(target));\n markToTrack(snap, true);\n snapCache.set(target, [version, snap]);\n Reflect.ownKeys(target).forEach((key) => {\n const value = Reflect.get(target, key);\n if (refSet.has(value)) {\n markToTrack(value, false);\n snap[key] = value;\n } else if (proxyStateMap.has(value)) {\n snap[key] = snapshot(value);\n } else {\n snap[key] = value;\n }\n });\n return Object.freeze(snap);\n}, proxyCache = /* @__PURE__ */ new WeakMap(), versionHolder = [1, 1], proxyFunction2 = (initialObject) => {\n if (!isObject(initialObject)) {\n throw new Error(\"object required\");\n }\n const found = proxyCache.get(initialObject);\n if (found) {\n return found;\n }\n let version = versionHolder[0];\n const listeners = /* @__PURE__ */ new Set();\n const notifyUpdate = (op, nextVersion = ++versionHolder[0]) => {\n if (version !== nextVersion) {\n version = nextVersion;\n listeners.forEach((listener) => listener(op, nextVersion));\n }\n };\n let checkVersion = versionHolder[1];\n const ensureVersion = (nextCheckVersion = ++versionHolder[1]) => {\n if (checkVersion !== nextCheckVersion && !listeners.size) {\n checkVersion = nextCheckVersion;\n propProxyStates.forEach(([propProxyState]) => {\n const propVersion = propProxyState[1](nextCheckVersion);\n if (propVersion > version) {\n version = propVersion;\n }\n });\n }\n return version;\n };\n const createPropListener = (prop) => (op, nextVersion) => {\n const newOp = [...op];\n newOp[1] = [prop, ...newOp[1]];\n notifyUpdate(newOp, nextVersion);\n };\n const propProxyStates = /* @__PURE__ */ new Map();\n const addPropListener = (prop, propProxyState) => {\n if (isDev() && propProxyStates.has(prop)) {\n throw new Error(\"prop listener already exists\");\n }\n if (listeners.size) {\n const remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n } else {\n propProxyStates.set(prop, [propProxyState]);\n }\n };\n const removePropListener = (prop) => {\n const entry = propProxyStates.get(prop);\n if (entry) {\n propProxyStates.delete(prop);\n entry[1]?.();\n }\n };\n const addListener = (listener) => {\n listeners.add(listener);\n if (listeners.size === 1) {\n propProxyStates.forEach(([propProxyState, prevRemove], prop) => {\n if (isDev() && prevRemove) {\n throw new Error(\"remove already exists\");\n }\n const remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n });\n }\n const removeListener = () => {\n listeners.delete(listener);\n if (listeners.size === 0) {\n propProxyStates.forEach(([propProxyState, remove], prop) => {\n if (remove) {\n remove();\n propProxyStates.set(prop, [propProxyState]);\n }\n });\n }\n };\n return removeListener;\n };\n const baseObject = Array.isArray(initialObject) ? [] : Object.create(Object.getPrototypeOf(initialObject));\n const handler = {\n deleteProperty(target, prop) {\n const prevValue = Reflect.get(target, prop);\n removePropListener(prop);\n const deleted = Reflect.deleteProperty(target, prop);\n if (deleted) {\n notifyUpdate([\"delete\", [prop], prevValue]);\n }\n return deleted;\n },\n set(target, prop, value, receiver) {\n const hasPrevValue = Reflect.has(target, prop);\n const prevValue = Reflect.get(target, prop, receiver);\n if (hasPrevValue && (objectIs(prevValue, value) || proxyCache.has(value) && objectIs(prevValue, proxyCache.get(value)))) {\n return true;\n }\n removePropListener(prop);\n if (isObject(value)) {\n value = getUntracked(value) || value;\n }\n let nextValue = value;\n if (Object.getOwnPropertyDescriptor(target, prop)?.set) ; else {\n if (!proxyStateMap.has(value) && canProxy(value)) {\n nextValue = proxy(value);\n }\n const childProxyState = !refSet.has(nextValue) && proxyStateMap.get(nextValue);\n if (childProxyState) {\n addPropListener(prop, childProxyState);\n }\n }\n Reflect.set(target, prop, nextValue, receiver);\n notifyUpdate([\"set\", [prop], value, prevValue]);\n return true;\n }\n };\n const proxyObject = newProxy(baseObject, handler);\n proxyCache.set(initialObject, proxyObject);\n const proxyState = [baseObject, ensureVersion, createSnapshot, addListener];\n proxyStateMap.set(proxyObject, proxyState);\n Reflect.ownKeys(initialObject).forEach((key) => {\n const desc = Object.getOwnPropertyDescriptor(initialObject, key);\n if (desc.get || desc.set) {\n Object.defineProperty(baseObject, key, desc);\n } else {\n proxyObject[key] = initialObject[key];\n }\n });\n return proxyObject;\n}) => [\n // public functions\n proxyFunction2,\n // shared state\n proxyStateMap,\n refSet,\n // internal things\n objectIs,\n newProxy,\n canProxy,\n snapCache,\n createSnapshot,\n proxyCache,\n versionHolder\n];\nvar [proxyFunction] = buildProxyFunction();\nfunction proxy(initialObject = {}) {\n return proxyFunction(initialObject);\n}\nfunction subscribe(proxyObject, callback, notifyInSync) {\n const proxyState = proxyStateMap.get(proxyObject);\n if (isDev() && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n let promise;\n const ops = [];\n const addListener = proxyState[3];\n let isListenerActive = false;\n const listener = (op) => {\n ops.push(op);\n if (notifyInSync) {\n callback(ops.splice(0));\n return;\n }\n if (!promise) {\n promise = Promise.resolve().then(() => {\n promise = void 0;\n if (isListenerActive) {\n callback(ops.splice(0));\n }\n });\n }\n };\n const removeListener = addListener(listener);\n isListenerActive = true;\n return () => {\n isListenerActive = false;\n removeListener();\n };\n}\nfunction snapshot(proxyObject) {\n const proxyState = proxyStateMap.get(proxyObject);\n if (isDev() && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n const [target, ensureVersion, createSnapshot] = proxyState;\n return createSnapshot(target, ensureVersion());\n}\nfunction ref(obj) {\n refSet.add(obj);\n return obj;\n}\n\n// src/proxy-computed.ts\nfunction proxyWithComputed(initialObject, computedFns) {\n const keys = Object.keys(computedFns);\n keys.forEach((key) => {\n if (Object.getOwnPropertyDescriptor(initialObject, key)) {\n throw new Error(\"object property already defined\");\n }\n const computedFn = computedFns[key];\n const { get, set: set2 } = typeof computedFn === \"function\" ? { get: computedFn } : computedFn;\n const desc = {};\n desc.get = () => get(snapshot(proxyObject));\n if (set2) {\n desc.set = (newValue) => set2(proxyObject, newValue);\n }\n Object.defineProperty(initialObject, key, desc);\n });\n const proxyObject = proxy(initialObject);\n return proxyObject;\n}\n\nexport { clone, globalRef, proxy, proxyWithComputed, ref, snapshot, subscribe };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { addDomEvent, getOverflowAncestors, isComposingEvent, dataAttr } from '@zag-js/dom-query';\nimport { trackFocusVisible, isFocusVisible } from '@zag-js/focus-visible';\nimport { getPlacement, getPlacementStyles } from '@zag-js/popper';\nimport { proxy, subscribe } from '@zag-js/store';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/tooltip.anatomy.ts\nvar anatomy = createAnatomy(\"tooltip\").parts(\"trigger\", \"arrow\", \"arrowTip\", \"positioner\", \"content\");\nvar parts = anatomy.build();\n\n// src/tooltip.dom.ts\nvar getTriggerId = (scope) => scope.ids?.trigger ?? `tooltip:${scope.id}:trigger`;\nvar getContentId = (scope) => scope.ids?.content ?? `tooltip:${scope.id}:content`;\nvar getArrowId = (scope) => scope.ids?.arrow ?? `tooltip:${scope.id}:arrow`;\nvar getPositionerId = (scope) => scope.ids?.positioner ?? `tooltip:${scope.id}:popper`;\nvar getTriggerEl = (scope) => scope.getById(getTriggerId(scope));\nvar getPositionerEl = (scope) => scope.getById(getPositionerId(scope));\nvar store = proxy({ id: null });\n\n// src/tooltip.connect.ts\nfunction connect(service, normalize) {\n const { state, context, send, scope, prop, event: _event } = service;\n const id = prop(\"id\");\n const hasAriaLabel = !!prop(\"aria-label\");\n const open = state.matches(\"open\", \"closing\");\n const triggerId = getTriggerId(scope);\n const contentId = getContentId(scope);\n const disabled = prop(\"disabled\");\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: context.get(\"currentPlacement\")\n });\n return {\n open,\n setOpen(nextOpen) {\n const open2 = state.matches(\"open\", \"closing\");\n if (open2 === nextOpen) return;\n send({ type: nextOpen ? \"open\" : \"close\" });\n },\n reposition(options = {}) {\n send({ type: \"positioning.set\", options });\n },\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n id: triggerId,\n dir: prop(\"dir\"),\n \"data-expanded\": dataAttr(open),\n \"data-state\": open ? \"open\" : \"closed\",\n \"aria-describedby\": open ? contentId : void 0,\n onClick(event) {\n if (event.defaultPrevented) return;\n if (disabled) return;\n if (!prop(\"closeOnClick\")) return;\n send({ type: \"close\", src: \"trigger.click\" });\n },\n onFocus(event) {\n queueMicrotask(() => {\n if (event.defaultPrevented) return;\n if (disabled) return;\n if (_event.src === \"trigger.pointerdown\") return;\n if (!isFocusVisible()) return;\n send({ type: \"open\", src: \"trigger.focus\" });\n });\n },\n onBlur(event) {\n if (event.defaultPrevented) return;\n if (disabled) return;\n if (id === store.id) {\n send({ type: \"close\", src: \"trigger.blur\" });\n }\n },\n onPointerDown(event) {\n if (event.defaultPrevented) return;\n if (disabled) return;\n if (!prop(\"closeOnPointerDown\")) return;\n if (id === store.id) {\n send({ type: \"close\", src: \"trigger.pointerdown\" });\n }\n },\n onPointerMove(event) {\n if (event.defaultPrevented) return;\n if (disabled) return;\n if (event.pointerType === \"touch\") return;\n send({ type: \"pointer.move\" });\n },\n onPointerLeave() {\n if (disabled) return;\n send({ type: \"pointer.leave\" });\n },\n onPointerCancel() {\n if (disabled) return;\n send({ type: \"pointer.leave\" });\n }\n });\n },\n getArrowProps() {\n return normalize.element({\n id: getArrowId(scope),\n ...parts.arrow.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.arrow\n });\n },\n getArrowTipProps() {\n return normalize.element({\n ...parts.arrowTip.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.arrowTip\n });\n },\n getPositionerProps() {\n return normalize.element({\n id: getPositionerId(scope),\n ...parts.positioner.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.floating\n });\n },\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n dir: prop(\"dir\"),\n hidden: !open,\n \"data-state\": open ? \"open\" : \"closed\",\n role: hasAriaLabel ? void 0 : \"tooltip\",\n id: hasAriaLabel ? void 0 : contentId,\n \"data-placement\": context.get(\"currentPlacement\"),\n onPointerEnter() {\n send({ type: \"content.pointer.move\" });\n },\n onPointerLeave() {\n send({ type: \"content.pointer.leave\" });\n },\n style: {\n pointerEvents: prop(\"interactive\") ? \"auto\" : \"none\"\n }\n });\n }\n };\n}\nvar { and, not } = createGuards();\nvar machine = createMachine({\n initialState: ({ prop }) => {\n const open = prop(\"open\") || prop(\"defaultOpen\");\n return open ? \"open\" : \"closed\";\n },\n props({ props: props2 }) {\n return {\n id: \"x\",\n openDelay: 1e3,\n closeDelay: 500,\n closeOnPointerDown: true,\n closeOnEscape: true,\n interactive: false,\n closeOnScroll: true,\n closeOnClick: true,\n disabled: false,\n ...props2,\n positioning: {\n placement: \"bottom\",\n ...props2.positioning\n }\n };\n },\n effects: [\"trackFocusVisible\", \"trackStore\"],\n context: ({ bindable }) => ({\n currentPlacement: bindable(() => ({ defaultValue: void 0 })),\n hasPointerMoveOpened: bindable(() => ({ defaultValue: false }))\n }),\n watch({ track, action, prop }) {\n track([() => prop(\"disabled\")], () => {\n action([\"closeIfDisabled\"]);\n });\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"]);\n });\n },\n states: {\n closed: {\n entry: [\"clearGlobalId\"],\n on: {\n \"controlled.open\": {\n target: \"open\"\n },\n open: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"]\n }\n ],\n \"pointer.leave\": {\n actions: [\"clearPointerMoveOpened\"]\n },\n \"pointer.move\": [\n {\n guard: and(\"noVisibleTooltip\", not(\"hasPointerMoveOpened\")),\n target: \"opening\"\n },\n {\n guard: not(\"hasPointerMoveOpened\"),\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"]\n }\n ]\n }\n },\n opening: {\n effects: [\"trackScroll\", \"trackPointerlockChange\", \"waitForOpenDelay\"],\n on: {\n \"after.openDelay\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"]\n }\n ],\n \"controlled.open\": {\n target: \"open\"\n },\n \"controlled.close\": {\n target: \"closed\"\n },\n open: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"]\n }\n ],\n \"pointer.leave\": [\n {\n guard: \"isOpenControlled\",\n // We trigger toggleVisibility manually since the `ctx.open` has not changed yet (at this point)\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\", \"toggleVisibility\"]\n },\n {\n target: \"closed\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"]\n }\n ],\n close: [\n {\n guard: \"isOpenControlled\",\n // We trigger toggleVisibility manually since the `ctx.open` has not changed yet (at this point)\n actions: [\"invokeOnClose\", \"toggleVisibility\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ]\n }\n },\n open: {\n effects: [\"trackEscapeKey\", \"trackScroll\", \"trackPointerlockChange\", \"trackPositioning\"],\n entry: [\"setGlobalId\"],\n on: {\n \"controlled.close\": {\n target: \"closed\"\n },\n close: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"pointer.leave\": [\n {\n guard: \"isVisible\",\n target: \"closing\",\n actions: [\"clearPointerMoveOpened\"]\n },\n // == group ==\n {\n guard: \"isOpenControlled\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"clearPointerMoveOpened\", \"invokeOnClose\"]\n }\n ],\n \"content.pointer.leave\": {\n guard: \"isInteractive\",\n target: \"closing\"\n },\n \"positioning.set\": {\n actions: [\"reposition\"]\n }\n }\n },\n closing: {\n effects: [\"trackPositioning\", \"waitForCloseDelay\"],\n on: {\n \"after.closeDelay\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"controlled.close\": {\n target: \"closed\"\n },\n \"controlled.open\": {\n target: \"open\"\n },\n close: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"pointer.move\": [\n {\n guard: \"isOpenControlled\",\n // We trigger toggleVisibility manually since the `ctx.open` has not changed yet (at this point)\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\", \"toggleVisibility\"]\n },\n {\n target: \"open\",\n actions: [\"setPointerMoveOpened\", \"invokeOnOpen\"]\n }\n ],\n \"content.pointer.move\": {\n guard: \"isInteractive\",\n target: \"open\"\n },\n \"positioning.set\": {\n actions: [\"reposition\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n noVisibleTooltip: () => store.id === null,\n isVisible: ({ prop }) => prop(\"id\") === store.id,\n isInteractive: ({ prop }) => !!prop(\"interactive\"),\n hasPointerMoveOpened: ({ context }) => context.get(\"hasPointerMoveOpened\"),\n isOpenControlled: ({ prop }) => prop(\"open\") !== void 0\n },\n actions: {\n setGlobalId: ({ prop }) => {\n store.id = prop(\"id\");\n },\n clearGlobalId: ({ prop }) => {\n if (prop(\"id\") === store.id) {\n store.id = null;\n }\n },\n invokeOnOpen: ({ prop }) => {\n prop(\"onOpenChange\")?.({ open: true });\n },\n invokeOnClose: ({ prop }) => {\n prop(\"onOpenChange\")?.({ open: false });\n },\n closeIfDisabled: ({ prop, send }) => {\n if (!prop(\"disabled\")) return;\n send({ type: \"close\", src: \"disabled.change\" });\n },\n reposition: ({ context, event, prop, scope }) => {\n if (event.type !== \"positioning.set\") return;\n const getPositionerEl2 = () => getPositionerEl(scope);\n return getPlacement(getTriggerEl(scope), getPositionerEl2, {\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: ({ prop, event, send }) => {\n queueMicrotask(() => {\n send({\n type: prop(\"open\") ? \"controlled.open\" : \"controlled.close\",\n previousEvent: event\n });\n });\n },\n setPointerMoveOpened: ({ context }) => {\n context.set(\"hasPointerMoveOpened\", true);\n },\n clearPointerMoveOpened: ({ context }) => {\n context.set(\"hasPointerMoveOpened\", false);\n }\n },\n effects: {\n trackFocusVisible: ({ scope }) => {\n return trackFocusVisible({ root: scope.getRootNode?.() });\n },\n trackPositioning: ({ context, prop, scope }) => {\n if (!context.get(\"currentPlacement\")) {\n context.set(\"currentPlacement\", prop(\"positioning\").placement);\n }\n const getPositionerEl2 = () => getPositionerEl(scope);\n return getPlacement(getTriggerEl(scope), getPositionerEl2, {\n ...prop(\"positioning\"),\n defer: true,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n trackPointerlockChange: ({ send, scope }) => {\n const doc = scope.getDoc();\n const onChange = () => send({ type: \"close\", src: \"pointerlock:change\" });\n return addDomEvent(doc, \"pointerlockchange\", onChange, false);\n },\n trackScroll: ({ send, prop, scope }) => {\n if (!prop(\"closeOnScroll\")) return;\n const triggerEl = getTriggerEl(scope);\n if (!triggerEl) return;\n const overflowParents = getOverflowAncestors(triggerEl);\n const cleanups = overflowParents.map((overflowParent) => {\n const onScroll = () => {\n send({ type: \"close\", src: \"scroll\" });\n };\n return addDomEvent(overflowParent, \"scroll\", onScroll, {\n passive: true,\n capture: true\n });\n });\n return () => {\n cleanups.forEach((fn) => fn?.());\n };\n },\n trackStore: ({ prop, send }) => {\n let cleanup;\n queueMicrotask(() => {\n cleanup = subscribe(store, () => {\n if (store.id !== prop(\"id\")) {\n send({ type: \"close\", src: \"id.change\" });\n }\n });\n });\n return () => cleanup?.();\n },\n trackEscapeKey: ({ send, prop }) => {\n if (!prop(\"closeOnEscape\")) return;\n const onKeyDown = (event) => {\n if (isComposingEvent(event)) return;\n if (event.key !== \"Escape\") return;\n event.stopPropagation();\n send({ type: \"close\", src: \"keydown.escape\" });\n };\n return addDomEvent(document, \"keydown\", onKeyDown, true);\n },\n waitForOpenDelay: ({ send, prop }) => {\n const id = setTimeout(() => {\n send({ type: \"after.openDelay\" });\n }, prop(\"openDelay\"));\n return () => clearTimeout(id);\n },\n waitForCloseDelay: ({ send, prop }) => {\n const id = setTimeout(() => {\n send({ type: \"after.closeDelay\" });\n }, prop(\"closeDelay\"));\n return () => clearTimeout(id);\n }\n }\n }\n});\nvar props = createProps()([\n \"aria-label\",\n \"closeDelay\",\n \"closeOnEscape\",\n \"closeOnPointerDown\",\n \"closeOnScroll\",\n \"closeOnClick\",\n \"dir\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"interactive\",\n \"onOpenChange\",\n \"defaultOpen\",\n \"open\",\n \"openDelay\",\n \"positioning\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [LocaleContextProvider, useLocaleContext] = createContext({\n name: \"LocaleContext\",\n hookName: \"useLocaleContext\",\n providerName: \"<LocaleProvider />\",\n strict: false,\n defaultValue: { dir: \"ltr\", locale: \"en-US\" }\n});\n\nexport { LocaleContextProvider, useLocaleContext };\n","'use client';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport * as tooltip from '@zag-js/tooltip';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useTooltip = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(tooltip.machine, machineProps);\n return tooltip.connect(service, normalizeProps);\n};\n\nexport { useTooltip };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useTooltip } from './use-tooltip.js';\nimport { TooltipProvider } from './use-tooltip-context.js';\n\nconst TooltipRoot = (props) => {\n const [presenceProps, { children, ...localProps }] = splitPresenceProps(props);\n const tooltip = useTooltip(localProps);\n const presence = usePresence(mergeProps({ present: tooltip.open }, presenceProps));\n return /* @__PURE__ */ jsx(TooltipProvider, { value: tooltip, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) });\n};\n\nexport { TooltipRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { TooltipProvider } from './use-tooltip-context.js';\n\nconst TooltipRootProvider = (props) => {\n const [presenceProps, { value: tooltip, children }] = splitPresenceProps(props);\n const presence = usePresence(mergeProps({ present: tooltip.open }, presenceProps));\n return /* @__PURE__ */ jsx(TooltipProvider, { value: tooltip, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) });\n};\n\nexport { TooltipRootProvider };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useTooltipContext } from './use-tooltip-context.js';\n\nconst TooltipTrigger = forwardRef((props, ref) => {\n const tooltip = useTooltipContext();\n const mergedProps = mergeProps(tooltip.getTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nTooltipTrigger.displayName = \"TooltipTrigger\";\n\nexport { TooltipTrigger };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [AvatarProvider, useAvatarContext] = createContext({\n name: \"AvatarContext\",\n hookName: \"useAvatarContext\",\n providerName: \"<AvatarProvider />\"\n});\n\nexport { AvatarProvider, useAvatarContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useAvatarContext } from './use-avatar-context.js';\n\nconst AvatarFallback = forwardRef((props, ref) => {\n const avatar = useAvatarContext();\n const mergedProps = mergeProps(avatar.getFallbackProps(), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nAvatarFallback.displayName = \"AvatarFallback\";\n\nexport { AvatarFallback };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useAvatarContext } from './use-avatar-context.js';\n\nconst AvatarImage = forwardRef((props, ref) => {\n const avatar = useAvatarContext();\n const mergedProps = mergeProps(avatar.getImageProps(), props);\n return /* @__PURE__ */ jsx(ark.img, { ...mergedProps, ref });\n});\nAvatarImage.displayName = \"AvatarImage\";\n\nexport { AvatarImage };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { observeAttributes, observeChildren } from '@zag-js/dom-query';\nimport { createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/avatar.anatomy.ts\nvar anatomy = createAnatomy(\"avatar\").parts(\"root\", \"image\", \"fallback\");\nvar parts = anatomy.build();\n\n// src/avatar.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `avatar:${ctx.id}`;\nvar getImageId = (ctx) => ctx.ids?.image ?? `avatar:${ctx.id}:image`;\nvar getFallbackId = (ctx) => ctx.ids?.fallback ?? `avatar:${ctx.id}:fallback`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getImageEl = (ctx) => ctx.getById(getImageId(ctx));\n\n// src/avatar.connect.ts\nfunction connect(service, normalize) {\n const { state, send, prop, scope } = service;\n const loaded = state.matches(\"loaded\");\n return {\n loaded,\n setSrc(src) {\n const img = getImageEl(scope);\n img?.setAttribute(\"src\", src);\n },\n setLoaded() {\n send({ type: \"img.loaded\", src: \"api\" });\n },\n setError() {\n send({ type: \"img.error\", src: \"api\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope)\n });\n },\n getImageProps() {\n return normalize.img({\n ...parts.image.attrs,\n hidden: !loaded,\n dir: prop(\"dir\"),\n id: getImageId(scope),\n \"data-state\": loaded ? \"visible\" : \"hidden\",\n onLoad() {\n send({ type: \"img.loaded\", src: \"element\" });\n },\n onError() {\n send({ type: \"img.error\", src: \"element\" });\n }\n });\n },\n getFallbackProps() {\n return normalize.element({\n ...parts.fallback.attrs,\n dir: prop(\"dir\"),\n id: getFallbackId(scope),\n hidden: loaded,\n \"data-state\": loaded ? \"hidden\" : \"visible\"\n });\n }\n };\n}\nvar machine = createMachine({\n initialState() {\n return \"loading\";\n },\n effects: [\"trackImageRemoval\", \"trackSrcChange\"],\n on: {\n \"src.change\": {\n target: \"loading\"\n },\n \"img.unmount\": {\n target: \"error\"\n }\n },\n states: {\n loading: {\n entry: [\"checkImageStatus\"],\n on: {\n \"img.loaded\": {\n target: \"loaded\",\n actions: [\"invokeOnLoad\"]\n },\n \"img.error\": {\n target: \"error\",\n actions: [\"invokeOnError\"]\n }\n }\n },\n error: {\n on: {\n \"img.loaded\": {\n target: \"loaded\",\n actions: [\"invokeOnLoad\"]\n }\n }\n },\n loaded: {\n on: {\n \"img.error\": {\n target: \"error\",\n actions: [\"invokeOnError\"]\n }\n }\n }\n },\n implementations: {\n actions: {\n invokeOnLoad({ prop }) {\n prop(\"onStatusChange\")?.({ status: \"loaded\" });\n },\n invokeOnError({ prop }) {\n prop(\"onStatusChange\")?.({ status: \"error\" });\n },\n checkImageStatus({ send, scope }) {\n const imageEl = getImageEl(scope);\n if (!imageEl?.complete) return;\n const type = hasLoaded(imageEl) ? \"img.loaded\" : \"img.error\";\n send({ type, src: \"ssr\" });\n }\n },\n effects: {\n trackImageRemoval({ send, scope }) {\n const rootEl = getRootEl(scope);\n return observeChildren(rootEl, {\n callback(records) {\n const removedNodes = Array.from(records[0].removedNodes);\n const removed = removedNodes.find(\n (node) => node.nodeType === Node.ELEMENT_NODE && node.matches(\"[data-scope=avatar][data-part=image]\")\n );\n if (removed) {\n send({ type: \"img.unmount\" });\n }\n }\n });\n },\n trackSrcChange({ send, scope }) {\n const imageEl = getImageEl(scope);\n return observeAttributes(imageEl, {\n attributes: [\"src\", \"srcset\"],\n callback() {\n send({ type: \"src.change\" });\n }\n });\n }\n }\n }\n});\nfunction hasLoaded(image) {\n return image.complete && image.naturalWidth !== 0 && image.naturalHeight !== 0;\n}\nvar props = createProps()([\"dir\", \"id\", \"ids\", \"onStatusChange\", \"getRootNode\"]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","'use client';\nimport * as avatar from '@zag-js/avatar';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useAvatar = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const context = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(avatar.machine, context);\n return avatar.connect(service, normalizeProps);\n};\n\nexport { useAvatar };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useAvatar } from './use-avatar.js';\nimport { AvatarProvider } from './use-avatar-context.js';\n\nconst AvatarRoot = forwardRef((props, ref) => {\n const [useAvatarProps, localProps] = createSplitProps()(props, [\"id\", \"ids\", \"onStatusChange\"]);\n const avatar = useAvatar(useAvatarProps);\n const mergedProps = mergeProps(avatar.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(AvatarProvider, { value: avatar, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nAvatarRoot.displayName = \"AvatarRoot\";\n\nexport { AvatarRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { AvatarProvider } from './use-avatar-context.js';\n\nconst AvatarRootProvider = forwardRef((props, ref) => {\n const [{ value: avatar }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(avatar.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(AvatarProvider, { value: avatar, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nAvatarRootProvider.displayName = \"AvatarRootProvider\";\n\nexport { AvatarRootProvider };\n","// src/index.ts\nvar userGeneratedStr = \"\";\nvar userGenerated = userGeneratedStr.split(\",\");\nvar cssPropertiesStr = \"WebkitAppearance,WebkitBorderBefore,WebkitBorderBeforeColor,WebkitBorderBeforeStyle,WebkitBorderBeforeWidth,WebkitBoxReflect,WebkitLineClamp,WebkitMask,WebkitMaskAttachment,WebkitMaskClip,WebkitMaskComposite,WebkitMaskImage,WebkitMaskOrigin,WebkitMaskPosition,WebkitMaskPositionX,WebkitMaskPositionY,WebkitMaskRepeat,WebkitMaskRepeatX,WebkitMaskRepeatY,WebkitMaskSize,WebkitOverflowScrolling,WebkitTapHighlightColor,WebkitTextFillColor,WebkitTextStroke,WebkitTextStrokeColor,WebkitTextStrokeWidth,WebkitTouchCallout,WebkitUserModify,accentColor,alignContent,alignItems,alignSelf,alignTracks,all,animation,animationComposition,animationDelay,animationDirection,animationDuration,animationFillMode,animationIterationCount,animationName,animationPlayState,animationRange,animationRangeEnd,animationRangeStart,animationTimingFunction,animationTimeline,appearance,aspectRatio,azimuth,backdropFilter,backfaceVisibility,background,backgroundAttachment,backgroundBlendMode,backgroundClip,backgroundColor,backgroundImage,backgroundOrigin,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundRepeat,backgroundSize,blockSize,border,borderBlock,borderBlockColor,borderBlockStyle,borderBlockWidth,borderBlockEnd,borderBlockEndColor,borderBlockEndStyle,borderBlockEndWidth,borderBlockStart,borderBlockStartColor,borderBlockStartStyle,borderBlockStartWidth,borderBottom,borderBottomColor,borderBottomLeftRadius,borderBottomRightRadius,borderBottomStyle,borderBottomWidth,borderCollapse,borderColor,borderEndEndRadius,borderEndStartRadius,borderImage,borderImageOutset,borderImageRepeat,borderImageSlice,borderImageSource,borderImageWidth,borderInline,borderInlineEnd,borderInlineColor,borderInlineStyle,borderInlineWidth,borderInlineEndColor,borderInlineEndStyle,borderInlineEndWidth,borderInlineStart,borderInlineStartColor,borderInlineStartStyle,borderInlineStartWidth,borderLeft,borderLeftColor,borderLeftStyle,borderLeftWidth,borderRadius,borderRight,borderRightColor,borderRightStyle,borderRightWidth,borderSpacing,borderStartEndRadius,borderStartStartRadius,borderStyle,borderTop,borderTopColor,borderTopLeftRadius,borderTopRightRadius,borderTopStyle,borderTopWidth,borderWidth,bottom,boxAlign,boxDecorationBreak,boxDirection,boxFlex,boxFlexGroup,boxLines,boxOrdinalGroup,boxOrient,boxPack,boxShadow,boxSizing,breakAfter,breakBefore,breakInside,captionSide,caret,caretColor,caretShape,clear,clip,clipPath,color,colorScheme,columnCount,columnFill,columnGap,columnRule,columnRuleColor,columnRuleStyle,columnRuleWidth,columnSpan,columnWidth,columns,contain,containIntrinsicSize,containIntrinsicBlockSize,containIntrinsicHeight,containIntrinsicInlineSize,containIntrinsicWidth,container,containerName,containerType,content,contentVisibility,counterIncrement,counterReset,counterSet,cursor,direction,display,emptyCells,filter,flex,flexBasis,flexDirection,flexFlow,flexGrow,flexShrink,flexWrap,float,font,fontFamily,fontFeatureSettings,fontKerning,fontLanguageOverride,fontOpticalSizing,fontPalette,fontVariationSettings,fontSize,fontSizeAdjust,fontSmooth,fontStretch,fontStyle,fontSynthesis,fontSynthesisPosition,fontSynthesisSmallCaps,fontSynthesisStyle,fontSynthesisWeight,fontVariant,fontVariantAlternates,fontVariantCaps,fontVariantEastAsian,fontVariantEmoji,fontVariantLigatures,fontVariantNumeric,fontVariantPosition,fontWeight,forcedColorAdjust,gap,grid,gridArea,gridAutoColumns,gridAutoFlow,gridAutoRows,gridColumn,gridColumnEnd,gridColumnGap,gridColumnStart,gridGap,gridRow,gridRowEnd,gridRowGap,gridRowStart,gridTemplate,gridTemplateAreas,gridTemplateColumns,gridTemplateRows,hangingPunctuation,height,hyphenateCharacter,hyphenateLimitChars,hyphens,imageOrientation,imageRendering,imageResolution,imeMode,initialLetter,initialLetterAlign,inlineSize,inputSecurity,inset,insetBlock,insetBlockEnd,insetBlockStart,insetInline,insetInlineEnd,insetInlineStart,isolation,justifyContent,justifyItems,justifySelf,justifyTracks,left,letterSpacing,lineBreak,lineClamp,lineHeight,lineHeightStep,listStyle,listStyleImage,listStylePosition,listStyleType,margin,marginBlock,marginBlockEnd,marginBlockStart,marginBottom,marginInline,marginInlineEnd,marginInlineStart,marginLeft,marginRight,marginTop,marginTrim,mask,maskBorder,maskBorderMode,maskBorderOutset,maskBorderRepeat,maskBorderSlice,maskBorderSource,maskBorderWidth,maskClip,maskComposite,maskImage,maskMode,maskOrigin,maskPosition,maskRepeat,maskSize,maskType,masonryAutoFlow,mathDepth,mathShift,mathStyle,maxBlockSize,maxHeight,maxInlineSize,maxLines,maxWidth,minBlockSize,minHeight,minInlineSize,minWidth,mixBlendMode,objectFit,objectPosition,offset,offsetAnchor,offsetDistance,offsetPath,offsetPosition,offsetRotate,opacity,order,orphans,outline,outlineColor,outlineOffset,outlineStyle,outlineWidth,overflow,overflowAnchor,overflowBlock,overflowClipBox,overflowClipMargin,overflowInline,overflowWrap,overflowX,overflowY,overlay,overscrollBehavior,overscrollBehaviorBlock,overscrollBehaviorInline,overscrollBehaviorX,overscrollBehaviorY,padding,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingBottom,paddingInline,paddingInlineEnd,paddingInlineStart,paddingLeft,paddingRight,paddingTop,page,pageBreakAfter,pageBreakBefore,pageBreakInside,paintOrder,perspective,perspectiveOrigin,placeContent,placeItems,placeSelf,pointerEvents,position,printColorAdjust,quotes,resize,right,rotate,rowGap,rubyAlign,rubyMerge,rubyPosition,scale,scrollbarColor,scrollbarGutter,scrollbarWidth,scrollBehavior,scrollMargin,scrollMarginBlock,scrollMarginBlockStart,scrollMarginBlockEnd,scrollMarginBottom,scrollMarginInline,scrollMarginInlineStart,scrollMarginInlineEnd,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollPadding,scrollPaddingBlock,scrollPaddingBlockStart,scrollPaddingBlockEnd,scrollPaddingBottom,scrollPaddingInline,scrollPaddingInlineStart,scrollPaddingInlineEnd,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollSnapAlign,scrollSnapCoordinate,scrollSnapDestination,scrollSnapPointsX,scrollSnapPointsY,scrollSnapStop,scrollSnapType,scrollSnapTypeX,scrollSnapTypeY,scrollTimeline,scrollTimelineAxis,scrollTimelineName,shapeImageThreshold,shapeMargin,shapeOutside,tabSize,tableLayout,textAlign,textAlignLast,textCombineUpright,textDecoration,textDecorationColor,textDecorationLine,textDecorationSkip,textDecorationSkipInk,textDecorationStyle,textDecorationThickness,textEmphasis,textEmphasisColor,textEmphasisPosition,textEmphasisStyle,textIndent,textJustify,textOrientation,textOverflow,textRendering,textShadow,textSizeAdjust,textTransform,textUnderlineOffset,textUnderlinePosition,textWrap,timelineScope,top,touchAction,transform,transformBox,transformOrigin,transformStyle,transition,transitionBehavior,transitionDelay,transitionDuration,transitionProperty,transitionTimingFunction,translate,unicodeBidi,userSelect,verticalAlign,viewTimeline,viewTimelineAxis,viewTimelineInset,viewTimelineName,viewTransitionName,visibility,whiteSpace,whiteSpaceCollapse,widows,width,willChange,wordBreak,wordSpacing,wordWrap,writingMode,zIndex,zoom,alignmentBaseline,baselineShift,clipRule,colorInterpolation,colorRendering,dominantBaseline,fill,fillOpacity,fillRule,floodColor,floodOpacity,glyphOrientationVertical,lightingColor,marker,markerEnd,markerMid,markerStart,shapeRendering,stopColor,stopOpacity,stroke,strokeDasharray,strokeDashoffset,strokeLinecap,strokeLinejoin,strokeMiterlimit,strokeOpacity,strokeWidth,textAnchor,vectorEffect\";\nvar allCssProperties = cssPropertiesStr.split(\",\").concat(userGenerated);\nvar properties = new Map(allCssProperties.map((prop) => [prop, true]));\nfunction memo(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (arg) => {\n if (cache[arg] === void 0)\n cache[arg] = fn(arg);\n return cache[arg];\n };\n}\nvar cssPropertySelectorRegex = /&|@/;\nvar isCssProperty = /* @__PURE__ */ memo((prop) => {\n return properties.has(prop) || prop.startsWith(\"--\") || cssPropertySelectorRegex.test(prop);\n});\nexport {\n allCssProperties,\n isCssProperty\n};\n","module.exports = stringify\nstringify.default = stringify\nstringify.stable = deterministicStringify\nstringify.stableStringify = deterministicStringify\n\nvar LIMIT_REPLACE_NODE = '[...]'\nvar CIRCULAR_REPLACE_NODE = '[Circular]'\n\nvar arr = []\nvar replacerStack = []\n\nfunction defaultOptions () {\n return {\n depthLimit: Number.MAX_SAFE_INTEGER,\n edgesLimit: Number.MAX_SAFE_INTEGER\n }\n}\n\n// Regular stringify\nfunction stringify (obj, replacer, spacer, options) {\n if (typeof options === 'undefined') {\n options = defaultOptions()\n }\n\n decirc(obj, '', 0, [], undefined, 0, options)\n var res\n try {\n if (replacerStack.length === 0) {\n res = JSON.stringify(obj, replacer, spacer)\n } else {\n res = JSON.stringify(obj, replaceGetterValues(replacer), spacer)\n }\n } catch (_) {\n return JSON.stringify('[unable to serialize, circular reference is too complex to analyze]')\n } finally {\n while (arr.length !== 0) {\n var part = arr.pop()\n if (part.length === 4) {\n Object.defineProperty(part[0], part[1], part[3])\n } else {\n part[0][part[1]] = part[2]\n }\n }\n }\n return res\n}\n\nfunction setReplace (replace, val, k, parent) {\n var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k)\n if (propertyDescriptor.get !== undefined) {\n if (propertyDescriptor.configurable) {\n Object.defineProperty(parent, k, { value: replace })\n arr.push([parent, k, val, propertyDescriptor])\n } else {\n replacerStack.push([val, k, replace])\n }\n } else {\n parent[k] = replace\n arr.push([parent, k, val])\n }\n}\n\nfunction decirc (val, k, edgeIndex, stack, parent, depth, options) {\n depth += 1\n var i\n if (typeof val === 'object' && val !== null) {\n for (i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n setReplace(CIRCULAR_REPLACE_NODE, val, k, parent)\n return\n }\n }\n\n if (\n typeof options.depthLimit !== 'undefined' &&\n depth > options.depthLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n if (\n typeof options.edgesLimit !== 'undefined' &&\n edgeIndex + 1 > options.edgesLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n stack.push(val)\n // Optimize for Arrays. Big arrays could kill the performance otherwise!\n if (Array.isArray(val)) {\n for (i = 0; i < val.length; i++) {\n decirc(val[i], i, i, stack, val, depth, options)\n }\n } else {\n var keys = Object.keys(val)\n for (i = 0; i < keys.length; i++) {\n var key = keys[i]\n decirc(val[key], key, i, stack, val, depth, options)\n }\n }\n stack.pop()\n }\n}\n\n// Stable-stringify\nfunction compareFunction (a, b) {\n if (a < b) {\n return -1\n }\n if (a > b) {\n return 1\n }\n return 0\n}\n\nfunction deterministicStringify (obj, replacer, spacer, options) {\n if (typeof options === 'undefined') {\n options = defaultOptions()\n }\n\n var tmp = deterministicDecirc(obj, '', 0, [], undefined, 0, options) || obj\n var res\n try {\n if (replacerStack.length === 0) {\n res = JSON.stringify(tmp, replacer, spacer)\n } else {\n res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer)\n }\n } catch (_) {\n return JSON.stringify('[unable to serialize, circular reference is too complex to analyze]')\n } finally {\n // Ensure that we restore the object as it was.\n while (arr.length !== 0) {\n var part = arr.pop()\n if (part.length === 4) {\n Object.defineProperty(part[0], part[1], part[3])\n } else {\n part[0][part[1]] = part[2]\n }\n }\n }\n return res\n}\n\nfunction deterministicDecirc (val, k, edgeIndex, stack, parent, depth, options) {\n depth += 1\n var i\n if (typeof val === 'object' && val !== null) {\n for (i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n setReplace(CIRCULAR_REPLACE_NODE, val, k, parent)\n return\n }\n }\n try {\n if (typeof val.toJSON === 'function') {\n return\n }\n } catch (_) {\n return\n }\n\n if (\n typeof options.depthLimit !== 'undefined' &&\n depth > options.depthLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n if (\n typeof options.edgesLimit !== 'undefined' &&\n edgeIndex + 1 > options.edgesLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n stack.push(val)\n // Optimize for Arrays. Big arrays could kill the performance otherwise!\n if (Array.isArray(val)) {\n for (i = 0; i < val.length; i++) {\n deterministicDecirc(val[i], i, i, stack, val, depth, options)\n }\n } else {\n // Create a temporary object in the required way\n var tmp = {}\n var keys = Object.keys(val).sort(compareFunction)\n for (i = 0; i < keys.length; i++) {\n var key = keys[i]\n deterministicDecirc(val[key], key, i, stack, val, depth, options)\n tmp[key] = val[key]\n }\n if (typeof parent !== 'undefined') {\n arr.push([parent, k, val])\n parent[k] = tmp\n } else {\n return tmp\n }\n }\n stack.pop()\n }\n}\n\n// wraps replacer function to handle values we couldn't replace\n// and mark them as replaced value\nfunction replaceGetterValues (replacer) {\n replacer =\n typeof replacer !== 'undefined'\n ? replacer\n : function (k, v) {\n return v\n }\n return function (key, val) {\n if (replacerStack.length > 0) {\n for (var i = 0; i < replacerStack.length; i++) {\n var part = replacerStack[i]\n if (part[1] === key && part[0] === val) {\n val = part[2]\n replacerStack.splice(i, 1)\n break\n }\n }\n }\n return replacer.call(this, key, val)\n }\n}\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuProvider, useMenuContext] = createContext({\n name: \"MenuContext\",\n hookName: \"useMenuContext\",\n providerName: \"<MenuProvider />\",\n strict: false\n});\n\nexport { MenuProvider, useMenuContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuArrow = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getArrowProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuArrow.displayName = \"MenuArrow\";\n\nexport { MenuArrow };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuArrowTip = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getArrowTipProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuArrowTip.displayName = \"MenuArrowTip\";\n\nexport { MenuArrowTip };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemProvider, useMenuItemContext] = createContext({\n name: \"MenuItemContext\",\n hookName: \"useMenuItemContext\",\n providerName: \"<MenuItemProvider />\"\n});\n\nexport { MenuItemProvider, useMenuItemContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuOptionItemPropsProvider, useMenuOptionItemPropsContext] = createContext({\n name: \"MenuOptionItemPropsContext\",\n hookName: \"useMenuOptionItemPropsContext\",\n providerName: \"<MenuOptionItemPropsProvider />\"\n});\n\nexport { MenuOptionItemPropsProvider, useMenuOptionItemPropsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { MenuOptionItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuCheckboxItem = forwardRef((props, ref) => {\n const [partialOptionItemProps, localProps] = createSplitProps()(props, [\n \"checked\",\n \"closeOnSelect\",\n \"disabled\",\n \"onCheckedChange\",\n \"value\",\n \"valueText\"\n ]);\n const optionItemProps = {\n ...partialOptionItemProps,\n type: \"checkbox\"\n };\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getOptionItemProps(optionItemProps), localProps);\n const optionItemState = menu.getOptionItemState(optionItemProps);\n return /* @__PURE__ */ jsx(MenuOptionItemPropsProvider, { value: optionItemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: optionItemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuCheckboxItem.displayName = \"MenuCheckboxItem\";\n\nexport { MenuCheckboxItem };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuContent = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(menu.getContentProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nMenuContent.displayName = \"MenuContent\";\n\nexport { MenuContent };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuContextTrigger = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getContextTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nMenuContextTrigger.displayName = \"MenuContextTrigger\";\n\nexport { MenuContextTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getIndicatorProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuIndicator.displayName = \"MenuIndicator\";\n\nexport { MenuIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useEffect } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\n\nconst MenuItem = forwardRef((props, ref) => {\n const [itemProps, localProps] = createSplitProps()(props, [\n \"closeOnSelect\",\n \"disabled\",\n \"value\",\n \"valueText\",\n \"onSelect\"\n ]);\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getItemProps(itemProps), localProps);\n const itemState = menu.getItemState(itemProps);\n useEffect(() => {\n return menu.addItemListener({ id: itemState.id, onSelect: itemProps.onSelect });\n }, [itemState.id, itemProps.onSelect]);\n return /* @__PURE__ */ jsx(MenuItemProvider, { value: itemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuItem.displayName = \"MenuItem\";\n\nexport { MenuItem };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemGroupProvider, useMenuItemGroupContext] = createContext({\n name: \"MenuItemGroupContext\",\n hookName: \"useMenuItemGroupContext\",\n providerName: \"<MenuItemGroupProvider />\"\n});\n\nexport { MenuItemGroupProvider, useMenuItemGroupContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemGroupProvider } from './use-menu-item-group-context.js';\n\nconst MenuItemGroup = forwardRef((props, ref) => {\n const [optionalItemGroupProps, localProps] = createSplitProps()(props, [\"id\"]);\n const menu = useMenuContext();\n const id = useId();\n const itemGroupProps = { id, ...optionalItemGroupProps };\n const mergedProps = mergeProps(menu.getItemGroupProps(itemGroupProps), localProps);\n return /* @__PURE__ */ jsx(MenuItemGroupProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuItemGroup.displayName = \"MenuItemGroup\";\n\nexport { MenuItemGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuItemGroupContext } from './use-menu-item-group-context.js';\n\nconst MenuItemGroupLabel = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemGroup = useMenuItemGroupContext();\n const mergedProps = mergeProps(menu.getItemGroupLabelProps({ htmlFor: itemGroup.id }), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemGroupLabel.displayName = \"MenuItemGroupLabel\";\n\nexport { MenuItemGroupLabel };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuOptionItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const optionItemProps = useMenuOptionItemPropsContext();\n const mergedProps = mergeProps(menu.getItemIndicatorProps(optionItemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemIndicator.displayName = \"MenuItemIndicator\";\n\nexport { MenuItemIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuOptionItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemText = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const optionItemProps = useMenuOptionItemPropsContext();\n const mergedProps = mergeProps(menu.getItemTextProps(optionItemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemText.displayName = \"MenuItemText\";\n\nexport { MenuItemText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuPositioner = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getPositionerProps(), props);\n const presence = usePresenceContext();\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuPositioner.displayName = \"MenuPositioner\";\n\nexport { MenuPositioner };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { useMenuItemGroupContext } from './use-menu-item-group-context.js';\nimport { MenuOptionItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuRadioItem = forwardRef((props, ref) => {\n const [partialItemProps, localProps] = createSplitProps()(props, [\n \"closeOnSelect\",\n \"disabled\",\n \"value\",\n \"valueText\"\n ]);\n const menu = useMenuContext();\n const itemGroup = useMenuItemGroupContext();\n const optionItemProps = {\n ...partialItemProps,\n checked: itemGroup.value === partialItemProps.value,\n type: \"radio\",\n onCheckedChange: () => itemGroup.onValueChange?.({ value: partialItemProps.value })\n };\n const mergedProps = mergeProps(menu.getOptionItemProps(optionItemProps), localProps);\n const optionItemState = menu.getOptionItemState(optionItemProps);\n return /* @__PURE__ */ jsx(MenuOptionItemPropsProvider, { value: optionItemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: optionItemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuRadioItem.displayName = \"MenuRadioItem\";\n\nexport { MenuRadioItem };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemGroupProvider } from './use-menu-item-group-context.js';\n\nconst MenuRadioItemGroup = forwardRef((props, ref) => {\n const [optionalItemGroupProps, localProps] = createSplitProps()(props, [\n \"id\",\n \"onValueChange\",\n \"value\"\n ]);\n const menu = useMenuContext();\n const id = useId();\n const itemGroupProps = { id, ...optionalItemGroupProps };\n const mergedProps = mergeProps(menu.getItemGroupProps({ id: itemGroupProps.id }), localProps);\n return /* @__PURE__ */ jsx(MenuItemGroupProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuRadioItemGroup.displayName = \"MenuRadioItemGroup\";\n\nexport { MenuRadioItemGroup };\n","'use client';\nimport { useRef, useEffect } from 'react';\n\nconst useEffectOnce = (cb) => {\n const savedCallback = useRef(cb);\n const effectGuard = useRef(false);\n useEffect(() => {\n savedCallback.current = cb;\n });\n useEffect(() => {\n if (effectGuard.current !== true) {\n effectGuard.current = true;\n savedCallback.current();\n }\n }, []);\n};\n\nexport { useEffectOnce };\n","import { raf, getDocument, getWindow, isShadowRoot, addDomEvent, isTouchDevice, getEventTarget, isFocusable, isContextMenuEvent, isHTMLElement, contains, getNearestOverflowAncestor } from '@zag-js/dom-query';\nimport { callAll } from '@zag-js/utils';\n\n// src/index.ts\n\n// src/frame-utils.ts\nfunction getWindowFrames(win) {\n const frames = {\n each(cb) {\n for (let i = 0; i < win.frames?.length; i += 1) {\n const frame = win.frames[i];\n if (frame) cb(frame);\n }\n },\n addEventListener(event, listener, options) {\n frames.each((frame) => {\n try {\n frame.document.addEventListener(event, listener, options);\n } catch {\n }\n });\n return () => {\n try {\n frames.removeEventListener(event, listener, options);\n } catch {\n }\n };\n },\n removeEventListener(event, listener, options) {\n frames.each((frame) => {\n try {\n frame.document.removeEventListener(event, listener, options);\n } catch {\n }\n });\n }\n };\n return frames;\n}\nfunction getParentWindow(win) {\n const parent = win.frameElement != null ? win.parent : null;\n return {\n addEventListener: (event, listener, options) => {\n try {\n parent?.addEventListener(event, listener, options);\n } catch {\n }\n return () => {\n try {\n parent?.removeEventListener(event, listener, options);\n } catch {\n }\n };\n },\n removeEventListener: (event, listener, options) => {\n try {\n parent?.removeEventListener(event, listener, options);\n } catch {\n }\n }\n };\n}\n\n// src/index.ts\nvar POINTER_OUTSIDE_EVENT = \"pointerdown.outside\";\nvar FOCUS_OUTSIDE_EVENT = \"focus.outside\";\nfunction isComposedPathFocusable(composedPath) {\n for (const node of composedPath) {\n if (isHTMLElement(node) && isFocusable(node)) return true;\n }\n return false;\n}\nvar isPointerEvent = (event) => \"clientY\" in event;\nfunction isEventPointWithin(node, event) {\n if (!isPointerEvent(event) || !node) return false;\n const rect = node.getBoundingClientRect();\n if (rect.width === 0 || rect.height === 0) return false;\n return rect.top <= event.clientY && event.clientY <= rect.top + rect.height && rect.left <= event.clientX && event.clientX <= rect.left + rect.width;\n}\nfunction isPointInRect(rect, point) {\n return rect.y <= point.y && point.y <= rect.y + rect.height && rect.x <= point.x && point.x <= rect.x + rect.width;\n}\nfunction isEventWithinScrollbar(event, ancestor) {\n if (!ancestor || !isPointerEvent(event)) return false;\n const isScrollableY = ancestor.scrollHeight > ancestor.clientHeight;\n const onScrollbarY = isScrollableY && event.clientX > ancestor.offsetLeft + ancestor.clientWidth;\n const isScrollableX = ancestor.scrollWidth > ancestor.clientWidth;\n const onScrollbarX = isScrollableX && event.clientY > ancestor.offsetTop + ancestor.clientHeight;\n const rect = {\n x: ancestor.offsetLeft,\n y: ancestor.offsetTop,\n width: ancestor.clientWidth + (isScrollableY ? 16 : 0),\n height: ancestor.clientHeight + (isScrollableX ? 16 : 0)\n };\n const point = {\n x: event.clientX,\n y: event.clientY\n };\n if (!isPointInRect(rect, point)) return false;\n return onScrollbarY || onScrollbarX;\n}\nfunction trackInteractOutsideImpl(node, options) {\n const { exclude, onFocusOutside, onPointerDownOutside, onInteractOutside, defer } = options;\n if (!node) return;\n const doc = getDocument(node);\n const win = getWindow(node);\n const frames = getWindowFrames(win);\n const parentWin = getParentWindow(win);\n function isEventOutside(event, target) {\n if (!isHTMLElement(target)) return false;\n if (!target.isConnected) return false;\n if (contains(node, target)) return false;\n if (isEventPointWithin(node, event)) return false;\n const triggerEl = doc.querySelector(`[aria-controls=\"${node.id}\"]`);\n if (triggerEl) {\n const triggerAncestor = getNearestOverflowAncestor(triggerEl);\n if (isEventWithinScrollbar(event, triggerAncestor)) return false;\n }\n const nodeAncestor = getNearestOverflowAncestor(node);\n if (isEventWithinScrollbar(event, nodeAncestor)) return false;\n return !exclude?.(target);\n }\n const pointerdownCleanups = /* @__PURE__ */ new Set();\n const isInShadowRoot = isShadowRoot(node?.getRootNode());\n function onPointerDown(event) {\n function handler(clickEvent) {\n const func = defer && !isTouchDevice() ? raf : (v) => v();\n const evt = clickEvent ?? event;\n const composedPath = evt?.composedPath?.() ?? [evt?.target];\n func(() => {\n const target = isInShadowRoot ? composedPath[0] : getEventTarget(event);\n if (!node || !isEventOutside(event, target)) return;\n if (onPointerDownOutside || onInteractOutside) {\n const handler2 = callAll(onPointerDownOutside, onInteractOutside);\n node.addEventListener(POINTER_OUTSIDE_EVENT, handler2, { once: true });\n }\n fireCustomEvent(node, POINTER_OUTSIDE_EVENT, {\n bubbles: false,\n cancelable: true,\n detail: {\n originalEvent: evt,\n contextmenu: isContextMenuEvent(evt),\n focusable: isComposedPathFocusable(composedPath),\n target\n }\n });\n });\n }\n if (event.pointerType === \"touch\") {\n pointerdownCleanups.forEach((fn) => fn());\n pointerdownCleanups.add(addDomEvent(doc, \"click\", handler, { once: true }));\n pointerdownCleanups.add(parentWin.addEventListener(\"click\", handler, { once: true }));\n pointerdownCleanups.add(frames.addEventListener(\"click\", handler, { once: true }));\n } else {\n handler();\n }\n }\n const cleanups = /* @__PURE__ */ new Set();\n const timer = setTimeout(() => {\n cleanups.add(addDomEvent(doc, \"pointerdown\", onPointerDown, true));\n cleanups.add(parentWin.addEventListener(\"pointerdown\", onPointerDown, true));\n cleanups.add(frames.addEventListener(\"pointerdown\", onPointerDown, true));\n }, 0);\n function onFocusin(event) {\n const func = defer ? raf : (v) => v();\n func(() => {\n const target = getEventTarget(event);\n if (!node || !isEventOutside(event, target)) return;\n if (onFocusOutside || onInteractOutside) {\n const handler = callAll(onFocusOutside, onInteractOutside);\n node.addEventListener(FOCUS_OUTSIDE_EVENT, handler, { once: true });\n }\n fireCustomEvent(node, FOCUS_OUTSIDE_EVENT, {\n bubbles: false,\n cancelable: true,\n detail: {\n originalEvent: event,\n contextmenu: false,\n focusable: isFocusable(target),\n target\n }\n });\n });\n }\n if (!isTouchDevice()) {\n cleanups.add(addDomEvent(doc, \"focusin\", onFocusin, true));\n cleanups.add(parentWin.addEventListener(\"focusin\", onFocusin, true));\n cleanups.add(frames.addEventListener(\"focusin\", onFocusin, true));\n }\n return () => {\n clearTimeout(timer);\n pointerdownCleanups.forEach((fn) => fn());\n cleanups.forEach((fn) => fn());\n };\n}\nfunction trackInteractOutside(nodeOrFn, options) {\n const { defer } = options;\n const func = defer ? raf : (v) => v();\n const cleanups = [];\n cleanups.push(\n func(() => {\n const node = typeof nodeOrFn === \"function\" ? nodeOrFn() : nodeOrFn;\n cleanups.push(trackInteractOutsideImpl(node, options));\n })\n );\n return () => {\n cleanups.forEach((fn) => fn?.());\n };\n}\nfunction fireCustomEvent(el, type, init) {\n const win = el.ownerDocument.defaultView || window;\n const event = new win.CustomEvent(type, init);\n return el.dispatchEvent(event);\n}\n\nexport { trackInteractOutside };\n","import { raf, contains, getDocument, waitForElements, setStyle, addDomEvent, getEventTarget, isHTMLElement } from '@zag-js/dom-query';\nimport { trackInteractOutside } from '@zag-js/interact-outside';\nimport { isFunction, warn } from '@zag-js/utils';\n\n// src/dismissable-layer.ts\nfunction trackEscapeKeydown(node, fn) {\n const handleKeyDown = (event) => {\n if (event.key !== \"Escape\") return;\n if (event.isComposing) return;\n fn?.(event);\n };\n return addDomEvent(getDocument(node), \"keydown\", handleKeyDown, { capture: true });\n}\nvar layerStack = {\n layers: [],\n branches: [],\n count() {\n return this.layers.length;\n },\n pointerBlockingLayers() {\n return this.layers.filter((layer) => layer.pointerBlocking);\n },\n topMostPointerBlockingLayer() {\n return [...this.pointerBlockingLayers()].slice(-1)[0];\n },\n hasPointerBlockingLayer() {\n return this.pointerBlockingLayers().length > 0;\n },\n isBelowPointerBlockingLayer(node) {\n const index = this.indexOf(node);\n const highestBlockingIndex = this.topMostPointerBlockingLayer() ? this.indexOf(this.topMostPointerBlockingLayer()?.node) : -1;\n return index < highestBlockingIndex;\n },\n isTopMost(node) {\n const layer = this.layers[this.count() - 1];\n return layer?.node === node;\n },\n getNestedLayers(node) {\n return Array.from(this.layers).slice(this.indexOf(node) + 1);\n },\n isInNestedLayer(node, target) {\n return this.getNestedLayers(node).some((layer) => contains(layer.node, target));\n },\n isInBranch(target) {\n return Array.from(this.branches).some((branch) => contains(branch, target));\n },\n add(layer) {\n const num = this.layers.push(layer);\n layer.node.style.setProperty(\"--layer-index\", `${num}`);\n },\n addBranch(node) {\n this.branches.push(node);\n },\n remove(node) {\n const index = this.indexOf(node);\n if (index < 0) return;\n if (index < this.count() - 1) {\n const _layers = this.getNestedLayers(node);\n _layers.forEach((layer) => layer.dismiss());\n }\n this.layers.splice(index, 1);\n node.style.removeProperty(\"--layer-index\");\n },\n removeBranch(node) {\n const index = this.branches.indexOf(node);\n if (index >= 0) this.branches.splice(index, 1);\n },\n indexOf(node) {\n return this.layers.findIndex((layer) => layer.node === node);\n },\n dismiss(node) {\n this.layers[this.indexOf(node)]?.dismiss();\n },\n clear() {\n this.remove(this.layers[0].node);\n }\n};\nvar originalBodyPointerEvents;\nfunction assignPointerEventToLayers() {\n layerStack.layers.forEach(({ node }) => {\n node.style.pointerEvents = layerStack.isBelowPointerBlockingLayer(node) ? \"none\" : \"auto\";\n });\n}\nfunction clearPointerEvent(node) {\n node.style.pointerEvents = \"\";\n}\nfunction disablePointerEventsOutside(node, persistentElements) {\n const doc = getDocument(node);\n const cleanups = [];\n if (layerStack.hasPointerBlockingLayer() && !doc.body.hasAttribute(\"data-inert\")) {\n originalBodyPointerEvents = document.body.style.pointerEvents;\n queueMicrotask(() => {\n doc.body.style.pointerEvents = \"none\";\n doc.body.setAttribute(\"data-inert\", \"\");\n });\n }\n if (persistentElements) {\n const persistedCleanup = waitForElements(persistentElements, (el) => {\n cleanups.push(setStyle(el, { pointerEvents: \"auto\" }));\n });\n cleanups.push(persistedCleanup);\n }\n return () => {\n if (layerStack.hasPointerBlockingLayer()) return;\n queueMicrotask(() => {\n doc.body.style.pointerEvents = originalBodyPointerEvents;\n doc.body.removeAttribute(\"data-inert\");\n if (doc.body.style.length === 0) doc.body.removeAttribute(\"style\");\n });\n cleanups.forEach((fn) => fn());\n };\n}\n\n// src/dismissable-layer.ts\nfunction trackDismissableElementImpl(node, options) {\n const { warnOnMissingNode = true } = options;\n if (warnOnMissingNode && !node) {\n warn(\"[@zag-js/dismissable] node is `null` or `undefined`\");\n return;\n }\n if (!node) {\n return;\n }\n const { onDismiss, pointerBlocking, exclude: excludeContainers, debug } = options;\n const layer = { dismiss: onDismiss, node, pointerBlocking };\n layerStack.add(layer);\n assignPointerEventToLayers();\n function onPointerDownOutside(event) {\n const target = getEventTarget(event.detail.originalEvent);\n if (layerStack.isBelowPointerBlockingLayer(node) || layerStack.isInBranch(target)) return;\n options.onPointerDownOutside?.(event);\n options.onInteractOutside?.(event);\n if (event.defaultPrevented) return;\n if (debug) {\n console.log(\"onPointerDownOutside:\", event.detail.originalEvent);\n }\n onDismiss?.();\n }\n function onFocusOutside(event) {\n const target = getEventTarget(event.detail.originalEvent);\n if (layerStack.isInBranch(target)) return;\n options.onFocusOutside?.(event);\n options.onInteractOutside?.(event);\n if (event.defaultPrevented) return;\n if (debug) {\n console.log(\"onFocusOutside:\", event.detail.originalEvent);\n }\n onDismiss?.();\n }\n function onEscapeKeyDown(event) {\n if (!layerStack.isTopMost(node)) return;\n options.onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }\n function exclude(target) {\n if (!node) return false;\n const containers = typeof excludeContainers === \"function\" ? excludeContainers() : excludeContainers;\n const _containers = Array.isArray(containers) ? containers : [containers];\n const persistentElements = options.persistentElements?.map((fn) => fn()).filter(isHTMLElement);\n if (persistentElements) _containers.push(...persistentElements);\n return _containers.some((node2) => contains(node2, target)) || layerStack.isInNestedLayer(node, target);\n }\n const cleanups = [\n pointerBlocking ? disablePointerEventsOutside(node, options.persistentElements) : void 0,\n trackEscapeKeydown(node, onEscapeKeyDown),\n trackInteractOutside(node, { exclude, onFocusOutside, onPointerDownOutside, defer: options.defer })\n ];\n return () => {\n layerStack.remove(node);\n assignPointerEventToLayers();\n clearPointerEvent(node);\n cleanups.forEach((fn) => fn?.());\n };\n}\nfunction trackDismissableElement(nodeOrFn, options) {\n const { defer } = options;\n const func = defer ? raf : (v) => v();\n const cleanups = [];\n cleanups.push(\n func(() => {\n const node = isFunction(nodeOrFn) ? nodeOrFn() : nodeOrFn;\n cleanups.push(trackDismissableElementImpl(node, options));\n })\n );\n return () => {\n cleanups.forEach((fn) => fn?.());\n };\n}\nfunction trackDismissableBranch(nodeOrFn, options = {}) {\n const { defer } = options;\n const func = defer ? raf : (v) => v();\n const cleanups = [];\n cleanups.push(\n func(() => {\n const node = isFunction(nodeOrFn) ? nodeOrFn() : nodeOrFn;\n if (!node) {\n warn(\"[@zag-js/dismissable] branch node is `null` or `undefined`\");\n return;\n }\n layerStack.addBranch(node);\n cleanups.push(() => {\n layerStack.removeBranch(node);\n });\n })\n );\n return () => {\n cleanups.forEach((fn) => fn?.());\n };\n}\n\nexport { trackDismissableBranch, trackDismissableElement };\n","var __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);\n\n// src/affine-transform.ts\nvar AffineTransform = class _AffineTransform {\n constructor([m00, m01, m02, m10, m11, m12] = [0, 0, 0, 0, 0, 0]) {\n __publicField(this, \"m00\");\n __publicField(this, \"m01\");\n __publicField(this, \"m02\");\n __publicField(this, \"m10\");\n __publicField(this, \"m11\");\n __publicField(this, \"m12\");\n __publicField(this, \"rotate\", (...args) => {\n return this.prepend(_AffineTransform.rotate(...args));\n });\n __publicField(this, \"scale\", (...args) => {\n return this.prepend(_AffineTransform.scale(...args));\n });\n __publicField(this, \"translate\", (...args) => {\n return this.prepend(_AffineTransform.translate(...args));\n });\n this.m00 = m00;\n this.m01 = m01;\n this.m02 = m02;\n this.m10 = m10;\n this.m11 = m11;\n this.m12 = m12;\n }\n applyTo(point) {\n const { x, y } = point;\n const { m00, m01, m02, m10, m11, m12 } = this;\n return {\n x: m00 * x + m01 * y + m02,\n y: m10 * x + m11 * y + m12\n };\n }\n prepend(other) {\n return new _AffineTransform([\n this.m00 * other.m00 + this.m01 * other.m10,\n // m00\n this.m00 * other.m01 + this.m01 * other.m11,\n // m01\n this.m00 * other.m02 + this.m01 * other.m12 + this.m02,\n // m02\n this.m10 * other.m00 + this.m11 * other.m10,\n // m10\n this.m10 * other.m01 + this.m11 * other.m11,\n // m11\n this.m10 * other.m02 + this.m11 * other.m12 + this.m12\n // m12\n ]);\n }\n append(other) {\n return new _AffineTransform([\n other.m00 * this.m00 + other.m01 * this.m10,\n // m00\n other.m00 * this.m01 + other.m01 * this.m11,\n // m01\n other.m00 * this.m02 + other.m01 * this.m12 + other.m02,\n // m02\n other.m10 * this.m00 + other.m11 * this.m10,\n // m10\n other.m10 * this.m01 + other.m11 * this.m11,\n // m11\n other.m10 * this.m02 + other.m11 * this.m12 + other.m12\n // m12\n ]);\n }\n get determinant() {\n return this.m00 * this.m11 - this.m01 * this.m10;\n }\n get isInvertible() {\n const det = this.determinant;\n return isFinite(det) && isFinite(this.m02) && isFinite(this.m12) && det !== 0;\n }\n invert() {\n const det = this.determinant;\n return new _AffineTransform([\n this.m11 / det,\n // m00\n -this.m01 / det,\n // m01\n (this.m01 * this.m12 - this.m11 * this.m02) / det,\n // m02\n -this.m10 / det,\n // m10\n this.m00 / det,\n // m11\n (this.m10 * this.m02 - this.m00 * this.m12) / det\n // m12\n ]);\n }\n get array() {\n return [this.m00, this.m01, this.m02, this.m10, this.m11, this.m12, 0, 0, 1];\n }\n get float32Array() {\n return new Float32Array(this.array);\n }\n // Static\n static get identity() {\n return new _AffineTransform([1, 0, 0, 0, 1, 0]);\n }\n static rotate(theta, origin) {\n const rotation = new _AffineTransform([Math.cos(theta), -Math.sin(theta), 0, Math.sin(theta), Math.cos(theta), 0]);\n if (origin && (origin.x !== 0 || origin.y !== 0)) {\n return _AffineTransform.multiply(\n _AffineTransform.translate(origin.x, origin.y),\n rotation,\n _AffineTransform.translate(-origin.x, -origin.y)\n );\n }\n return rotation;\n }\n static scale(sx, sy = sx, origin = { x: 0, y: 0 }) {\n const scale = new _AffineTransform([sx, 0, 0, 0, sy, 0]);\n if (origin.x !== 0 || origin.y !== 0) {\n return _AffineTransform.multiply(\n _AffineTransform.translate(origin.x, origin.y),\n scale,\n _AffineTransform.translate(-origin.x, -origin.y)\n );\n }\n return scale;\n }\n static translate(tx, ty) {\n return new _AffineTransform([1, 0, tx, 0, 1, ty]);\n }\n static multiply(...[first, ...rest]) {\n if (!first) return _AffineTransform.identity;\n return rest.reduce((result, item) => result.prepend(item), first);\n }\n get a() {\n return this.m00;\n }\n get b() {\n return this.m10;\n }\n get c() {\n return this.m01;\n }\n get d() {\n return this.m11;\n }\n get tx() {\n return this.m02;\n }\n get ty() {\n return this.m12;\n }\n get scaleComponents() {\n return { x: this.a, y: this.d };\n }\n get translationComponents() {\n return { x: this.tx, y: this.ty };\n }\n get skewComponents() {\n return { x: this.c, y: this.b };\n }\n toString() {\n return `matrix(${this.a}, ${this.b}, ${this.c}, ${this.d}, ${this.tx}, ${this.ty})`;\n }\n};\n\n// src/align.ts\nfunction hAlign(a, ref, h) {\n let x = ref.minX;\n if (h === \"left-inside\") x = ref.minX;\n if (h === \"left-outside\") x = ref.minX - ref.width;\n if (h === \"right-inside\") x = ref.maxX - ref.width;\n if (h === \"right-outside\") x = ref.maxX;\n if (h === \"center\") x = ref.midX - ref.width / 2;\n return { ...a, x };\n}\nfunction vAlign(a, ref, v) {\n let y = ref.minY;\n if (v === \"top-inside\") y = ref.minY;\n if (v === \"top-outside\") y = ref.minY - a.height;\n if (v === \"bottom-inside\") y = ref.maxY - a.height;\n if (v === \"bottom-outside\") y = ref.maxY;\n if (v === \"center\") y = ref.midY - a.height / 2;\n return { ...a, y };\n}\nfunction alignRect(a, ref, options) {\n const { h, v } = options;\n return vAlign(hAlign(a, ref, h), ref, v);\n}\n\n// src/angle.ts\nfunction getPointAngle(rect, point, reference = rect.center) {\n const x = point.x - reference.x;\n const y = point.y - reference.y;\n const deg = Math.atan2(x, y) * (180 / Math.PI) + 180;\n return 360 - deg;\n}\n\n// src/clamp.ts\nvar clamp = (value, min3, max2) => Math.min(Math.max(value, min3), max2);\nvar clampPoint = (position, size, boundaryRect) => {\n const x = clamp(position.x, boundaryRect.x, boundaryRect.x + boundaryRect.width - size.width);\n const y = clamp(position.y, boundaryRect.y, boundaryRect.y + boundaryRect.height - size.height);\n return { x, y };\n};\nvar defaultMinSize = {\n width: 0,\n height: 0\n};\nvar defaultMaxSize = {\n width: Infinity,\n height: Infinity\n};\nvar clampSize = (size, minSize = defaultMinSize, maxSize = defaultMaxSize) => {\n return {\n width: Math.min(Math.max(size.width, minSize.width), maxSize.width),\n height: Math.min(Math.max(size.height, minSize.height), maxSize.height)\n };\n};\n\n// src/rect.ts\nvar createPoint = (x, y) => ({ x, y });\nvar subtractPoints = (a, b) => {\n if (!b) return a;\n return createPoint(a.x - b.x, a.y - b.y);\n};\nvar addPoints = (a, b) => createPoint(a.x + b.x, a.y + b.y);\nfunction isPoint(v) {\n return Reflect.has(v, \"x\") && Reflect.has(v, \"y\");\n}\nfunction createRect(r) {\n const { x, y, width, height } = r;\n const midX = x + width / 2;\n const midY = y + height / 2;\n return {\n x,\n y,\n width,\n height,\n minX: x,\n minY: y,\n maxX: x + width,\n maxY: y + height,\n midX,\n midY,\n center: createPoint(midX, midY)\n };\n}\nfunction isRect(v) {\n return Reflect.has(v, \"x\") && Reflect.has(v, \"y\") && Reflect.has(v, \"width\") && Reflect.has(v, \"height\");\n}\nfunction getRectCenters(v) {\n const top = createPoint(v.midX, v.minY);\n const right = createPoint(v.maxX, v.midY);\n const bottom = createPoint(v.midX, v.maxY);\n const left = createPoint(v.minX, v.midY);\n return { top, right, bottom, left };\n}\nfunction getRectCorners(v) {\n const top = createPoint(v.minX, v.minY);\n const right = createPoint(v.maxX, v.minY);\n const bottom = createPoint(v.maxX, v.maxY);\n const left = createPoint(v.minX, v.maxY);\n return { top, right, bottom, left };\n}\nfunction getRectEdges(v) {\n const c = getRectCorners(v);\n const top = [c.top, c.right];\n const right = [c.right, c.bottom];\n const bottom = [c.left, c.bottom];\n const left = [c.top, c.left];\n return { top, right, bottom, left };\n}\n\n// src/intersection.ts\nfunction intersects(a, b) {\n return a.x < b.maxX && a.y < b.maxY && a.maxX > b.x && a.maxY > b.y;\n}\nfunction intersection(a, b) {\n const x = Math.max(a.x, b.x);\n const y = Math.max(a.y, b.y);\n const x2 = Math.min(a.x + a.width, b.x + b.width);\n const y2 = Math.min(a.y + a.height, b.y + b.height);\n return createRect({ x, y, width: x2 - x, height: y2 - y });\n}\nfunction collisions(a, b) {\n return {\n top: a.minY <= b.minY,\n right: a.maxX >= b.maxX,\n bottom: a.maxY >= b.maxY,\n left: a.minX <= b.minX\n };\n}\n\n// src/distance.ts\nfunction distance(a, b = { x: 0, y: 0 }) {\n return Math.sqrt(Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2));\n}\nfunction distanceFromPoint(r, p) {\n let x = 0;\n let y = 0;\n if (p.x < r.x) x = r.x - p.x;\n else if (p.x > r.maxX) x = p.x - r.maxX;\n if (p.y < r.y) y = r.y - p.y;\n else if (p.y > r.maxY) y = p.y - r.maxY;\n return { x, y, value: distance({ x, y }) };\n}\nfunction distanceFromRect(a, b) {\n if (intersects(a, b)) return { x: 0, y: 0, value: 0 };\n const left = a.x < b.x ? a : b;\n const right = b.x < a.x ? a : b;\n const upper = a.y < b.y ? a : b;\n const lower = b.y < a.y ? a : b;\n let x = left.x === right.x ? 0 : right.x - left.maxX;\n x = Math.max(0, x);\n let y = upper.y === lower.y ? 0 : lower.y - upper.maxY;\n y = Math.max(0, y);\n return { x, y, value: distance({ x, y }) };\n}\nfunction distanceBtwEdges(a, b) {\n return {\n left: b.x - a.x,\n top: b.y - a.y,\n right: a.maxX - b.maxX,\n bottom: a.maxY - b.maxY\n };\n}\n\n// src/closest.ts\nfunction closest(...pts) {\n return (a) => {\n const ds = pts.map((b) => distance(b, a));\n const c = Math.min.apply(Math, ds);\n return pts[ds.indexOf(c)];\n };\n}\nfunction closestSideToRect(ref, r) {\n if (r.maxX <= ref.minX) return \"left\";\n if (r.minX >= ref.maxX) return \"right\";\n if (r.maxY <= ref.minY) return \"top\";\n if (r.minY >= ref.maxY) return \"bottom\";\n return \"left\";\n}\nfunction closestSideToPoint(ref, p) {\n const { x, y } = p;\n const dl = x - ref.minX;\n const dr = ref.maxX - x;\n const dt = y - ref.minY;\n const db = ref.maxY - y;\n let closest2 = dl;\n let side = \"left\";\n if (dr < closest2) {\n closest2 = dr;\n side = \"right\";\n }\n if (dt < closest2) {\n closest2 = dt;\n side = \"top\";\n }\n if (db < closest2) {\n side = \"bottom\";\n }\n return side;\n}\n\n// src/constrain.ts\nvar constrainRect = (rect, boundary) => {\n const left = Math.max(boundary.x, Math.min(rect.x, boundary.x + boundary.width - rect.width));\n const top = Math.max(boundary.y, Math.min(rect.y, boundary.y + boundary.height - rect.height));\n return {\n x: left,\n y: top,\n width: Math.min(rect.width, boundary.width),\n height: Math.min(rect.height, boundary.height)\n };\n};\n\n// src/contains.ts\nfunction containsPoint(r, p) {\n return r.minX <= p.x && p.x <= r.maxX && r.minY <= p.y && p.y <= r.maxY;\n}\nfunction containsRect(a, b) {\n return Object.values(getRectCorners(b)).every((c) => containsPoint(a, c));\n}\nfunction contains(r, v) {\n return isRect(v) ? containsRect(r, v) : containsPoint(r, v);\n}\n\n// src/equality.ts\nvar isSizeEqual = (a, b) => {\n return a.width === b?.width && a.height === b?.height;\n};\nvar isPointEqual = (a, b) => {\n return a.x === b?.x && a.y === b?.y;\n};\nvar isRectEqual = (a, b) => {\n return isPointEqual(a, b) && isSizeEqual(a, b);\n};\n\n// src/from-element.ts\nvar styleCache = /* @__PURE__ */ new WeakMap();\nfunction getCacheComputedStyle(el) {\n if (!styleCache.has(el)) {\n const win = el.ownerDocument.defaultView || window;\n styleCache.set(el, win.getComputedStyle(el));\n }\n return styleCache.get(el);\n}\nfunction getElementRect(el, opts = {}) {\n return createRect(getClientRect(el, opts));\n}\nfunction getClientRect(el, opts = {}) {\n const { excludeScrollbar = false, excludeBorders = false } = opts;\n const { x, y, width, height } = el.getBoundingClientRect();\n const r = { x, y, width, height };\n const style = getCacheComputedStyle(el);\n const { borderLeftWidth, borderTopWidth, borderRightWidth, borderBottomWidth } = style;\n const borderXWidth = sum(borderLeftWidth, borderRightWidth);\n const borderYWidth = sum(borderTopWidth, borderBottomWidth);\n if (excludeBorders) {\n r.width -= borderXWidth;\n r.height -= borderYWidth;\n r.x += px(borderLeftWidth);\n r.y += px(borderTopWidth);\n }\n if (excludeScrollbar) {\n const scrollbarWidth = el.offsetWidth - el.clientWidth - borderXWidth;\n const scrollbarHeight = el.offsetHeight - el.clientHeight - borderYWidth;\n r.width -= scrollbarWidth;\n r.height -= scrollbarHeight;\n }\n return r;\n}\nvar px = (v) => parseFloat(v.replace(\"px\", \"\"));\nvar sum = (...vals) => vals.reduce((sum2, v) => sum2 + (v ? px(v) : 0), 0);\n\n// src/from-points.ts\nfunction getRectFromPoints(...pts) {\n const xs = pts.map((p) => p.x);\n const ys = pts.map((p) => p.y);\n const x = Math.min(...xs);\n const y = Math.min(...ys);\n const width = Math.max(...xs) - x;\n const height = Math.max(...ys) - y;\n return createRect({ x, y, width, height });\n}\n\n// src/union.ts\nvar { min, max } = Math;\nfunction union(...rs) {\n const pMin = {\n x: min(...rs.map((r) => r.minX)),\n y: min(...rs.map((r) => r.minY))\n };\n const pMax = {\n x: max(...rs.map((r) => r.maxX)),\n y: max(...rs.map((r) => r.maxY))\n };\n return getRectFromPoints(pMin, pMax);\n}\n\n// src/from-range.ts\nfunction fromRange(range) {\n let rs = [];\n const rects = Array.from(range.getClientRects());\n if (rects.length) {\n rs = rs.concat(rects.map(createRect));\n return union.apply(void 0, rs);\n }\n let start = range.startContainer;\n if (start.nodeType === Node.TEXT_NODE) {\n start = start.parentNode;\n }\n if (start instanceof HTMLElement) {\n const r = getElementRect(start);\n rs.push({ ...r, x: r.maxX, width: 0 });\n }\n return union.apply(void 0, rs);\n}\n\n// src/from-rotation.ts\nfunction toRad(d) {\n return d % 360 * Math.PI / 180;\n}\nfunction rotate(a, d, c) {\n const r = toRad(d);\n const sin = Math.sin(r);\n const cos = Math.cos(r);\n const x = a.x - c.x;\n const y = a.y - c.y;\n return {\n x: c.x + x * cos - y * sin,\n y: c.y + x * sin + y * cos\n };\n}\nfunction getRotationRect(r, deg) {\n const rr = Object.values(getRectCorners(r)).map((p) => rotate(p, deg, r.center));\n const xs = rr.map((p) => p.x);\n const ys = rr.map((p) => p.y);\n const minX = Math.min(...xs);\n const minY = Math.min(...ys);\n const maxX = Math.max(...xs);\n const maxY = Math.max(...ys);\n return createRect({\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n });\n}\n\n// src/from-window.ts\nfunction getWindowRect(win, opts = {}) {\n return createRect(getViewportRect(win, opts));\n}\nfunction getViewportRect(win, opts) {\n const { excludeScrollbar = false } = opts;\n const { innerWidth, innerHeight, document: doc, visualViewport } = win;\n const width = visualViewport?.width || innerWidth;\n const height = visualViewport?.height || innerHeight;\n const rect = { x: 0, y: 0, width, height };\n if (excludeScrollbar) {\n const scrollbarWidth = innerWidth - doc.documentElement.clientWidth;\n const scrollbarHeight = innerHeight - doc.documentElement.clientHeight;\n rect.width -= scrollbarWidth;\n rect.height -= scrollbarHeight;\n }\n return rect;\n}\n\n// src/operations.ts\nvar isSymmetric = (v) => \"dx\" in v || \"dy\" in v;\nfunction inset(r, i) {\n const v = isSymmetric(i) ? { left: i.dx, right: i.dx, top: i.dy, bottom: i.dy } : i;\n const { top = 0, right = 0, bottom = 0, left = 0 } = v;\n return createRect({\n x: r.x + left,\n y: r.y + top,\n width: r.width - left - right,\n height: r.height - top - bottom\n });\n}\nfunction expand(r, v) {\n const value = typeof v === \"number\" ? { dx: -v, dy: -v } : v;\n return inset(r, value);\n}\nfunction shrink(r, v) {\n const value = typeof v === \"number\" ? { dx: -v, dy: -v } : v;\n return inset(r, value);\n}\nfunction shift(r, o) {\n const { x = 0, y = 0 } = o;\n return createRect({\n x: r.x + x,\n y: r.y + y,\n width: r.width,\n height: r.height\n });\n}\n\n// src/polygon.ts\nfunction getElementPolygon(rectValue, placement) {\n const rect = createRect(rectValue);\n const { top, right, left, bottom } = getRectCorners(rect);\n const [base] = placement.split(\"-\");\n return {\n top: [left, top, right, bottom],\n right: [top, right, bottom, left],\n bottom: [top, left, bottom, right],\n left: [right, top, left, bottom]\n }[base];\n}\nfunction isPointInPolygon(polygon, point) {\n const { x, y } = point;\n let c = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y;\n if (yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi) {\n c = !c;\n }\n }\n return c;\n}\nfunction createPolygonElement() {\n const id = \"debug-polygon\";\n const existingPolygon = document.getElementById(id);\n if (existingPolygon) {\n return existingPolygon;\n }\n const svg = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n Object.assign(svg.style, {\n top: \"0\",\n left: \"0\",\n width: \"100%\",\n height: \"100%\",\n opacity: \"0.15\",\n position: \"fixed\",\n pointerEvents: \"none\",\n fill: \"red\"\n });\n const polygon = document.createElementNS(\"http://www.w3.org/2000/svg\", \"polygon\");\n polygon.setAttribute(\"id\", id);\n polygon.setAttribute(\"points\", \"0,0 0,0\");\n svg.appendChild(polygon);\n document.body.appendChild(svg);\n return polygon;\n}\nfunction debugPolygon(polygon) {\n const el = createPolygonElement();\n const points = polygon.map((point) => `${point.x},${point.y}`).join(\" \");\n el.setAttribute(\"points\", points);\n return () => {\n el.remove();\n };\n}\n\n// src/compass.ts\nvar compassDirectionMap = {\n n: { x: 0.5, y: 0 },\n ne: { x: 1, y: 0 },\n e: { x: 1, y: 0.5 },\n se: { x: 1, y: 1 },\n s: { x: 0.5, y: 1 },\n sw: { x: 0, y: 1 },\n w: { x: 0, y: 0.5 },\n nw: { x: 0, y: 0 }\n};\nvar oppositeDirectionMap = {\n n: \"s\",\n ne: \"sw\",\n e: \"w\",\n se: \"nw\",\n s: \"n\",\n sw: \"ne\",\n w: \"e\",\n nw: \"se\"\n};\n\n// src/resize.ts\nvar { sign, abs, min: min2 } = Math;\nfunction getRectExtentPoint(rect, direction) {\n const { minX, minY, maxX, maxY, midX, midY } = rect;\n const x = direction.includes(\"w\") ? minX : direction.includes(\"e\") ? maxX : midX;\n const y = direction.includes(\"n\") ? minY : direction.includes(\"s\") ? maxY : midY;\n return { x, y };\n}\nfunction getOppositeDirection(direction) {\n return oppositeDirectionMap[direction];\n}\nfunction resizeRect(rect, offset, direction, opts) {\n const { scalingOriginMode, lockAspectRatio } = opts;\n const extent = getRectExtentPoint(rect, direction);\n const oppositeDirection = getOppositeDirection(direction);\n const oppositeExtent = getRectExtentPoint(rect, oppositeDirection);\n if (scalingOriginMode === \"center\") {\n offset = { x: offset.x * 2, y: offset.y * 2 };\n }\n const newExtent = {\n x: extent.x + offset.x,\n y: extent.y + offset.y\n };\n const multiplier = {\n x: compassDirectionMap[direction].x * 2 - 1,\n y: compassDirectionMap[direction].y * 2 - 1\n };\n const newSize = {\n width: newExtent.x - oppositeExtent.x,\n height: newExtent.y - oppositeExtent.y\n };\n const scaleX = multiplier.x * newSize.width / rect.width;\n const scaleY = multiplier.y * newSize.height / rect.height;\n const largestMagnitude = abs(scaleX) > abs(scaleY) ? scaleX : scaleY;\n const scale = lockAspectRatio ? { x: largestMagnitude, y: largestMagnitude } : {\n x: extent.x === oppositeExtent.x ? 1 : scaleX,\n y: extent.y === oppositeExtent.y ? 1 : scaleY\n };\n if (extent.y === oppositeExtent.y) {\n scale.y = abs(scale.y);\n } else if (sign(scale.y) !== sign(scaleY)) {\n scale.y *= -1;\n }\n if (extent.x === oppositeExtent.x) {\n scale.x = abs(scale.x);\n } else if (sign(scale.x) !== sign(scaleX)) {\n scale.x *= -1;\n }\n switch (scalingOriginMode) {\n case \"extent\":\n return transformRect(rect, AffineTransform.scale(scale.x, scale.y, oppositeExtent), false);\n case \"center\":\n return transformRect(\n rect,\n AffineTransform.scale(scale.x, scale.y, {\n x: rect.midX,\n y: rect.midY\n }),\n false\n );\n }\n}\nfunction createRectFromPoints(initialPoint, finalPoint, normalized = true) {\n if (normalized) {\n return {\n x: min2(finalPoint.x, initialPoint.x),\n y: min2(finalPoint.y, initialPoint.y),\n width: abs(finalPoint.x - initialPoint.x),\n height: abs(finalPoint.y - initialPoint.y)\n };\n }\n return {\n x: initialPoint.x,\n y: initialPoint.y,\n width: finalPoint.x - initialPoint.x,\n height: finalPoint.y - initialPoint.y\n };\n}\nfunction transformRect(rect, transform, normalized = true) {\n const p1 = transform.applyTo({ x: rect.minX, y: rect.minY });\n const p2 = transform.applyTo({ x: rect.maxX, y: rect.maxY });\n return createRectFromPoints(p1, p2, normalized);\n}\n\nexport { AffineTransform, addPoints, alignRect, clampPoint, clampSize, closest, closestSideToPoint, closestSideToRect, collisions, constrainRect, contains, containsPoint, containsRect, createPoint, createRect, debugPolygon, distance, distanceBtwEdges, distanceFromPoint, distanceFromRect, expand, fromRange, getElementPolygon, getElementRect, getPointAngle, getRectCenters, getRectCorners, getRectEdges, getRectFromPoints, getRotationRect, getViewportRect, getWindowRect, inset, intersection, intersects, isPoint, isPointEqual, isPointInPolygon, isRect, isRectEqual, isSizeEqual, isSymmetric, resizeRect, rotate, shift, shrink, subtractPoints, toRad, union };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { createGuards, createMachine, mergeProps } from '@zag-js/core';\nimport { isEditableElement, raf, getInitialFocus, contains, observeAttributes, addDomEvent, getEventTarget, getByTypeahead, clickIfLink, getWindow, scrollIntoView, queryAll, dataAttr, isDownloadingEvent, isOpeningInNewTab, isSelfTarget, isValidTabEvent, getEventKey, isPrintableKey, isModifierKey, isContextMenuEvent, getEventPoint, ariaAttr, isAnchorElement, isHTMLElement } from '@zag-js/dom-query';\nimport { getPlacementSide, getPlacement, getPlacementStyles } from '@zag-js/popper';\nimport { last, first, createSplitProps, prev, next } from '@zag-js/utils';\nimport { trackDismissableElement } from '@zag-js/dismissable';\nimport { getElementPolygon, isPointInPolygon } from '@zag-js/rect-utils';\nimport { createProps } from '@zag-js/types';\n\n// src/menu.anatomy.ts\nvar anatomy = createAnatomy(\"menu\").parts(\n \"arrow\",\n \"arrowTip\",\n \"content\",\n \"contextTrigger\",\n \"indicator\",\n \"item\",\n \"itemGroup\",\n \"itemGroupLabel\",\n \"itemIndicator\",\n \"itemText\",\n \"positioner\",\n \"separator\",\n \"trigger\",\n \"triggerItem\"\n);\nvar parts = anatomy.build();\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `menu:${ctx.id}:trigger`;\nvar getContextTriggerId = (ctx) => ctx.ids?.contextTrigger ?? `menu:${ctx.id}:ctx-trigger`;\nvar getContentId = (ctx) => ctx.ids?.content ?? `menu:${ctx.id}:content`;\nvar getArrowId = (ctx) => ctx.ids?.arrow ?? `menu:${ctx.id}:arrow`;\nvar getPositionerId = (ctx) => ctx.ids?.positioner ?? `menu:${ctx.id}:popper`;\nvar getGroupId = (ctx, id) => ctx.ids?.group?.(id) ?? `menu:${ctx.id}:group:${id}`;\nvar getItemId = (ctx, id) => `${ctx.id}/${id}`;\nvar getItemValue = (el) => el?.dataset.value ?? null;\nvar getGroupLabelId = (ctx, id) => ctx.ids?.groupLabel?.(id) ?? `menu:${ctx.id}:group-label:${id}`;\nvar getContentEl = (ctx) => ctx.getById(getContentId(ctx));\nvar getPositionerEl = (ctx) => ctx.getById(getPositionerId(ctx));\nvar getTriggerEl = (ctx) => ctx.getById(getTriggerId(ctx));\nvar getItemEl = (ctx, value) => value ? ctx.getById(getItemId(ctx, value)) : null;\nvar getContextTriggerEl = (ctx) => ctx.getById(getContextTriggerId(ctx));\nvar getElements = (ctx) => {\n const ownerId = CSS.escape(getContentId(ctx));\n const selector = `[role^=\"menuitem\"][data-ownedby=${ownerId}]:not([data-disabled])`;\n return queryAll(getContentEl(ctx), selector);\n};\nvar getFirstEl = (ctx) => first(getElements(ctx));\nvar getLastEl = (ctx) => last(getElements(ctx));\nvar isMatch = (el, value) => {\n if (!value) return false;\n return el.id === value || el.dataset.value === value;\n};\nvar getNextEl = (ctx, opts) => {\n const items = getElements(ctx);\n const index = items.findIndex((el) => isMatch(el, opts.value));\n return next(items, index, { loop: opts.loop ?? opts.loopFocus });\n};\nvar getPrevEl = (ctx, opts) => {\n const items = getElements(ctx);\n const index = items.findIndex((el) => isMatch(el, opts.value));\n return prev(items, index, { loop: opts.loop ?? opts.loopFocus });\n};\nvar getElemByKey = (ctx, opts) => {\n const items = getElements(ctx);\n const item = items.find((el) => isMatch(el, opts.value));\n return getByTypeahead(items, { state: opts.typeaheadState, key: opts.key, activeId: item?.id ?? null });\n};\nvar isTargetDisabled = (v) => {\n return isHTMLElement(v) && (v.dataset.disabled === \"\" || v.hasAttribute(\"disabled\"));\n};\nvar isTriggerItem = (el) => {\n return !!el?.getAttribute(\"role\")?.startsWith(\"menuitem\") && !!el?.hasAttribute(\"aria-controls\");\n};\nvar itemSelectEvent = \"menu:select\";\nfunction dispatchSelectionEvent(el, value) {\n if (!el) return;\n const win = getWindow(el);\n const event = new win.CustomEvent(itemSelectEvent, { detail: { value } });\n el.dispatchEvent(event);\n}\n\n// src/menu.connect.ts\nfunction connect(service, normalize) {\n const { context, send, state, computed, prop, scope } = service;\n const open = state.hasTag(\"open\");\n const isSubmenu = computed(\"isSubmenu\");\n const isTypingAhead = computed(\"isTypingAhead\");\n const composite = prop(\"composite\");\n const currentPlacement = context.get(\"currentPlacement\");\n const anchorPoint = context.get(\"anchorPoint\");\n const highlightedValue = context.get(\"highlightedValue\");\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: anchorPoint ? \"bottom\" : currentPlacement\n });\n function getItemState(props2) {\n return {\n id: getItemId(scope, props2.value),\n disabled: !!props2.disabled,\n highlighted: highlightedValue === props2.value\n };\n }\n function getOptionItemProps(props2) {\n const valueText = props2.valueText ?? props2.value;\n return { ...props2, id: props2.value, valueText };\n }\n function getOptionItemState(props2) {\n const itemState = getItemState(getOptionItemProps(props2));\n return {\n ...itemState,\n checked: !!props2.checked\n };\n }\n function getItemProps(props2) {\n const { closeOnSelect, valueText, value } = props2;\n const itemState = getItemState(props2);\n const id = getItemId(scope, value);\n return normalize.element({\n ...parts.item.attrs,\n id,\n role: \"menuitem\",\n \"aria-disabled\": ariaAttr(itemState.disabled),\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-ownedby\": getContentId(scope),\n \"data-highlighted\": dataAttr(itemState.highlighted),\n \"data-value\": value,\n \"data-valuetext\": valueText,\n onDragStart(event) {\n const isLink = event.currentTarget.matches(\"a[href]\");\n if (isLink) event.preventDefault();\n },\n onPointerMove(event) {\n if (itemState.disabled) return;\n if (event.pointerType !== \"mouse\") return;\n const target = event.currentTarget;\n if (itemState.highlighted) return;\n send({ type: \"ITEM_POINTERMOVE\", id, target, closeOnSelect });\n },\n onPointerLeave(event) {\n if (itemState.disabled) return;\n if (event.pointerType !== \"mouse\") return;\n const pointerMoved = service.event.previous()?.type.includes(\"POINTER\");\n if (!pointerMoved) return;\n const target = event.currentTarget;\n send({ type: \"ITEM_POINTERLEAVE\", id, target, closeOnSelect });\n },\n onPointerDown(event) {\n if (itemState.disabled) return;\n const target = event.currentTarget;\n send({ type: \"ITEM_POINTERDOWN\", target, id, closeOnSelect });\n },\n onClick(event) {\n if (isDownloadingEvent(event)) return;\n if (isOpeningInNewTab(event)) return;\n if (itemState.disabled) return;\n const target = event.currentTarget;\n send({ type: \"ITEM_CLICK\", target, id, closeOnSelect });\n }\n });\n }\n return {\n highlightedValue,\n open,\n setOpen(nextOpen) {\n const open2 = state.hasTag(\"open\");\n if (open2 === nextOpen) return;\n send({ type: nextOpen ? \"OPEN\" : \"CLOSE\" });\n },\n setHighlightedValue(value) {\n send({ type: \"HIGHLIGHTED.SET\", value });\n },\n setParent(parent) {\n send({ type: \"PARENT.SET\", value: parent, id: parent.prop(\"id\") });\n },\n setChild(child) {\n send({ type: \"CHILD.SET\", value: child, id: child.prop(\"id\") });\n },\n reposition(options = {}) {\n send({ type: \"POSITIONING.SET\", options });\n },\n addItemListener(props2) {\n const node = scope.getById(props2.id);\n if (!node) return;\n const listener = () => props2.onSelect?.();\n node.addEventListener(itemSelectEvent, listener);\n return () => node.removeEventListener(itemSelectEvent, listener);\n },\n getContextTriggerProps() {\n return normalize.element({\n ...parts.contextTrigger.attrs,\n dir: prop(\"dir\"),\n id: getContextTriggerId(scope),\n onPointerDown(event) {\n if (event.pointerType === \"mouse\") return;\n const point = getEventPoint(event);\n send({ type: \"CONTEXT_MENU_START\", point });\n },\n onPointerCancel(event) {\n if (event.pointerType === \"mouse\") return;\n send({ type: \"CONTEXT_MENU_CANCEL\" });\n },\n onPointerMove(event) {\n if (event.pointerType === \"mouse\") return;\n send({ type: \"CONTEXT_MENU_CANCEL\" });\n },\n onPointerUp(event) {\n if (event.pointerType === \"mouse\") return;\n send({ type: \"CONTEXT_MENU_CANCEL\" });\n },\n onContextMenu(event) {\n const point = getEventPoint(event);\n send({ type: \"CONTEXT_MENU\", point });\n event.preventDefault();\n },\n style: {\n WebkitTouchCallout: \"none\",\n WebkitUserSelect: \"none\",\n userSelect: \"none\"\n }\n });\n },\n getTriggerItemProps(childApi) {\n const triggerProps = childApi.getTriggerProps();\n return mergeProps(getItemProps({ value: triggerProps.id }), triggerProps);\n },\n getTriggerProps() {\n return normalize.button({\n ...isSubmenu ? parts.triggerItem.attrs : parts.trigger.attrs,\n \"data-placement\": context.get(\"currentPlacement\"),\n type: \"button\",\n dir: prop(\"dir\"),\n id: getTriggerId(scope),\n \"data-uid\": prop(\"id\"),\n \"aria-haspopup\": composite ? \"menu\" : \"dialog\",\n \"aria-controls\": getContentId(scope),\n \"aria-expanded\": open || void 0,\n \"data-state\": open ? \"open\" : \"closed\",\n onPointerMove(event) {\n if (event.pointerType !== \"mouse\") return;\n const disabled = isTargetDisabled(event.currentTarget);\n if (disabled || !isSubmenu) return;\n const point = getEventPoint(event);\n send({ type: \"TRIGGER_POINTERMOVE\", target: event.currentTarget, point });\n },\n onPointerLeave(event) {\n if (isTargetDisabled(event.currentTarget)) return;\n if (event.pointerType !== \"mouse\") return;\n if (!isSubmenu) return;\n const point = getEventPoint(event);\n send({\n type: \"TRIGGER_POINTERLEAVE\",\n target: event.currentTarget,\n point\n });\n },\n onPointerDown(event) {\n if (isTargetDisabled(event.currentTarget)) return;\n if (isContextMenuEvent(event)) return;\n event.preventDefault();\n },\n onClick(event) {\n if (event.defaultPrevented) return;\n if (isTargetDisabled(event.currentTarget)) return;\n send({ type: \"TRIGGER_CLICK\", target: event.currentTarget });\n },\n onBlur() {\n send({ type: \"TRIGGER_BLUR\" });\n },\n onFocus() {\n send({ type: \"TRIGGER_FOCUS\" });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n const keyMap = {\n ArrowDown() {\n send({ type: \"ARROW_DOWN\" });\n },\n ArrowUp() {\n send({ type: \"ARROW_UP\" });\n },\n Enter() {\n send({ type: \"ARROW_DOWN\", src: \"enter\" });\n },\n Space() {\n send({ type: \"ARROW_DOWN\", src: \"space\" });\n }\n };\n const key = getEventKey(event, {\n orientation: \"vertical\",\n dir: prop(\"dir\")\n });\n const exec = keyMap[key];\n if (exec) {\n event.preventDefault();\n exec(event);\n }\n }\n });\n },\n getIndicatorProps() {\n return normalize.element({\n ...parts.indicator.attrs,\n dir: prop(\"dir\"),\n \"data-state\": open ? \"open\" : \"closed\"\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 getArrowProps() {\n return normalize.element({\n id: getArrowId(scope),\n ...parts.arrow.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.arrow\n });\n },\n getArrowTipProps() {\n return normalize.element({\n ...parts.arrowTip.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.arrowTip\n });\n },\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n id: getContentId(scope),\n \"aria-label\": prop(\"aria-label\"),\n hidden: !open,\n \"data-state\": open ? \"open\" : \"closed\",\n role: composite ? \"menu\" : \"dialog\",\n tabIndex: 0,\n dir: prop(\"dir\"),\n \"aria-activedescendant\": computed(\"highlightedId\") || void 0,\n \"aria-labelledby\": getTriggerId(scope),\n \"data-placement\": currentPlacement,\n onPointerEnter(event) {\n if (event.pointerType !== \"mouse\") return;\n send({ type: \"MENU_POINTERENTER\" });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!isSelfTarget(event)) return;\n const target = getEventTarget(event);\n const sameMenu = target?.closest(\"[role=menu]\") === event.currentTarget || target === event.currentTarget;\n if (!sameMenu) return;\n if (event.key === \"Tab\") {\n const valid = isValidTabEvent(event);\n if (!valid) {\n event.preventDefault();\n return;\n }\n }\n const item = getItemEl(scope, highlightedValue);\n const keyMap = {\n ArrowDown() {\n send({ type: \"ARROW_DOWN\" });\n },\n ArrowUp() {\n send({ type: \"ARROW_UP\" });\n },\n ArrowLeft() {\n send({ type: \"ARROW_LEFT\" });\n },\n ArrowRight() {\n send({ type: \"ARROW_RIGHT\" });\n },\n Enter() {\n send({ type: \"ENTER\" });\n if (isAnchorElement(item)) {\n prop(\"navigate\")?.({ value: highlightedValue, node: item });\n }\n },\n Space(event2) {\n if (isTypingAhead) {\n send({ type: \"TYPEAHEAD\", key: event2.key });\n } else {\n keyMap.Enter?.(event2);\n }\n },\n Home() {\n send({ type: \"HOME\" });\n },\n End() {\n send({ type: \"END\" });\n }\n };\n const key = getEventKey(event, { dir: prop(\"dir\") });\n const exec = keyMap[key];\n if (exec) {\n exec(event);\n event.stopPropagation();\n event.preventDefault();\n return;\n }\n if (!prop(\"typeahead\")) return;\n if (!isPrintableKey(event)) return;\n if (isModifierKey(event)) return;\n if (isEditableElement(target)) return;\n send({ type: \"TYPEAHEAD\", key: event.key });\n event.preventDefault();\n }\n });\n },\n getSeparatorProps() {\n return normalize.element({\n ...parts.separator.attrs,\n role: \"separator\",\n dir: prop(\"dir\"),\n \"aria-orientation\": \"horizontal\"\n });\n },\n getItemState,\n getItemProps,\n getOptionItemState,\n getOptionItemProps(props2) {\n const { type, disabled, onCheckedChange, closeOnSelect } = props2;\n const option = getOptionItemProps(props2);\n const itemState = getOptionItemState(props2);\n return {\n ...getItemProps(option),\n ...normalize.element({\n \"data-type\": type,\n ...parts.item.attrs,\n dir: prop(\"dir\"),\n \"data-value\": option.value,\n role: `menuitem${type}`,\n \"aria-checked\": !!itemState.checked,\n \"data-state\": itemState.checked ? \"checked\" : \"unchecked\",\n onClick(event) {\n if (disabled) return;\n if (isDownloadingEvent(event)) return;\n if (isOpeningInNewTab(event)) return;\n const target = event.currentTarget;\n send({ type: \"ITEM_CLICK\", target, option, closeOnSelect });\n onCheckedChange?.(!itemState.checked);\n }\n })\n };\n },\n getItemIndicatorProps(props2) {\n const itemState = getOptionItemState(props2);\n return normalize.element({\n ...parts.itemIndicator.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-highlighted\": dataAttr(itemState.highlighted),\n \"data-state\": itemState.checked ? \"checked\" : \"unchecked\",\n hidden: !itemState.checked\n });\n },\n getItemTextProps(props2) {\n const itemState = getOptionItemState(props2);\n return normalize.element({\n ...parts.itemText.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-highlighted\": dataAttr(itemState.highlighted),\n \"data-state\": itemState.checked ? \"checked\" : \"unchecked\"\n });\n },\n getItemGroupLabelProps(props2) {\n return normalize.element({\n ...parts.itemGroupLabel.attrs,\n id: getGroupLabelId(scope, props2.htmlFor),\n dir: prop(\"dir\")\n });\n },\n getItemGroupProps(props2) {\n return normalize.element({\n id: getGroupId(scope, props2.id),\n ...parts.itemGroup.attrs,\n dir: prop(\"dir\"),\n \"aria-labelledby\": getGroupLabelId(scope, props2.id),\n role: \"group\"\n });\n }\n };\n}\nvar { not, and, or } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n closeOnSelect: true,\n typeahead: true,\n composite: true,\n loopFocus: false,\n navigate(details) {\n clickIfLink(details.node);\n },\n ...props2,\n positioning: {\n placement: \"bottom-start\",\n gutter: 8,\n ...props2.positioning\n }\n };\n },\n initialState({ prop }) {\n const open = prop(\"open\") || prop(\"defaultOpen\");\n return open ? \"open\" : \"idle\";\n },\n context({ bindable, prop }) {\n return {\n suspendPointer: bindable(() => ({\n defaultValue: false\n })),\n highlightedValue: bindable(() => ({\n defaultValue: prop(\"defaultHighlightedValue\") || null,\n value: prop(\"highlightedValue\"),\n onChange(value) {\n prop(\"onHighlightChange\")?.({ highlightedValue: value });\n }\n })),\n lastHighlightedValue: bindable(() => ({\n defaultValue: null\n })),\n currentPlacement: bindable(() => ({\n defaultValue: void 0\n })),\n intentPolygon: bindable(() => ({\n defaultValue: null\n })),\n anchorPoint: bindable(() => ({\n defaultValue: null,\n hash(value) {\n return `x: ${value?.x}, y: ${value?.y}`;\n }\n }))\n };\n },\n refs() {\n return {\n parent: null,\n children: {},\n typeaheadState: { ...getByTypeahead.defaultOptions },\n positioningOverride: {}\n };\n },\n computed: {\n isSubmenu: ({ refs }) => refs.get(\"parent\") != null,\n isRtl: ({ prop }) => prop(\"dir\") === \"rtl\",\n isTypingAhead: ({ refs }) => refs.get(\"typeaheadState\").keysSoFar !== \"\",\n highlightedId: ({ context, scope, refs }) => resolveItemId(refs.get(\"children\"), context.get(\"highlightedValue\"), scope)\n },\n watch({ track, action, context, computed, prop }) {\n track([() => computed(\"isSubmenu\")], () => {\n action([\"setSubmenuPlacement\"]);\n });\n track([() => context.hash(\"anchorPoint\")], () => {\n action([\"reposition\"]);\n });\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"]);\n });\n },\n on: {\n \"PARENT.SET\": {\n actions: [\"setParentMenu\"]\n },\n \"CHILD.SET\": {\n actions: [\"setChildMenu\"]\n },\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"]\n }\n ],\n OPEN_AUTOFOCUS: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n // internal: true,\n target: \"open\",\n actions: [\"highlightFirstItem\", \"invokeOnOpen\"]\n }\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"HIGHLIGHTED.RESTORE\": {\n actions: [\"restoreHighlightedItem\"]\n },\n \"HIGHLIGHTED.SET\": {\n actions: [\"setHighlightedItem\"]\n }\n },\n states: {\n idle: {\n tags: [\"closed\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\"\n },\n \"CONTROLLED.CLOSE\": {\n target: \"closed\"\n },\n CONTEXT_MENU_START: {\n target: \"opening:contextmenu\",\n actions: [\"setAnchorPoint\"]\n },\n CONTEXT_MENU: [\n {\n guard: \"isOpenControlled\",\n actions: [\"setAnchorPoint\", \"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setAnchorPoint\", \"invokeOnOpen\"]\n }\n ],\n TRIGGER_CLICK: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"]\n }\n ],\n TRIGGER_FOCUS: {\n guard: not(\"isSubmenu\"),\n target: \"closed\"\n },\n TRIGGER_POINTERMOVE: {\n guard: \"isSubmenu\",\n target: \"opening\"\n }\n }\n },\n \"opening:contextmenu\": {\n tags: [\"closed\"],\n effects: [\"waitForLongPress\"],\n on: {\n \"CONTROLLED.OPEN\": { target: \"open\" },\n \"CONTROLLED.CLOSE\": { target: \"closed\" },\n CONTEXT_MENU_CANCEL: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"LONG_PRESS.OPEN\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"]\n }\n ]\n }\n },\n opening: {\n tags: [\"closed\"],\n effects: [\"waitForOpenDelay\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\"\n },\n \"CONTROLLED.CLOSE\": {\n target: \"closed\"\n },\n BLUR: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n TRIGGER_POINTERLEAVE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"DELAY.OPEN\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"]\n }\n ]\n }\n },\n closing: {\n tags: [\"open\"],\n effects: [\"trackPointerMove\", \"trackInteractOutside\", \"waitForCloseDelay\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\"\n },\n \"CONTROLLED.CLOSE\": {\n target: \"closed\",\n actions: [\"focusParentMenu\", \"restoreParentHighlightedItem\"]\n },\n // don't invoke on open here since the menu is still open (we're only keeping it open)\n MENU_POINTERENTER: {\n target: \"open\",\n actions: [\"clearIntentPolygon\"]\n },\n POINTER_MOVED_AWAY_FROM_SUBMENU: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"focusParentMenu\", \"restoreParentHighlightedItem\"]\n }\n ],\n \"DELAY.CLOSE\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"focusParentMenu\", \"restoreParentHighlightedItem\", \"invokeOnClose\"]\n }\n ]\n }\n },\n closed: {\n tags: [\"closed\"],\n entry: [\"clearHighlightedItem\", \"focusTrigger\", \"resumePointer\"],\n on: {\n \"CONTROLLED.OPEN\": [\n {\n guard: or(\"isOpenAutoFocusEvent\", \"isArrowDownEvent\"),\n target: \"open\",\n actions: [\"highlightFirstItem\"]\n },\n {\n guard: \"isArrowUpEvent\",\n target: \"open\",\n actions: [\"highlightLastItem\"]\n },\n {\n target: \"open\"\n }\n ],\n CONTEXT_MENU_START: {\n target: \"opening:contextmenu\",\n actions: [\"setAnchorPoint\"]\n },\n CONTEXT_MENU: [\n {\n guard: \"isOpenControlled\",\n actions: [\"setAnchorPoint\", \"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setAnchorPoint\", \"invokeOnOpen\"]\n }\n ],\n TRIGGER_CLICK: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"]\n }\n ],\n TRIGGER_POINTERMOVE: {\n guard: \"isTriggerItem\",\n target: \"opening\"\n },\n TRIGGER_BLUR: { target: \"idle\" },\n ARROW_DOWN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"highlightFirstItem\", \"invokeOnOpen\"]\n }\n ],\n ARROW_UP: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"highlightLastItem\", \"invokeOnOpen\"]\n }\n ]\n }\n },\n open: {\n tags: [\"open\"],\n effects: [\"trackInteractOutside\", \"trackPositioning\", \"scrollToHighlightedItem\"],\n entry: [\"focusMenu\", \"resumePointer\"],\n on: {\n \"CONTROLLED.CLOSE\": [\n {\n target: \"closed\",\n guard: \"isArrowLeftEvent\",\n actions: [\"focusParentMenu\"]\n },\n {\n target: \"closed\"\n }\n ],\n TRIGGER_CLICK: [\n {\n guard: and(not(\"isTriggerItem\"), \"isOpenControlled\"),\n actions: [\"invokeOnClose\"]\n },\n {\n guard: not(\"isTriggerItem\"),\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n CONTEXT_MENU: {\n actions: [\"setAnchorPoint\", \"focusMenu\"]\n },\n ARROW_UP: {\n actions: [\"highlightPrevItem\", \"focusMenu\"]\n },\n ARROW_DOWN: {\n actions: [\"highlightNextItem\", \"focusMenu\"]\n },\n ARROW_LEFT: [\n {\n guard: and(\"isSubmenu\", \"isOpenControlled\"),\n actions: [\"invokeOnClose\"]\n },\n {\n guard: \"isSubmenu\",\n target: \"closed\",\n actions: [\"focusParentMenu\", \"invokeOnClose\"]\n }\n ],\n HOME: {\n actions: [\"highlightFirstItem\", \"focusMenu\"]\n },\n END: {\n actions: [\"highlightLastItem\", \"focusMenu\"]\n },\n ARROW_RIGHT: {\n guard: \"isTriggerItemHighlighted\",\n actions: [\"openSubmenu\"]\n },\n ENTER: [\n {\n guard: \"isTriggerItemHighlighted\",\n actions: [\"openSubmenu\"]\n },\n {\n actions: [\"clickHighlightedItem\"]\n }\n ],\n ITEM_POINTERMOVE: [\n {\n guard: not(\"isPointerSuspended\"),\n actions: [\"setHighlightedItem\", \"focusMenu\"]\n },\n {\n actions: [\"setLastHighlightedItem\"]\n }\n ],\n ITEM_POINTERLEAVE: {\n guard: and(not(\"isPointerSuspended\"), not(\"isTriggerItem\")),\n actions: [\"clearHighlightedItem\"]\n },\n ITEM_CLICK: [\n // == grouped ==\n {\n guard: and(\n not(\"isTriggerItemHighlighted\"),\n not(\"isHighlightedItemEditable\"),\n \"closeOnSelect\",\n \"isOpenControlled\"\n ),\n actions: [\"invokeOnSelect\", \"setOptionState\", \"closeRootMenu\", \"invokeOnClose\"]\n },\n {\n guard: and(not(\"isTriggerItemHighlighted\"), not(\"isHighlightedItemEditable\"), \"closeOnSelect\"),\n target: \"closed\",\n actions: [\"invokeOnSelect\", \"setOptionState\", \"closeRootMenu\", \"invokeOnClose\"]\n },\n //\n {\n guard: and(not(\"isTriggerItemHighlighted\"), not(\"isHighlightedItemEditable\")),\n actions: [\"invokeOnSelect\", \"setOptionState\"]\n },\n { actions: [\"setHighlightedItem\"] }\n ],\n TRIGGER_POINTERMOVE: {\n guard: \"isTriggerItem\",\n actions: [\"setIntentPolygon\"]\n },\n TRIGGER_POINTERLEAVE: {\n target: \"closing\"\n },\n ITEM_POINTERDOWN: {\n actions: [\"setHighlightedItem\"]\n },\n TYPEAHEAD: {\n actions: [\"highlightMatchedItem\"]\n },\n FOCUS_MENU: {\n actions: [\"focusMenu\"]\n },\n \"POSITIONING.SET\": {\n actions: [\"reposition\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n closeOnSelect: ({ prop, event }) => !!(event?.closeOnSelect ?? prop(\"closeOnSelect\")),\n // whether the trigger is also a menu item\n isTriggerItem: ({ event }) => isTriggerItem(event.target),\n // whether the trigger item is the active item\n isTriggerItemHighlighted: ({ event, scope, computed }) => {\n const target = event.target ?? scope.getById(computed(\"highlightedId\"));\n return !!target?.hasAttribute(\"aria-controls\");\n },\n isSubmenu: ({ computed }) => computed(\"isSubmenu\"),\n isPointerSuspended: ({ context }) => context.get(\"suspendPointer\"),\n isHighlightedItemEditable: ({ scope, computed }) => isEditableElement(scope.getById(computed(\"highlightedId\"))),\n // guard assertions (for controlled mode)\n isOpenControlled: ({ prop }) => prop(\"open\") !== void 0,\n isArrowLeftEvent: ({ event }) => event.previousEvent?.type === \"ARROW_LEFT\",\n isArrowUpEvent: ({ event }) => event.previousEvent?.type === \"ARROW_UP\",\n isArrowDownEvent: ({ event }) => event.previousEvent?.type === \"ARROW_DOWN\",\n isOpenAutoFocusEvent: ({ event }) => event.previousEvent?.type === \"OPEN_AUTOFOCUS\"\n },\n effects: {\n waitForOpenDelay({ send }) {\n const timer = setTimeout(() => {\n send({ type: \"DELAY.OPEN\" });\n }, 100);\n return () => clearTimeout(timer);\n },\n waitForCloseDelay({ send }) {\n const timer = setTimeout(() => {\n send({ type: \"DELAY.CLOSE\" });\n }, 300);\n return () => clearTimeout(timer);\n },\n waitForLongPress({ send }) {\n const timer = setTimeout(() => {\n send({ type: \"LONG_PRESS.OPEN\" });\n }, 700);\n return () => clearTimeout(timer);\n },\n trackPositioning({ context, prop, scope, refs }) {\n if (!!getContextTriggerEl(scope)) return;\n const positioning = {\n ...prop(\"positioning\"),\n ...refs.get(\"positioningOverride\")\n };\n context.set(\"currentPlacement\", positioning.placement);\n const getPositionerEl2 = () => getPositionerEl(scope);\n return getPlacement(getTriggerEl(scope), getPositionerEl2, {\n ...positioning,\n defer: true,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n trackInteractOutside({ refs, scope, prop, computed, send }) {\n const getContentEl2 = () => getContentEl(scope);\n let restoreFocus = true;\n return trackDismissableElement(getContentEl2, {\n defer: true,\n exclude: [getTriggerEl(scope)],\n onInteractOutside: prop(\"onInteractOutside\"),\n onFocusOutside: prop(\"onFocusOutside\"),\n onEscapeKeyDown(event) {\n prop(\"onEscapeKeyDown\")?.(event);\n if (computed(\"isSubmenu\")) event.preventDefault();\n closeRootMenu({ parent: refs.get(\"parent\") });\n },\n onPointerDownOutside(event) {\n const target = getEventTarget(event.detail.originalEvent);\n const isWithinContextTrigger = contains(getContextTriggerEl(scope), target);\n if (isWithinContextTrigger && event.detail.contextmenu) {\n event.preventDefault();\n return;\n }\n restoreFocus = !event.detail.focusable;\n prop(\"onPointerDownOutside\")?.(event);\n },\n onDismiss() {\n send({ type: \"CLOSE\", src: \"interact-outside\", restoreFocus });\n }\n });\n },\n trackPointerMove({ context, scope, send, refs, flush }) {\n const parent = refs.get(\"parent\");\n flush(() => {\n parent.context.set(\"suspendPointer\", true);\n });\n const doc = scope.getDoc();\n return addDomEvent(doc, \"pointermove\", (e) => {\n const isMovingToSubmenu = isWithinPolygon(context.get(\"intentPolygon\"), {\n x: e.clientX,\n y: e.clientY\n });\n if (!isMovingToSubmenu) {\n send({ type: \"POINTER_MOVED_AWAY_FROM_SUBMENU\" });\n parent.context.set(\"suspendPointer\", false);\n }\n });\n },\n scrollToHighlightedItem({ event, scope, computed }) {\n const exec = () => {\n if (event.type.startsWith(\"ITEM_POINTER\")) return;\n const itemEl = scope.getById(computed(\"highlightedId\"));\n const contentEl2 = getContentEl(scope);\n scrollIntoView(itemEl, { rootEl: contentEl2, block: \"nearest\" });\n };\n raf(() => exec());\n const contentEl = () => getContentEl(scope);\n return observeAttributes(contentEl, {\n defer: true,\n attributes: [\"aria-activedescendant\"],\n callback: exec\n });\n }\n },\n actions: {\n setAnchorPoint({ context, event }) {\n context.set(\"anchorPoint\", event.point);\n },\n setSubmenuPlacement({ computed, refs }) {\n if (!computed(\"isSubmenu\")) return;\n const placement = computed(\"isRtl\") ? \"left-start\" : \"right-start\";\n refs.set(\"positioningOverride\", { placement, gutter: 0 });\n },\n reposition({ context, scope, prop, event, refs }) {\n const getPositionerEl2 = () => getPositionerEl(scope);\n const anchorPoint = context.get(\"anchorPoint\");\n const getAnchorRect = anchorPoint ? () => ({ width: 0, height: 0, ...anchorPoint }) : void 0;\n const positioning = {\n ...prop(\"positioning\"),\n ...refs.get(\"positioningOverride\")\n };\n getPlacement(getTriggerEl(scope), getPositionerEl2, {\n ...positioning,\n defer: true,\n getAnchorRect,\n ...event.options ?? {},\n listeners: false,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n setOptionState({ event }) {\n if (!event.option) return;\n const { checked, onCheckedChange, type } = event.option;\n if (type === \"radio\") {\n onCheckedChange?.(true);\n } else if (type === \"checkbox\") {\n onCheckedChange?.(!checked);\n }\n },\n clickHighlightedItem({ scope, computed }) {\n const itemEl = scope.getById(computed(\"highlightedId\"));\n if (!itemEl || itemEl.dataset.disabled) return;\n queueMicrotask(() => itemEl.click());\n },\n setIntentPolygon({ context, scope, event }) {\n const menu = getContentEl(scope);\n const placement = context.get(\"currentPlacement\");\n if (!menu || !placement) return;\n const rect = menu.getBoundingClientRect();\n const polygon = getElementPolygon(rect, placement);\n if (!polygon) return;\n const rightSide = getPlacementSide(placement) === \"right\";\n const bleed = rightSide ? -5 : 5;\n context.set(\"intentPolygon\", [{ ...event.point, x: event.point.x + bleed }, ...polygon]);\n },\n clearIntentPolygon({ context }) {\n context.set(\"intentPolygon\", null);\n },\n resumePointer({ refs, flush }) {\n const parent = refs.get(\"parent\");\n if (!parent) return;\n flush(() => {\n parent.context.set(\"suspendPointer\", false);\n });\n },\n setHighlightedItem({ context, event }) {\n const value = event.value || getItemValue(event.target);\n context.set(\"highlightedValue\", value);\n },\n clearHighlightedItem({ context }) {\n context.set(\"highlightedValue\", null);\n },\n focusMenu({ scope }) {\n raf(() => {\n const contentEl = getContentEl(scope);\n const initialFocusEl = getInitialFocus({\n root: contentEl,\n enabled: !contains(contentEl, scope.getActiveElement()),\n filter(node) {\n return !node.role?.startsWith(\"menuitem\");\n }\n });\n initialFocusEl?.focus({ preventScroll: true });\n });\n },\n highlightFirstItem({ context, scope }) {\n const fn = getContentEl(scope) ? queueMicrotask : raf;\n fn(() => {\n const first2 = getFirstEl(scope);\n if (!first2) return;\n context.set(\"highlightedValue\", getItemValue(first2));\n });\n },\n highlightLastItem({ context, scope }) {\n const fn = getContentEl(scope) ? queueMicrotask : raf;\n fn(() => {\n const last2 = getLastEl(scope);\n if (!last2) return;\n context.set(\"highlightedValue\", getItemValue(last2));\n });\n },\n highlightNextItem({ context, scope, event, prop }) {\n const next2 = getNextEl(scope, {\n loop: event.loop,\n value: context.get(\"highlightedValue\"),\n loopFocus: prop(\"loopFocus\")\n });\n context.set(\"highlightedValue\", getItemValue(next2));\n },\n highlightPrevItem({ context, scope, event, prop }) {\n const prev2 = getPrevEl(scope, {\n loop: event.loop,\n value: context.get(\"highlightedValue\"),\n loopFocus: prop(\"loopFocus\")\n });\n context.set(\"highlightedValue\", getItemValue(prev2));\n },\n invokeOnSelect({ context, prop, scope }) {\n const value = context.get(\"highlightedValue\");\n if (value == null) return;\n const node = getItemEl(scope, value);\n dispatchSelectionEvent(node, value);\n prop(\"onSelect\")?.({ value });\n },\n focusTrigger({ scope, context, event, computed }) {\n if (computed(\"isSubmenu\") || context.get(\"anchorPoint\") || event.restoreFocus === false) return;\n queueMicrotask(() => getTriggerEl(scope)?.focus({ preventScroll: true }));\n },\n highlightMatchedItem({ scope, context, event, refs }) {\n const node = getElemByKey(scope, {\n key: event.key,\n value: context.get(\"highlightedValue\"),\n typeaheadState: refs.get(\"typeaheadState\")\n });\n if (!node) return;\n context.set(\"highlightedValue\", getItemValue(node));\n },\n setParentMenu({ refs, event }) {\n refs.set(\"parent\", event.value);\n },\n setChildMenu({ refs, event }) {\n const children = refs.get(\"children\");\n children[event.id] = event.value;\n refs.set(\"children\", children);\n },\n closeRootMenu({ refs }) {\n closeRootMenu({ parent: refs.get(\"parent\") });\n },\n openSubmenu({ refs, scope, computed }) {\n const item = scope.getById(computed(\"highlightedId\"));\n const id = item?.getAttribute(\"data-uid\");\n const children = refs.get(\"children\");\n const child = id ? children[id] : null;\n child?.send({ type: \"OPEN_AUTOFOCUS\" });\n },\n focusParentMenu({ refs }) {\n refs.get(\"parent\")?.send({ type: \"FOCUS_MENU\" });\n },\n setLastHighlightedItem({ context, event }) {\n context.set(\"lastHighlightedValue\", getItemValue(event.target));\n },\n restoreHighlightedItem({ context }) {\n if (!context.get(\"lastHighlightedValue\")) return;\n context.set(\"highlightedValue\", context.get(\"lastHighlightedValue\"));\n context.set(\"lastHighlightedValue\", null);\n },\n restoreParentHighlightedItem({ refs }) {\n refs.get(\"parent\")?.send({ type: \"HIGHLIGHTED.RESTORE\" });\n },\n invokeOnOpen({ prop }) {\n prop(\"onOpenChange\")?.({ open: true });\n },\n invokeOnClose({ prop }) {\n prop(\"onOpenChange\")?.({ open: false });\n },\n toggleVisibility({ prop, event, send }) {\n send({\n type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\",\n previousEvent: event\n });\n }\n }\n }\n});\nfunction closeRootMenu(ctx) {\n let parent = ctx.parent;\n while (parent && parent.computed(\"isSubmenu\")) {\n parent = parent.refs.get(\"parent\");\n }\n parent?.send({ type: \"CLOSE\" });\n}\nfunction isWithinPolygon(polygon, point) {\n if (!polygon) return false;\n return isPointInPolygon(polygon, point);\n}\nfunction resolveItemId(children, value, scope) {\n const hasChildren = Object.keys(children).length > 0;\n if (!value) return null;\n if (!hasChildren) {\n return getItemId(scope, value);\n }\n for (const id in children) {\n const childMenu = children[id];\n const childTriggerId = getTriggerId(childMenu.scope);\n if (childTriggerId === value) {\n return childTriggerId;\n }\n }\n return getItemId(scope, value);\n}\nvar props = createProps()([\n \"anchorPoint\",\n \"aria-label\",\n \"closeOnSelect\",\n \"composite\",\n \"defaultHighlightedValue\",\n \"defaultOpen\",\n \"dir\",\n \"getRootNode\",\n \"highlightedValue\",\n \"id\",\n \"ids\",\n \"loopFocus\",\n \"navigate\",\n \"onEscapeKeyDown\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onSelect\",\n \"open\",\n \"positioning\",\n \"typeahead\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"closeOnSelect\", \"disabled\", \"value\", \"valueText\"]);\nvar splitItemProps = createSplitProps(itemProps);\nvar itemGroupLabelProps = createProps()([\"htmlFor\"]);\nvar splitItemGroupLabelProps = createSplitProps(itemGroupLabelProps);\nvar itemGroupProps = createProps()([\"id\"]);\nvar splitItemGroupProps = createSplitProps(itemGroupProps);\nvar optionItemProps = createProps()([\n \"checked\",\n \"closeOnSelect\",\n \"disabled\",\n \"onCheckedChange\",\n \"type\",\n \"value\",\n \"valueText\"\n]);\nvar splitOptionItemProps = createSplitProps(optionItemProps);\n\nexport { anatomy, connect, itemGroupLabelProps, itemGroupProps, itemProps, machine, optionItemProps, props, splitItemGroupLabelProps, splitItemGroupProps, splitItemProps, splitOptionItemProps, splitProps };\n","'use client';\nimport * as menu from '@zag-js/menu';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useMenu = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(menu.machine, machineProps);\n const api = menu.connect(service, normalizeProps);\n return { api, service };\n};\n\nexport { useMenu };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuMachineProvider, useMenuMachineContext] = createContext({\n name: \"MenuMachineContext\",\n hookName: \"useMenuMachineContext\",\n providerName: \"<MenuMachineProvider />\",\n strict: false\n});\n\nexport { MenuMachineProvider, useMenuMachineContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuTriggerItemProvider, useMenuTriggerItemContext] = createContext({\n name: \"MenuMachineContext\",\n hookName: \"useMenuMachineContext\",\n providerName: \"<MenuMachineProvider />\",\n strict: false\n});\n\nexport { MenuTriggerItemProvider, useMenuTriggerItemContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { useCallback } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { useEffectOnce } from '../../utils/use-effect-once.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useMenu } from './use-menu.js';\nimport { useMenuContext, MenuProvider } from './use-menu-context.js';\nimport { useMenuMachineContext, MenuMachineProvider } from './use-menu-machine-context.js';\nimport { MenuTriggerItemProvider } from './use-menu-trigger-item-context.js';\n\nconst MenuRoot = (props) => {\n const [presenceProps, menuProps] = splitPresenceProps(props);\n const [useMenuProps, localProps] = createSplitProps()(menuProps, [\n \"anchorPoint\",\n \"aria-label\",\n \"closeOnSelect\",\n \"composite\",\n \"defaultHighlightedValue\",\n \"defaultOpen\",\n \"highlightedValue\",\n \"id\",\n \"ids\",\n \"loopFocus\",\n \"navigate\",\n \"onEscapeKeyDown\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onSelect\",\n \"open\",\n \"positioning\",\n \"typeahead\"\n ]);\n const parentApi = useMenuContext();\n const parentMachine = useMenuMachineContext();\n const { api, service } = useMenu(useMenuProps);\n const presence = usePresence(mergeProps({ present: api.open }, presenceProps));\n useEffectOnce(() => {\n if (!parentMachine) return;\n if (!parentApi) return;\n parentApi.setChild(service);\n api.setParent(parentMachine);\n });\n const triggerItemContext = useCallback(() => parentApi?.getTriggerItemProps(api), [api, parentApi]);\n return /* @__PURE__ */ jsx(MenuTriggerItemProvider, { value: triggerItemContext, children: /* @__PURE__ */ jsx(MenuMachineProvider, { value: service, children: /* @__PURE__ */ jsx(MenuProvider, { value: api, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, ...localProps }) }) }) });\n};\n\nexport { MenuRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { useCallback } from 'react';\nimport { useEffectOnce } from '../../utils/use-effect-once.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useMenuContext, MenuProvider } from './use-menu-context.js';\nimport { useMenuMachineContext, MenuMachineProvider } from './use-menu-machine-context.js';\nimport { MenuTriggerItemProvider } from './use-menu-trigger-item-context.js';\n\nconst MenuRootProvider = (props) => {\n const parentApi = useMenuContext();\n const parentMachine = useMenuMachineContext();\n const [presenceProps, { value: menu, children }] = splitPresenceProps(props);\n const { api, service } = menu;\n const presence = usePresence(mergeProps({ present: api.open }, presenceProps));\n useEffectOnce(() => {\n if (!parentMachine) return;\n if (!parentApi) return;\n parentApi.setChild(service);\n api.setParent(parentMachine);\n });\n const triggerItemContext = useCallback(() => parentApi?.getTriggerItemProps(api), [api, parentApi]);\n return /* @__PURE__ */ jsx(MenuTriggerItemProvider, { value: triggerItemContext, children: /* @__PURE__ */ jsx(MenuMachineProvider, { value: service, children: /* @__PURE__ */ jsx(MenuProvider, { value: api, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) }) }) });\n};\n\nexport { MenuRootProvider };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuSeparator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getSeparatorProps(), props);\n return /* @__PURE__ */ jsx(ark.hr, { ...mergedProps, ref });\n});\nMenuSeparator.displayName = \"MenuSeparator\";\n\nexport { MenuSeparator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuTrigger = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(\n {\n ...menu.getTriggerProps(),\n \"aria-controls\": presence.unmounted ? void 0 : menu.getTriggerProps()[\"aria-controls\"]\n },\n props\n );\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nMenuTrigger.displayName = \"MenuTrigger\";\n\nexport { MenuTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuTriggerItemContext } from './use-menu-trigger-item-context.js';\n\nconst MenuTriggerItem = forwardRef((props, ref) => {\n const getTriggerItemProps = useMenuTriggerItemContext();\n const mergedProps = mergeProps(getTriggerItemProps?.() ?? {}, props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuTriggerItem.displayName = \"MenuTriggerItem\";\n\nexport { MenuTriggerItem };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [CheckboxProvider, useCheckboxContext] = createContext({\n name: \"CheckboxContext\",\n hookName: \"useCheckboxContext\",\n providerName: \"<CheckboxProvider />\"\n});\n\nexport { CheckboxProvider, useCheckboxContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxControl = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getControlProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nCheckboxControl.displayName = \"CheckboxControl\";\n\nexport { CheckboxControl };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { dispatchInputCheckedEvent, setElementChecked, trackFormControl, trackPress, dataAttr, visuallyHiddenStyle, getEventTarget } from '@zag-js/dom-query';\nimport { trackFocusVisible, isFocusVisible } from '@zag-js/focus-visible';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/checkbox.anatomy.ts\nvar anatomy = createAnatomy(\"checkbox\").parts(\"root\", \"label\", \"control\", \"indicator\");\nvar parts = anatomy.build();\n\n// src/checkbox.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `checkbox:${ctx.id}`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `checkbox:${ctx.id}:label`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `checkbox:${ctx.id}:control`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `checkbox:${ctx.id}:input`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\n\n// src/checkbox.connect.ts\nfunction connect(service, normalize) {\n const { send, context, prop, computed, scope } = service;\n const disabled = prop(\"disabled\");\n const readOnly = prop(\"readOnly\");\n const invalid = prop(\"invalid\");\n const focused = !disabled && context.get(\"focused\");\n const focusVisible = !disabled && context.get(\"focusVisible\");\n const checked = computed(\"checked\");\n const indeterminate = computed(\"indeterminate\");\n const dataAttrs = {\n \"data-active\": dataAttr(context.get(\"active\")),\n \"data-focus\": dataAttr(focused),\n \"data-focus-visible\": dataAttr(focusVisible),\n \"data-readonly\": dataAttr(readOnly),\n \"data-hover\": dataAttr(context.get(\"hovered\")),\n \"data-disabled\": dataAttr(disabled),\n \"data-state\": indeterminate ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\",\n \"data-invalid\": dataAttr(invalid)\n };\n return {\n checked,\n disabled,\n indeterminate,\n focused,\n checkedState: checked,\n setChecked(checked2) {\n send({ type: \"CHECKED.SET\", checked: checked2, isTrusted: false });\n },\n toggleChecked() {\n send({ type: \"CHECKED.TOGGLE\", checked, isTrusted: false });\n },\n getRootProps() {\n return normalize.label({\n ...parts.root.attrs,\n ...dataAttrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n htmlFor: getHiddenInputId(scope),\n onPointerMove() {\n if (disabled) return;\n send({ type: \"CONTEXT.SET\", context: { hovered: true } });\n },\n onPointerLeave() {\n if (disabled) return;\n send({ type: \"CONTEXT.SET\", context: { hovered: false } });\n },\n onClick(event) {\n const target = getEventTarget(event);\n if (target === getHiddenInputEl(scope)) {\n event.stopPropagation();\n }\n }\n });\n },\n getLabelProps() {\n return normalize.element({\n ...parts.label.attrs,\n ...dataAttrs,\n dir: prop(\"dir\"),\n id: getLabelId(scope)\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n ...dataAttrs,\n dir: prop(\"dir\"),\n id: getControlId(scope),\n \"aria-hidden\": true\n });\n },\n getIndicatorProps() {\n return normalize.element({\n ...parts.indicator.attrs,\n ...dataAttrs,\n dir: prop(\"dir\"),\n hidden: !indeterminate && !checked\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n id: getHiddenInputId(scope),\n type: \"checkbox\",\n required: prop(\"required\"),\n defaultChecked: checked,\n disabled,\n \"aria-labelledby\": getLabelId(scope),\n \"aria-invalid\": invalid,\n name: prop(\"name\"),\n form: prop(\"form\"),\n value: prop(\"value\"),\n style: visuallyHiddenStyle,\n onFocus() {\n const focusVisible2 = isFocusVisible();\n send({ type: \"CONTEXT.SET\", context: { focused: true, focusVisible: focusVisible2 } });\n },\n onBlur() {\n send({ type: \"CONTEXT.SET\", context: { focused: false, focusVisible: false } });\n },\n onClick(event) {\n if (readOnly) {\n event.preventDefault();\n return;\n }\n const checked2 = event.currentTarget.checked;\n send({ type: \"CHECKED.SET\", checked: checked2, isTrusted: true });\n }\n });\n }\n };\n}\nvar { not } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n value: \"on\",\n ...props2,\n defaultChecked: !!props2.defaultChecked\n };\n },\n initialState() {\n return \"ready\";\n },\n context({ prop, bindable }) {\n return {\n checked: bindable(() => ({\n defaultValue: prop(\"defaultChecked\"),\n value: prop(\"checked\"),\n onChange(checked) {\n prop(\"onCheckedChange\")?.({ checked });\n }\n })),\n fieldsetDisabled: bindable(() => ({ defaultValue: false })),\n focusVisible: bindable(() => ({ defaultValue: false })),\n active: bindable(() => ({ defaultValue: false })),\n focused: bindable(() => ({ defaultValue: false })),\n hovered: bindable(() => ({ defaultValue: false }))\n };\n },\n watch({ track, context, prop, action }) {\n track([() => prop(\"disabled\")], () => {\n action([\"removeFocusIfNeeded\"]);\n });\n track([() => context.get(\"checked\")], () => {\n action([\"syncInputElement\"]);\n });\n },\n effects: [\"trackFormControlState\", \"trackPressEvent\", \"trackFocusVisible\"],\n on: {\n \"CHECKED.TOGGLE\": [\n {\n guard: not(\"isTrusted\"),\n actions: [\"toggleChecked\", \"dispatchChangeEvent\"]\n },\n {\n actions: [\"toggleChecked\"]\n }\n ],\n \"CHECKED.SET\": [\n {\n guard: not(\"isTrusted\"),\n actions: [\"setChecked\", \"dispatchChangeEvent\"]\n },\n {\n actions: [\"setChecked\"]\n }\n ],\n \"CONTEXT.SET\": {\n actions: [\"setContext\"]\n }\n },\n computed: {\n indeterminate: ({ context }) => isIndeterminate(context.get(\"checked\")),\n checked: ({ context }) => isChecked(context.get(\"checked\")),\n disabled: ({ context, prop }) => !!prop(\"disabled\") || context.get(\"fieldsetDisabled\")\n },\n states: {\n ready: {}\n },\n implementations: {\n guards: {\n isTrusted: ({ event }) => !!event.isTrusted\n },\n effects: {\n trackPressEvent({ context, computed, scope }) {\n if (computed(\"disabled\")) return;\n return trackPress({\n pointerNode: getRootEl(scope),\n keyboardNode: getHiddenInputEl(scope),\n isValidKey: (event) => event.key === \" \",\n onPress: () => context.set(\"active\", false),\n onPressStart: () => context.set(\"active\", true),\n onPressEnd: () => context.set(\"active\", false)\n });\n },\n trackFocusVisible({ computed, scope }) {\n if (computed(\"disabled\")) return;\n return trackFocusVisible({ root: scope.getRootNode?.() });\n },\n trackFormControlState({ context, scope }) {\n return trackFormControl(getHiddenInputEl(scope), {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n context.set(\"checked\", context.initial(\"checked\"));\n }\n });\n }\n },\n actions: {\n setContext({ context, event }) {\n for (const key in event.context) {\n context.set(key, event.context[key]);\n }\n },\n syncInputElement({ context, computed, scope }) {\n const inputEl = getHiddenInputEl(scope);\n if (!inputEl) return;\n setElementChecked(inputEl, computed(\"checked\"));\n inputEl.indeterminate = isIndeterminate(context.get(\"checked\"));\n },\n removeFocusIfNeeded({ context, prop }) {\n if (prop(\"disabled\") && context.get(\"focused\")) {\n context.set(\"focused\", false);\n context.set(\"focusVisible\", false);\n }\n },\n setChecked({ context, event }) {\n context.set(\"checked\", event.checked);\n },\n toggleChecked({ context, computed }) {\n const checked = isIndeterminate(computed(\"checked\")) ? true : !computed(\"checked\");\n context.set(\"checked\", checked);\n },\n dispatchChangeEvent({ computed, scope }) {\n queueMicrotask(() => {\n const inputEl = getHiddenInputEl(scope);\n dispatchInputCheckedEvent(inputEl, { checked: computed(\"checked\") });\n });\n }\n }\n }\n});\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction isChecked(checked) {\n return isIndeterminate(checked) ? false : !!checked;\n}\nvar props = createProps()([\n \"defaultChecked\",\n \"checked\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"name\",\n \"onCheckedChange\",\n \"readOnly\",\n \"required\",\n \"value\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","'use client';\nimport { anatomy } from '@zag-js/checkbox';\n\nconst checkboxAnatomy = anatomy.extendWith(\"group\");\n\nexport { checkboxAnatomy };\n","'use client';\nimport { useState, useCallback } from 'react';\n\nfunction useControllableState(props) {\n const { value, onChange, defaultValue } = props;\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const controlled = value !== void 0;\n const currentValue = controlled ? value : uncontrolledValue;\n const setValue = useCallback(\n (value2) => {\n if (controlled) {\n return onChange?.(value2);\n }\n setUncontrolledValue(value2);\n return onChange?.(value2);\n },\n [controlled, onChange]\n );\n return [currentValue, setValue];\n}\n\nexport { useControllableState };\n","'use client';\nimport { useControllableState } from '../../utils/use-controllable-state.js';\nimport { useEvent } from '../../utils/use-event.js';\n\nfunction useCheckboxGroup(props = {}) {\n const { defaultValue, value: controlledValue, onValueChange, disabled, readOnly, name, invalid } = props;\n const interactive = !(disabled || readOnly);\n const onChangeProp = useEvent(onValueChange, { sync: true });\n const [value, setValue] = useControllableState({\n value: controlledValue,\n defaultValue: defaultValue || [],\n onChange: onChangeProp\n });\n const isChecked = (val) => {\n return value.some((v) => String(v) === String(val));\n };\n const toggleValue = (val) => {\n isChecked(val) ? removeValue(val) : addValue(val);\n };\n const addValue = (val) => {\n if (!interactive) return;\n if (isChecked(val)) return;\n setValue(value.concat(val));\n };\n const removeValue = (val) => {\n if (!interactive) return;\n setValue(value.filter((v) => String(v) !== String(val)));\n };\n const getItemProps = (props2) => {\n return {\n checked: props2.value != null ? isChecked(props2.value) : void 0,\n onCheckedChange() {\n if (props2.value != null) {\n toggleValue(props2.value);\n }\n },\n name,\n disabled,\n readOnly,\n invalid\n };\n };\n return {\n isChecked,\n value,\n name,\n disabled: !!disabled,\n readOnly: !!readOnly,\n invalid: !!invalid,\n setValue,\n addValue,\n toggleValue,\n getItemProps\n };\n}\n\nexport { useCheckboxGroup };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [CheckboxGroupContextProvider, useCheckboxGroupContext] = createContext({\n name: \"CheckboxGroupContext\",\n hookName: \"useCheckboxGroupContext\",\n providerName: \"<CheckboxGroupProvider />\",\n strict: false\n});\n\nexport { CheckboxGroupContextProvider, useCheckboxGroupContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { checkboxAnatomy } from './checkbox.anatomy.js';\nimport { useCheckboxGroup } from './use-checkbox-group.js';\nimport { CheckboxGroupContextProvider } from './use-checkbox-group-context.js';\n\nconst CheckboxGroup = forwardRef((props, ref) => {\n const [checkboxGroupProps, localProps] = createSplitProps()(props, [\n \"defaultValue\",\n \"value\",\n \"onValueChange\",\n \"disabled\",\n \"invalid\",\n \"readOnly\",\n \"name\"\n ]);\n const checkboxGroup = useCheckboxGroup(checkboxGroupProps);\n return /* @__PURE__ */ jsx(CheckboxGroupContextProvider, { value: checkboxGroup, children: /* @__PURE__ */ jsx(ark.div, { ref, role: \"group\", ...localProps, ...checkboxAnatomy.build().group.attrs }) });\n});\nCheckboxGroup.displayName = \"CheckboxGroup\";\n\nexport { CheckboxGroup };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [FieldProvider, useFieldContext] = createContext({\n name: \"FieldContext\",\n hookName: \"useFieldContext\",\n providerName: \"<FieldProvider />\",\n strict: false\n});\n\nexport { FieldProvider, useFieldContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from '../field/use-field-context.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxHiddenInput = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getHiddenInputProps(), props);\n const field = useFieldContext();\n return /* @__PURE__ */ jsx(ark.input, { \"aria-describedby\": field?.ariaDescribedby, ...mergedProps, ref });\n});\nCheckboxHiddenInput.displayName = \"CheckboxHiddenInput\";\n\nexport { CheckboxHiddenInput };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxLabel = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nCheckboxLabel.displayName = \"CheckboxLabel\";\n\nexport { CheckboxLabel };\n","'use client';\nimport * as checkbox from '@zag-js/checkbox';\nimport { mergeProps, useMachine, normalizeProps } from '@zag-js/react';\nimport { useMemo, useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\nimport { useFieldContext } from '../field/use-field-context.js';\nimport { useCheckboxGroupContext } from './use-checkbox-group-context.js';\n\nconst useCheckbox = (ownProps = {}) => {\n const checkboxGroup = useCheckboxGroupContext();\n const field = useFieldContext();\n const props = useMemo(() => {\n return mergeProps(ownProps, checkboxGroup?.getItemProps({ value: ownProps.value }) ?? {});\n }, [ownProps, checkboxGroup]);\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n ids: {\n label: field?.ids.label,\n hiddenInput: field?.ids.control\n },\n dir,\n disabled: field?.disabled,\n readOnly: field?.readOnly,\n invalid: field?.invalid,\n required: field?.required,\n getRootNode,\n ...props\n };\n const service = useMachine(checkbox.machine, machineProps);\n return checkbox.connect(service, normalizeProps);\n};\n\nexport { useCheckbox };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useCheckbox } from './use-checkbox.js';\nimport { CheckboxProvider } from './use-checkbox-context.js';\n\nconst CheckboxRoot = forwardRef((props, ref) => {\n const [useCheckboxProps, localProps] = createSplitProps()(props, [\n \"checked\",\n \"defaultChecked\",\n \"disabled\",\n \"form\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"name\",\n \"onCheckedChange\",\n \"readOnly\",\n \"required\",\n \"value\"\n ]);\n const checkbox = useCheckbox(useCheckboxProps);\n const mergedProps = mergeProps(checkbox.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(CheckboxProvider, { value: checkbox, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) });\n});\nCheckboxRoot.displayName = \"CheckboxRoot\";\n\nexport { CheckboxRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { CheckboxProvider } from './use-checkbox-context.js';\n\nconst CheckboxRootProvider = forwardRef((props, ref) => {\n const [{ value: checkbox }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(checkbox.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(CheckboxProvider, { value: checkbox, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) });\n});\nCheckboxRootProvider.displayName = \"CheckboxRootProvider\";\n\nexport { CheckboxRootProvider };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from './use-field-context.js';\n\nconst FieldErrorText = forwardRef((props, ref) => {\n const field = useFieldContext();\n const mergedProps = mergeProps(field.getErrorTextProps(), props);\n if (field?.invalid) {\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n }\n return null;\n});\nFieldErrorText.displayName = \"FieldErrorText\";\n\nexport { FieldErrorText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from './use-field-context.js';\n\nconst FieldHelperText = forwardRef((props, ref) => {\n const field = useFieldContext();\n const mergedProps = mergeProps(field?.getHelperTextProps(), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nFieldHelperText.displayName = \"FieldHelperText\";\n\nexport { FieldHelperText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from './use-field-context.js';\n\nconst FieldInput = forwardRef((props, ref) => {\n const field = useFieldContext();\n const mergedProps = mergeProps(field?.getInputProps(), props);\n return /* @__PURE__ */ jsx(ark.input, { ...mergedProps, ref });\n});\nFieldInput.displayName = \"FieldInput\";\n\nexport { FieldInput };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from './use-field-context.js';\n\nconst FieldLabel = forwardRef((props, ref) => {\n const field = useFieldContext();\n const mergedProps = mergeProps(field?.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });\n});\nFieldLabel.displayName = \"FieldLabel\";\n\nexport { FieldLabel };\n","'use client';\nimport { useLayoutEffect, useEffect } from 'react';\n\nconst useSafeLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n\nexport { useSafeLayoutEffect };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [FieldsetProvider, useFieldsetContext] = createContext({\n name: \"FieldsetContext\",\n hookName: \"useFieldsetContext\",\n providerName: \"<FieldsetProvider />\",\n strict: false\n});\n\nexport { FieldsetProvider, useFieldsetContext };\n","'use client';\nimport { createAnatomy } from '@zag-js/anatomy';\n\nconst fieldAnatomy = createAnatomy(\"field\").parts(\n \"root\",\n \"errorText\",\n \"helperText\",\n \"input\",\n \"label\",\n \"select\",\n \"textarea\",\n \"requiredIndicator\"\n);\nconst parts = fieldAnatomy.build();\n\nexport { fieldAnatomy, parts };\n","'use client';\nimport { getWindow, dataAttr, ariaAttr } from '@zag-js/dom-query';\nimport { useState, useId, useRef, useMemo } from 'react';\nimport { useSafeLayoutEffect } from '../../utils/use-safe-layout-effect.js';\nimport { useFieldsetContext } from '../fieldset/use-fieldset-context.js';\nimport { parts } from './field.anatomy.js';\n\nconst useField = (props = {}) => {\n const fieldset = useFieldsetContext();\n const { ids, disabled = Boolean(fieldset?.disabled), invalid = false, readOnly = false, required = false } = props;\n const [hasErrorText, setHasErrorText] = useState(false);\n const [hasHelperText, setHasHelperText] = useState(false);\n const id = props.id ?? useId();\n const rootRef = useRef(null);\n const rootId = ids?.control ?? `field::${id}`;\n const errorTextId = ids?.errorText ?? `field::${id}::error-text`;\n const helperTextId = ids?.helperText ?? `field::${id}::helper-text`;\n const labelId = ids?.label ?? `field::${id}::label`;\n useSafeLayoutEffect(() => {\n const rootNode = rootRef.current;\n if (!rootNode) return;\n const win = getWindow(rootNode);\n const doc = win.document;\n const checkTextElements = () => {\n setHasErrorText(!!doc.getElementById(errorTextId));\n setHasHelperText(!!doc.getElementById(helperTextId));\n };\n checkTextElements();\n const observer = new win.MutationObserver(checkTextElements);\n observer.observe(rootNode, { childList: true, subtree: true });\n return () => observer.disconnect();\n }, [errorTextId, helperTextId]);\n const labelIds = useMemo(() => {\n const ids2 = [];\n if (hasErrorText && invalid) ids2.push(errorTextId);\n if (hasHelperText) ids2.push(helperTextId);\n return ids2.join(\" \") || void 0;\n }, [invalid, errorTextId, helperTextId, hasErrorText, hasHelperText]);\n const getRootProps = useMemo(\n () => () => ({\n ...parts.root.attrs,\n id: rootId,\n ref: rootRef,\n role: \"group\",\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-readonly\": dataAttr(readOnly)\n }),\n [disabled, invalid, readOnly, rootId]\n );\n const getLabelProps = useMemo(\n () => () => ({\n ...parts.label.attrs,\n id: labelId,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-readonly\": dataAttr(readOnly),\n htmlFor: id\n }),\n [disabled, invalid, readOnly, id, labelId]\n );\n const getControlProps = useMemo(\n () => () => ({\n \"aria-describedby\": labelIds,\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n \"data-required\": dataAttr(required),\n \"data-readonly\": dataAttr(readOnly),\n id,\n required,\n disabled,\n readOnly\n }),\n [labelIds, invalid, required, readOnly, id, disabled]\n );\n const getInputProps = useMemo(\n () => () => ({\n ...getControlProps(),\n ...parts.input.attrs\n }),\n [getControlProps]\n );\n const getTextareaProps = useMemo(\n () => () => ({\n ...getControlProps(),\n ...parts.textarea.attrs\n }),\n [getControlProps]\n );\n const getSelectProps = useMemo(\n () => () => ({\n ...getControlProps(),\n ...parts.select.attrs\n }),\n [getControlProps]\n );\n const getHelperTextProps = useMemo(\n () => () => ({\n id: helperTextId,\n ...parts.helperText.attrs,\n \"data-disabled\": dataAttr(disabled)\n }),\n [disabled, helperTextId]\n );\n const getErrorTextProps = useMemo(\n () => () => ({\n id: errorTextId,\n ...parts.errorText.attrs,\n \"aria-live\": \"polite\"\n }),\n [errorTextId]\n );\n const getRequiredIndicatorProps = useMemo(\n () => () => ({\n \"aria-hidden\": true,\n ...parts.requiredIndicator.attrs\n }),\n []\n );\n return {\n ariaDescribedby: labelIds,\n ids: {\n root: rootId,\n control: id,\n label: labelId,\n errorText: errorTextId,\n helperText: helperTextId\n },\n refs: {\n rootRef\n },\n disabled,\n invalid,\n readOnly,\n required,\n getLabelProps,\n getRootProps,\n getInputProps,\n getTextareaProps,\n getSelectProps,\n getHelperTextProps,\n getErrorTextProps,\n getRequiredIndicatorProps\n };\n};\n\nexport { useField };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useField } from './use-field.js';\nimport { FieldProvider } from './use-field-context.js';\n\nconst FieldRoot = forwardRef((props, ref) => {\n const [useFieldProps, localProps] = createSplitProps()(props, [\n \"id\",\n \"ids\",\n \"disabled\",\n \"invalid\",\n \"readOnly\",\n \"required\"\n ]);\n const field = useField(useFieldProps);\n const mergedProps = mergeProps(field.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(FieldProvider, { value: field, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(ref, field.refs.rootRef) }) });\n});\nFieldRoot.displayName = \"FieldRoot\";\n\nexport { FieldRoot };\n","import { getDocument, getWindow, getComputedStyle } from '@zag-js/dom-query';\n\n// src/autoresize-input.ts\nfunction getVisualStyles(node) {\n if (!node) return;\n const style = getComputedStyle(node);\n return \"box-sizing:\" + style.boxSizing + \";border-left:\" + style.borderLeftWidth + \" solid red;border-right:\" + style.borderRightWidth + \" solid red;font-family:\" + style.fontFamily + \";font-feature-settings:\" + style.fontFeatureSettings + \";font-kerning:\" + style.fontKerning + \";font-size:\" + style.fontSize + \";font-stretch:\" + style.fontStretch + \";font-style:\" + style.fontStyle + \";font-variant:\" + style.fontVariant + \";font-variant-caps:\" + style.fontVariantCaps + \";font-variant-ligatures:\" + style.fontVariantLigatures + \";font-variant-numeric:\" + style.fontVariantNumeric + \";font-weight:\" + style.fontWeight + \";letter-spacing:\" + style.letterSpacing + \";margin-left:\" + style.marginLeft + \";margin-right:\" + style.marginRight + \";padding-left:\" + style.paddingLeft + \";padding-right:\" + style.paddingRight + \";text-indent:\" + style.textIndent + \";text-transform:\" + style.textTransform;\n}\n\n// src/autoresize-input.ts\nfunction createGhostElement(doc) {\n var el = doc.createElement(\"div\");\n el.id = \"ghost\";\n el.style.cssText = \"display:inline-block;height:0;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:nowrap;\";\n doc.body.appendChild(el);\n return el;\n}\nfunction autoResizeInput(input) {\n if (!input) return;\n const doc = getDocument(input);\n const win = getWindow(input);\n const ghost = createGhostElement(doc);\n const cssText = getVisualStyles(input);\n if (cssText) ghost.style.cssText += cssText;\n function resize() {\n win.requestAnimationFrame(() => {\n ghost.innerHTML = input.value;\n const rect = win.getComputedStyle(ghost);\n input?.style.setProperty(\"width\", rect.width);\n });\n }\n resize();\n input?.addEventListener(\"input\", resize);\n input?.addEventListener(\"change\", resize);\n return () => {\n doc.body.removeChild(ghost);\n input?.removeEventListener(\"input\", resize);\n input?.removeEventListener(\"change\", resize);\n };\n}\nvar autoresizeTextarea = (el) => {\n if (!el) return;\n const style = getComputedStyle(el);\n const win = getWindow(el);\n const doc = getDocument(el);\n const resize = () => {\n requestAnimationFrame(() => {\n el.style.height = \"auto\";\n let newHeight;\n if (style.boxSizing === \"content-box\") {\n newHeight = el.scrollHeight - (parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));\n } else {\n newHeight = el.scrollHeight + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n }\n if (style.maxHeight !== \"none\" && newHeight > parseFloat(style.maxHeight)) {\n if (style.overflowY === \"hidden\") {\n el.style.overflowY = \"scroll\";\n }\n newHeight = parseFloat(style.maxHeight);\n } else if (style.overflowY !== \"hidden\") {\n el.style.overflowY = \"hidden\";\n }\n el.style.height = `${newHeight}px`;\n });\n };\n el.addEventListener(\"input\", resize);\n el.form?.addEventListener(\"reset\", resize);\n const elementPrototype = Object.getPrototypeOf(el);\n const descriptor = Object.getOwnPropertyDescriptor(elementPrototype, \"value\");\n Object.defineProperty(el, \"value\", {\n ...descriptor,\n set() {\n descriptor?.set?.apply(this, arguments);\n resize();\n }\n });\n const resizeObserver = new win.ResizeObserver(() => {\n requestAnimationFrame(() => resize());\n });\n resizeObserver.observe(el);\n const attrObserver = new win.MutationObserver(() => resize());\n attrObserver.observe(el, { attributes: true, attributeFilter: [\"rows\", \"placeholder\"] });\n doc.fonts?.addEventListener(\"loadingdone\", resize);\n return () => {\n el.removeEventListener(\"input\", resize);\n el.form?.removeEventListener(\"reset\", resize);\n doc.fonts?.removeEventListener(\"loadingdone\", resize);\n resizeObserver.disconnect();\n attrObserver.disconnect();\n };\n};\n\nexport { autoResizeInput, autoresizeTextarea };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { autoresizeTextarea } from '@zag-js/auto-resize';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useRef, useEffect } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from './use-field-context.js';\n\nconst FieldTextarea = forwardRef((props, ref) => {\n const { autoresize, ...textareaProps } = props;\n const textareaRef = useRef(null);\n const field = useFieldContext();\n const mergedProps = mergeProps(\n field?.getTextareaProps(),\n { style: { resize: autoresize ? \"none\" : void 0 } },\n textareaProps\n );\n useEffect(() => {\n if (!autoresize) return;\n return autoresizeTextarea(textareaRef.current);\n }, [autoresize]);\n return /* @__PURE__ */ jsx(ark.textarea, { ...mergedProps, ref: composeRefs(ref, textareaRef) });\n});\nFieldTextarea.displayName = \"FieldTextarea\";\n\nexport { FieldTextarea };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, getComputedStyle, setStyle, getEventTarget, nextTick, dataAttr } from '@zag-js/dom-query';\nimport { createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/collapsible.anatomy.ts\nvar anatomy = createAnatomy(\"collapsible\").parts(\"root\", \"trigger\", \"content\", \"indicator\");\nvar parts = anatomy.build();\n\n// src/collapsible.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `collapsible:${ctx.id}`;\nvar getContentId = (ctx) => ctx.ids?.content ?? `collapsible:${ctx.id}:content`;\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `collapsible:${ctx.id}:trigger`;\nvar getContentEl = (ctx) => ctx.getById(getContentId(ctx));\n\n// src/collapsible.connect.ts\nfunction connect(service, normalize) {\n const { state, send, context, scope, prop } = service;\n const visible = state.matches(\"open\") || state.matches(\"closing\");\n const open = state.matches(\"open\");\n const { width, height } = context.get(\"size\");\n const disabled = !!prop(\"disabled\");\n const skip = !context.get(\"initial\") && open;\n const dir = \"ltr\";\n return {\n disabled,\n visible,\n open,\n measureSize() {\n send({ type: \"size.measure\" });\n },\n setOpen(nextOpen) {\n const open2 = state.matches(\"open\");\n if (open2 === nextOpen) return;\n send({ type: nextOpen ? \"open\" : \"close\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n \"data-state\": open ? \"open\" : \"closed\",\n dir,\n id: getRootId(scope)\n });\n },\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n \"data-collapsible\": \"\",\n \"data-state\": skip ? void 0 : open ? \"open\" : \"closed\",\n id: getContentId(scope),\n \"data-disabled\": dataAttr(disabled),\n hidden: !visible,\n style: {\n \"--height\": height != null ? `${height}px` : void 0,\n \"--width\": width != null ? `${width}px` : void 0\n }\n });\n },\n getTriggerProps() {\n return normalize.element({\n ...parts.trigger.attrs,\n id: getTriggerId(scope),\n dir,\n type: \"button\",\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(disabled),\n \"aria-controls\": getContentId(scope),\n \"aria-expanded\": visible || false,\n onClick(event) {\n if (event.defaultPrevented) return;\n if (disabled) return;\n send({ type: open ? \"close\" : \"open\" });\n }\n });\n },\n getIndicatorProps() {\n return normalize.element({\n ...parts.indicator.attrs,\n dir,\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(disabled)\n });\n }\n };\n}\nvar machine = createMachine({\n initialState({ prop }) {\n const open = prop(\"open\") || prop(\"defaultOpen\");\n return open ? \"open\" : \"closed\";\n },\n context({ bindable }) {\n return {\n size: bindable(() => ({ defaultValue: { height: 0, width: 0 } })),\n initial: bindable(() => ({ defaultValue: false }))\n };\n },\n refs() {\n return {\n cleanup: void 0,\n stylesRef: void 0\n };\n },\n watch({ track, prop, action }) {\n track([() => prop(\"open\")], () => {\n action([\"setInitial\", \"computeSize\", \"toggleVisibility\"]);\n });\n },\n exit: [\"clearInitial\", \"cleanupNode\"],\n states: {\n closed: {\n on: {\n \"controlled.open\": {\n target: \"open\"\n },\n open: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setInitial\", \"computeSize\", \"invokeOnOpen\"]\n }\n ]\n }\n },\n closing: {\n effects: [\"trackExitAnimation\"],\n on: {\n \"controlled.close\": {\n target: \"closed\"\n },\n \"controlled.open\": {\n target: \"open\"\n },\n open: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setInitial\", \"invokeOnOpen\"]\n }\n ],\n close: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnExitComplete\"]\n },\n {\n target: \"closed\",\n actions: [\"setInitial\", \"computeSize\", \"invokeOnExitComplete\"]\n }\n ],\n \"animation.end\": {\n target: \"closed\",\n actions: [\"invokeOnExitComplete\", \"clearInitial\"]\n }\n }\n },\n open: {\n effects: [\"trackEnterAnimation\"],\n on: {\n \"controlled.close\": {\n target: \"closing\"\n },\n close: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closing\",\n actions: [\"setInitial\", \"computeSize\", \"invokeOnClose\"]\n }\n ],\n \"size.measure\": {\n actions: [\"measureSize\"]\n },\n \"animation.end\": {\n actions: [\"clearInitial\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n isOpenControlled: ({ prop }) => prop(\"open\") != void 0\n },\n effects: {\n trackEnterAnimation: ({ send, scope }) => {\n let cleanup;\n const rafCleanup = raf(() => {\n const contentEl = getContentEl(scope);\n if (!contentEl) return;\n const animationName = getComputedStyle(contentEl).animationName;\n const hasNoAnimation = !animationName || animationName === \"none\";\n if (hasNoAnimation) {\n send({ type: \"animation.end\" });\n return;\n }\n const onEnd = (event) => {\n const target = getEventTarget(event);\n if (target === contentEl) {\n send({ type: \"animation.end\" });\n }\n };\n contentEl.addEventListener(\"animationend\", onEnd);\n cleanup = () => {\n contentEl.removeEventListener(\"animationend\", onEnd);\n };\n });\n return () => {\n rafCleanup();\n cleanup?.();\n };\n },\n trackExitAnimation: ({ send, scope }) => {\n let cleanup;\n const rafCleanup = raf(() => {\n const contentEl = getContentEl(scope);\n if (!contentEl) return;\n const animationName = getComputedStyle(contentEl).animationName;\n const hasNoAnimation = !animationName || animationName === \"none\";\n if (hasNoAnimation) {\n send({ type: \"animation.end\" });\n return;\n }\n const onEnd = (event) => {\n const target = getEventTarget(event);\n if (target === contentEl) {\n send({ type: \"animation.end\" });\n }\n };\n contentEl.addEventListener(\"animationend\", onEnd);\n const restoreStyles = setStyle(contentEl, {\n animationFillMode: \"forwards\"\n });\n cleanup = () => {\n contentEl.removeEventListener(\"animationend\", onEnd);\n nextTick(() => restoreStyles());\n };\n });\n return () => {\n rafCleanup();\n cleanup?.();\n };\n }\n },\n actions: {\n setInitial: ({ context }) => {\n context.set(\"initial\", true);\n },\n clearInitial: ({ context }) => {\n context.set(\"initial\", false);\n },\n cleanupNode: ({ refs }) => {\n refs.set(\"stylesRef\", null);\n },\n measureSize: ({ context, flush, scope }) => {\n const contentEl = getContentEl(scope);\n if (!contentEl) return;\n const { height, width } = contentEl.getBoundingClientRect();\n flush(() => {\n context.set(\"size\", { height, width });\n });\n },\n computeSize: ({ refs, scope, flush, context }) => {\n refs.get(\"cleanup\")?.();\n const rafCleanup = raf(() => {\n const contentEl = getContentEl(scope);\n if (!contentEl) return;\n const hidden = contentEl.hidden;\n contentEl.style.animationName = \"none\";\n contentEl.style.animationDuration = \"0s\";\n contentEl.hidden = false;\n const rect = contentEl.getBoundingClientRect();\n flush(() => {\n context.set(\"size\", { height: rect.height, width: rect.width });\n });\n if (context.get(\"initial\")) {\n contentEl.style.animationName = \"\";\n contentEl.style.animationDuration = \"\";\n }\n contentEl.hidden = hidden;\n });\n refs.set(\"cleanup\", rafCleanup);\n },\n invokeOnOpen: ({ prop }) => {\n prop(\"onOpenChange\")?.({ open: true });\n },\n invokeOnClose: ({ prop }) => {\n prop(\"onOpenChange\")?.({ open: false });\n },\n invokeOnExitComplete: ({ prop }) => {\n prop(\"onExitComplete\")?.();\n },\n toggleVisibility: ({ prop, send }) => {\n send({ type: prop(\"open\") ? \"controlled.open\" : \"controlled.close\" });\n }\n }\n }\n});\nvar props = createProps()([\n \"dir\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"onExitComplete\",\n \"onOpenChange\",\n \"defaultOpen\",\n \"open\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { parseColor, getColorAreaGradient, normalizeColor } from '@zag-js/color-utils';\nimport { raf, getInitialFocus, dispatchInputValueEvent, disableTextSelection, trackPointerMove, trackFormControl, setElementValue, getRelativePoint, queryAll, dataAttr, visuallyHiddenStyle, getEventStep, getEventKey, isLeftClick, isModifierKey, getEventPoint, query } from '@zag-js/dom-query';\nimport { getPlacement, getPlacementStyles } from '@zag-js/popper';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { trackDismissableElement } from '@zag-js/dismissable';\nimport { tryCatch, createSplitProps } from '@zag-js/utils';\nimport { createProps } from '@zag-js/types';\n\n// src/color-picker.anatomy.ts\nvar anatomy = createAnatomy(\"color-picker\", [\n \"root\",\n \"label\",\n \"control\",\n \"trigger\",\n \"positioner\",\n \"content\",\n \"area\",\n \"areaThumb\",\n \"valueText\",\n \"areaBackground\",\n \"channelSlider\",\n \"channelSliderLabel\",\n \"channelSliderTrack\",\n \"channelSliderThumb\",\n \"channelSliderValueText\",\n \"channelInput\",\n \"transparencyGrid\",\n \"swatchGroup\",\n \"swatchTrigger\",\n \"swatchIndicator\",\n \"swatch\",\n \"eyeDropperTrigger\",\n \"formatTrigger\",\n \"formatSelect\"\n]);\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `color-picker:${ctx.id}`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `color-picker:${ctx.id}:label`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `color-picker:${ctx.id}:hidden-input`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `color-picker:${ctx.id}:control`;\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `color-picker:${ctx.id}:trigger`;\nvar getContentId = (ctx) => ctx.ids?.content ?? `color-picker:${ctx.id}:content`;\nvar getPositionerId = (ctx) => ctx.ids?.positioner ?? `color-picker:${ctx.id}:positioner`;\nvar getFormatSelectId = (ctx) => ctx.ids?.formatSelect ?? `color-picker:${ctx.id}:format-select`;\nvar getAreaId = (ctx) => ctx.ids?.area ?? `color-picker:${ctx.id}:area`;\nvar getAreaGradientId = (ctx) => ctx.ids?.areaGradient ?? `color-picker:${ctx.id}:area-gradient`;\nvar getAreaThumbId = (ctx) => ctx.ids?.areaThumb ?? `color-picker:${ctx.id}:area-thumb`;\nvar getChannelSliderTrackId = (ctx, channel) => ctx.ids?.channelSliderTrack?.(channel) ?? `color-picker:${ctx.id}:slider-track:${channel}`;\nvar getChannelSliderThumbId = (ctx, channel) => ctx.ids?.channelSliderThumb?.(channel) ?? `color-picker:${ctx.id}:slider-thumb:${channel}`;\nvar getContentEl = (ctx) => ctx.getById(getContentId(ctx));\nvar getAreaThumbEl = (ctx) => ctx.getById(getAreaThumbId(ctx));\nvar getChannelSliderThumbEl = (ctx, channel) => ctx.getById(getChannelSliderThumbId(ctx, channel));\nvar getFormatSelectEl = (ctx) => ctx.getById(getFormatSelectId(ctx));\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\nvar getAreaEl = (ctx) => ctx.getById(getAreaId(ctx));\nvar getAreaValueFromPoint = (ctx, point) => {\n const areaEl = getAreaEl(ctx);\n if (!areaEl) return;\n const { percent } = getRelativePoint(point, areaEl);\n return percent;\n};\nvar getControlEl = (ctx) => ctx.getById(getControlId(ctx));\nvar getTriggerEl = (ctx) => ctx.getById(getTriggerId(ctx));\nvar getPositionerEl = (ctx) => ctx.getById(getPositionerId(ctx));\nvar getChannelSliderTrackEl = (ctx, channel) => ctx.getById(getChannelSliderTrackId(ctx, channel));\nvar getChannelSliderValueFromPoint = (ctx, point, channel) => {\n const trackEl = getChannelSliderTrackEl(ctx, channel);\n if (!trackEl) return;\n const { percent } = getRelativePoint(point, trackEl);\n return percent;\n};\nvar getChannelInputEls = (ctx) => {\n return [\n ...queryAll(getContentEl(ctx), \"input[data-channel]\"),\n ...queryAll(getControlEl(ctx), \"input[data-channel]\")\n ];\n};\nfunction getChannelDisplayColor(color, channel) {\n switch (channel) {\n case \"hue\":\n return parseColor(`hsl(${color.getChannelValue(\"hue\")}, 100%, 50%)`);\n case \"lightness\":\n case \"brightness\":\n case \"saturation\":\n case \"red\":\n case \"green\":\n case \"blue\":\n return color.withChannelValue(\"alpha\", 1);\n case \"alpha\": {\n return color;\n }\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n}\nfunction getChannelValue(color, channel) {\n if (channel == null) return \"\";\n if (channel === \"hex\") {\n return color.toString(\"hex\");\n }\n if (channel === \"css\") {\n return color.toString(\"css\");\n }\n if (channel in color) {\n return color.getChannelValue(channel).toString();\n }\n const isHSL = color.getFormat() === \"hsla\";\n switch (channel) {\n case \"hue\":\n return isHSL ? color.toFormat(\"hsla\").getChannelValue(\"hue\").toString() : color.toFormat(\"hsba\").getChannelValue(\"hue\").toString();\n case \"saturation\":\n return isHSL ? color.toFormat(\"hsla\").getChannelValue(\"saturation\").toString() : color.toFormat(\"hsba\").getChannelValue(\"saturation\").toString();\n case \"lightness\":\n return color.toFormat(\"hsla\").getChannelValue(\"lightness\").toString();\n case \"brightness\":\n return color.toFormat(\"hsba\").getChannelValue(\"brightness\").toString();\n case \"red\":\n case \"green\":\n case \"blue\":\n return color.toFormat(\"rgba\").getChannelValue(channel).toString();\n default:\n return color.getChannelValue(channel).toString();\n }\n}\nfunction getChannelRange(color, channel) {\n switch (channel) {\n case \"hex\":\n const minColor = parseColor(\"#000000\");\n const maxColor = parseColor(\"#FFFFFF\");\n return {\n minValue: minColor.toHexInt(),\n maxValue: maxColor.toHexInt(),\n pageSize: 10,\n step: 1\n };\n case \"css\":\n return void 0;\n case \"hue\":\n case \"saturation\":\n case \"lightness\":\n return color.toFormat(\"hsla\").getChannelRange(channel);\n case \"brightness\":\n return color.toFormat(\"hsba\").getChannelRange(channel);\n case \"red\":\n case \"green\":\n case \"blue\":\n return color.toFormat(\"rgba\").getChannelRange(channel);\n default:\n return color.getChannelRange(channel);\n }\n}\n\n// src/utils/get-slider-background.ts\nfunction getSliderBackgroundDirection(orientation, dir) {\n if (orientation === \"vertical\") {\n return \"top\";\n } else if (dir === \"ltr\") {\n return \"right\";\n } else {\n return \"left\";\n }\n}\nvar getSliderBackground = (props2) => {\n const { channel, value, dir, orientation } = props2;\n const bgDirection = getSliderBackgroundDirection(orientation, dir);\n const { minValue, maxValue } = value.getChannelRange(channel);\n switch (channel) {\n case \"hue\":\n return `linear-gradient(to ${bgDirection}, rgb(255, 0, 0) 0%, rgb(255, 255, 0) 17%, rgb(0, 255, 0) 33%, rgb(0, 255, 255) 50%, rgb(0, 0, 255) 67%, rgb(255, 0, 255) 83%, rgb(255, 0, 0) 100%)`;\n case \"lightness\": {\n let start = value.withChannelValue(channel, minValue).toString(\"css\");\n let middle = value.withChannelValue(channel, (maxValue - minValue) / 2).toString(\"css\");\n let end = value.withChannelValue(channel, maxValue).toString(\"css\");\n return `linear-gradient(to ${bgDirection}, ${start}, ${middle}, ${end})`;\n }\n case \"saturation\":\n case \"brightness\":\n case \"red\":\n case \"green\":\n case \"blue\":\n case \"alpha\": {\n let start = value.withChannelValue(channel, minValue).toString(\"css\");\n let end = value.withChannelValue(channel, maxValue).toString(\"css\");\n return `linear-gradient(to ${bgDirection}, ${start}, ${end})`;\n }\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n};\n\n// src/color-picker.connect.ts\nfunction connect(service, normalize) {\n const { context, send, prop, computed, state, scope } = service;\n const value = context.get(\"value\");\n const format = context.get(\"format\");\n const areaValue = computed(\"areaValue\");\n const valueAsString = computed(\"valueAsString\");\n const disabled = computed(\"disabled\");\n const interactive = computed(\"interactive\");\n const dragging = state.hasTag(\"dragging\");\n const open = state.hasTag(\"open\");\n const focused = state.hasTag(\"focused\");\n const getAreaChannels = (props2) => {\n const channels = areaValue.getChannels();\n return {\n xChannel: props2.xChannel ?? channels[1],\n yChannel: props2.yChannel ?? channels[2]\n };\n };\n const currentPlacement = context.get(\"currentPlacement\");\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: currentPlacement\n });\n function getSwatchTriggerState(props2) {\n const color = normalizeColor(props2.value).toFormat(context.get(\"format\"));\n return {\n value: color,\n valueAsString: color.toString(\"hex\"),\n checked: color.isEqual(value),\n disabled: props2.disabled || !interactive\n };\n }\n return {\n dragging,\n open,\n valueAsString,\n value,\n setOpen(nextOpen) {\n const open2 = state.hasTag(\"open\");\n if (open2 === nextOpen) return;\n send({ type: nextOpen ? \"OPEN\" : \"CLOSE\" });\n },\n setValue(value2) {\n send({ type: \"VALUE.SET\", value: normalizeColor(value2), src: \"set-color\" });\n },\n getChannelValue(channel) {\n return getChannelValue(value, channel);\n },\n getChannelValueText(channel, locale) {\n return value.formatChannelValue(channel, locale);\n },\n setChannelValue(channel, channelValue) {\n const color = value.withChannelValue(channel, channelValue);\n send({ type: \"VALUE.SET\", value: color, src: \"set-channel\" });\n },\n format: context.get(\"format\"),\n setFormat(format2) {\n const formatValue = value.toFormat(format2);\n send({ type: \"VALUE.SET\", value: formatValue, src: \"set-format\" });\n },\n alpha: value.getChannelValue(\"alpha\"),\n setAlpha(alphaValue) {\n const color = value.withChannelValue(\"alpha\", alphaValue);\n send({ type: \"VALUE.SET\", value: color, src: \"set-alpha\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n style: {\n \"--value\": value.toString(\"css\")\n }\n });\n },\n getLabelProps() {\n return normalize.element({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n id: getLabelId(scope),\n htmlFor: getHiddenInputId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-focus\": dataAttr(focused),\n onClick(event) {\n event.preventDefault();\n const inputEl = query(getControlEl(scope), \"[data-channel=hex]\");\n inputEl?.focus({ preventScroll: true });\n }\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n id: getControlId(scope),\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(focused)\n });\n },\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n id: getTriggerId(scope),\n dir: prop(\"dir\"),\n disabled,\n \"aria-label\": `select color. current color is ${valueAsString}`,\n \"aria-controls\": getContentId(scope),\n \"aria-labelledby\": getLabelId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-placement\": currentPlacement,\n \"aria-expanded\": dataAttr(open),\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(focused),\n type: \"button\",\n onClick() {\n if (!interactive) return;\n send({ type: \"TRIGGER.CLICK\" });\n },\n onBlur() {\n if (!interactive) return;\n send({ type: \"TRIGGER.BLUR\" });\n },\n style: {\n position: \"relative\"\n }\n });\n },\n getPositionerProps() {\n return normalize.element({\n ...parts.positioner.attrs,\n id: getPositionerId(scope),\n dir: prop(\"dir\"),\n style: popperStyles.floating\n });\n },\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n id: getContentId(scope),\n dir: prop(\"dir\"),\n tabIndex: -1,\n \"data-placement\": currentPlacement,\n \"data-state\": open ? \"open\" : \"closed\",\n hidden: !open\n });\n },\n getValueTextProps() {\n return normalize.element({\n ...parts.valueText.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-focus\": dataAttr(focused)\n });\n },\n getAreaProps(props2 = {}) {\n const { xChannel, yChannel } = getAreaChannels(props2);\n const { areaStyles } = getColorAreaGradient(areaValue, {\n xChannel,\n yChannel,\n dir: prop(\"dir\")\n });\n return normalize.element({\n ...parts.area.attrs,\n id: getAreaId(scope),\n role: \"group\",\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n if (isModifierKey(event)) return;\n const point = getEventPoint(event);\n const channel = { xChannel, yChannel };\n send({ type: \"AREA.POINTER_DOWN\", point, channel, id: \"area\" });\n event.preventDefault();\n },\n style: {\n position: \"relative\",\n touchAction: \"none\",\n forcedColorAdjust: \"none\",\n ...areaStyles\n }\n });\n },\n getAreaBackgroundProps(props2 = {}) {\n const { xChannel, yChannel } = getAreaChannels(props2);\n const { areaGradientStyles } = getColorAreaGradient(areaValue, {\n xChannel,\n yChannel,\n dir: prop(\"dir\")\n });\n return normalize.element({\n ...parts.areaBackground.attrs,\n id: getAreaGradientId(scope),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n style: {\n position: \"relative\",\n touchAction: \"none\",\n forcedColorAdjust: \"none\",\n ...areaGradientStyles\n }\n });\n },\n getAreaThumbProps(props2 = {}) {\n const { xChannel, yChannel } = getAreaChannels(props2);\n const channel = { xChannel, yChannel };\n const xPercent = areaValue.getChannelValuePercent(xChannel);\n const yPercent = 1 - areaValue.getChannelValuePercent(yChannel);\n const xValue = areaValue.getChannelValue(xChannel);\n const yValue = areaValue.getChannelValue(yChannel);\n const color = areaValue.withChannelValue(\"alpha\", 1).toString(\"css\");\n return normalize.element({\n ...parts.areaThumb.attrs,\n id: getAreaThumbId(scope),\n dir: prop(\"dir\"),\n tabIndex: disabled ? void 0 : 0,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n role: \"slider\",\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n \"aria-valuenow\": xValue,\n \"aria-label\": `${xChannel} and ${yChannel}`,\n \"aria-roledescription\": \"2d slider\",\n \"aria-valuetext\": `${xChannel} ${xValue}, ${yChannel} ${yValue}`,\n style: {\n position: \"absolute\",\n left: `${xPercent * 100}%`,\n top: `${yPercent * 100}%`,\n transform: \"translate(-50%, -50%)\",\n touchAction: \"none\",\n forcedColorAdjust: \"none\",\n \"--color\": color,\n background: color\n },\n onFocus() {\n if (!interactive) return;\n send({ type: \"AREA.FOCUS\", id: \"area\", channel });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const step = getEventStep(event);\n const keyMap = {\n ArrowUp() {\n send({ type: \"AREA.ARROW_UP\", channel, step });\n },\n ArrowDown() {\n send({ type: \"AREA.ARROW_DOWN\", channel, step });\n },\n ArrowLeft() {\n send({ type: \"AREA.ARROW_LEFT\", channel, step });\n },\n ArrowRight() {\n send({ type: \"AREA.ARROW_RIGHT\", channel, step });\n },\n PageUp() {\n send({ type: \"AREA.PAGE_UP\", channel, step });\n },\n PageDown() {\n send({ type: \"AREA.PAGE_DOWN\", channel, step });\n },\n Escape(event2) {\n event2.stopPropagation();\n }\n };\n const exec = keyMap[getEventKey(event, {\n dir: prop(\"dir\")\n })];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n }\n });\n },\n getTransparencyGridProps(props2 = {}) {\n const { size = \"12px\" } = props2;\n return normalize.element({\n ...parts.transparencyGrid.attrs,\n style: {\n \"--size\": size,\n width: \"100%\",\n height: \"100%\",\n position: \"absolute\",\n backgroundColor: \"#fff\",\n backgroundImage: \"conic-gradient(#eeeeee 0 25%, transparent 0 50%, #eeeeee 0 75%, transparent 0)\",\n backgroundSize: \"var(--size) var(--size)\",\n inset: \"0px\",\n zIndex: \"auto\",\n pointerEvents: \"none\"\n }\n });\n },\n getChannelSliderProps(props2) {\n const { orientation = \"horizontal\", channel, format: format2 } = props2;\n return normalize.element({\n ...parts.channelSlider.attrs,\n \"data-channel\": channel,\n \"data-orientation\": orientation,\n role: \"presentation\",\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n if (isModifierKey(event)) return;\n const point = getEventPoint(event);\n send({ type: \"CHANNEL_SLIDER.POINTER_DOWN\", channel, format: format2, point, id: channel, orientation });\n event.preventDefault();\n },\n style: {\n position: \"relative\",\n touchAction: \"none\"\n }\n });\n },\n getChannelSliderTrackProps(props2) {\n const { orientation = \"horizontal\", channel, format: format2 } = props2;\n const normalizedValue = format2 ? value.toFormat(format2) : areaValue;\n return normalize.element({\n ...parts.channelSliderTrack.attrs,\n id: getChannelSliderTrackId(scope, channel),\n role: \"group\",\n \"data-channel\": channel,\n \"data-orientation\": orientation,\n style: {\n position: \"relative\",\n forcedColorAdjust: \"none\",\n backgroundImage: getSliderBackground({\n orientation,\n channel,\n dir: prop(\"dir\"),\n value: normalizedValue\n })\n }\n });\n },\n getChannelSliderLabelProps(props2) {\n const { channel } = props2;\n return normalize.element({\n ...parts.channelSliderLabel.attrs,\n \"data-channel\": channel,\n onClick(event) {\n if (!interactive) return;\n event.preventDefault();\n const thumbId = getChannelSliderThumbId(scope, channel);\n scope.getById(thumbId)?.focus({ preventScroll: true });\n },\n style: {\n userSelect: \"none\",\n WebkitUserSelect: \"none\"\n }\n });\n },\n getChannelSliderValueTextProps(props2) {\n return normalize.element({\n ...parts.channelSliderValueText.attrs,\n \"data-channel\": props2.channel\n });\n },\n getChannelSliderThumbProps(props2) {\n const { orientation = \"horizontal\", channel, format: format2 } = props2;\n const normalizedValue = format2 ? value.toFormat(format2) : areaValue;\n const channelRange = normalizedValue.getChannelRange(channel);\n const channelValue = normalizedValue.getChannelValue(channel);\n const offset = (channelValue - channelRange.minValue) / (channelRange.maxValue - channelRange.minValue);\n const placementStyles = orientation === \"horizontal\" ? { left: `${offset * 100}%`, top: \"50%\" } : { top: `${offset * 100}%`, left: \"50%\" };\n return normalize.element({\n ...parts.channelSliderThumb.attrs,\n id: getChannelSliderThumbId(scope, channel),\n role: \"slider\",\n \"aria-label\": channel,\n tabIndex: disabled ? void 0 : 0,\n \"data-channel\": channel,\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": orientation,\n \"aria-disabled\": dataAttr(disabled),\n \"aria-orientation\": orientation,\n \"aria-valuemax\": channelRange.maxValue,\n \"aria-valuemin\": channelRange.minValue,\n \"aria-valuenow\": channelValue,\n \"aria-valuetext\": `${channel} ${channelValue}`,\n style: {\n forcedColorAdjust: \"none\",\n position: \"absolute\",\n background: getChannelDisplayColor(areaValue, channel).toString(\"css\"),\n ...placementStyles\n },\n onFocus() {\n if (!interactive) return;\n send({ type: \"CHANNEL_SLIDER.FOCUS\", channel });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const step = getEventStep(event) * channelRange.step;\n const keyMap = {\n ArrowUp() {\n send({ type: \"CHANNEL_SLIDER.ARROW_UP\", channel, step });\n },\n ArrowDown() {\n send({ type: \"CHANNEL_SLIDER.ARROW_DOWN\", channel, step });\n },\n ArrowLeft() {\n send({ type: \"CHANNEL_SLIDER.ARROW_LEFT\", channel, step });\n },\n ArrowRight() {\n send({ type: \"CHANNEL_SLIDER.ARROW_RIGHT\", channel, step });\n },\n PageUp() {\n send({ type: \"CHANNEL_SLIDER.PAGE_UP\", channel });\n },\n PageDown() {\n send({ type: \"CHANNEL_SLIDER.PAGE_DOWN\", channel });\n },\n Home() {\n send({ type: \"CHANNEL_SLIDER.HOME\", channel });\n },\n End() {\n send({ type: \"CHANNEL_SLIDER.END\", channel });\n },\n Escape(event2) {\n event2.stopPropagation();\n }\n };\n const exec = keyMap[getEventKey(event, {\n dir: prop(\"dir\")\n })];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n }\n });\n },\n getChannelInputProps(props2) {\n const { channel } = props2;\n const isTextField = channel === \"hex\" || channel === \"css\";\n const channelRange = getChannelRange(value, channel);\n return normalize.input({\n ...parts.channelInput.attrs,\n dir: prop(\"dir\"),\n type: isTextField ? \"text\" : \"number\",\n \"data-channel\": channel,\n \"aria-label\": channel,\n spellCheck: false,\n autoComplete: \"off\",\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n readOnly: prop(\"readOnly\"),\n defaultValue: getChannelValue(value, channel),\n min: channelRange?.minValue,\n max: channelRange?.maxValue,\n step: channelRange?.step,\n onBeforeInput(event) {\n if (isTextField || !interactive) return;\n const value2 = event.currentTarget.value;\n if (value2.match(/[^0-9.]/g)) {\n event.preventDefault();\n }\n },\n onFocus(event) {\n if (!interactive) return;\n send({ type: \"CHANNEL_INPUT.FOCUS\", channel });\n event.currentTarget.select();\n },\n onBlur(event) {\n if (!interactive) return;\n const value2 = isTextField ? event.currentTarget.value : event.currentTarget.valueAsNumber;\n send({ type: \"CHANNEL_INPUT.BLUR\", channel, value: value2, isTextField });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n if (event.key === \"Enter\") {\n const value2 = isTextField ? event.currentTarget.value : event.currentTarget.valueAsNumber;\n send({ type: \"CHANNEL_INPUT.CHANGE\", channel, value: value2, isTextField });\n event.preventDefault();\n }\n },\n style: {\n appearance: \"none\",\n WebkitAppearance: \"none\",\n MozAppearance: \"textfield\"\n }\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n type: \"text\",\n disabled,\n name: prop(\"name\"),\n tabIndex: -1,\n readOnly: prop(\"readOnly\"),\n required: prop(\"required\"),\n id: getHiddenInputId(scope),\n style: visuallyHiddenStyle,\n defaultValue: valueAsString\n });\n },\n getEyeDropperTriggerProps() {\n return normalize.button({\n ...parts.eyeDropperTrigger.attrs,\n type: \"button\",\n dir: prop(\"dir\"),\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"aria-label\": \"Pick a color from the screen\",\n onClick() {\n if (!interactive) return;\n send({ type: \"EYEDROPPER.CLICK\" });\n }\n });\n },\n getSwatchGroupProps() {\n return normalize.element({\n ...parts.swatchGroup.attrs,\n role: \"group\"\n });\n },\n getSwatchTriggerState,\n getSwatchTriggerProps(props2) {\n const swatchState = getSwatchTriggerState(props2);\n return normalize.button({\n ...parts.swatchTrigger.attrs,\n disabled: swatchState.disabled,\n dir: prop(\"dir\"),\n type: \"button\",\n \"aria-label\": `select ${swatchState.valueAsString} as the color`,\n \"data-state\": swatchState.checked ? \"checked\" : \"unchecked\",\n \"data-value\": swatchState.valueAsString,\n \"data-disabled\": dataAttr(swatchState.disabled),\n onClick() {\n if (swatchState.disabled) return;\n send({ type: \"SWATCH_TRIGGER.CLICK\", value: swatchState.value });\n },\n style: {\n \"--color\": swatchState.valueAsString,\n position: \"relative\"\n }\n });\n },\n getSwatchIndicatorProps(props2) {\n const swatchState = getSwatchTriggerState(props2);\n return normalize.element({\n ...parts.swatchIndicator.attrs,\n dir: prop(\"dir\"),\n hidden: !swatchState.checked\n });\n },\n getSwatchProps(props2) {\n const { respectAlpha = true } = props2;\n const swatchState = getSwatchTriggerState(props2);\n const color = swatchState.value.toString(respectAlpha ? \"css\" : \"hex\");\n return normalize.element({\n ...parts.swatch.attrs,\n dir: prop(\"dir\"),\n \"data-state\": swatchState.checked ? \"checked\" : \"unchecked\",\n \"data-value\": swatchState.valueAsString,\n style: {\n \"--color\": color,\n position: \"relative\",\n background: color\n }\n });\n },\n getFormatTriggerProps() {\n return normalize.button({\n ...parts.formatTrigger.attrs,\n dir: prop(\"dir\"),\n type: \"button\",\n \"aria-label\": `change color format to ${getNextFormat(format)}`,\n onClick(event) {\n if (event.currentTarget.disabled) return;\n const nextFormat = getNextFormat(format);\n send({ type: \"FORMAT.SET\", format: nextFormat, src: \"format-trigger\" });\n }\n });\n },\n getFormatSelectProps() {\n return normalize.select({\n ...parts.formatSelect.attrs,\n \"aria-label\": \"change color format\",\n dir: prop(\"dir\"),\n defaultValue: prop(\"format\"),\n disabled,\n onChange(event) {\n const format2 = assertFormat(event.currentTarget.value);\n send({ type: \"FORMAT.SET\", format: format2, src: \"format-select\" });\n }\n });\n }\n };\n}\nvar formats = [\"hsba\", \"hsla\", \"rgba\"];\nvar formatRegex = new RegExp(`^(${formats.join(\"|\")})$`);\nfunction getNextFormat(format) {\n const index = formats.indexOf(format);\n return formats[index + 1] ?? formats[0];\n}\nfunction assertFormat(format) {\n if (formatRegex.test(format)) return format;\n throw new Error(`Unsupported color format: ${format}`);\n}\nvar parse = (colorString) => {\n return parseColor(colorString);\n};\n\n// src/color-picker.machine.ts\nvar { and } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n dir: \"ltr\",\n defaultValue: parse(\"#000000\"),\n defaultFormat: \"rgba\",\n openAutoFocus: true,\n ...props2,\n positioning: {\n placement: \"bottom\",\n ...props2.positioning\n }\n };\n },\n initialState({ prop }) {\n const open = prop(\"open\") || prop(\"defaultOpen\");\n return open ? \"open\" : \"idle\";\n },\n context({ prop, bindable, getContext }) {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n isEqual(a, b) {\n return a.toString(\"css\") === b?.toString(\"css\");\n },\n hash(a) {\n return a.toString(\"css\");\n },\n onChange(value) {\n const ctx = getContext();\n const valueAsString = value.toString(ctx.get(\"format\"));\n prop(\"onValueChange\")?.({ value, valueAsString });\n }\n })),\n format: bindable(() => ({\n defaultValue: prop(\"defaultFormat\"),\n value: prop(\"format\"),\n onChange(format) {\n prop(\"onFormatChange\")?.({ format });\n }\n })),\n activeId: bindable(() => ({ defaultValue: null })),\n activeChannel: bindable(() => ({ defaultValue: null })),\n activeOrientation: bindable(() => ({ defaultValue: null })),\n fieldsetDisabled: bindable(() => ({ defaultValue: false })),\n restoreFocus: bindable(() => ({ defaultValue: true })),\n currentPlacement: bindable(() => ({\n defaultValue: void 0\n }))\n };\n },\n computed: {\n rtl: ({ prop }) => prop(\"dir\") === \"rtl\",\n disabled: ({ prop, context }) => !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n interactive: ({ prop }) => !(prop(\"disabled\") || prop(\"readOnly\")),\n valueAsString: ({ context }) => context.get(\"value\").toString(context.get(\"format\")),\n areaValue: ({ context }) => {\n const format = context.get(\"format\").startsWith(\"hsl\") ? \"hsla\" : \"hsba\";\n return context.get(\"value\").toFormat(format);\n }\n },\n effects: [\"trackFormControl\"],\n watch({ prop, context, action, track }) {\n track([() => context.hash(\"value\")], () => {\n action([\"syncInputElements\", \"dispatchChangeEvent\"]);\n });\n track([() => context.get(\"format\")], () => {\n action([\"syncFormatSelectElement\"]);\n });\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"]);\n });\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n },\n \"FORMAT.SET\": {\n actions: [\"setFormat\"]\n },\n \"CHANNEL_INPUT.CHANGE\": {\n actions: [\"setChannelColorFromInput\"]\n },\n \"EYEDROPPER.CLICK\": {\n actions: [\"openEyeDropper\"]\n },\n \"SWATCH_TRIGGER.CLICK\": {\n actions: [\"setValue\"]\n }\n },\n states: {\n idle: {\n tags: [\"closed\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\",\n actions: [\"setInitialFocus\"]\n },\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"CHANNEL_INPUT.FOCUS\": {\n target: \"focused\",\n actions: [\"setActiveChannel\"]\n }\n }\n },\n focused: {\n tags: [\"closed\", \"focused\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\",\n actions: [\"setInitialFocus\"]\n },\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"CHANNEL_INPUT.FOCUS\": {\n actions: [\"setActiveChannel\"]\n },\n \"CHANNEL_INPUT.BLUR\": {\n target: \"idle\",\n actions: [\"setChannelColorFromInput\"]\n },\n \"TRIGGER.BLUR\": {\n target: \"idle\"\n }\n }\n },\n open: {\n tags: [\"open\"],\n effects: [\"trackPositioning\", \"trackDismissableElement\"],\n on: {\n \"CONTROLLED.CLOSE\": [\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"setReturnFocus\"]\n },\n {\n target: \"idle\"\n }\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"AREA.POINTER_DOWN\": {\n target: \"open:dragging\",\n actions: [\"setActiveChannel\", \"setAreaColorFromPoint\", \"focusAreaThumb\"]\n },\n \"AREA.FOCUS\": {\n actions: [\"setActiveChannel\"]\n },\n \"CHANNEL_SLIDER.POINTER_DOWN\": {\n target: \"open:dragging\",\n actions: [\"setActiveChannel\", \"setChannelColorFromPoint\", \"focusChannelThumb\"]\n },\n \"CHANNEL_SLIDER.FOCUS\": {\n actions: [\"setActiveChannel\"]\n },\n \"AREA.ARROW_LEFT\": {\n actions: [\"decrementAreaXChannel\"]\n },\n \"AREA.ARROW_RIGHT\": {\n actions: [\"incrementAreaXChannel\"]\n },\n \"AREA.ARROW_UP\": {\n actions: [\"incrementAreaYChannel\"]\n },\n \"AREA.ARROW_DOWN\": {\n actions: [\"decrementAreaYChannel\"]\n },\n \"AREA.PAGE_UP\": {\n actions: [\"incrementAreaXChannel\"]\n },\n \"AREA.PAGE_DOWN\": {\n actions: [\"decrementAreaXChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_LEFT\": {\n actions: [\"decrementChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_RIGHT\": {\n actions: [\"incrementChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_UP\": {\n actions: [\"incrementChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_DOWN\": {\n actions: [\"decrementChannel\"]\n },\n \"CHANNEL_SLIDER.PAGE_UP\": {\n actions: [\"incrementChannel\"]\n },\n \"CHANNEL_SLIDER.PAGE_DOWN\": {\n actions: [\"decrementChannel\"]\n },\n \"CHANNEL_SLIDER.HOME\": {\n actions: [\"setChannelToMin\"]\n },\n \"CHANNEL_SLIDER.END\": {\n actions: [\"setChannelToMax\"]\n },\n \"CHANNEL_INPUT.BLUR\": {\n actions: [\"setChannelColorFromInput\"]\n },\n INTERACT_OUTSIDE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"invokeOnClose\", \"setReturnFocus\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"SWATCH_TRIGGER.CLICK\": [\n {\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n actions: [\"setValue\", \"invokeOnClose\"]\n },\n {\n guard: \"closeOnSelect\",\n target: \"focused\",\n actions: [\"setValue\", \"invokeOnClose\", \"setReturnFocus\"]\n },\n {\n actions: [\"setValue\"]\n }\n ]\n }\n },\n \"open:dragging\": {\n tags: [\"open\"],\n exit: [\"clearActiveChannel\"],\n effects: [\"trackPointerMove\", \"disableTextSelection\", \"trackPositioning\", \"trackDismissableElement\"],\n on: {\n \"CONTROLLED.CLOSE\": [\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"setReturnFocus\"]\n },\n {\n target: \"idle\"\n }\n ],\n \"AREA.POINTER_MOVE\": {\n actions: [\"setAreaColorFromPoint\", \"focusAreaThumb\"]\n },\n \"AREA.POINTER_UP\": {\n target: \"open\",\n actions: [\"invokeOnChangeEnd\"]\n },\n \"CHANNEL_SLIDER.POINTER_MOVE\": {\n actions: [\"setChannelColorFromPoint\", \"focusChannelThumb\"]\n },\n \"CHANNEL_SLIDER.POINTER_UP\": {\n target: \"open\",\n actions: [\"invokeOnChangeEnd\"]\n },\n INTERACT_OUTSIDE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"invokeOnClose\", \"setReturnFocus\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ]\n }\n }\n },\n implementations: {\n guards: {\n closeOnSelect: ({ prop }) => !!prop(\"closeOnSelect\"),\n isOpenControlled: ({ prop }) => prop(\"open\") != null,\n shouldRestoreFocus: ({ context }) => !!context.get(\"restoreFocus\")\n },\n effects: {\n trackPositioning({ context, prop, scope }) {\n if (!context.get(\"currentPlacement\")) {\n context.set(\"currentPlacement\", prop(\"positioning\")?.placement);\n }\n const anchorEl = getTriggerEl(scope);\n const getPositionerEl2 = () => getPositionerEl(scope);\n return getPlacement(anchorEl, getPositionerEl2, {\n ...prop(\"positioning\"),\n defer: true,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n trackDismissableElement({ context, scope, prop, send }) {\n const getContentEl2 = () => getContentEl(scope);\n return trackDismissableElement(getContentEl2, {\n exclude: getTriggerEl(scope),\n defer: true,\n onInteractOutside(event) {\n prop(\"onInteractOutside\")?.(event);\n if (event.defaultPrevented) return;\n context.set(\"restoreFocus\", !(event.detail.focusable || event.detail.contextmenu));\n },\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onFocusOutside: prop(\"onFocusOutside\"),\n onDismiss() {\n send({ type: \"INTERACT_OUTSIDE\" });\n }\n });\n },\n trackFormControl({ context, scope, send }) {\n const inputEl = getHiddenInputEl(scope);\n return trackFormControl(inputEl, {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n send({ type: \"VALUE.SET\", value: context.initial(\"value\"), src: \"form.reset\" });\n }\n });\n },\n trackPointerMove({ context, scope, event, send }) {\n return trackPointerMove(scope.getDoc(), {\n onPointerMove({ point }) {\n const type = context.get(\"activeId\") === \"area\" ? \"AREA.POINTER_MOVE\" : \"CHANNEL_SLIDER.POINTER_MOVE\";\n send({ type, point, format: event.format });\n },\n onPointerUp() {\n const type = context.get(\"activeId\") === \"area\" ? \"AREA.POINTER_UP\" : \"CHANNEL_SLIDER.POINTER_UP\";\n send({ type });\n }\n });\n },\n disableTextSelection({ scope }) {\n return disableTextSelection({\n doc: scope.getDoc(),\n target: getContentEl(scope)\n });\n }\n },\n actions: {\n openEyeDropper({ scope, context }) {\n const win = scope.getWin();\n const isSupported = \"EyeDropper\" in win;\n if (!isSupported) return;\n const picker = new win.EyeDropper();\n picker.open().then(({ sRGBHex }) => {\n const format = context.get(\"value\").getFormat();\n const color = parseColor(sRGBHex).toFormat(format);\n context.set(\"value\", color);\n }).catch(() => void 0);\n },\n setActiveChannel({ context, event }) {\n context.set(\"activeId\", event.id);\n if (event.channel) context.set(\"activeChannel\", event.channel);\n if (event.orientation) context.set(\"activeOrientation\", event.orientation);\n },\n clearActiveChannel({ context }) {\n context.set(\"activeChannel\", null);\n context.set(\"activeId\", null);\n context.set(\"activeOrientation\", null);\n },\n setAreaColorFromPoint({ context, event, computed, scope }) {\n const v = event.format ? context.get(\"value\").toFormat(event.format) : computed(\"areaValue\");\n const { xChannel, yChannel } = event.channel || context.get(\"activeChannel\");\n const percent = getAreaValueFromPoint(scope, event.point);\n if (!percent) return;\n const xValue = v.getChannelPercentValue(xChannel, percent.x);\n const yValue = v.getChannelPercentValue(yChannel, 1 - percent.y);\n const color = v.withChannelValue(xChannel, xValue).withChannelValue(yChannel, yValue);\n context.set(\"value\", color);\n },\n setChannelColorFromPoint({ context, event, computed, scope }) {\n const channel = event.channel || context.get(\"activeId\");\n const normalizedValue = event.format ? context.get(\"value\").toFormat(event.format) : computed(\"areaValue\");\n const percent = getChannelSliderValueFromPoint(scope, event.point, channel);\n if (!percent) return;\n const orientation = context.get(\"activeOrientation\") || \"horizontal\";\n const channelPercent = orientation === \"horizontal\" ? percent.x : percent.y;\n const value = normalizedValue.getChannelPercentValue(channel, channelPercent);\n const color = normalizedValue.withChannelValue(channel, value);\n context.set(\"value\", color);\n },\n setValue({ context, event }) {\n context.set(\"value\", event.value);\n },\n setFormat({ context, event }) {\n context.set(\"format\", event.format);\n },\n dispatchChangeEvent({ scope, computed }) {\n dispatchInputValueEvent(getHiddenInputEl(scope), { value: computed(\"valueAsString\") });\n },\n syncInputElements({ context, scope }) {\n syncChannelInputs(scope, context.get(\"value\"));\n },\n invokeOnChangeEnd({ context, prop, computed }) {\n prop(\"onValueChangeEnd\")?.({\n value: context.get(\"value\"),\n valueAsString: computed(\"valueAsString\")\n });\n },\n setChannelColorFromInput({ context, event, scope }) {\n const { channel, isTextField, value } = event;\n const currentAlpha = context.get(\"value\").getChannelValue(\"alpha\");\n let color;\n if (channel === \"alpha\") {\n let valueAsNumber = parseFloat(value);\n valueAsNumber = Number.isNaN(valueAsNumber) ? currentAlpha : valueAsNumber;\n color = context.get(\"value\").withChannelValue(\"alpha\", valueAsNumber);\n } else if (isTextField) {\n color = tryCatch(\n () => parse(value).withChannelValue(\"alpha\", currentAlpha),\n () => context.get(\"value\")\n );\n } else {\n const current = context.get(\"value\").toFormat(context.get(\"format\"));\n const valueAsNumber = Number.isNaN(value) ? current.getChannelValue(channel) : value;\n color = current.withChannelValue(channel, valueAsNumber);\n }\n syncChannelInputs(scope, context.get(\"value\"), color);\n context.set(\"value\", color);\n },\n incrementChannel({ context, event }) {\n const color = context.get(\"value\").incrementChannel(event.channel, event.step);\n context.set(\"value\", color);\n },\n decrementChannel({ context, event }) {\n const color = context.get(\"value\").decrementChannel(event.channel, event.step);\n context.set(\"value\", color);\n },\n incrementAreaXChannel({ context, event, computed }) {\n const { xChannel } = event.channel;\n const color = computed(\"areaValue\").incrementChannel(xChannel, event.step);\n context.set(\"value\", color);\n },\n decrementAreaXChannel({ context, event, computed }) {\n const { xChannel } = event.channel;\n const color = computed(\"areaValue\").decrementChannel(xChannel, event.step);\n context.set(\"value\", color);\n },\n incrementAreaYChannel({ context, event, computed }) {\n const { yChannel } = event.channel;\n const color = computed(\"areaValue\").incrementChannel(yChannel, event.step);\n context.set(\"value\", color);\n },\n decrementAreaYChannel({ context, event, computed }) {\n const { yChannel } = event.channel;\n const color = computed(\"areaValue\").decrementChannel(yChannel, event.step);\n context.set(\"value\", color);\n },\n setChannelToMax({ context, event }) {\n const value = context.get(\"value\");\n const range = value.getChannelRange(event.channel);\n const color = value.withChannelValue(event.channel, range.maxValue);\n context.set(\"value\", color);\n },\n setChannelToMin({ context, event }) {\n const value = context.get(\"value\");\n const range = value.getChannelRange(event.channel);\n const color = value.withChannelValue(event.channel, range.minValue);\n context.set(\"value\", color);\n },\n focusAreaThumb({ scope }) {\n raf(() => {\n getAreaThumbEl(scope)?.focus({ preventScroll: true });\n });\n },\n focusChannelThumb({ event, scope }) {\n raf(() => {\n getChannelSliderThumbEl(scope, event.channel)?.focus({ preventScroll: true });\n });\n },\n setInitialFocus({ prop, scope }) {\n if (!prop(\"openAutoFocus\")) return;\n raf(() => {\n const element = getInitialFocus({\n root: getContentEl(scope),\n getInitialEl: prop(\"initialFocusEl\")\n });\n element?.focus({ preventScroll: true });\n });\n },\n setReturnFocus({ scope }) {\n raf(() => {\n getTriggerEl(scope)?.focus({ preventScroll: true });\n });\n },\n syncFormatSelectElement({ context, scope }) {\n syncFormatSelect(scope, context.get(\"format\"));\n },\n invokeOnOpen({ prop }) {\n prop(\"onOpenChange\")?.({ open: true });\n },\n invokeOnClose({ prop }) {\n prop(\"onOpenChange\")?.({ open: false });\n },\n toggleVisibility({ prop, event, send }) {\n send({ type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: event });\n }\n }\n }\n});\nfunction syncChannelInputs(scope, currentValue, nextValue) {\n const channelInputEls = getChannelInputEls(scope);\n raf(() => {\n channelInputEls.forEach((inputEl) => {\n const channel = inputEl.dataset.channel;\n setElementValue(inputEl, getChannelValue(nextValue || currentValue, channel));\n });\n });\n}\nfunction syncFormatSelect(scope, format) {\n const selectEl = getFormatSelectEl(scope);\n if (!selectEl) return;\n raf(() => setElementValue(selectEl, format));\n}\nvar props = createProps()([\n \"closeOnSelect\",\n \"dir\",\n \"disabled\",\n \"format\",\n \"defaultFormat\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"initialFocusEl\",\n \"name\",\n \"positioning\",\n \"onFocusOutside\",\n \"onFormatChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onValueChange\",\n \"onValueChangeEnd\",\n \"defaultOpen\",\n \"open\",\n \"positioning\",\n \"required\",\n \"readOnly\",\n \"value\",\n \"defaultValue\",\n \"invalid\",\n \"openAutoFocus\"\n]);\nvar splitProps = createSplitProps(props);\nvar areaProps = createProps()([\"xChannel\", \"yChannel\"]);\nvar splitAreaProps = createSplitProps(areaProps);\nvar channelProps = createProps()([\"channel\", \"orientation\"]);\nvar splitChannelProps = createSplitProps(channelProps);\nvar swatchTriggerProps = createProps()([\"value\", \"disabled\"]);\nvar splitSwatchTriggerProps = createSplitProps(swatchTriggerProps);\nvar swatchProps = createProps()([\"value\", \"respectAlpha\"]);\nvar splitSwatchProps = createSplitProps(swatchProps);\nvar transparencyGridProps = createProps()([\"size\"]);\nvar splitTransparencyGridProps = createSplitProps(transparencyGridProps);\n\nexport { anatomy, areaProps, channelProps, connect, machine, parse, props, splitAreaProps, splitChannelProps, splitProps, splitSwatchProps, splitSwatchTriggerProps, splitTransparencyGridProps, swatchProps, swatchTriggerProps, transparencyGridProps };\n","'use client';\nimport { createContext } from './create-context.js';\nimport { createSplitProps } from './create-split-props.js';\n\nconst [RenderStrategyPropsProvider, useRenderStrategyPropsContext] = createContext({\n name: \"RenderStrategyContext\",\n hookName: \"useRenderStrategyContext\",\n providerName: \"<RenderStrategyPropsProvider />\"\n});\nconst splitRenderStrategyProps = (props) => createSplitProps()(props, [\"lazyMount\", \"unmountOnExit\"]);\n\nexport { RenderStrategyPropsProvider, splitRenderStrategyProps, useRenderStrategyPropsContext };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { prevById, nextById, queryAll, getEventKey, isSafari, dataAttr } from '@zag-js/dom-query';\nimport { warn, last, first, add, remove, createSplitProps } from '@zag-js/utils';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\n\n// src/accordion.anatomy.ts\nvar anatomy = createAnatomy(\"accordion\").parts(\"root\", \"item\", \"itemTrigger\", \"itemContent\", \"itemIndicator\");\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `accordion:${ctx.id}`;\nvar getItemId = (ctx, value) => ctx.ids?.item?.(value) ?? `accordion:${ctx.id}:item:${value}`;\nvar getItemContentId = (ctx, value) => ctx.ids?.itemContent?.(value) ?? `accordion:${ctx.id}:content:${value}`;\nvar getItemTriggerId = (ctx, value) => ctx.ids?.itemTrigger?.(value) ?? `accordion:${ctx.id}:trigger:${value}`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getTriggerEls = (ctx) => {\n const ownerId = CSS.escape(getRootId(ctx));\n const selector = `[aria-controls][data-ownedby='${ownerId}']:not([disabled])`;\n return queryAll(getRootEl(ctx), selector);\n};\nvar getFirstTriggerEl = (ctx) => first(getTriggerEls(ctx));\nvar getLastTriggerEl = (ctx) => last(getTriggerEls(ctx));\nvar getNextTriggerEl = (ctx, id) => nextById(getTriggerEls(ctx), getItemTriggerId(ctx, id));\nvar getPrevTriggerEl = (ctx, id) => prevById(getTriggerEls(ctx), getItemTriggerId(ctx, id));\n\n// src/accordion.connect.ts\nfunction connect(service, normalize) {\n const { send, context, prop, scope, computed } = service;\n const focusedValue = context.get(\"focusedValue\");\n const value = context.get(\"value\");\n const multiple = prop(\"multiple\");\n function setValue(value2) {\n let nextValue = value2;\n if (!multiple && nextValue.length > 1) {\n nextValue = [nextValue[0]];\n }\n send({ type: \"VALUE.SET\", value: nextValue });\n }\n function getItemState(props2) {\n return {\n expanded: value.includes(props2.value),\n focused: focusedValue === props2.value,\n disabled: Boolean(props2.disabled ?? prop(\"disabled\"))\n };\n }\n return {\n focusedValue,\n value,\n setValue,\n getItemState,\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.item.attrs,\n dir: prop(\"dir\"),\n id: getItemId(scope, props2.value),\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(itemState.focused),\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemContentProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.itemContent.attrs,\n dir: prop(\"dir\"),\n role: \"region\",\n id: getItemContentId(scope, props2.value),\n \"aria-labelledby\": getItemTriggerId(scope, props2.value),\n hidden: !itemState.expanded,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-focus\": dataAttr(itemState.focused),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemIndicatorProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.itemIndicator.attrs,\n dir: prop(\"dir\"),\n \"aria-hidden\": true,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-focus\": dataAttr(itemState.focused),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemTriggerProps(props2) {\n const { value: value2 } = props2;\n const itemState = getItemState(props2);\n return normalize.button({\n ...parts.itemTrigger.attrs,\n type: \"button\",\n dir: prop(\"dir\"),\n id: getItemTriggerId(scope, value2),\n \"aria-controls\": getItemContentId(scope, value2),\n \"aria-expanded\": itemState.expanded,\n disabled: itemState.disabled,\n \"data-orientation\": prop(\"orientation\"),\n \"aria-disabled\": itemState.disabled,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-ownedby\": getRootId(scope),\n onFocus() {\n if (itemState.disabled) return;\n send({ type: \"TRIGGER.FOCUS\", value: value2 });\n },\n onBlur() {\n if (itemState.disabled) return;\n send({ type: \"TRIGGER.BLUR\" });\n },\n onClick(event) {\n if (itemState.disabled) return;\n if (isSafari()) {\n event.currentTarget.focus();\n }\n send({ type: \"TRIGGER.CLICK\", value: value2 });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (itemState.disabled) return;\n const keyMap = {\n ArrowDown() {\n if (computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.NEXT\", value: value2 });\n },\n ArrowUp() {\n if (computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.PREV\", value: value2 });\n },\n ArrowRight() {\n if (!computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.NEXT\", value: value2 });\n },\n ArrowLeft() {\n if (!computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.PREV\", value: value2 });\n },\n Home() {\n send({ type: \"GOTO.FIRST\", value: value2 });\n },\n End() {\n send({ type: \"GOTO.LAST\", value: value2 });\n }\n };\n const key = getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: prop(\"orientation\")\n });\n const exec = keyMap[key];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n }\n });\n }\n };\n}\nvar { and, not } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n collapsible: false,\n multiple: false,\n orientation: \"vertical\",\n defaultValue: [],\n ...props2\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n focusedValue: bindable(() => ({\n defaultValue: null,\n sync: true,\n onChange(value) {\n prop(\"onFocusChange\")?.({ value });\n }\n })),\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n }))\n };\n },\n computed: {\n isHorizontal: ({ prop }) => prop(\"orientation\") === \"horizontal\"\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n }\n },\n states: {\n idle: {\n on: {\n \"TRIGGER.FOCUS\": {\n target: \"focused\",\n actions: [\"setFocusedValue\"]\n }\n }\n },\n focused: {\n on: {\n \"GOTO.NEXT\": {\n actions: [\"focusNextTrigger\"]\n },\n \"GOTO.PREV\": {\n actions: [\"focusPrevTrigger\"]\n },\n \"TRIGGER.CLICK\": [\n {\n guard: and(\"isExpanded\", \"canToggle\"),\n actions: [\"collapse\"]\n },\n {\n guard: not(\"isExpanded\"),\n actions: [\"expand\"]\n }\n ],\n \"GOTO.FIRST\": {\n actions: [\"focusFirstTrigger\"]\n },\n \"GOTO.LAST\": {\n actions: [\"focusLastTrigger\"]\n },\n \"TRIGGER.BLUR\": {\n target: \"idle\",\n actions: [\"clearFocusedValue\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n canToggle: ({ prop }) => !!prop(\"collapsible\") || !!prop(\"multiple\"),\n isExpanded: ({ context, event }) => context.get(\"value\").includes(event.value)\n },\n actions: {\n collapse({ context, prop, event }) {\n const next = prop(\"multiple\") ? remove(context.get(\"value\"), event.value) : [];\n context.set(\"value\", next);\n },\n expand({ context, prop, event }) {\n const next = prop(\"multiple\") ? add(context.get(\"value\"), event.value) : [event.value];\n context.set(\"value\", next);\n },\n focusFirstTrigger({ scope }) {\n getFirstTriggerEl(scope)?.focus();\n },\n focusLastTrigger({ scope }) {\n getLastTriggerEl(scope)?.focus();\n },\n focusNextTrigger({ context, scope }) {\n const focusedValue = context.get(\"focusedValue\");\n if (!focusedValue) return;\n const triggerEl = getNextTriggerEl(scope, focusedValue);\n triggerEl?.focus();\n },\n focusPrevTrigger({ context, scope }) {\n const focusedValue = context.get(\"focusedValue\");\n if (!focusedValue) return;\n const triggerEl = getPrevTriggerEl(scope, focusedValue);\n triggerEl?.focus();\n },\n setFocusedValue({ context, event }) {\n context.set(\"focusedValue\", event.value);\n },\n clearFocusedValue({ context }) {\n context.set(\"focusedValue\", null);\n },\n setValue({ context, event }) {\n context.set(\"value\", event.value);\n },\n coarseValue({ context, prop }) {\n if (!prop(\"multiple\") && context.get(\"value\").length > 1) {\n warn(`The value of accordion should be a single value when multiple is false.`);\n context.set(\"value\", [context.get(\"value\")[0]]);\n }\n }\n }\n }\n});\nvar props = createProps()([\n \"collapsible\",\n \"dir\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"multiple\",\n \"onFocusChange\",\n \"onValueChange\",\n \"orientation\",\n \"value\",\n \"defaultValue\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"value\", \"disabled\"]);\nvar splitItemProps = createSplitProps(itemProps);\n\nexport { anatomy, connect, itemProps, machine, props, splitItemProps, splitProps };\n","'use client';\nimport { anatomy } from '@zag-js/color-picker';\n\nconst colorPickerAnatomy = anatomy.extendWith(\"view\");\n\nexport { colorPickerAnatomy };\n","import { compact, isEqual, chunk, prevIndex, nextIndex, isObject, hasProp } 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 __publicField(this, \"copy\", (items) => {\n return new _ListCollection({ ...this.options, items: items ?? [...this.items] });\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.items.findIndex((item) => this.getItemValue(item) === value);\n return index != null ? this.items[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 return this.items[index] ?? 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 * 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 return this.items.findIndex((item) => this.getItemValue(item) === value);\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 __publicField(this, \"update\", (value, item) => {\n let index = this.items.findIndex((item2) => this.getItemValue(item2) === value);\n if (index === -1) return this;\n return this.copy([...this.items.slice(0, index), item, ...this.items.slice(index + 1)]);\n });\n __publicField(this, \"insert\", (index, ...items) => {\n return this.copy(insert(this.items, index, ...items));\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 __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 __publicField(this, \"prepend\", (...items) => {\n return this.copy(insert(this.items, 0, ...items));\n });\n __publicField(this, \"append\", (...items) => {\n return this.copy(insert(this.items, this.items.length, ...items));\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 __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 __publicField(this, \"reorder\", (fromIndex, toIndex) => {\n return this.copy(move(this.items, [fromIndex], toIndex));\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 __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 __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 __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 __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}\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 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 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 {\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) ?? fallback2.nodeToChildren(node) ?? [];\n });\n __publicField(this, \"getNodeValue\", (node) => {\n return this.options.nodeToValue?.(node) ?? fallback2.nodeToValue(node);\n });\n __publicField(this, \"getNodeDisabled\", (node) => {\n return this.options.isNodeDisabled?.(node) ?? fallback2.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) ?? fallback2.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 const nodeValue = this.getNodeValue(node);\n if (opts.skip?.({ value: nodeValue, node, indexPath })) return \"skip\";\n if (indexPath.length > 1) return \"skip\";\n if (!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, \"sort\", (values) => {\n return values.reduce(\n (acc, value) => {\n const indexPath = this.getIndexPath(value);\n if (indexPath != null) acc.push({ value, indexPath });\n return acc;\n },\n []\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, \"isRootNode\", (node) => {\n return this.getNodeValue(node) === this.getNodeValue(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\", (values) => {\n const result = [];\n let indexPath = this.getIndexPath(values);\n while (indexPath && 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, \"getParentIndexPath\", (indexPath) => {\n return indexPath.slice(0, -1);\n });\n __publicField(this, \"getParentNode\", (valueOrIndexPath) => {\n const indexPath = typeof valueOrIndexPath === \"string\" ? this.getIndexPath(valueOrIndexPath) : 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 = siblings.findIndex((sibling) => this.getValue(indexPath) === this.getNodeValue(sibling));\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 = siblings.findIndex((sibling) => this.getValue(indexPath) === this.getNodeValue(sibling));\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, \"isSameDepth\", (indexPath, depth) => {\n if (depth == null) return true;\n return indexPath.length === depth;\n });\n __publicField(this, \"isBranchNode\", (node) => {\n return this.getNodeChildren(node).length > 0;\n });\n __publicField(this, \"getBranchValues\", (rootNode = this.rootNode, opts = {}) => {\n let values = [];\n visit(rootNode, {\n getChildren: this.getNodeChildren,\n onEnter: (node, indexPath) => {\n const nodeValue = this.getNodeValue(node);\n if (opts.skip?.({ value: nodeValue, node, indexPath })) return \"skip\";\n if (this.getNodeChildren(node).length > 0 && this.isSameDepth(indexPath, opts.depth)) {\n values.push(this.getNodeValue(node));\n }\n }\n });\n return values.slice(1);\n });\n __publicField(this, \"flatten\", (rootNode = this.rootNode) => {\n const nodes = flatMap(rootNode, {\n getChildren: this.getNodeChildren,\n transform: (node, indexPath) => {\n const children = this.getNodeChildren(node).map((child) => this.getNodeValue(child));\n return [\n compact({\n label: this.stringifyNode(node),\n value: this.getNodeValue(node),\n indexPath,\n children: children.length > 0 ? children : void 0\n })\n ];\n }\n });\n return nodes.slice(1);\n });\n __publicField(this, \"_create\", (node, children) => {\n return compact({ ...node, children });\n });\n __publicField(this, \"_insert\", (rootNode, indexPath, nodes) => {\n return insert2(rootNode, { at: indexPath, nodes, getChildren: this.getNodeChildren, create: this._create });\n });\n __publicField(this, \"_replace\", (rootNode, indexPath, node) => {\n return replace(rootNode, { at: indexPath, node, getChildren: this.getNodeChildren, create: this._create });\n });\n __publicField(this, \"_move\", (rootNode, indexPaths, to) => {\n return move2(rootNode, { indexPaths, to, getChildren: this.getNodeChildren, create: this._create });\n });\n __publicField(this, \"_remove\", (rootNode, indexPaths) => {\n return 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, \"toJSON\", () => {\n return this.getValues(this.rootNode);\n });\n this.rootNode = options.rootNode;\n }\n};\nfunction flattenedToTree(nodes) {\n let rootNode = {\n value: \"ROOT\"\n };\n nodes.map((node) => {\n const { indexPath, label, value } = node;\n if (!indexPath.length) {\n Object.assign(rootNode, { label, value, children: [] });\n return;\n }\n rootNode = insert2(rootNode, {\n at: indexPath,\n nodes: [compact({ label, value })],\n getChildren: (node2) => node2.children ?? [],\n create: (node2, children) => {\n return compact({ ...node2, children });\n }\n });\n });\n return new TreeCollection({ 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) => {\n let childNode = currentNode.children?.find((child) => child.label === part);\n if (!childNode) {\n childNode = {\n value: parts.slice(0, parts.indexOf(part) + 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 fallback2 = {\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 fallback2.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};\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\nexport { GridCollection, ListCollection, Selection, TreeCollection, filePathToTree, flattenedToTree, isGridCollection, isListCollection };\n","import { ListCollection, filePathToTree, TreeCollection } from '@zag-js/collection';\n\nconst createListCollection = (options) => new ListCollection(options);\nconst createTreeCollection = (options) => new TreeCollection(options);\nconst createFileTreeCollection = (paths) => filePathToTree(paths);\n\nexport { createFileTreeCollection, createListCollection, createTreeCollection };\n","// src/walk-tree-outside.ts\nvar counterMap = /* @__PURE__ */ new WeakMap();\nvar uncontrolledNodes = /* @__PURE__ */ new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = (node) => node && (node.host || unwrapHost(node.parentNode));\nvar correctTargets = (parent, targets) => targets.map((target) => {\n if (parent.contains(target)) return target;\n const correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n console.error(\"[zag-js > ariaHidden] target\", target, \"in not contained inside\", parent, \". Doing nothing\");\n return null;\n}).filter((x) => Boolean(x));\nvar isIgnoredNode = (node) => {\n if (node.localName === \"next-route-announcer\") return true;\n if (node.localName === \"script\") return true;\n if (node.hasAttribute(\"aria-live\")) return true;\n return node.matches(\"[data-live-announcer]\");\n};\nvar walkTreeOutside = (originalTarget, props) => {\n const { parentNode, markerName, controlAttribute} = props;\n const targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n markerMap[markerName] || (markerMap[markerName] = /* @__PURE__ */ new WeakMap());\n const markerCounter = markerMap[markerName];\n const hiddenNodes = [];\n const elementsToKeep = /* @__PURE__ */ new Set();\n const elementsToStop = new Set(targets);\n const keep = (el) => {\n if (!el || elementsToKeep.has(el)) return;\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n const deep = (parent) => {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, (node) => {\n if (elementsToKeep.has(node)) {\n deep(node);\n } else {\n try {\n if (isIgnoredNode(node)) return;\n const attr = node.getAttribute(controlAttribute);\n const alreadyHidden = attr === \"true\" ;\n const counterValue = (counterMap.get(node) || 0) + 1;\n const markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, \"\");\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, \"true\" );\n }\n } catch (e) {\n console.error(\"[zag-js > ariaHidden] cannot operate on \", node, e);\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return () => {\n hiddenNodes.forEach((node) => {\n const counterValue = counterMap.get(node) - 1;\n const markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n counterMap = /* @__PURE__ */ new WeakMap();\n counterMap = /* @__PURE__ */ new WeakMap();\n uncontrolledNodes = /* @__PURE__ */ new WeakMap();\n markerMap = {};\n }\n };\n};\n\n// src/aria-hidden.ts\nvar getParentNode = (originalTarget) => {\n const target = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return target.ownerDocument.body;\n};\nvar hideOthers = (originalTarget, parentNode = getParentNode(originalTarget), markerName = \"data-aria-hidden\") => {\n if (!parentNode) return;\n return walkTreeOutside(originalTarget, {\n parentNode,\n markerName,\n controlAttribute: \"aria-hidden\"});\n};\n\n// src/index.ts\nvar raf = (fn) => {\n const frameId = requestAnimationFrame(() => fn());\n return () => cancelAnimationFrame(frameId);\n};\nfunction ariaHidden(targetsOrFn, options = {}) {\n const { defer = true } = options;\n const func = defer ? raf : (v) => v();\n const cleanups = [];\n cleanups.push(\n func(() => {\n const targets = typeof targetsOrFn === \"function\" ? targetsOrFn() : targetsOrFn;\n const elements = targets.filter(Boolean);\n if (elements.length === 0) return;\n cleanups.push(hideOthers(elements));\n })\n );\n return () => {\n cleanups.forEach((fn) => fn?.());\n };\n}\n\nexport { ariaHidden };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [DialogProvider, useDialogContext] = createContext({\n name: \"DialogContext\",\n hookName: \"useDialogContext\",\n providerName: \"<DialogProvider />\"\n});\n\nexport { DialogProvider, useDialogContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { useRenderStrategyPropsContext } from '../../utils/render-strategy.js';\nimport { ark } from '../factory.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { useDialogContext } from './use-dialog-context.js';\n\nconst DialogBackdrop = forwardRef((props, ref) => {\n const dialog = useDialogContext();\n const renderStrategyProps = useRenderStrategyPropsContext();\n const presence = usePresence({ ...renderStrategyProps, present: dialog.open });\n const mergedProps = mergeProps(dialog.getBackdropProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nDialogBackdrop.displayName = \"DialogBackdrop\";\n\nexport { DialogBackdrop };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useDialogContext } from './use-dialog-context.js';\n\nconst DialogCloseTrigger = forwardRef((props, ref) => {\n const dialog = useDialogContext();\n const mergedProps = mergeProps(dialog.getCloseTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nDialogCloseTrigger.displayName = \"DialogCloseTrigger\";\n\nexport { DialogCloseTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useDialogContext } from './use-dialog-context.js';\n\nconst DialogContent = forwardRef((props, ref) => {\n const dialog = useDialogContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(dialog.getContentProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nDialogContent.displayName = \"DialogContent\";\n\nexport { DialogContent };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useDialogContext } from './use-dialog-context.js';\n\nconst DialogDescription = forwardRef((props, ref) => {\n const dialog = useDialogContext();\n const mergedProps = mergeProps(dialog.getDescriptionProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nDialogDescription.displayName = \"DialogDescription\";\n\nexport { DialogDescription };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useDialogContext } from './use-dialog-context.js';\n\nconst DialogPositioner = forwardRef((props, ref) => {\n const dialog = useDialogContext();\n const mergedProps = mergeProps(dialog.getPositionerProps(), props);\n const presence = usePresenceContext();\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nDialogPositioner.displayName = \"DialogPositioner\";\n\nexport { DialogPositioner };\n","import { getDocument, getTabbables, getFocusables, isTabbable, getTabIndex, addDomEvent, raf, getEventTarget, isDocument, isFocusable, getActiveElement } from '@zag-js/dom-query';\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 activeFocusTraps = {\n activateTrap(trapStack, trap) {\n if (trapStack.length > 0) {\n const activeTrap = trapStack[trapStack.length - 1];\n if (activeTrap !== trap) {\n activeTrap.pause();\n }\n }\n const trapIndex = trapStack.indexOf(trap);\n if (trapIndex === -1) {\n trapStack.push(trap);\n } else {\n trapStack.splice(trapIndex, 1);\n trapStack.push(trap);\n }\n },\n deactivateTrap(trapStack, trap) {\n const trapIndex = trapStack.indexOf(trap);\n if (trapIndex !== -1) {\n trapStack.splice(trapIndex, 1);\n }\n if (trapStack.length > 0) {\n trapStack[trapStack.length - 1].unpause();\n }\n }\n};\nvar sharedTrapStack = [];\nvar FocusTrap = class {\n constructor(elements, options) {\n __publicField(this, \"trapStack\");\n __publicField(this, \"config\");\n __publicField(this, \"doc\");\n __publicField(this, \"state\", {\n containers: [],\n containerGroups: [],\n tabbableGroups: [],\n nodeFocusedBeforeActivation: null,\n mostRecentlyFocusedNode: null,\n active: false,\n paused: false,\n delayInitialFocusTimer: void 0,\n recentNavEvent: void 0\n });\n __publicField(this, \"listenerCleanups\", []);\n __publicField(this, \"handleFocus\", (event) => {\n const target = getEventTarget(event);\n const targetContained = this.findContainerIndex(target, event) >= 0;\n if (targetContained || isDocument(target)) {\n if (targetContained) {\n this.state.mostRecentlyFocusedNode = target;\n }\n } else {\n event.stopImmediatePropagation();\n let nextNode;\n let navAcrossContainers = true;\n if (this.state.mostRecentlyFocusedNode) {\n if (getTabIndex(this.state.mostRecentlyFocusedNode) > 0) {\n const mruContainerIdx = this.findContainerIndex(this.state.mostRecentlyFocusedNode);\n const { tabbableNodes } = this.state.containerGroups[mruContainerIdx];\n if (tabbableNodes.length > 0) {\n const mruTabIdx = tabbableNodes.findIndex((node) => node === this.state.mostRecentlyFocusedNode);\n if (mruTabIdx >= 0) {\n if (this.config.isKeyForward(this.state.recentNavEvent)) {\n if (mruTabIdx + 1 < tabbableNodes.length) {\n nextNode = tabbableNodes[mruTabIdx + 1];\n navAcrossContainers = false;\n }\n } else {\n if (mruTabIdx - 1 >= 0) {\n nextNode = tabbableNodes[mruTabIdx - 1];\n navAcrossContainers = false;\n }\n }\n }\n }\n } else {\n if (!this.state.containerGroups.some((g) => g.tabbableNodes.some((n) => getTabIndex(n) > 0))) {\n navAcrossContainers = false;\n }\n }\n } else {\n navAcrossContainers = false;\n }\n if (navAcrossContainers) {\n nextNode = this.findNextNavNode({\n // move FROM the MRU node, not event-related node (which will be the node that is\n // outside the trap causing the focus escape we're trying to fix)\n target: this.state.mostRecentlyFocusedNode,\n isBackward: this.config.isKeyBackward(this.state.recentNavEvent)\n });\n }\n if (nextNode) {\n this.tryFocus(nextNode);\n } else {\n this.tryFocus(this.state.mostRecentlyFocusedNode || this.getInitialFocusNode());\n }\n }\n this.state.recentNavEvent = void 0;\n });\n __publicField(this, \"handlePointerDown\", (event) => {\n const target = getEventTarget(event);\n if (this.findContainerIndex(target, event) >= 0) {\n return;\n }\n if (valueOrHandler(this.config.clickOutsideDeactivates, event)) {\n this.deactivate({ returnFocus: this.config.returnFocusOnDeactivate });\n return;\n }\n if (valueOrHandler(this.config.allowOutsideClick, event)) {\n return;\n }\n event.preventDefault();\n });\n __publicField(this, \"handleClick\", (event) => {\n const target = getEventTarget(event);\n if (this.findContainerIndex(target, event) >= 0) {\n return;\n }\n if (valueOrHandler(this.config.clickOutsideDeactivates, event)) {\n return;\n }\n if (valueOrHandler(this.config.allowOutsideClick, event)) {\n return;\n }\n event.preventDefault();\n event.stopImmediatePropagation();\n });\n __publicField(this, \"handleTabKey\", (event) => {\n if (this.config.isKeyForward(event) || this.config.isKeyBackward(event)) {\n this.state.recentNavEvent = event;\n const isBackward = this.config.isKeyBackward(event);\n const destinationNode = this.findNextNavNode({ event, isBackward });\n if (!destinationNode) return;\n if (isTabEvent(event)) {\n event.preventDefault();\n }\n this.tryFocus(destinationNode);\n }\n });\n __publicField(this, \"handleEscapeKey\", (event) => {\n if (isEscapeEvent(event) && valueOrHandler(this.config.escapeDeactivates, event) !== false) {\n event.preventDefault();\n this.deactivate();\n }\n });\n __publicField(this, \"_mutationObserver\");\n __publicField(this, \"setupMutationObserver\", () => {\n const win = this.doc.defaultView || window;\n this._mutationObserver = new win.MutationObserver((mutations) => {\n const isFocusedNodeRemoved = mutations.some((mutation) => {\n const removedNodes = Array.from(mutation.removedNodes);\n return removedNodes.some((node) => node === this.state.mostRecentlyFocusedNode);\n });\n if (isFocusedNodeRemoved) {\n this.tryFocus(this.getInitialFocusNode());\n }\n });\n });\n __publicField(this, \"updateObservedNodes\", () => {\n this._mutationObserver?.disconnect();\n if (this.state.active && !this.state.paused) {\n this.state.containers.map((container) => {\n this._mutationObserver?.observe(container, { subtree: true, childList: true });\n });\n }\n });\n __publicField(this, \"getInitialFocusNode\", () => {\n let node = this.getNodeForOption(\"initialFocus\", { hasFallback: true });\n if (node === false) {\n return false;\n }\n if (node === void 0 || node && !isFocusable(node)) {\n if (this.findContainerIndex(this.doc.activeElement) >= 0) {\n node = this.doc.activeElement;\n } else {\n const firstTabbableGroup = this.state.tabbableGroups[0];\n const firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode;\n node = firstTabbableNode || this.getNodeForOption(\"fallbackFocus\");\n }\n } else if (node === null) {\n node = this.getNodeForOption(\"fallbackFocus\");\n }\n if (!node) {\n throw new Error(\"Your focus-trap needs to have at least one focusable element\");\n }\n if (!node.isConnected) {\n node = this.getNodeForOption(\"fallbackFocus\");\n }\n return node;\n });\n __publicField(this, \"tryFocus\", (node) => {\n if (node === false) return;\n if (node === getActiveElement(this.doc)) return;\n if (!node || !node.focus) {\n this.tryFocus(this.getInitialFocusNode());\n return;\n }\n node.focus({ preventScroll: !!this.config.preventScroll });\n this.state.mostRecentlyFocusedNode = node;\n if (isSelectableInput(node)) {\n node.select();\n }\n });\n __publicField(this, \"deactivate\", (deactivateOptions) => {\n if (!this.state.active) return this;\n const options = {\n onDeactivate: this.config.onDeactivate,\n onPostDeactivate: this.config.onPostDeactivate,\n checkCanReturnFocus: this.config.checkCanReturnFocus,\n ...deactivateOptions\n };\n clearTimeout(this.state.delayInitialFocusTimer);\n this.state.delayInitialFocusTimer = void 0;\n this.removeListeners();\n this.state.active = false;\n this.state.paused = false;\n this.updateObservedNodes();\n activeFocusTraps.deactivateTrap(this.trapStack, this);\n const onDeactivate = this.getOption(options, \"onDeactivate\");\n const onPostDeactivate = this.getOption(options, \"onPostDeactivate\");\n const checkCanReturnFocus = this.getOption(options, \"checkCanReturnFocus\");\n const returnFocus = this.getOption(options, \"returnFocus\", \"returnFocusOnDeactivate\");\n onDeactivate?.();\n const finishDeactivation = () => {\n delay(() => {\n if (returnFocus) {\n const returnFocusNode = this.getReturnFocusNode(this.state.nodeFocusedBeforeActivation);\n this.tryFocus(returnFocusNode);\n }\n onPostDeactivate?.();\n });\n };\n if (returnFocus && checkCanReturnFocus) {\n const returnFocusNode = this.getReturnFocusNode(this.state.nodeFocusedBeforeActivation);\n checkCanReturnFocus(returnFocusNode).then(finishDeactivation, finishDeactivation);\n return this;\n }\n finishDeactivation();\n return this;\n });\n __publicField(this, \"pause\", (pauseOptions) => {\n if (this.state.paused || !this.state.active) {\n return this;\n }\n const onPause = this.getOption(pauseOptions, \"onPause\");\n const onPostPause = this.getOption(pauseOptions, \"onPostPause\");\n this.state.paused = true;\n onPause?.();\n this.removeListeners();\n this.updateObservedNodes();\n onPostPause?.();\n return this;\n });\n __publicField(this, \"unpause\", (unpauseOptions) => {\n if (!this.state.paused || !this.state.active) {\n return this;\n }\n const onUnpause = this.getOption(unpauseOptions, \"onUnpause\");\n const onPostUnpause = this.getOption(unpauseOptions, \"onPostUnpause\");\n this.state.paused = false;\n onUnpause?.();\n this.updateTabbableNodes();\n this.addListeners();\n this.updateObservedNodes();\n onPostUnpause?.();\n return this;\n });\n __publicField(this, \"updateContainerElements\", (containerElements) => {\n this.state.containers = Array.isArray(containerElements) ? containerElements.filter(Boolean) : [containerElements].filter(Boolean);\n if (this.state.active) {\n this.updateTabbableNodes();\n }\n this.updateObservedNodes();\n return this;\n });\n __publicField(this, \"getReturnFocusNode\", (previousActiveElement) => {\n const node = this.getNodeForOption(\"setReturnFocus\", {\n params: [previousActiveElement]\n });\n return node ? node : node === false ? false : previousActiveElement;\n });\n __publicField(this, \"getOption\", (configOverrideOptions, optionName, configOptionName) => {\n return configOverrideOptions && configOverrideOptions[optionName] !== void 0 ? configOverrideOptions[optionName] : (\n // @ts-expect-error\n this.config[configOptionName || optionName]\n );\n });\n __publicField(this, \"getNodeForOption\", (optionName, { hasFallback = false, params = [] } = {}) => {\n let optionValue = this.config[optionName];\n if (typeof optionValue === \"function\") optionValue = optionValue(...params);\n if (optionValue === true) optionValue = void 0;\n if (!optionValue) {\n if (optionValue === void 0 || optionValue === false) {\n return optionValue;\n }\n throw new Error(`\\`${optionName}\\` was specified but was not a node, or did not return a node`);\n }\n let node = optionValue;\n if (typeof optionValue === \"string\") {\n try {\n node = this.doc.querySelector(optionValue);\n } catch (err) {\n throw new Error(`\\`${optionName}\\` appears to be an invalid selector; error=\"${err.message}\"`);\n }\n if (!node) {\n if (!hasFallback) {\n throw new Error(`\\`${optionName}\\` as selector refers to no known node`);\n }\n }\n }\n return node;\n });\n __publicField(this, \"findNextNavNode\", (opts) => {\n const { event, isBackward = false } = opts;\n const target = opts.target || getEventTarget(event);\n this.updateTabbableNodes();\n let destinationNode = null;\n if (this.state.tabbableGroups.length > 0) {\n const containerIndex = this.findContainerIndex(target, event);\n const containerGroup = containerIndex >= 0 ? this.state.containerGroups[containerIndex] : void 0;\n if (containerIndex < 0) {\n if (isBackward) {\n destinationNode = this.state.tabbableGroups[this.state.tabbableGroups.length - 1].lastTabbableNode;\n } else {\n destinationNode = this.state.tabbableGroups[0].firstTabbableNode;\n }\n } else if (isBackward) {\n let startOfGroupIndex = this.state.tabbableGroups.findIndex(\n ({ firstTabbableNode }) => target === firstTabbableNode\n );\n if (startOfGroupIndex < 0 && (containerGroup?.container === target || isFocusable(target) && !isTabbable(target) && !containerGroup?.nextTabbableNode(target, false))) {\n startOfGroupIndex = containerIndex;\n }\n if (startOfGroupIndex >= 0) {\n const destinationGroupIndex = startOfGroupIndex === 0 ? this.state.tabbableGroups.length - 1 : startOfGroupIndex - 1;\n const destinationGroup = this.state.tabbableGroups[destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? destinationGroup.lastTabbableNode : destinationGroup.lastDomTabbableNode;\n } else if (!isTabEvent(event)) {\n destinationNode = containerGroup?.nextTabbableNode(target, false);\n }\n } else {\n let lastOfGroupIndex = this.state.tabbableGroups.findIndex(\n ({ lastTabbableNode }) => target === lastTabbableNode\n );\n if (lastOfGroupIndex < 0 && (containerGroup?.container === target || isFocusable(target) && !isTabbable(target) && !containerGroup?.nextTabbableNode(target))) {\n lastOfGroupIndex = containerIndex;\n }\n if (lastOfGroupIndex >= 0) {\n const destinationGroupIndex = lastOfGroupIndex === this.state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;\n const destinationGroup = this.state.tabbableGroups[destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? destinationGroup.firstTabbableNode : destinationGroup.firstDomTabbableNode;\n } else if (!isTabEvent(event)) {\n destinationNode = containerGroup?.nextTabbableNode(target);\n }\n }\n } else {\n destinationNode = this.getNodeForOption(\"fallbackFocus\");\n }\n return destinationNode;\n });\n this.trapStack = options.trapStack || sharedTrapStack;\n const config = {\n returnFocusOnDeactivate: true,\n escapeDeactivates: true,\n delayInitialFocus: true,\n isKeyForward(e) {\n return isTabEvent(e) && !e.shiftKey;\n },\n isKeyBackward(e) {\n return isTabEvent(e) && e.shiftKey;\n },\n ...options\n };\n this.doc = config.document || getDocument(Array.isArray(elements) ? elements[0] : elements);\n this.config = config;\n this.updateContainerElements(elements);\n this.setupMutationObserver();\n }\n get active() {\n return this.state.active;\n }\n get paused() {\n return this.state.paused;\n }\n findContainerIndex(element, event) {\n const composedPath = typeof event?.composedPath === \"function\" ? event.composedPath() : void 0;\n return this.state.containerGroups.findIndex(\n ({ container, tabbableNodes }) => container.contains(element) || composedPath?.includes(container) || tabbableNodes.find((node) => node === element)\n );\n }\n updateTabbableNodes() {\n this.state.containerGroups = this.state.containers.map((container) => {\n const tabbableNodes = getTabbables(container);\n const focusableNodes = getFocusables(container);\n const firstTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[0] : void 0;\n const lastTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[tabbableNodes.length - 1] : void 0;\n const firstDomTabbableNode = focusableNodes.find((node) => isTabbable(node));\n const lastDomTabbableNode = focusableNodes.slice().reverse().find((node) => isTabbable(node));\n const posTabIndexesFound = !!tabbableNodes.find((node) => getTabIndex(node) > 0);\n function nextTabbableNode(node, forward = true) {\n const nodeIdx = tabbableNodes.indexOf(node);\n if (nodeIdx < 0) {\n if (forward) {\n return focusableNodes.slice(focusableNodes.indexOf(node) + 1).find((el) => isTabbable(el));\n }\n return focusableNodes.slice(0, focusableNodes.indexOf(node)).reverse().find((el) => isTabbable(el));\n }\n return tabbableNodes[nodeIdx + (forward ? 1 : -1)];\n }\n return {\n container,\n tabbableNodes,\n focusableNodes,\n posTabIndexesFound,\n firstTabbableNode,\n lastTabbableNode,\n firstDomTabbableNode,\n lastDomTabbableNode,\n nextTabbableNode\n };\n });\n this.state.tabbableGroups = this.state.containerGroups.filter((group) => group.tabbableNodes.length > 0);\n if (this.state.tabbableGroups.length <= 0 && !this.getNodeForOption(\"fallbackFocus\")) {\n throw new Error(\n \"Your focus-trap must have at least one container with at least one tabbable node in it at all times\"\n );\n }\n if (this.state.containerGroups.find((g) => g.posTabIndexesFound) && this.state.containerGroups.length > 1) {\n throw new Error(\n \"At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.\"\n );\n }\n }\n addListeners() {\n if (!this.state.active) return;\n activeFocusTraps.activateTrap(this.trapStack, this);\n this.state.delayInitialFocusTimer = this.config.delayInitialFocus ? delay(() => {\n this.tryFocus(this.getInitialFocusNode());\n }) : this.tryFocus(this.getInitialFocusNode());\n this.listenerCleanups.push(\n addDomEvent(this.doc, \"focusin\", this.handleFocus, true),\n addDomEvent(this.doc, \"mousedown\", this.handlePointerDown, { capture: true, passive: false }),\n addDomEvent(this.doc, \"touchstart\", this.handlePointerDown, { capture: true, passive: false }),\n addDomEvent(this.doc, \"click\", this.handleClick, { capture: true, passive: false }),\n addDomEvent(this.doc, \"keydown\", this.handleTabKey, { capture: true, passive: false }),\n addDomEvent(this.doc, \"keydown\", this.handleEscapeKey)\n );\n return this;\n }\n removeListeners() {\n if (!this.state.active) return;\n this.listenerCleanups.forEach((cleanup) => cleanup());\n this.listenerCleanups = [];\n return this;\n }\n activate(activateOptions) {\n if (this.state.active) {\n return this;\n }\n const onActivate = this.getOption(activateOptions, \"onActivate\");\n const onPostActivate = this.getOption(activateOptions, \"onPostActivate\");\n const checkCanFocusTrap = this.getOption(activateOptions, \"checkCanFocusTrap\");\n if (!checkCanFocusTrap) {\n this.updateTabbableNodes();\n }\n this.state.active = true;\n this.state.paused = false;\n this.state.nodeFocusedBeforeActivation = this.doc.activeElement || null;\n onActivate?.();\n const finishActivation = () => {\n if (checkCanFocusTrap) {\n this.updateTabbableNodes();\n }\n this.addListeners();\n this.updateObservedNodes();\n onPostActivate?.();\n };\n if (checkCanFocusTrap) {\n checkCanFocusTrap(this.state.containers.concat()).then(finishActivation, finishActivation);\n return this;\n }\n finishActivation();\n return this;\n }\n};\nvar isTabEvent = (event) => event.key === \"Tab\";\nvar valueOrHandler = (value, ...params) => typeof value === \"function\" ? value(...params) : value;\nvar isEscapeEvent = (event) => !event.isComposing && event.key === \"Escape\";\nvar delay = (fn) => setTimeout(fn, 0);\nvar isSelectableInput = (node) => node.localName === \"input\" && \"select\" in node && typeof node.select === \"function\";\n\n// src/index.ts\nfunction trapFocus(el, options = {}) {\n let trap;\n const cleanup = raf(() => {\n const contentEl = typeof el === \"function\" ? el() : el;\n if (!contentEl) return;\n trap = new FocusTrap(contentEl, {\n escapeDeactivates: false,\n allowOutsideClick: true,\n preventScroll: true,\n returnFocusOnDeactivate: true,\n delayInitialFocus: false,\n fallbackFocus: contentEl,\n ...options,\n document: getDocument(contentEl)\n });\n try {\n trap.activate();\n } catch {\n }\n });\n return function destroy() {\n trap?.deactivate();\n cleanup();\n };\n}\n\nexport { FocusTrap, trapFocus };\n","import { setStyleProperty, setStyle, isIos } from '@zag-js/dom-query';\n\n// src/index.ts\nvar LOCK_CLASSNAME = \"data-scroll-lock\";\nfunction getPaddingProperty(documentElement) {\n const documentLeft = documentElement.getBoundingClientRect().left;\n const scrollbarX = Math.round(documentLeft) + documentElement.scrollLeft;\n return scrollbarX ? \"paddingLeft\" : \"paddingRight\";\n}\nfunction preventBodyScroll(_document) {\n const doc = _document ?? document;\n const win = doc.defaultView ?? window;\n const { documentElement, body } = doc;\n const locked = body.hasAttribute(LOCK_CLASSNAME);\n if (locked) return;\n body.setAttribute(LOCK_CLASSNAME, \"\");\n const scrollbarWidth = win.innerWidth - documentElement.clientWidth;\n const setScrollbarWidthProperty = () => setStyleProperty(documentElement, \"--scrollbar-width\", `${scrollbarWidth}px`);\n const paddingProperty = getPaddingProperty(documentElement);\n const setBodyStyle = () => setStyle(body, {\n overflow: \"hidden\",\n [paddingProperty]: `${scrollbarWidth}px`\n });\n const setBodyStyleIOS = () => {\n const { scrollX, scrollY, visualViewport } = win;\n const offsetLeft = visualViewport?.offsetLeft ?? 0;\n const offsetTop = visualViewport?.offsetTop ?? 0;\n const restoreStyle = setStyle(body, {\n position: \"fixed\",\n overflow: \"hidden\",\n top: `${-(scrollY - Math.floor(offsetTop))}px`,\n left: `${-(scrollX - Math.floor(offsetLeft))}px`,\n right: \"0\",\n [paddingProperty]: `${scrollbarWidth}px`\n });\n return () => {\n restoreStyle?.();\n win.scrollTo({ left: scrollX, top: scrollY, behavior: \"instant\" });\n };\n };\n const cleanups = [setScrollbarWidthProperty(), isIos() ? setBodyStyleIOS() : setBodyStyle()];\n return () => {\n cleanups.forEach((fn) => fn?.());\n body.removeAttribute(LOCK_CLASSNAME);\n };\n}\n\nexport { preventBodyScroll };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { ariaHidden } from '@zag-js/aria-hidden';\nimport { createMachine } from '@zag-js/core';\nimport { trackDismissableElement } from '@zag-js/dismissable';\nimport { raf, getComputedStyle } from '@zag-js/dom-query';\nimport { trapFocus } from '@zag-js/focus-trap';\nimport { preventBodyScroll } from '@zag-js/remove-scroll';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/dialog.anatomy.ts\nvar anatomy = createAnatomy(\"dialog\").parts(\n \"trigger\",\n \"backdrop\",\n \"positioner\",\n \"content\",\n \"title\",\n \"description\",\n \"closeTrigger\"\n);\nvar parts = anatomy.build();\n\n// src/dialog.dom.ts\nvar getPositionerId = (ctx) => ctx.ids?.positioner ?? `dialog:${ctx.id}:positioner`;\nvar getBackdropId = (ctx) => ctx.ids?.backdrop ?? `dialog:${ctx.id}:backdrop`;\nvar getContentId = (ctx) => ctx.ids?.content ?? `dialog:${ctx.id}:content`;\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `dialog:${ctx.id}:trigger`;\nvar getTitleId = (ctx) => ctx.ids?.title ?? `dialog:${ctx.id}:title`;\nvar getDescriptionId = (ctx) => ctx.ids?.description ?? `dialog:${ctx.id}:description`;\nvar getCloseTriggerId = (ctx) => ctx.ids?.closeTrigger ?? `dialog:${ctx.id}:close`;\nvar getContentEl = (ctx) => ctx.getById(getContentId(ctx));\nvar getPositionerEl = (ctx) => ctx.getById(getPositionerId(ctx));\nvar getBackdropEl = (ctx) => ctx.getById(getBackdropId(ctx));\nvar getTriggerEl = (ctx) => ctx.getById(getTriggerId(ctx));\nvar getTitleEl = (ctx) => ctx.getById(getTitleId(ctx));\nvar getDescriptionEl = (ctx) => ctx.getById(getDescriptionId(ctx));\nvar getCloseTriggerEl = (ctx) => ctx.getById(getCloseTriggerId(ctx));\n\n// src/dialog.connect.ts\nfunction connect(service, normalize) {\n const { state, send, context, prop, scope } = service;\n const ariaLabel = prop(\"aria-label\");\n const open = state.matches(\"open\");\n return {\n open,\n setOpen(nextOpen) {\n const open2 = state.matches(\"open\");\n if (open2 === nextOpen) return;\n send({ type: nextOpen ? \"OPEN\" : \"CLOSE\" });\n },\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n dir: prop(\"dir\"),\n id: getTriggerId(scope),\n \"aria-haspopup\": \"dialog\",\n type: \"button\",\n \"aria-expanded\": open,\n \"data-state\": open ? \"open\" : \"closed\",\n \"aria-controls\": getContentId(scope),\n onClick(event) {\n if (event.defaultPrevented) return;\n send({ type: \"TOGGLE\" });\n }\n });\n },\n getBackdropProps() {\n return normalize.element({\n ...parts.backdrop.attrs,\n dir: prop(\"dir\"),\n hidden: !open,\n id: getBackdropId(scope),\n \"data-state\": open ? \"open\" : \"closed\"\n });\n },\n getPositionerProps() {\n return normalize.element({\n ...parts.positioner.attrs,\n dir: prop(\"dir\"),\n id: getPositionerId(scope),\n style: {\n pointerEvents: open ? void 0 : \"none\"\n }\n });\n },\n getContentProps() {\n const rendered = context.get(\"rendered\");\n return normalize.element({\n ...parts.content.attrs,\n dir: prop(\"dir\"),\n role: prop(\"role\"),\n hidden: !open,\n id: getContentId(scope),\n tabIndex: -1,\n \"data-state\": open ? \"open\" : \"closed\",\n \"aria-modal\": true,\n \"aria-label\": ariaLabel || void 0,\n \"aria-labelledby\": ariaLabel || !rendered.title ? void 0 : getTitleId(scope),\n \"aria-describedby\": rendered.description ? getDescriptionId(scope) : void 0\n });\n },\n getTitleProps() {\n return normalize.element({\n ...parts.title.attrs,\n dir: prop(\"dir\"),\n id: getTitleId(scope)\n });\n },\n getDescriptionProps() {\n return normalize.element({\n ...parts.description.attrs,\n dir: prop(\"dir\"),\n id: getDescriptionId(scope)\n });\n },\n getCloseTriggerProps() {\n return normalize.button({\n ...parts.closeTrigger.attrs,\n dir: prop(\"dir\"),\n id: getCloseTriggerId(scope),\n type: \"button\",\n onClick(event) {\n if (event.defaultPrevented) return;\n event.stopPropagation();\n send({ type: \"CLOSE\" });\n }\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2, scope }) {\n const alertDialog = props2.role === \"alertdialog\";\n const initialFocusEl = alertDialog ? () => getCloseTriggerEl(scope) : void 0;\n return {\n role: \"dialog\",\n modal: true,\n trapFocus: true,\n preventScroll: true,\n closeOnInteractOutside: !alertDialog,\n closeOnEscape: true,\n restoreFocus: true,\n initialFocusEl,\n ...props2\n };\n },\n initialState({ prop }) {\n const open = prop(\"open\") || prop(\"defaultOpen\");\n return open ? \"open\" : \"closed\";\n },\n context({ bindable }) {\n return {\n rendered: bindable(() => ({\n defaultValue: { title: true, description: true }\n }))\n };\n },\n watch({ track, action, prop }) {\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"]);\n });\n },\n states: {\n open: {\n entry: [\"checkRenderedElements\", \"syncZIndex\"],\n effects: [\"trackDismissableElement\", \"trapFocus\", \"preventScroll\", \"hideContentBelow\"],\n on: {\n \"CONTROLLED.CLOSE\": {\n target: \"closed\"\n },\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n TOGGLE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ]\n }\n },\n closed: {\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\"\n },\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"]\n }\n ],\n TOGGLE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"]\n }\n ]\n }\n }\n },\n implementations: {\n guards: {\n isOpenControlled: ({ prop }) => prop(\"open\") != void 0\n },\n effects: {\n trackDismissableElement({ scope, send, prop }) {\n const getContentEl2 = () => getContentEl(scope);\n return trackDismissableElement(getContentEl2, {\n defer: true,\n pointerBlocking: prop(\"modal\"),\n exclude: [getTriggerEl(scope)],\n onInteractOutside(event) {\n prop(\"onInteractOutside\")?.(event);\n if (!prop(\"closeOnInteractOutside\")) {\n event.preventDefault();\n }\n },\n persistentElements: prop(\"persistentElements\"),\n onFocusOutside: prop(\"onFocusOutside\"),\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onEscapeKeyDown(event) {\n prop(\"onEscapeKeyDown\")?.(event);\n if (!prop(\"closeOnEscape\")) {\n event.preventDefault();\n }\n },\n onDismiss() {\n send({ type: \"CLOSE\", src: \"interact-outside\" });\n }\n });\n },\n preventScroll({ scope, prop }) {\n if (!prop(\"preventScroll\")) return;\n return preventBodyScroll(scope.getDoc());\n },\n trapFocus({ scope, prop }) {\n if (!prop(\"trapFocus\") || !prop(\"modal\")) return;\n const contentEl = () => getContentEl(scope);\n return trapFocus(contentEl, {\n preventScroll: true,\n returnFocusOnDeactivate: !!prop(\"restoreFocus\"),\n initialFocus: prop(\"initialFocusEl\"),\n setReturnFocus: (el) => prop(\"finalFocusEl\")?.() ?? el\n });\n },\n hideContentBelow({ scope, prop }) {\n if (!prop(\"modal\")) return;\n const getElements = () => [getContentEl(scope)];\n return ariaHidden(getElements, { defer: true });\n }\n },\n actions: {\n checkRenderedElements({ context, scope }) {\n raf(() => {\n context.set(\"rendered\", {\n title: !!getTitleEl(scope),\n description: !!getDescriptionEl(scope)\n });\n });\n },\n syncZIndex({ scope }) {\n raf(() => {\n const contentEl = getContentEl(scope);\n if (!contentEl) return;\n const styles = getComputedStyle(contentEl);\n const elems = [getPositionerEl(scope), getBackdropEl(scope)];\n elems.forEach((node) => {\n node?.style.setProperty(\"--z-index\", styles.zIndex);\n });\n });\n },\n invokeOnClose({ prop }) {\n prop(\"onOpenChange\")?.({ open: false });\n },\n invokeOnOpen({ prop }) {\n prop(\"onOpenChange\")?.({ open: true });\n },\n toggleVisibility({ prop, send, event }) {\n send({\n type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\",\n previousEvent: event\n });\n }\n }\n }\n});\nvar props = createProps()([\n \"aria-label\",\n \"closeOnEscape\",\n \"closeOnInteractOutside\",\n \"dir\",\n \"finalFocusEl\",\n \"getRootNode\",\n \"getRootNode\",\n \"id\",\n \"id\",\n \"ids\",\n \"initialFocusEl\",\n \"modal\",\n \"onEscapeKeyDown\",\n \"onFocusOutside\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"defaultOpen\",\n \"open\",\n \"persistentElements\",\n \"preventScroll\",\n \"restoreFocus\",\n \"role\",\n \"trapFocus\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","'use client';\nimport * as dialog from '@zag-js/dialog';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useDialog = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n getRootNode,\n dir,\n ...props\n };\n const service = useMachine(dialog.machine, machineProps);\n return dialog.connect(service, normalizeProps);\n};\n\nexport { useDialog };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { splitRenderStrategyProps, RenderStrategyPropsProvider } from '../../utils/render-strategy.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useDialog } from './use-dialog.js';\nimport { DialogProvider } from './use-dialog-context.js';\n\nconst DialogRoot = (props) => {\n const [presenceProps, { children, ...localProps }] = splitPresenceProps(props);\n const [renderStrategyProps] = splitRenderStrategyProps(presenceProps);\n const dialog = useDialog(localProps);\n const presence = usePresence(mergeProps({ present: dialog.open }, presenceProps));\n return /* @__PURE__ */ jsx(DialogProvider, { value: dialog, children: /* @__PURE__ */ jsx(RenderStrategyPropsProvider, { value: renderStrategyProps, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) }) });\n};\n\nexport { DialogRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { splitRenderStrategyProps, RenderStrategyPropsProvider } from '../../utils/render-strategy.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { DialogProvider } from './use-dialog-context.js';\n\nconst DialogRootProvider = (props) => {\n const [presenceProps, { value: dialog, children }] = splitPresenceProps(props);\n const [renderStrategyProps] = splitRenderStrategyProps(presenceProps);\n const presence = usePresence(mergeProps({ present: dialog.open }, presenceProps));\n return /* @__PURE__ */ jsx(DialogProvider, { value: dialog, children: /* @__PURE__ */ jsx(RenderStrategyPropsProvider, { value: renderStrategyProps, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) }) });\n};\n\nexport { DialogRootProvider };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useDialogContext } from './use-dialog-context.js';\n\nconst DialogTitle = forwardRef((props, ref) => {\n const dialog = useDialogContext();\n const mergedProps = mergeProps(dialog.getTitleProps(), props);\n return /* @__PURE__ */ jsx(ark.h2, { ...mergedProps, ref });\n});\nDialogTitle.displayName = \"DialogTitle\";\n\nexport { DialogTitle };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useDialogContext } from './use-dialog-context.js';\n\nconst DialogTrigger = forwardRef((props, ref) => {\n const dialog = useDialogContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(\n {\n ...dialog.getTriggerProps(),\n \"aria-controls\": presence.unmounted ? void 0 : dialog.getTriggerProps()[\"aria-controls\"]\n },\n props\n );\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nDialogTrigger.displayName = \"DialogTrigger\";\n\nexport { DialogTrigger };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { setElementValue, raf, contains, dataAttr, ariaAttr, isComposingEvent, isApple } from '@zag-js/dom-query';\nimport { createMachine } from '@zag-js/core';\nimport { trackInteractOutside } from '@zag-js/interact-outside';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/editable.anatomy.ts\nvar anatomy = createAnatomy(\"editable\").parts(\n \"root\",\n \"area\",\n \"label\",\n \"preview\",\n \"input\",\n \"editTrigger\",\n \"submitTrigger\",\n \"cancelTrigger\",\n \"control\"\n);\nvar parts = anatomy.build();\n\n// src/editable.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `editable:${ctx.id}`;\nvar getAreaId = (ctx) => ctx.ids?.area ?? `editable:${ctx.id}:area`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `editable:${ctx.id}:label`;\nvar getPreviewId = (ctx) => ctx.ids?.preview ?? `editable:${ctx.id}:preview`;\nvar getInputId = (ctx) => ctx.ids?.input ?? `editable:${ctx.id}:input`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `editable:${ctx.id}:control`;\nvar getSubmitTriggerId = (ctx) => ctx.ids?.submitTrigger ?? `editable:${ctx.id}:submit`;\nvar getCancelTriggerId = (ctx) => ctx.ids?.cancelTrigger ?? `editable:${ctx.id}:cancel`;\nvar getEditTriggerId = (ctx) => ctx.ids?.editTrigger ?? `editable:${ctx.id}:edit`;\nvar getInputEl = (ctx) => ctx.getById(getInputId(ctx));\nvar getPreviewEl = (ctx) => ctx.getById(getPreviewId(ctx));\nvar getSubmitTriggerEl = (ctx) => ctx.getById(getSubmitTriggerId(ctx));\nvar getCancelTriggerEl = (ctx) => ctx.getById(getCancelTriggerId(ctx));\nvar getEditTriggerEl = (ctx) => ctx.getById(getEditTriggerId(ctx));\n\n// src/editable.connect.ts\nfunction connect(service, normalize) {\n const { state, context, send, prop, scope, computed } = service;\n const disabled = prop(\"disabled\");\n const interactive = computed(\"isInteractive\");\n const readOnly = prop(\"readOnly\");\n const invalid = prop(\"invalid\");\n const autoResize = prop(\"autoResize\");\n const translations = prop(\"translations\");\n const editing = state.matches(\"edit\");\n const placeholderProp = prop(\"placeholder\");\n const placeholder = typeof placeholderProp === \"string\" ? { edit: placeholderProp, preview: placeholderProp } : placeholderProp;\n const value = context.get(\"value\");\n const empty = value.trim() === \"\";\n const valueText = empty ? placeholder?.preview ?? \"\" : value;\n return {\n editing,\n empty,\n value,\n valueText,\n setValue(value2) {\n send({ type: \"VALUE.SET\", value: value2, src: \"setValue\" });\n },\n clearValue() {\n send({ type: \"VALUE.SET\", value: \"\", src: \"clearValue\" });\n },\n edit() {\n if (!interactive) return;\n send({ type: \"EDIT\" });\n },\n cancel() {\n if (!interactive) return;\n send({ type: \"CANCEL\" });\n },\n submit() {\n if (!interactive) return;\n send({ type: \"SUBMIT\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n id: getRootId(scope),\n dir: prop(\"dir\")\n });\n },\n getAreaProps() {\n return normalize.element({\n ...parts.area.attrs,\n id: getAreaId(scope),\n dir: prop(\"dir\"),\n style: autoResize ? { display: \"inline-grid\" } : void 0,\n \"data-focus\": dataAttr(editing),\n \"data-disabled\": dataAttr(disabled),\n \"data-placeholder-shown\": dataAttr(empty)\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n id: getLabelId(scope),\n dir: prop(\"dir\"),\n htmlFor: getInputId(scope),\n \"data-focus\": dataAttr(editing),\n \"data-invalid\": dataAttr(invalid),\n onClick() {\n if (editing) return;\n const previewEl = getPreviewEl(scope);\n previewEl?.focus({ preventScroll: true });\n }\n });\n },\n getInputProps() {\n return normalize.input({\n ...parts.input.attrs,\n dir: prop(\"dir\"),\n \"aria-label\": translations?.input,\n name: prop(\"name\"),\n form: prop(\"form\"),\n id: getInputId(scope),\n hidden: autoResize ? void 0 : !editing,\n placeholder: placeholder?.edit,\n maxLength: prop(\"maxLength\"),\n required: prop(\"required\"),\n disabled,\n \"data-disabled\": dataAttr(disabled),\n readOnly,\n \"data-readonly\": dataAttr(readOnly),\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n \"data-autoresize\": dataAttr(autoResize),\n defaultValue: value,\n size: autoResize ? 1 : void 0,\n onChange(event) {\n send({\n type: \"VALUE.SET\",\n src: \"input.change\",\n value: event.currentTarget.value\n });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (isComposingEvent(event)) return;\n const keyMap = {\n Escape() {\n send({ type: \"CANCEL\" });\n event.preventDefault();\n },\n Enter(event2) {\n if (!computed(\"submitOnEnter\")) return;\n const { localName } = event2.currentTarget;\n if (localName === \"textarea\") {\n const submitMod = isApple() ? event2.metaKey : event2.ctrlKey;\n if (!submitMod) return;\n send({ type: \"SUBMIT\", src: \"keydown.enter\" });\n return;\n }\n if (localName === \"input\" && !event2.shiftKey && !event2.metaKey) {\n send({ type: \"SUBMIT\", src: \"keydown.enter\" });\n event2.preventDefault();\n }\n }\n };\n const exec = keyMap[event.key];\n if (exec) {\n exec(event);\n }\n },\n style: autoResize ? {\n gridArea: \"1 / 1 / auto / auto\",\n visibility: !editing ? \"hidden\" : void 0\n } : void 0\n });\n },\n getPreviewProps() {\n return normalize.element({\n id: getPreviewId(scope),\n ...parts.preview.attrs,\n dir: prop(\"dir\"),\n \"data-placeholder-shown\": dataAttr(empty),\n \"aria-readonly\": ariaAttr(readOnly),\n \"data-readonly\": dataAttr(disabled),\n \"data-disabled\": dataAttr(disabled),\n \"aria-disabled\": ariaAttr(disabled),\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n \"aria-label\": translations?.edit,\n \"data-autoresize\": dataAttr(autoResize),\n children: valueText,\n hidden: autoResize ? void 0 : editing,\n tabIndex: interactive ? 0 : void 0,\n onClick() {\n if (!interactive) return;\n if (prop(\"activationMode\") !== \"click\") return;\n send({ type: \"EDIT\", src: \"click\" });\n },\n onFocus() {\n if (!interactive) return;\n if (prop(\"activationMode\") !== \"focus\") return;\n send({ type: \"EDIT\", src: \"focus\" });\n },\n onDoubleClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n if (prop(\"activationMode\") !== \"dblclick\") return;\n send({ type: \"EDIT\", src: \"dblclick\" });\n },\n style: autoResize ? {\n whiteSpace: \"pre\",\n userSelect: \"none\",\n gridArea: \"1 / 1 / auto / auto\",\n visibility: editing ? \"hidden\" : void 0,\n // in event the preview overflow's the parent element\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n } : void 0\n });\n },\n getEditTriggerProps() {\n return normalize.button({\n ...parts.editTrigger.attrs,\n id: getEditTriggerId(scope),\n dir: prop(\"dir\"),\n \"aria-label\": translations?.edit,\n hidden: editing,\n type: \"button\",\n disabled,\n onClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n send({ type: \"EDIT\", src: \"edit.click\" });\n }\n });\n },\n getControlProps() {\n return normalize.element({\n id: getControlId(scope),\n ...parts.control.attrs,\n dir: prop(\"dir\")\n });\n },\n getSubmitTriggerProps() {\n return normalize.button({\n ...parts.submitTrigger.attrs,\n dir: prop(\"dir\"),\n id: getSubmitTriggerId(scope),\n \"aria-label\": translations?.submit,\n hidden: !editing,\n disabled,\n type: \"button\",\n onClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n send({ type: \"SUBMIT\", src: \"submit.click\" });\n }\n });\n },\n getCancelTriggerProps() {\n return normalize.button({\n ...parts.cancelTrigger.attrs,\n dir: prop(\"dir\"),\n \"aria-label\": translations?.cancel,\n id: getCancelTriggerId(scope),\n hidden: !editing,\n type: \"button\",\n disabled,\n onClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n send({ type: \"CANCEL\", src: \"cancel.click\" });\n }\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n activationMode: \"focus\",\n submitMode: \"both\",\n defaultValue: \"\",\n selectOnFocus: true,\n ...props2,\n translations: {\n input: \"editable input\",\n edit: \"edit\",\n submit: \"submit\",\n cancel: \"cancel\",\n ...props2.translations\n }\n };\n },\n initialState({ prop }) {\n const edit = prop(\"edit\") || prop(\"defaultEdit\");\n return edit ? \"edit\" : \"preview\";\n },\n entry: [\"focusInputIfNeeded\"],\n context: ({ bindable, prop }) => {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n return prop(\"onValueChange\")?.({ value });\n }\n })),\n previousValue: bindable(() => ({\n defaultValue: \"\"\n }))\n };\n },\n watch({ track, action, context, prop }) {\n track([() => context.get(\"value\")], () => {\n action([\"syncInputValue\"]);\n });\n track([() => prop(\"edit\")], () => {\n action([\"toggleEditing\"]);\n });\n },\n computed: {\n submitOnEnter({ prop }) {\n return [\"both\", \"enter\"].includes(prop(\"submitMode\"));\n },\n submitOnBlur({ prop }) {\n return [\"both\", \"blur\"].includes(prop(\"submitMode\"));\n },\n isInteractive({ prop }) {\n return !(prop(\"disabled\") || prop(\"readOnly\"));\n }\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n }\n },\n states: {\n preview: {\n entry: [\"blurInputIfNeeded\"],\n on: {\n \"CONTROLLED.EDIT\": {\n target: \"edit\",\n actions: [\"setPreviousValue\", \"focusInput\"]\n },\n EDIT: [\n {\n guard: \"isEditControlled\",\n actions: [\"invokeOnEdit\"]\n },\n {\n target: \"edit\",\n actions: [\"setPreviousValue\", \"focusInput\", \"invokeOnEdit\"]\n }\n ]\n }\n },\n edit: {\n effects: [\"trackInteractOutside\"],\n on: {\n \"CONTROLLED.PREVIEW\": [\n {\n guard: \"isSubmitEvent\",\n target: \"preview\",\n actions: [\"setPreviousValue\", \"restoreFocus\", \"invokeOnSubmit\"]\n },\n {\n target: \"preview\",\n actions: [\"revertValue\", \"restoreFocus\", \"invokeOnCancel\"]\n }\n ],\n CANCEL: [\n {\n guard: \"isEditControlled\",\n actions: [\"invokeOnPreview\"]\n },\n {\n target: \"preview\",\n actions: [\"revertValue\", \"restoreFocus\", \"invokeOnCancel\", \"invokeOnPreview\"]\n }\n ],\n SUBMIT: [\n {\n guard: \"isEditControlled\",\n actions: [\"invokeOnPreview\"]\n },\n {\n target: \"preview\",\n actions: [\"setPreviousValue\", \"restoreFocus\", \"invokeOnSubmit\", \"invokeOnPreview\"]\n }\n ]\n }\n }\n },\n implementations: {\n guards: {\n isEditControlled: ({ prop }) => prop(\"edit\") != void 0,\n isSubmitEvent: ({ event }) => event.previousEvent?.type === \"SUBMIT\"\n },\n effects: {\n trackInteractOutside({ send, scope, prop, computed }) {\n return trackInteractOutside(getInputEl(scope), {\n exclude(target) {\n const ignore = [getCancelTriggerEl(scope), getSubmitTriggerEl(scope)];\n return ignore.some((el) => contains(el, target));\n },\n onFocusOutside: prop(\"onFocusOutside\"),\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onInteractOutside(event) {\n prop(\"onInteractOutside\")?.(event);\n if (event.defaultPrevented) return;\n const { focusable } = event.detail;\n send({\n type: computed(\"submitOnBlur\") ? \"SUBMIT\" : \"CANCEL\",\n src: \"interact-outside\",\n focusable\n });\n }\n });\n }\n },\n actions: {\n restoreFocus({ event, scope, prop }) {\n if (event.focusable) return;\n raf(() => {\n const finalEl = prop(\"finalFocusEl\")?.() ?? getEditTriggerEl(scope);\n finalEl?.focus({ preventScroll: true });\n });\n },\n clearValue({ context }) {\n context.set(\"value\", \"\");\n },\n focusInputIfNeeded({ action, prop }) {\n const edit = prop(\"edit\") || prop(\"defaultEdit\");\n if (!edit) return;\n action([\"focusInput\"]);\n },\n focusInput({ scope, prop }) {\n raf(() => {\n const inputEl = getInputEl(scope);\n if (!inputEl) return;\n if (prop(\"selectOnFocus\")) {\n inputEl.select();\n } else {\n inputEl.focus({ preventScroll: true });\n }\n });\n },\n invokeOnCancel({ prop, context }) {\n const prev = context.get(\"previousValue\");\n prop(\"onValueRevert\")?.({ value: prev });\n },\n invokeOnSubmit({ prop, context }) {\n const value = context.get(\"value\");\n prop(\"onValueCommit\")?.({ value });\n },\n invokeOnEdit({ prop }) {\n prop(\"onEditChange\")?.({ edit: true });\n },\n invokeOnPreview({ prop }) {\n prop(\"onEditChange\")?.({ edit: false });\n },\n toggleEditing({ prop, send, event }) {\n send({\n type: prop(\"edit\") ? \"CONTROLLED.EDIT\" : \"CONTROLLED.PREVIEW\",\n previousEvent: event\n });\n },\n syncInputValue({ context, scope }) {\n const inputEl = getInputEl(scope);\n if (!inputEl) return;\n setElementValue(inputEl, context.get(\"value\"));\n },\n setValue({ context, prop, event }) {\n const max = prop(\"maxLength\");\n const value = max != null ? event.value.slice(0, max) : event.value;\n context.set(\"value\", value);\n },\n setPreviousValue({ context }) {\n context.set(\"previousValue\", context.get(\"value\"));\n },\n revertValue({ context }) {\n const value = context.get(\"previousValue\");\n if (!value) return;\n context.set(\"value\", value);\n },\n blurInputIfNeeded({ scope }) {\n getInputEl(scope)?.blur();\n }\n }\n }\n});\nvar props = createProps()([\n \"activationMode\",\n \"autoResize\",\n \"dir\",\n \"disabled\",\n \"finalFocusEl\",\n \"form\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"maxLength\",\n \"name\",\n \"onEditChange\",\n \"onFocusOutside\",\n \"onInteractOutside\",\n \"onPointerDownOutside\",\n \"onValueChange\",\n \"onValueCommit\",\n \"onValueRevert\",\n \"placeholder\",\n \"readOnly\",\n \"required\",\n \"selectOnFocus\",\n \"edit\",\n \"defaultEdit\",\n \"submitMode\",\n \"translations\",\n \"defaultValue\",\n \"value\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","'use client';\nimport { createAnatomy } from '@zag-js/anatomy';\n\nconst fieldsetAnatomy = createAnatomy(\"fieldset\").parts(\"root\", \"errorText\", \"helperText\", \"legend\");\nconst parts = fieldsetAnatomy.build();\n\nexport { fieldsetAnatomy, parts };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, addDomEvent, getWindow, contains, getEventTarget, dataAttr, visuallyHiddenStyle, isSelfTarget } from '@zag-js/dom-query';\nimport { getAcceptAttrString, isFileEqual, isValidFileType, isValidFileSize, getFileEntries } from '@zag-js/file-utils';\nimport { formatBytes } from '@zag-js/i18n-utils';\nimport { createProps } from '@zag-js/types';\nimport { callAll, createSplitProps, flatArray } from '@zag-js/utils';\nimport { createMachine } from '@zag-js/core';\n\n// src/file-upload.anatomy.ts\nvar anatomy = createAnatomy(\"file-upload\").parts(\n \"root\",\n \"dropzone\",\n \"item\",\n \"itemDeleteTrigger\",\n \"itemGroup\",\n \"itemName\",\n \"itemPreview\",\n \"itemPreviewImage\",\n \"itemSizeText\",\n \"label\",\n \"trigger\",\n \"clearTrigger\"\n);\nvar parts = anatomy.build();\n\n// src/file-upload.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `file:${ctx.id}`;\nvar getDropzoneId = (ctx) => ctx.ids?.dropzone ?? `file:${ctx.id}:dropzone`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `file:${ctx.id}:input`;\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `file:${ctx.id}:trigger`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `file:${ctx.id}:label`;\nvar getItemId = (ctx, id) => ctx.ids?.item?.(id) ?? `file:${ctx.id}:item:${id}`;\nvar getItemNameId = (ctx, id) => ctx.ids?.itemName?.(id) ?? `file:${ctx.id}:item-name:${id}`;\nvar getItemSizeTextId = (ctx, id) => ctx.ids?.itemSizeText?.(id) ?? `file:${ctx.id}:item-size:${id}`;\nvar getItemPreviewId = (ctx, id) => ctx.ids?.itemPreview?.(id) ?? `file:${ctx.id}:item-preview:${id}`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\nvar getDropzoneEl = (ctx) => ctx.getById(getDropzoneId(ctx));\nfunction isEventWithFiles(event) {\n const target = getEventTarget(event);\n if (!event.dataTransfer) return !!target && \"files\" in target;\n return event.dataTransfer.types.some((type) => {\n return type === \"Files\" || type === \"application/x-moz-file\";\n });\n}\nfunction isFilesWithinRange(ctx, incomingCount) {\n const { context, prop, computed } = ctx;\n if (!computed(\"multiple\") && incomingCount > 1) return false;\n if (!computed(\"multiple\") && incomingCount + context.get(\"acceptedFiles\").length === 2) return true;\n if (incomingCount + context.get(\"acceptedFiles\").length > prop(\"maxFiles\")) return false;\n return true;\n}\nfunction getFilesFromEvent(ctx, files) {\n const { context, prop, computed } = ctx;\n const acceptedFiles = [];\n const rejectedFiles = [];\n files.forEach((file) => {\n const [accepted, acceptError] = isValidFileType(file, computed(\"acceptAttr\"));\n const [sizeMatch, sizeError] = isValidFileSize(file, prop(\"minFileSize\"), prop(\"maxFileSize\"));\n const validateErrors = prop(\"validate\")?.(file, {\n acceptedFiles: context.get(\"acceptedFiles\"),\n rejectedFiles: context.get(\"rejectedFiles\")\n });\n const valid = validateErrors ? validateErrors.length === 0 : true;\n if (accepted && sizeMatch && valid) {\n acceptedFiles.push(file);\n } else {\n const errors = [acceptError, sizeError];\n if (!valid) errors.push(...validateErrors ?? []);\n rejectedFiles.push({ file, errors: errors.filter(Boolean) });\n }\n });\n if (!isFilesWithinRange(ctx, acceptedFiles.length)) {\n acceptedFiles.forEach((file) => {\n rejectedFiles.push({ file, errors: [\"TOO_MANY_FILES\"] });\n });\n acceptedFiles.splice(0);\n }\n return {\n acceptedFiles,\n rejectedFiles\n };\n}\nfunction setInputFiles(inputEl, files) {\n const win = getWindow(inputEl);\n try {\n if (\"DataTransfer\" in win) {\n const dataTransfer = new win.DataTransfer();\n files.forEach((file) => {\n dataTransfer.items.add(file);\n });\n inputEl.files = dataTransfer.files;\n }\n } catch {\n }\n}\n\n// src/file-upload.connect.ts\nfunction connect(service, normalize) {\n const { state, send, prop, computed, scope, context } = service;\n const disabled = prop(\"disabled\");\n const allowDrop = prop(\"allowDrop\");\n const translations = prop(\"translations\");\n const dragging = state.matches(\"dragging\");\n const focused = state.matches(\"focused\") && !disabled;\n return {\n dragging,\n focused,\n disabled: !!disabled,\n openFilePicker() {\n if (disabled) return;\n send({ type: \"OPEN\" });\n },\n deleteFile(file) {\n send({ type: \"FILE.DELETE\", file });\n },\n acceptedFiles: context.get(\"acceptedFiles\"),\n rejectedFiles: context.get(\"rejectedFiles\"),\n setFiles(files) {\n const count = files.length;\n send({ type: \"FILES.SET\", files, count });\n },\n clearRejectedFiles() {\n send({ type: \"REJECTED_FILES.CLEAR\" });\n },\n clearFiles() {\n send({ type: \"FILES.CLEAR\" });\n },\n getFileSize(file) {\n return formatBytes(file.size, prop(\"locale\"));\n },\n createFileUrl(file, cb) {\n const win = scope.getWin();\n const url = win.URL.createObjectURL(file);\n cb(url);\n return () => win.URL.revokeObjectURL(url);\n },\n setClipboardFiles(dt) {\n if (disabled) return false;\n const items = Array.from(dt?.items ?? []);\n const files = items.reduce((acc, item) => {\n if (item.kind !== \"file\") return acc;\n const file = item.getAsFile();\n if (!file) return acc;\n return [...acc, file];\n }, []);\n if (!files.length) return false;\n send({ type: \"FILES.SET\", files });\n return true;\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-dragging\": dataAttr(dragging)\n });\n },\n getDropzoneProps(props2 = {}) {\n return normalize.element({\n ...parts.dropzone.attrs,\n dir: prop(\"dir\"),\n id: getDropzoneId(scope),\n tabIndex: disabled || props2.disableClick ? void 0 : 0,\n role: props2.disableClick ? \"application\" : \"button\",\n \"aria-label\": translations.dropzone,\n \"aria-disabled\": disabled,\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-disabled\": dataAttr(disabled),\n \"data-dragging\": dataAttr(dragging),\n onKeyDown(event) {\n if (disabled) return;\n if (event.defaultPrevented) return;\n if (!isSelfTarget(event)) return;\n if (props2.disableClick) return;\n if (event.key !== \"Enter\" && event.key !== \" \") return;\n send({ type: \"DROPZONE.CLICK\", src: \"keydown\" });\n },\n onClick(event) {\n if (disabled) return;\n if (event.defaultPrevented) return;\n if (props2.disableClick) return;\n if (!isSelfTarget(event)) return;\n if (event.currentTarget.localName === \"label\") {\n event.preventDefault();\n }\n send({ type: \"DROPZONE.CLICK\" });\n },\n onDragOver(event) {\n if (disabled) return;\n if (!allowDrop) return;\n event.preventDefault();\n event.stopPropagation();\n try {\n event.dataTransfer.dropEffect = \"copy\";\n } catch {\n }\n const hasFiles = isEventWithFiles(event);\n if (!hasFiles) return;\n const count = event.dataTransfer.items.length;\n send({ type: \"DROPZONE.DRAG_OVER\", count });\n },\n onDragLeave(event) {\n if (disabled) return;\n if (!allowDrop) return;\n if (contains(event.currentTarget, event.relatedTarget)) return;\n send({ type: \"DROPZONE.DRAG_LEAVE\" });\n },\n onDrop(event) {\n if (disabled) return;\n if (allowDrop) {\n event.preventDefault();\n event.stopPropagation();\n }\n const hasFiles = isEventWithFiles(event);\n if (disabled || !hasFiles) return;\n getFileEntries(event.dataTransfer.items, prop(\"directory\")).then((files) => {\n send({ type: \"DROPZONE.DROP\", files: flatArray(files) });\n });\n },\n onFocus() {\n if (disabled) return;\n send({ type: \"DROPZONE.FOCUS\" });\n },\n onBlur() {\n if (disabled) return;\n send({ type: \"DROPZONE.BLUR\" });\n }\n });\n },\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n dir: prop(\"dir\"),\n id: getTriggerId(scope),\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n type: \"button\",\n onClick(event) {\n if (disabled) return;\n if (contains(getDropzoneEl(scope), event.currentTarget)) {\n event.stopPropagation();\n }\n send({ type: \"OPEN\" });\n }\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n id: getHiddenInputId(scope),\n tabIndex: -1,\n disabled,\n type: \"file\",\n required: prop(\"required\"),\n capture: prop(\"capture\"),\n name: prop(\"name\"),\n accept: computed(\"acceptAttr\"),\n webkitdirectory: prop(\"directory\") ? \"\" : void 0,\n multiple: computed(\"multiple\") || prop(\"maxFiles\") > 1,\n onClick(event) {\n event.stopPropagation();\n event.currentTarget.value = \"\";\n },\n onInput(event) {\n if (disabled) return;\n const { files } = event.currentTarget;\n send({ type: \"FILES.SET\", files: files ? Array.from(files) : [] });\n },\n style: visuallyHiddenStyle\n });\n },\n getItemGroupProps() {\n return normalize.element({\n ...parts.itemGroup.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.item.attrs,\n dir: prop(\"dir\"),\n id: getItemId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemNameProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.itemName.attrs,\n dir: prop(\"dir\"),\n id: getItemNameId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemSizeTextProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.itemSizeText.attrs,\n dir: prop(\"dir\"),\n id: getItemSizeTextId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemPreviewProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.itemPreview.attrs,\n dir: prop(\"dir\"),\n id: getItemPreviewId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemPreviewImageProps(props2) {\n const { file, url } = props2;\n const isImage = file.type.startsWith(\"image/\");\n if (!isImage) {\n throw new Error(\"Preview Image is only supported for image files\");\n }\n return normalize.img({\n ...parts.itemPreviewImage.attrs,\n alt: translations.itemPreview?.(file),\n src: url,\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemDeleteTriggerProps(props2) {\n const { file } = props2;\n return normalize.button({\n ...parts.itemDeleteTrigger.attrs,\n dir: prop(\"dir\"),\n type: \"button\",\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"aria-label\": translations.deleteFile?.(file),\n onClick() {\n if (disabled) return;\n send({ type: \"FILE.DELETE\", file });\n }\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n id: getLabelId(scope),\n htmlFor: getHiddenInputId(scope),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getClearTriggerProps() {\n return normalize.button({\n ...parts.clearTrigger.attrs,\n dir: prop(\"dir\"),\n type: \"button\",\n disabled,\n hidden: context.get(\"acceptedFiles\").length === 0,\n \"data-disabled\": dataAttr(disabled),\n onClick(event) {\n if (event.defaultPrevented) return;\n if (disabled) return;\n send({ type: \"FILES.CLEAR\" });\n }\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n minFileSize: 0,\n maxFileSize: Number.POSITIVE_INFINITY,\n maxFiles: 1,\n allowDrop: true,\n preventDocumentDrop: true,\n ...props2,\n translations: {\n dropzone: \"dropzone\",\n itemPreview: (file) => `preview of ${file.name}`,\n deleteFile: (file) => `delete file ${file.name}`,\n ...props2.translations\n }\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable, getContext }) {\n return {\n acceptedFiles: bindable(() => ({\n defaultValue: [],\n isEqual: (a, b) => a.length === b?.length && a.every((file, i) => isFileEqual(file, b[i])),\n hash(value) {\n return value.map((file) => `${file.name}-${file.size}`).join(\",\");\n },\n onChange(value) {\n const ctx = getContext();\n prop(\"onFileAccept\")?.({ files: value });\n prop(\"onFileChange\")?.({ acceptedFiles: value, rejectedFiles: ctx.get(\"rejectedFiles\") });\n }\n })),\n rejectedFiles: bindable(() => ({\n defaultValue: [],\n isEqual: (a, b) => a.length === b?.length && a.every((file, i) => isFileEqual(file.file, b[i].file)),\n onChange(value) {\n const ctx = getContext();\n prop(\"onFileReject\")?.({ files: value });\n prop(\"onFileChange\")?.({ acceptedFiles: ctx.get(\"acceptedFiles\"), rejectedFiles: value });\n }\n }))\n };\n },\n computed: {\n acceptAttr: ({ prop }) => getAcceptAttrString(prop(\"accept\")),\n multiple: ({ prop }) => prop(\"maxFiles\") > 1\n },\n watch({ track, context, action }) {\n track([() => context.hash(\"acceptedFiles\")], () => {\n action([\"syncInputElement\"]);\n });\n },\n on: {\n \"FILES.SET\": {\n actions: [\"setFilesFromEvent\"]\n },\n \"FILE.DELETE\": {\n actions: [\"removeFile\"]\n },\n \"FILES.CLEAR\": {\n actions: [\"clearFiles\"]\n },\n \"REJECTED_FILES.CLEAR\": {\n actions: [\"clearRejectedFiles\"]\n }\n },\n effects: [\"preventDocumentDrop\"],\n states: {\n idle: {\n on: {\n OPEN: {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.CLICK\": {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.FOCUS\": {\n target: \"focused\"\n },\n \"DROPZONE.DRAG_OVER\": {\n target: \"dragging\"\n }\n }\n },\n focused: {\n on: {\n \"DROPZONE.BLUR\": {\n target: \"idle\"\n },\n OPEN: {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.CLICK\": {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.DRAG_OVER\": {\n target: \"dragging\"\n }\n }\n },\n dragging: {\n on: {\n \"DROPZONE.DROP\": {\n target: \"idle\",\n actions: [\"setFilesFromEvent\"]\n },\n \"DROPZONE.DRAG_LEAVE\": {\n target: \"idle\"\n }\n }\n }\n },\n implementations: {\n effects: {\n preventDocumentDrop({ prop, scope }) {\n if (!prop(\"preventDocumentDrop\")) return;\n if (!prop(\"allowDrop\")) return;\n if (prop(\"disabled\")) return;\n const doc = scope.getDoc();\n const onDragOver = (event) => {\n event?.preventDefault();\n };\n const onDrop = (event) => {\n if (contains(getRootEl(scope), getEventTarget(event))) return;\n event.preventDefault();\n };\n return callAll(addDomEvent(doc, \"dragover\", onDragOver, false), addDomEvent(doc, \"drop\", onDrop, false));\n }\n },\n actions: {\n syncInputElement({ scope, context }) {\n queueMicrotask(() => {\n const inputEl = getHiddenInputEl(scope);\n if (!inputEl) return;\n setInputFiles(inputEl, context.get(\"acceptedFiles\"));\n const win = scope.getWin();\n inputEl.dispatchEvent(new win.Event(\"change\", { bubbles: true }));\n });\n },\n openFilePicker({ scope }) {\n raf(() => {\n getHiddenInputEl(scope)?.click();\n });\n },\n setFilesFromEvent(params) {\n const { computed, context, event } = params;\n const result = getFilesFromEvent(params, event.files);\n const { acceptedFiles, rejectedFiles } = result;\n if (computed(\"multiple\")) {\n context.set(\"acceptedFiles\", (prev) => [...prev, ...acceptedFiles]);\n context.set(\"rejectedFiles\", rejectedFiles);\n return;\n }\n if (acceptedFiles.length) {\n const files = [acceptedFiles[0]];\n context.set(\"acceptedFiles\", files);\n context.set(\"rejectedFiles\", rejectedFiles);\n } else if (rejectedFiles.length) {\n context.set(\"acceptedFiles\", context.get(\"acceptedFiles\"));\n context.set(\"rejectedFiles\", rejectedFiles);\n }\n },\n removeFile({ context, event }) {\n const files = context.get(\"acceptedFiles\").filter((file) => file !== event.file);\n const rejectedFiles = context.get(\"rejectedFiles\").filter((item) => item.file !== event.file);\n context.set(\"acceptedFiles\", files);\n context.set(\"rejectedFiles\", rejectedFiles);\n },\n clearRejectedFiles({ context }) {\n context.set(\"acceptedFiles\", context.get(\"acceptedFiles\"));\n context.set(\"rejectedFiles\", []);\n },\n clearFiles({ context }) {\n context.set(\"acceptedFiles\", []);\n context.set(\"rejectedFiles\", []);\n }\n }\n }\n});\nvar props = createProps()([\n \"accept\",\n \"allowDrop\",\n \"capture\",\n \"dir\",\n \"directory\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"locale\",\n \"maxFiles\",\n \"maxFileSize\",\n \"minFileSize\",\n \"name\",\n \"invalid\",\n \"onFileAccept\",\n \"onFileReject\",\n \"onFileChange\",\n \"preventDocumentDrop\",\n \"required\",\n \"translations\",\n \"validate\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"file\"]);\nvar splitItemProps = createSplitProps(itemProps);\n\nexport { anatomy, connect, itemProps, machine, props, splitItemProps, splitProps };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [HoverCardProvider, useHoverCardContext] = createContext({\n name: \"HoverCardContext\",\n hookName: \"useHoverCardContext\",\n providerName: \"<HoverCardProvider />\"\n});\n\nexport { HoverCardProvider, useHoverCardContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardArrow = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const mergedProps = mergeProps(hoverCard.getArrowProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nHoverCardArrow.displayName = \"HoverCardArrow\";\n\nexport { HoverCardArrow };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardArrowTip = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const mergedProps = mergeProps(hoverCard.getArrowTipProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nHoverCardArrowTip.displayName = \"HoverCardArrowTip\";\n\nexport { HoverCardArrowTip };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardContent = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(hoverCard.getContentProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nHoverCardContent.displayName = \"HoverCardContent\";\n\nexport { HoverCardContent };\n","'use client';\nimport { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardContext = (props) => props.children(useHoverCardContext());\n\nexport { HoverCardContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardPositioner = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const mergedProps = mergeProps(hoverCard.getPositionerProps(), props);\n const presence = usePresenceContext();\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nHoverCardPositioner.displayName = \"HoverCardPositioner\";\n\nexport { HoverCardPositioner };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { getPlacement, getPlacementStyles } from '@zag-js/popper';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { trackDismissableElement } from '@zag-js/dismissable';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/hover-card.anatomy.ts\nvar anatomy = createAnatomy(\"hoverCard\").parts(\"arrow\", \"arrowTip\", \"trigger\", \"positioner\", \"content\");\nvar parts = anatomy.build();\n\n// src/hover-card.dom.ts\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `hover-card:${ctx.id}:trigger`;\nvar getContentId = (ctx) => ctx.ids?.content ?? `hover-card:${ctx.id}:content`;\nvar getPositionerId = (ctx) => ctx.ids?.positioner ?? `hover-card:${ctx.id}:popper`;\nvar getArrowId = (ctx) => ctx.ids?.arrow ?? `hover-card:${ctx.id}:arrow`;\nvar getTriggerEl = (ctx) => ctx.getById(getTriggerId(ctx));\nvar getContentEl = (ctx) => ctx.getById(getContentId(ctx));\nvar getPositionerEl = (ctx) => ctx.getById(getPositionerId(ctx));\n\n// src/hover-card.connect.ts\nfunction connect(service, normalize) {\n const { state, send, prop, context, scope } = service;\n const open = state.hasTag(\"open\");\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: context.get(\"currentPlacement\")\n });\n return {\n open,\n setOpen(nextOpen) {\n const open2 = state.hasTag(\"open\");\n if (open2 === nextOpen) return;\n send({ type: nextOpen ? \"OPEN\" : \"CLOSE\" });\n },\n reposition(options = {}) {\n send({ type: \"POSITIONING.SET\", options });\n },\n getArrowProps() {\n return normalize.element({\n id: getArrowId(scope),\n ...parts.arrow.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.arrow\n });\n },\n getArrowTipProps() {\n return normalize.element({\n ...parts.arrowTip.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.arrowTip\n });\n },\n getTriggerProps() {\n return normalize.element({\n ...parts.trigger.attrs,\n dir: prop(\"dir\"),\n \"data-placement\": context.get(\"currentPlacement\"),\n id: getTriggerId(scope),\n \"data-state\": open ? \"open\" : \"closed\",\n onPointerEnter(event) {\n if (event.pointerType === \"touch\") return;\n send({ type: \"POINTER_ENTER\", src: \"trigger\" });\n },\n onPointerLeave(event) {\n if (event.pointerType === \"touch\") return;\n send({ type: \"POINTER_LEAVE\", src: \"trigger\" });\n },\n onFocus() {\n send({ type: \"TRIGGER_FOCUS\" });\n },\n onBlur() {\n send({ type: \"TRIGGER_BLUR\" });\n }\n });\n },\n getPositionerProps() {\n return normalize.element({\n id: getPositionerId(scope),\n ...parts.positioner.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.floating\n });\n },\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n dir: prop(\"dir\"),\n id: getContentId(scope),\n hidden: !open,\n tabIndex: -1,\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-placement\": context.get(\"currentPlacement\"),\n onPointerEnter(event) {\n if (event.pointerType === \"touch\") return;\n send({ type: \"POINTER_ENTER\", src: \"content\" });\n },\n onPointerLeave(event) {\n if (event.pointerType === \"touch\") return;\n send({ type: \"POINTER_LEAVE\", src: \"content\" });\n }\n });\n }\n };\n}\nvar { not, and } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n openDelay: 700,\n closeDelay: 300,\n ...props2,\n positioning: {\n placement: \"bottom\",\n ...props2.positioning\n }\n };\n },\n initialState({ prop }) {\n const open = prop(\"open\") || prop(\"defaultOpen\");\n return open ? \"open\" : \"closed\";\n },\n context({ prop, bindable }) {\n return {\n open: bindable(() => ({\n defaultValue: prop(\"defaultOpen\"),\n value: prop(\"open\"),\n onChange(value) {\n prop(\"onOpenChange\")?.({ open: value });\n }\n })),\n currentPlacement: bindable(() => ({\n defaultValue: void 0\n })),\n isPointer: bindable(() => ({\n defaultValue: false\n }))\n };\n },\n watch({ track, context, action }) {\n track([() => context.get(\"open\")], () => {\n action([\"toggleVisibility\"]);\n });\n },\n states: {\n closed: {\n tags: [\"closed\"],\n entry: [\"clearIsPointer\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\"\n },\n POINTER_ENTER: {\n target: \"opening\",\n actions: [\"setIsPointer\"]\n },\n TRIGGER_FOCUS: {\n target: \"opening\"\n },\n OPEN: {\n target: \"opening\"\n }\n }\n },\n opening: {\n tags: [\"closed\"],\n effects: [\"waitForOpenDelay\"],\n on: {\n OPEN_DELAY: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"]\n }\n ],\n \"CONTROLLED.OPEN\": {\n target: \"open\"\n },\n \"CONTROLLED.CLOSE\": {\n target: \"closed\"\n },\n POINTER_LEAVE: [\n {\n guard: \"isOpenControlled\",\n // We trigger toggleVisibility manually since the `ctx.open` has not changed yet (at this point)\n actions: [\"invokeOnClose\", \"toggleVisibility\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n TRIGGER_BLUR: [\n {\n guard: and(\"isOpenControlled\", not(\"isPointer\")),\n // We trigger toggleVisibility manually since the `ctx.open` has not changed yet (at this point)\n actions: [\"invokeOnClose\", \"toggleVisibility\"]\n },\n {\n guard: not(\"isPointer\"),\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n // We trigger toggleVisibility manually since the `ctx.open` has not changed yet (at this point)\n actions: [\"invokeOnClose\", \"toggleVisibility\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ]\n }\n },\n open: {\n tags: [\"open\"],\n effects: [\"trackDismissableElement\", \"trackPositioning\"],\n on: {\n \"CONTROLLED.CLOSE\": {\n target: \"closed\"\n },\n POINTER_ENTER: {\n actions: [\"setIsPointer\"]\n },\n POINTER_LEAVE: {\n target: \"closing\"\n },\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n TRIGGER_BLUR: [\n {\n guard: and(\"isOpenControlled\", not(\"isPointer\")),\n actions: [\"invokeOnClose\"]\n },\n {\n guard: not(\"isPointer\"),\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"POSITIONING.SET\": {\n actions: [\"reposition\"]\n }\n }\n },\n closing: {\n tags: [\"open\"],\n effects: [\"trackPositioning\", \"waitForCloseDelay\"],\n on: {\n CLOSE_DELAY: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"CONTROLLED.CLOSE\": {\n target: \"closed\"\n },\n \"CONTROLLED.OPEN\": {\n target: \"open\"\n },\n POINTER_ENTER: {\n target: \"open\",\n // no need to invokeOnOpen here because it's still open (but about to close)\n actions: [\"setIsPointer\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n isPointer: ({ context }) => !!context.get(\"isPointer\"),\n isOpenControlled: ({ prop }) => prop(\"open\") != null\n },\n effects: {\n waitForOpenDelay({ send, prop }) {\n const id = setTimeout(() => {\n send({ type: \"OPEN_DELAY\" });\n }, prop(\"openDelay\"));\n return () => clearTimeout(id);\n },\n waitForCloseDelay({ send, prop }) {\n const id = setTimeout(() => {\n send({ type: \"CLOSE_DELAY\" });\n }, prop(\"closeDelay\"));\n return () => clearTimeout(id);\n },\n trackPositioning({ context, prop, scope }) {\n if (!context.get(\"currentPlacement\")) {\n context.set(\"currentPlacement\", prop(\"positioning\").placement);\n }\n const getPositionerEl2 = () => getPositionerEl(scope);\n return getPlacement(getTriggerEl(scope), getPositionerEl2, {\n ...prop(\"positioning\"),\n defer: true,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n trackDismissableElement({ send, scope, prop }) {\n const getContentEl2 = () => getContentEl(scope);\n return trackDismissableElement(getContentEl2, {\n defer: true,\n exclude: [getTriggerEl(scope)],\n onDismiss() {\n send({ type: \"CLOSE\", src: \"interact-outside\" });\n },\n onInteractOutside: prop(\"onInteractOutside\"),\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onFocusOutside(event) {\n event.preventDefault();\n prop(\"onFocusOutside\")?.(event);\n }\n });\n }\n },\n actions: {\n invokeOnClose({ prop }) {\n prop(\"onOpenChange\")?.({ open: false });\n },\n invokeOnOpen({ prop }) {\n prop(\"onOpenChange\")?.({ open: true });\n },\n setIsPointer({ context }) {\n context.set(\"isPointer\", true);\n },\n clearIsPointer({ context }) {\n context.set(\"isPointer\", false);\n },\n reposition({ context, prop, scope, event }) {\n const getPositionerEl2 = () => getPositionerEl(scope);\n getPlacement(getTriggerEl(scope), getPositionerEl2, {\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({ prop, event, send }) {\n queueMicrotask(() => {\n send({ type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: event });\n });\n }\n }\n }\n});\nvar props = createProps()([\n \"closeDelay\",\n \"dir\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"onOpenChange\",\n \"defaultOpen\",\n \"open\",\n \"openDelay\",\n \"positioning\",\n \"onInteractOutside\",\n \"onPointerDownOutside\",\n \"onFocusOutside\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","'use client';\nimport * as hoverCard from '@zag-js/hover-card';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useHoverCard = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(hoverCard.machine, machineProps);\n return hoverCard.connect(service, normalizeProps);\n};\n\nexport { useHoverCard };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useHoverCard } from './use-hover-card.js';\nimport { HoverCardProvider } from './use-hover-card-context.js';\n\nconst HoverCardRoot = (props) => {\n const [presenceProps, { children, ...localProps }] = splitPresenceProps(props);\n const hoverCard = useHoverCard(localProps);\n const presence = usePresence(mergeProps({ present: hoverCard.open }, presenceProps));\n return /* @__PURE__ */ jsx(HoverCardProvider, { value: hoverCard, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) });\n};\n\nexport { HoverCardRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { HoverCardProvider } from './use-hover-card-context.js';\n\nconst HoverCardRootProvider = (props) => {\n const [presenceProps, { value: hoverCard, children }] = splitPresenceProps(props);\n const presence = usePresence(mergeProps({ present: hoverCard.open }, presenceProps));\n return /* @__PURE__ */ jsx(HoverCardProvider, { value: hoverCard, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) });\n};\n\nexport { HoverCardRootProvider };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardTrigger = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const mergedProps = mergeProps(hoverCard.getTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nHoverCardTrigger.displayName = \"HoverCardTrigger\";\n\nexport { HoverCardTrigger };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, setElementValue, addDomEvent, isSafari, requestPointerLock, observeAttributes, trackFormControl, MAX_Z_INDEX, dataAttr, getEventPoint, getWindow, isLeftClick, ariaAttr, isComposingEvent, getEventStep, isModifierKey } from '@zag-js/dom-query';\nimport { isValueAtMax, isValueAtMin, clampValue, decrementValue, incrementValue, callAll, isValueWithinRange, createSplitProps, roundToDpr, wrap } from '@zag-js/utils';\nimport { setup, memo } from '@zag-js/core';\nimport { NumberParser } from '@internationalized/number';\nimport { createProps } from '@zag-js/types';\n\n// src/number-input.anatomy.ts\nvar anatomy = createAnatomy(\"numberInput\").parts(\n \"root\",\n \"label\",\n \"input\",\n \"control\",\n \"valueText\",\n \"incrementTrigger\",\n \"decrementTrigger\",\n \"scrubber\"\n);\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `number-input:${ctx.id}`;\nvar getInputId = (ctx) => ctx.ids?.input ?? `number-input:${ctx.id}:input`;\nvar getIncrementTriggerId = (ctx) => ctx.ids?.incrementTrigger ?? `number-input:${ctx.id}:inc`;\nvar getDecrementTriggerId = (ctx) => ctx.ids?.decrementTrigger ?? `number-input:${ctx.id}:dec`;\nvar getScrubberId = (ctx) => ctx.ids?.scrubber ?? `number-input:${ctx.id}:scrubber`;\nvar getCursorId = (ctx) => `number-input:${ctx.id}:cursor`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `number-input:${ctx.id}:label`;\nvar getInputEl = (ctx) => ctx.getById(getInputId(ctx));\nvar getIncrementTriggerEl = (ctx) => ctx.getById(getIncrementTriggerId(ctx));\nvar getDecrementTriggerEl = (ctx) => ctx.getById(getDecrementTriggerId(ctx));\nvar getCursorEl = (ctx) => ctx.getDoc().getElementById(getCursorId(ctx));\nvar getPressedTriggerEl = (ctx, hint) => {\n let btnEl = null;\n if (hint === \"increment\") {\n btnEl = getIncrementTriggerEl(ctx);\n }\n if (hint === \"decrement\") {\n btnEl = getDecrementTriggerEl(ctx);\n }\n return btnEl;\n};\nvar setupVirtualCursor = (ctx, point) => {\n if (isSafari()) return;\n createVirtualCursor(ctx, point);\n return () => {\n getCursorEl(ctx)?.remove();\n };\n};\nvar preventTextSelection = (ctx) => {\n const doc = ctx.getDoc();\n const html = doc.documentElement;\n const body = doc.body;\n body.style.pointerEvents = \"none\";\n html.style.userSelect = \"none\";\n html.style.cursor = \"ew-resize\";\n return () => {\n body.style.pointerEvents = \"\";\n html.style.userSelect = \"\";\n html.style.cursor = \"\";\n if (!html.style.length) {\n html.removeAttribute(\"style\");\n }\n if (!body.style.length) {\n body.removeAttribute(\"style\");\n }\n };\n};\nvar getMousemoveValue = (ctx, opts) => {\n const { point, isRtl, event } = opts;\n const win = ctx.getWin();\n const x = roundToDpr(event.movementX, win.devicePixelRatio);\n const y = roundToDpr(event.movementY, win.devicePixelRatio);\n let hint = x > 0 ? \"increment\" : x < 0 ? \"decrement\" : null;\n if (isRtl && hint === \"increment\") hint = \"decrement\";\n if (isRtl && hint === \"decrement\") hint = \"increment\";\n const newPoint = { x: point.x + x, y: point.y + y };\n const width = win.innerWidth;\n const half = roundToDpr(7.5, win.devicePixelRatio);\n newPoint.x = wrap(newPoint.x + half, width) - half;\n return { hint, point: newPoint };\n};\nvar createVirtualCursor = (ctx, point) => {\n const doc = ctx.getDoc();\n const el = doc.createElement(\"div\");\n el.className = \"scrubber--cursor\";\n el.id = getCursorId(ctx);\n Object.assign(el.style, {\n width: \"15px\",\n height: \"15px\",\n position: \"fixed\",\n pointerEvents: \"none\",\n left: \"0px\",\n top: \"0px\",\n zIndex: MAX_Z_INDEX,\n transform: point ? `translate3d(${point.x}px, ${point.y}px, 0px)` : void 0,\n willChange: \"transform\"\n });\n el.innerHTML = `\n <svg width=\"46\" height=\"15\" style=\"left: -15.5px; position: absolute; top: 0; filter: drop-shadow(rgba(0, 0, 0, 0.4) 0px 1px 1.1px);\">\n <g transform=\"translate(2 3)\">\n <path fill-rule=\"evenodd\" d=\"M 15 4.5L 15 2L 11.5 5.5L 15 9L 15 6.5L 31 6.5L 31 9L 34.5 5.5L 31 2L 31 4.5Z\" style=\"stroke-width: 2px; stroke: white;\"></path>\n <path fill-rule=\"evenodd\" d=\"M 15 4.5L 15 2L 11.5 5.5L 15 9L 15 6.5L 31 6.5L 31 9L 34.5 5.5L 31 2L 31 4.5Z\"></path>\n </g>\n </svg>`;\n doc.body.appendChild(el);\n};\n\n// src/number-input.connect.ts\nfunction connect(service, normalize) {\n const { state, send, prop, scope, computed } = service;\n const focused = state.hasTag(\"focus\");\n const disabled = computed(\"isDisabled\");\n const readOnly = prop(\"readOnly\");\n const empty = computed(\"isValueEmpty\");\n const invalid = computed(\"isOutOfRange\") || !!prop(\"invalid\");\n const isIncrementDisabled = disabled || !computed(\"canIncrement\") || readOnly;\n const isDecrementDisabled = disabled || !computed(\"canDecrement\") || readOnly;\n const translations = prop(\"translations\");\n return {\n focused,\n invalid,\n empty,\n value: computed(\"formattedValue\"),\n valueAsNumber: computed(\"valueAsNumber\"),\n setValue(value) {\n send({ type: \"VALUE.SET\", value });\n },\n clearValue() {\n send({ type: \"VALUE.CLEAR\" });\n },\n increment() {\n send({ type: \"VALUE.INCREMENT\" });\n },\n decrement() {\n send({ type: \"VALUE.DECREMENT\" });\n },\n setToMax() {\n send({ type: \"VALUE.SET\", value: prop(\"max\") });\n },\n setToMin() {\n send({ type: \"VALUE.SET\", value: prop(\"min\") });\n },\n focus() {\n getInputEl(scope)?.focus();\n },\n getRootProps() {\n return normalize.element({\n id: getRootId(scope),\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-focus\": dataAttr(focused),\n \"data-invalid\": dataAttr(invalid)\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-focus\": dataAttr(focused),\n \"data-invalid\": dataAttr(invalid),\n id: getLabelId(scope),\n htmlFor: getInputId(scope)\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n dir: prop(\"dir\"),\n role: \"group\",\n \"aria-disabled\": disabled,\n \"data-focus\": dataAttr(focused),\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"aria-invalid\": ariaAttr(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 getInputProps() {\n return normalize.input({\n ...parts.input.attrs,\n dir: prop(\"dir\"),\n name: prop(\"name\"),\n form: prop(\"form\"),\n id: getInputId(scope),\n role: \"spinbutton\",\n defaultValue: computed(\"formattedValue\"),\n pattern: prop(\"pattern\"),\n inputMode: prop(\"inputMode\"),\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n disabled,\n \"data-disabled\": dataAttr(disabled),\n readOnly,\n required: prop(\"required\"),\n autoComplete: \"off\",\n autoCorrect: \"off\",\n spellCheck: \"false\",\n type: \"text\",\n \"aria-roledescription\": \"numberfield\",\n \"aria-valuemin\": prop(\"min\"),\n \"aria-valuemax\": prop(\"max\"),\n \"aria-valuenow\": Number.isNaN(computed(\"valueAsNumber\")) ? void 0 : computed(\"valueAsNumber\"),\n \"aria-valuetext\": computed(\"valueText\"),\n onFocus() {\n send({ type: \"INPUT.FOCUS\" });\n },\n onBlur() {\n send({ type: \"INPUT.BLUR\" });\n },\n onInput(event) {\n send({ type: \"INPUT.CHANGE\", target: event.currentTarget, hint: \"set\" });\n },\n onBeforeInput(event) {\n try {\n const { selectionStart, selectionEnd, value } = event.currentTarget;\n const nextValue = value.slice(0, selectionStart) + (event.data ?? \"\") + value.slice(selectionEnd);\n const isValid = computed(\"parser\").isValidPartialNumber(nextValue);\n if (!isValid) {\n event.preventDefault();\n }\n } catch {\n }\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (readOnly) return;\n if (isComposingEvent(event)) return;\n const step = getEventStep(event) * prop(\"step\");\n const keyMap = {\n ArrowUp() {\n send({ type: \"INPUT.ARROW_UP\", step });\n event.preventDefault();\n },\n ArrowDown() {\n send({ type: \"INPUT.ARROW_DOWN\", step });\n event.preventDefault();\n },\n Home() {\n if (isModifierKey(event)) return;\n send({ type: \"INPUT.HOME\" });\n event.preventDefault();\n },\n End() {\n if (isModifierKey(event)) return;\n send({ type: \"INPUT.END\" });\n event.preventDefault();\n },\n Enter() {\n send({ type: \"INPUT.ENTER\" });\n }\n };\n const exec = keyMap[event.key];\n exec?.(event);\n }\n });\n },\n getDecrementTriggerProps() {\n return normalize.button({\n ...parts.decrementTrigger.attrs,\n dir: prop(\"dir\"),\n id: getDecrementTriggerId(scope),\n disabled: isDecrementDisabled,\n \"data-disabled\": dataAttr(isDecrementDisabled),\n \"aria-label\": translations.decrementLabel,\n type: \"button\",\n tabIndex: -1,\n \"aria-controls\": getInputId(scope),\n onPointerDown(event) {\n if (isDecrementDisabled || !isLeftClick(event)) return;\n send({ type: \"TRIGGER.PRESS_DOWN\", hint: \"decrement\", pointerType: event.pointerType });\n if (event.pointerType === \"mouse\") {\n event.preventDefault();\n }\n if (event.pointerType === \"touch\") {\n event.currentTarget?.focus({ preventScroll: true });\n }\n },\n onPointerUp(event) {\n send({ type: \"TRIGGER.PRESS_UP\", hint: \"decrement\", pointerType: event.pointerType });\n },\n onPointerLeave() {\n if (isDecrementDisabled) return;\n send({ type: \"TRIGGER.PRESS_UP\", hint: \"decrement\" });\n }\n });\n },\n getIncrementTriggerProps() {\n return normalize.button({\n ...parts.incrementTrigger.attrs,\n dir: prop(\"dir\"),\n id: getIncrementTriggerId(scope),\n disabled: isIncrementDisabled,\n \"data-disabled\": dataAttr(isIncrementDisabled),\n \"aria-label\": translations.incrementLabel,\n type: \"button\",\n tabIndex: -1,\n \"aria-controls\": getInputId(scope),\n onPointerDown(event) {\n if (isIncrementDisabled || !isLeftClick(event)) return;\n send({ type: \"TRIGGER.PRESS_DOWN\", hint: \"increment\", pointerType: event.pointerType });\n if (event.pointerType === \"mouse\") {\n event.preventDefault();\n }\n if (event.pointerType === \"touch\") {\n event.currentTarget?.focus({ preventScroll: true });\n }\n },\n onPointerUp(event) {\n send({ type: \"TRIGGER.PRESS_UP\", hint: \"increment\", pointerType: event.pointerType });\n },\n onPointerLeave(event) {\n send({ type: \"TRIGGER.PRESS_UP\", hint: \"increment\", pointerType: event.pointerType });\n }\n });\n },\n getScrubberProps() {\n return normalize.element({\n ...parts.scrubber.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n id: getScrubberId(scope),\n role: \"presentation\",\n onMouseDown(event) {\n if (disabled) return;\n const point = getEventPoint(event);\n const win = getWindow(event.currentTarget);\n const dpr = win.devicePixelRatio;\n point.x = point.x - roundToDpr(7.5, dpr);\n point.y = point.y - roundToDpr(7.5, dpr);\n send({ type: \"SCRUBBER.PRESS_DOWN\", point });\n event.preventDefault();\n },\n style: {\n cursor: disabled ? void 0 : \"ew-resize\"\n }\n });\n }\n };\n}\n\n// src/cursor.ts\nfunction recordCursor(inputEl) {\n if (!inputEl || inputEl.ownerDocument.activeElement !== inputEl) return;\n try {\n const { selectionStart: start, selectionEnd: end, value } = inputEl;\n const beforeTxt = value.substring(0, start);\n const afterTxt = value.substring(end);\n return {\n start,\n end,\n value,\n beforeTxt,\n afterTxt\n };\n } catch {\n }\n}\nfunction restoreCursor(inputEl, selection) {\n if (!inputEl || inputEl.ownerDocument.activeElement !== inputEl) return;\n if (!selection) {\n inputEl.setSelectionRange(inputEl.value.length, inputEl.value.length);\n return;\n }\n try {\n const { value } = inputEl;\n const { beforeTxt = \"\", afterTxt = \"\", start } = selection;\n let startPos = value.length;\n if (value.endsWith(afterTxt)) {\n startPos = value.length - afterTxt.length;\n } else if (value.startsWith(beforeTxt)) {\n startPos = beforeTxt.length;\n } else if (start != null) {\n const beforeLastChar = beforeTxt[start - 1];\n const newIndex = value.indexOf(beforeLastChar, start - 1);\n if (newIndex !== -1) {\n startPos = newIndex + 1;\n }\n }\n inputEl.setSelectionRange(startPos, startPos);\n } catch {\n }\n}\nvar createFormatter = (locale, options = {}) => {\n return new Intl.NumberFormat(locale, options);\n};\nvar createParser = (locale, options = {}) => {\n return new NumberParser(locale, options);\n};\nvar parseValue = (value, params) => {\n const { prop, computed } = params;\n if (!prop(\"formatOptions\")) return parseFloat(value);\n return computed(\"parser\").parse(String(value));\n};\nvar formatValue = (value, params) => {\n const { prop, computed } = params;\n if (Number.isNaN(value)) return \"\";\n if (!prop(\"formatOptions\")) return value.toString();\n return computed(\"formatter\").format(value);\n};\nvar getDefaultStep = (step, formatOptions) => {\n let defaultStep = step !== void 0 && !Number.isNaN(step) ? step : 1;\n if (formatOptions?.style === \"percent\" && (step === void 0 || Number.isNaN(step))) {\n defaultStep = 0.01;\n }\n return defaultStep;\n};\n\n// src/number-input.machine.ts\nvar { choose, guards, createMachine } = setup();\nvar { not, and } = guards;\nvar machine = createMachine({\n props({ props: props2 }) {\n const step = getDefaultStep(props2.step, props2.formatOptions);\n return {\n dir: \"ltr\",\n locale: \"en-US\",\n focusInputOnChange: true,\n clampValueOnBlur: !props2.allowOverflow,\n allowOverflow: false,\n inputMode: \"decimal\",\n pattern: \"[0-9]*(.[0-9]+)?\",\n defaultValue: \"\",\n step,\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n spinOnPress: true,\n ...props2,\n translations: {\n incrementLabel: \"increment value\",\n decrementLabel: \"decrease value\",\n ...props2.translations\n }\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable, getComputed }) {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n const computed = getComputed();\n const valueAsNumber = parseValue(value, { computed, prop });\n prop(\"onValueChange\")?.({ value, valueAsNumber });\n }\n })),\n hint: bindable(() => ({ defaultValue: null })),\n scrubberCursorPoint: bindable(() => ({\n defaultValue: null,\n hash(value) {\n return value ? `x:${value.x}, y:${value.y}` : \"\";\n }\n })),\n fieldsetDisabled: bindable(() => ({ defaultValue: false }))\n };\n },\n computed: {\n isRtl: ({ prop }) => prop(\"dir\") === \"rtl\",\n valueAsNumber: ({ context, computed, prop }) => parseValue(context.get(\"value\"), { computed, prop }),\n formattedValue: ({ computed, prop }) => formatValue(computed(\"valueAsNumber\"), { computed, prop }),\n isAtMin: ({ computed, prop }) => isValueAtMin(computed(\"valueAsNumber\"), prop(\"min\")),\n isAtMax: ({ computed, prop }) => isValueAtMax(computed(\"valueAsNumber\"), prop(\"max\")),\n isOutOfRange: ({ computed, prop }) => !isValueWithinRange(computed(\"valueAsNumber\"), prop(\"min\"), prop(\"max\")),\n isValueEmpty: ({ context }) => context.get(\"value\") === \"\",\n isDisabled: ({ prop, context }) => !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n canIncrement: ({ prop, computed }) => prop(\"allowOverflow\") || !computed(\"isAtMax\"),\n canDecrement: ({ prop, computed }) => prop(\"allowOverflow\") || !computed(\"isAtMin\"),\n valueText: ({ prop, context }) => prop(\"translations\").valueText?.(context.get(\"value\")),\n formatter: memo(\n ({ prop }) => [prop(\"locale\"), prop(\"formatOptions\")],\n (locale, formatOptions) => createFormatter(locale, formatOptions)\n ),\n parser: memo(\n ({ prop }) => [prop(\"locale\"), prop(\"formatOptions\")],\n (locale, formatOptions) => createParser(locale, formatOptions)\n )\n },\n watch({ track, action, context, computed, prop }) {\n track([() => context.get(\"value\"), () => prop(\"locale\")], () => {\n action([\"syncInputElement\"]);\n });\n track([() => computed(\"isOutOfRange\")], () => {\n action([\"invokeOnInvalid\"]);\n });\n track([() => context.hash(\"scrubberCursorPoint\")], () => {\n action([\"setVirtualCursorPosition\"]);\n });\n },\n effects: [\"trackFormControl\"],\n on: {\n \"VALUE.SET\": {\n actions: [\"setRawValue\"]\n },\n \"VALUE.CLEAR\": {\n actions: [\"clearValue\"]\n },\n \"VALUE.INCREMENT\": {\n actions: [\"increment\"]\n },\n \"VALUE.DECREMENT\": {\n actions: [\"decrement\"]\n }\n },\n states: {\n idle: {\n on: {\n \"TRIGGER.PRESS_DOWN\": [\n { guard: \"isTouchPointer\", target: \"before:spin\", actions: [\"setHint\"] },\n {\n target: \"before:spin\",\n actions: [\"focusInput\", \"invokeOnFocus\", \"setHint\"]\n }\n ],\n \"SCRUBBER.PRESS_DOWN\": {\n target: \"scrubbing\",\n actions: [\"focusInput\", \"invokeOnFocus\", \"setHint\", \"setCursorPoint\"]\n },\n \"INPUT.FOCUS\": {\n target: \"focused\",\n actions: [\"focusInput\", \"invokeOnFocus\"]\n }\n }\n },\n focused: {\n tags: [\"focus\"],\n effects: [\"attachWheelListener\"],\n on: {\n \"TRIGGER.PRESS_DOWN\": [\n { guard: \"isTouchPointer\", target: \"before:spin\", actions: [\"setHint\"] },\n { target: \"before:spin\", actions: [\"focusInput\", \"setHint\"] }\n ],\n \"SCRUBBER.PRESS_DOWN\": {\n target: \"scrubbing\",\n actions: [\"focusInput\", \"setHint\", \"setCursorPoint\"]\n },\n \"INPUT.ARROW_UP\": {\n actions: [\"increment\"]\n },\n \"INPUT.ARROW_DOWN\": {\n actions: [\"decrement\"]\n },\n \"INPUT.HOME\": {\n actions: [\"decrementToMin\"]\n },\n \"INPUT.END\": {\n actions: [\"incrementToMax\"]\n },\n \"INPUT.CHANGE\": {\n actions: [\"setValue\", \"setHint\"]\n },\n \"INPUT.BLUR\": [\n {\n guard: and(\"clampValueOnBlur\", not(\"isInRange\")),\n target: \"idle\",\n actions: [\"setClampedValue\", \"clearHint\", \"invokeOnBlur\"]\n },\n {\n guard: not(\"isInRange\"),\n target: \"idle\",\n actions: [\"setFormattedValue\", \"clearHint\", \"invokeOnBlur\", \"invokeOnInvalid\"]\n },\n {\n target: \"idle\",\n actions: [\"setFormattedValue\", \"clearHint\", \"invokeOnBlur\"]\n }\n ],\n \"INPUT.ENTER\": {\n actions: [\"setFormattedValue\", \"clearHint\", \"invokeOnBlur\"]\n }\n }\n },\n \"before:spin\": {\n tags: [\"focus\"],\n effects: [\"trackButtonDisabled\", \"waitForChangeDelay\"],\n entry: choose([\n { guard: \"isIncrementHint\", actions: [\"increment\"] },\n { guard: \"isDecrementHint\", actions: [\"decrement\"] }\n ]),\n on: {\n CHANGE_DELAY: {\n target: \"spinning\",\n guard: and(\"isInRange\", \"spinOnPress\")\n },\n \"TRIGGER.PRESS_UP\": [\n { guard: \"isTouchPointer\", target: \"focused\", actions: [\"clearHint\"] },\n { target: \"focused\", actions: [\"focusInput\", \"clearHint\"] }\n ]\n }\n },\n spinning: {\n tags: [\"focus\"],\n effects: [\"trackButtonDisabled\", \"spinValue\"],\n on: {\n SPIN: [\n {\n guard: \"isIncrementHint\",\n actions: [\"increment\"]\n },\n {\n guard: \"isDecrementHint\",\n actions: [\"decrement\"]\n }\n ],\n \"TRIGGER.PRESS_UP\": {\n target: \"focused\",\n actions: [\"focusInput\", \"clearHint\"]\n }\n }\n },\n scrubbing: {\n tags: [\"focus\"],\n effects: [\"activatePointerLock\", \"trackMousemove\", \"setupVirtualCursor\", \"preventTextSelection\"],\n on: {\n \"SCRUBBER.POINTER_UP\": {\n target: \"focused\",\n actions: [\"focusInput\", \"clearCursorPoint\"]\n },\n \"SCRUBBER.POINTER_MOVE\": [\n {\n guard: \"isIncrementHint\",\n actions: [\"increment\", \"setCursorPoint\"]\n },\n {\n guard: \"isDecrementHint\",\n actions: [\"decrement\", \"setCursorPoint\"]\n }\n ]\n }\n }\n },\n implementations: {\n guards: {\n clampValueOnBlur: ({ prop }) => prop(\"clampValueOnBlur\"),\n spinOnPress: ({ prop }) => !!prop(\"spinOnPress\"),\n isInRange: ({ computed }) => !computed(\"isOutOfRange\"),\n isDecrementHint: ({ context, event }) => (event.hint ?? context.get(\"hint\")) === \"decrement\",\n isIncrementHint: ({ context, event }) => (event.hint ?? context.get(\"hint\")) === \"increment\",\n isTouchPointer: ({ event }) => event.pointerType === \"touch\"\n },\n effects: {\n waitForChangeDelay({ send }) {\n const id = setTimeout(() => {\n send({ type: \"CHANGE_DELAY\" });\n }, 300);\n return () => clearTimeout(id);\n },\n spinValue({ send }) {\n const id = setInterval(() => {\n send({ type: \"SPIN\" });\n }, 50);\n return () => clearInterval(id);\n },\n trackFormControl({ context, scope }) {\n const inputEl = getInputEl(scope);\n return trackFormControl(inputEl, {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n context.set(\"value\", context.initial(\"value\"));\n }\n });\n },\n setupVirtualCursor({ context, scope }) {\n const point = context.get(\"scrubberCursorPoint\");\n return setupVirtualCursor(scope, point);\n },\n preventTextSelection({ scope }) {\n return preventTextSelection(scope);\n },\n trackButtonDisabled({ context, scope, send }) {\n const hint = context.get(\"hint\");\n const btn = getPressedTriggerEl(scope, hint);\n return observeAttributes(btn, {\n attributes: [\"disabled\"],\n callback() {\n send({ type: \"TRIGGER.PRESS_UP\", src: \"attr\" });\n }\n });\n },\n attachWheelListener({ scope, send, prop }) {\n const inputEl = getInputEl(scope);\n if (!inputEl || !scope.isActiveElement(inputEl) || !prop(\"allowMouseWheel\")) return;\n function onWheel(event) {\n event.preventDefault();\n const dir = Math.sign(event.deltaY) * -1;\n if (dir === 1) {\n send({ type: \"VALUE.INCREMENT\" });\n } else if (dir === -1) {\n send({ type: \"VALUE.DECREMENT\" });\n }\n }\n return addDomEvent(inputEl, \"wheel\", onWheel, { passive: false });\n },\n activatePointerLock({ scope }) {\n if (isSafari()) return;\n return requestPointerLock(scope.getDoc());\n },\n trackMousemove({ scope, send, context, computed }) {\n const doc = scope.getDoc();\n function onMousemove(event) {\n const point = context.get(\"scrubberCursorPoint\");\n const isRtl = computed(\"isRtl\");\n const value = getMousemoveValue(scope, { point, isRtl, event });\n if (!value.hint) return;\n send({\n type: \"SCRUBBER.POINTER_MOVE\",\n hint: value.hint,\n point: value.point\n });\n }\n function onMouseup() {\n send({ type: \"SCRUBBER.POINTER_UP\" });\n }\n return callAll(addDomEvent(doc, \"mousemove\", onMousemove, false), addDomEvent(doc, \"mouseup\", onMouseup, false));\n }\n },\n actions: {\n focusInput({ scope, prop }) {\n if (!prop(\"focusInputOnChange\")) return;\n const inputEl = getInputEl(scope);\n if (scope.isActiveElement(inputEl)) return;\n raf(() => inputEl?.focus({ preventScroll: true }));\n },\n increment({ context, event, prop, computed }) {\n let nextValue = incrementValue(computed(\"valueAsNumber\"), event.step ?? prop(\"step\"));\n if (!prop(\"allowOverflow\")) nextValue = clampValue(nextValue, prop(\"min\"), prop(\"max\"));\n context.set(\"value\", formatValue(nextValue, { computed, prop }));\n },\n decrement({ context, event, prop, computed }) {\n let nextValue = decrementValue(computed(\"valueAsNumber\"), event.step ?? prop(\"step\"));\n if (!prop(\"allowOverflow\")) nextValue = clampValue(nextValue, prop(\"min\"), prop(\"max\"));\n context.set(\"value\", formatValue(nextValue, { computed, prop }));\n },\n setClampedValue({ context, prop, computed }) {\n const nextValue = clampValue(computed(\"valueAsNumber\"), prop(\"min\"), prop(\"max\"));\n context.set(\"value\", formatValue(nextValue, { computed, prop }));\n },\n setRawValue({ context, event, prop, computed }) {\n let nextValue = parseValue(event.value, { computed, prop });\n if (!prop(\"allowOverflow\")) nextValue = clampValue(nextValue, prop(\"min\"), prop(\"max\"));\n context.set(\"value\", formatValue(nextValue, { computed, prop }));\n },\n setValue({ context, event }) {\n const value = event.target?.value ?? event.value;\n context.set(\"value\", value);\n },\n clearValue({ context }) {\n context.set(\"value\", \"\");\n },\n incrementToMax({ context, prop, computed }) {\n const value = formatValue(prop(\"max\"), { computed, prop });\n context.set(\"value\", value);\n },\n decrementToMin({ context, prop, computed }) {\n const value = formatValue(prop(\"min\"), { computed, prop });\n context.set(\"value\", value);\n },\n setHint({ context, event }) {\n context.set(\"hint\", event.hint);\n },\n clearHint({ context }) {\n context.set(\"hint\", null);\n },\n invokeOnFocus({ computed, prop }) {\n prop(\"onFocusChange\")?.({\n focused: true,\n value: computed(\"formattedValue\"),\n valueAsNumber: computed(\"valueAsNumber\")\n });\n },\n invokeOnBlur({ computed, prop }) {\n prop(\"onFocusChange\")?.({\n focused: false,\n value: computed(\"formattedValue\"),\n valueAsNumber: computed(\"valueAsNumber\")\n });\n },\n invokeOnInvalid({ computed, prop, event }) {\n if (event.type === \"INPUT.CHANGE\") return;\n const reason = computed(\"valueAsNumber\") > prop(\"max\") ? \"rangeOverflow\" : \"rangeUnderflow\";\n prop(\"onValueInvalid\")?.({\n reason,\n value: computed(\"formattedValue\"),\n valueAsNumber: computed(\"valueAsNumber\")\n });\n },\n syncInputElement({ context, event, computed, scope }) {\n const value = event.type.endsWith(\"CHANGE\") ? context.get(\"value\") : computed(\"formattedValue\");\n const inputEl = getInputEl(scope);\n const sel = recordCursor(inputEl);\n raf(() => {\n setElementValue(inputEl, value);\n restoreCursor(inputEl, sel);\n });\n },\n setFormattedValue({ context, computed }) {\n context.set(\"value\", computed(\"formattedValue\"));\n },\n setCursorPoint({ context, event }) {\n context.set(\"scrubberCursorPoint\", event.point);\n },\n clearCursorPoint({ context }) {\n context.set(\"scrubberCursorPoint\", null);\n },\n setVirtualCursorPosition({ context, scope }) {\n const cursorEl = getCursorEl(scope);\n const point = context.get(\"scrubberCursorPoint\");\n if (!cursorEl || !point) return;\n cursorEl.style.transform = `translate3d(${point.x}px, ${point.y}px, 0px)`;\n }\n }\n }\n});\nvar props = createProps()([\n \"allowMouseWheel\",\n \"allowOverflow\",\n \"clampValueOnBlur\",\n \"dir\",\n \"disabled\",\n \"focusInputOnChange\",\n \"form\",\n \"formatOptions\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"inputMode\",\n \"invalid\",\n \"locale\",\n \"max\",\n \"min\",\n \"name\",\n \"onFocusChange\",\n \"onValueChange\",\n \"onValueInvalid\",\n \"pattern\",\n \"required\",\n \"readOnly\",\n \"spinOnPress\",\n \"step\",\n \"translations\",\n \"value\",\n \"defaultValue\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, dispatchInputValueEvent, queryAll, dataAttr, ariaAttr, isHTMLElement, isComposingEvent, isModifierKey, getEventKey, getNativeEvent, getBeforeInputValue, visuallyHiddenStyle } from '@zag-js/dom-query';\nimport { setValueAtIndex, isEqual, createSplitProps, invariant } from '@zag-js/utils';\nimport { setup } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\n\n// src/pin-input.anatomy.ts\nvar anatomy = createAnatomy(\"pinInput\").parts(\"root\", \"label\", \"input\", \"control\");\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `pin-input:${ctx.id}`;\nvar getInputId = (ctx, id) => ctx.ids?.input?.(id) ?? `pin-input:${ctx.id}:${id}`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `pin-input:${ctx.id}:hidden`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `pin-input:${ctx.id}:label`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `pin-input:${ctx.id}:control`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getInputEls = (ctx) => {\n const ownerId = CSS.escape(getRootId(ctx));\n const selector = `input[data-ownedby=${ownerId}]`;\n return queryAll(getRootEl(ctx), selector);\n};\nvar getInputElAtIndex = (ctx, index) => getInputEls(ctx)[index];\nvar getFirstInputEl = (ctx) => getInputEls(ctx)[0];\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\nvar setInputValue = (inputEl, value) => {\n inputEl.value = value;\n inputEl.setAttribute(\"value\", value);\n};\n\n// src/pin-input.utils.ts\nvar REGEX = {\n numeric: /^[0-9]+$/,\n alphabetic: /^[A-Za-z]+$/,\n alphanumeric: /^[a-zA-Z0-9]+$/i\n};\nfunction isValidType(type, value) {\n if (!type) return true;\n return !!REGEX[type]?.test(value);\n}\nfunction isValidValue(value, type, pattern) {\n if (!pattern) return isValidType(type, value);\n const regex = new RegExp(pattern, \"g\");\n return regex.test(value);\n}\n\n// src/pin-input.connect.ts\nfunction connect(service, normalize) {\n const { send, context, computed, prop, scope } = service;\n const complete = computed(\"isValueComplete\");\n const invalid = prop(\"invalid\");\n const translations = prop(\"translations\");\n const focusedIndex = context.get(\"focusedIndex\");\n function focus() {\n getFirstInputEl(scope)?.focus();\n }\n return {\n focus,\n count: context.get(\"count\"),\n items: Array.from({ length: context.get(\"count\") }).map((_, i) => i),\n value: context.get(\"value\"),\n valueAsString: computed(\"valueAsString\"),\n complete,\n setValue(value) {\n if (!Array.isArray(value)) {\n invariant(\"[pin-input/setValue] value must be an array\");\n }\n send({ type: \"VALUE.SET\", value });\n },\n clearValue() {\n send({ type: \"VALUE.CLEAR\" });\n },\n setValueAtIndex(index, value) {\n send({ type: \"VALUE.SET\", value, index });\n },\n getRootProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n ...parts.root.attrs,\n id: getRootId(scope),\n \"data-invalid\": dataAttr(invalid),\n \"data-disabled\": dataAttr(prop(\"disabled\")),\n \"data-complete\": dataAttr(complete),\n \"data-readonly\": dataAttr(prop(\"readOnly\"))\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n htmlFor: getHiddenInputId(scope),\n id: getLabelId(scope),\n \"data-invalid\": dataAttr(invalid),\n \"data-disabled\": dataAttr(prop(\"disabled\")),\n \"data-complete\": dataAttr(complete),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n onClick(event) {\n event.preventDefault();\n focus();\n }\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n \"aria-hidden\": true,\n type: \"text\",\n tabIndex: -1,\n id: getHiddenInputId(scope),\n readOnly: prop(\"readOnly\"),\n disabled: prop(\"disabled\"),\n required: prop(\"required\"),\n name: prop(\"name\"),\n form: prop(\"form\"),\n style: visuallyHiddenStyle,\n maxLength: computed(\"valueLength\"),\n defaultValue: computed(\"valueAsString\")\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n dir: prop(\"dir\"),\n id: getControlId(scope)\n });\n },\n getInputProps(props2) {\n const { index } = props2;\n const inputType = prop(\"type\") === \"numeric\" ? \"tel\" : \"text\";\n return normalize.input({\n ...parts.input.attrs,\n dir: prop(\"dir\"),\n disabled: prop(\"disabled\"),\n \"data-disabled\": dataAttr(prop(\"disabled\")),\n \"data-complete\": dataAttr(complete),\n id: getInputId(scope, index.toString()),\n \"data-index\": index,\n \"data-ownedby\": getRootId(scope),\n \"aria-label\": translations?.inputLabel?.(index, computed(\"valueLength\")),\n inputMode: prop(\"otp\") || prop(\"type\") === \"numeric\" ? \"numeric\" : \"text\",\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n type: prop(\"mask\") ? \"password\" : inputType,\n defaultValue: context.get(\"value\")[index] || \"\",\n readOnly: prop(\"readOnly\"),\n autoCapitalize: \"none\",\n autoComplete: prop(\"otp\") ? \"one-time-code\" : \"off\",\n placeholder: focusedIndex === index ? \"\" : prop(\"placeholder\"),\n onBeforeInput(event) {\n try {\n const value = getBeforeInputValue(event);\n const isValid = isValidValue(value, prop(\"type\"), prop(\"pattern\"));\n if (!isValid) {\n send({ type: \"VALUE.INVALID\", value });\n event.preventDefault();\n }\n if (value.length > 2) {\n event.currentTarget.setSelectionRange(0, 1, \"forward\");\n }\n } catch {\n }\n },\n onChange(event) {\n const evt = getNativeEvent(event);\n const { value } = event.currentTarget;\n if (evt.inputType === \"insertFromPaste\" || value.length > 2) {\n send({ type: \"INPUT.PASTE\", value });\n event.currentTarget.value = value[0];\n event.preventDefault();\n return;\n }\n if (evt.inputType === \"deleteContentBackward\") {\n send({ type: \"INPUT.BACKSPACE\" });\n return;\n }\n send({ type: \"INPUT.CHANGE\", value, index });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (isComposingEvent(event)) return;\n if (isModifierKey(event)) return;\n const keyMap = {\n Backspace() {\n send({ type: \"INPUT.BACKSPACE\" });\n },\n Delete() {\n send({ type: \"INPUT.DELETE\" });\n },\n ArrowLeft() {\n send({ type: \"INPUT.ARROW_LEFT\" });\n },\n ArrowRight() {\n send({ type: \"INPUT.ARROW_RIGHT\" });\n },\n Enter() {\n send({ type: \"INPUT.ENTER\" });\n }\n };\n const exec = keyMap[getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: \"horizontal\"\n })];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n },\n onFocus() {\n send({ type: \"INPUT.FOCUS\", index });\n },\n onBlur(event) {\n const target = event.relatedTarget;\n if (isHTMLElement(target) && target.dataset.ownedby === getRootId(scope)) return;\n send({ type: \"INPUT.BLUR\", index });\n }\n });\n }\n };\n}\nvar { choose, createMachine } = setup();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n placeholder: \"\\u25CB\",\n otp: false,\n type: \"numeric\",\n defaultValue: props2.count ? fill([], props2.count) : [],\n ...props2,\n translations: {\n inputLabel: (index, length) => `pin code ${index + 1} of ${length}`,\n ...props2.translations\n }\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n value: bindable(() => ({\n value: prop(\"value\"),\n defaultValue: prop(\"defaultValue\"),\n isEqual,\n onChange(value) {\n prop(\"onValueChange\")?.({ value, valueAsString: value.join(\"\") });\n }\n })),\n focusedIndex: bindable(() => ({\n sync: true,\n defaultValue: -1\n })),\n // TODO: Move this to `props` in next major version\n count: bindable(() => ({\n defaultValue: prop(\"count\")\n }))\n };\n },\n computed: {\n _value: ({ context }) => fill(context.get(\"value\"), context.get(\"count\")),\n valueLength: ({ computed }) => computed(\"_value\").length,\n filledValueLength: ({ computed }) => computed(\"_value\").filter((v) => v?.trim() !== \"\").length,\n isValueComplete: ({ computed }) => computed(\"valueLength\") === computed(\"filledValueLength\"),\n valueAsString: ({ computed }) => computed(\"_value\").join(\"\"),\n focusedValue: ({ computed, context }) => computed(\"_value\")[context.get(\"focusedIndex\")] || \"\"\n },\n entry: choose([\n {\n guard: \"autoFocus\",\n actions: [\"setInputCount\", \"setFocusIndexToFirst\"]\n },\n { actions: [\"setInputCount\"] }\n ]),\n watch({ action, track, context, computed }) {\n track([() => context.get(\"focusedIndex\")], () => {\n action([\"focusInput\", \"selectInputIfNeeded\"]);\n });\n track([() => context.get(\"value\").join(\",\")], () => {\n action([\"syncInputElements\", \"dispatchInputEvent\"]);\n });\n track([() => computed(\"isValueComplete\")], () => {\n action([\"invokeOnComplete\", \"blurFocusedInputIfNeeded\"]);\n });\n },\n on: {\n \"VALUE.SET\": [\n {\n guard: \"hasIndex\",\n actions: [\"setValueAtIndex\"]\n },\n { actions: [\"setValue\"] }\n ],\n \"VALUE.CLEAR\": {\n actions: [\"clearValue\", \"setFocusIndexToFirst\"]\n }\n },\n states: {\n idle: {\n on: {\n \"INPUT.FOCUS\": {\n target: \"focused\",\n actions: [\"setFocusedIndex\"]\n }\n }\n },\n focused: {\n on: {\n \"INPUT.CHANGE\": {\n actions: [\"setFocusedValue\", \"syncInputValue\", \"setNextFocusedIndex\"]\n },\n \"INPUT.PASTE\": {\n actions: [\"setPastedValue\", \"setLastValueFocusIndex\"]\n },\n \"INPUT.FOCUS\": {\n actions: [\"setFocusedIndex\"]\n },\n \"INPUT.BLUR\": {\n target: \"idle\",\n actions: [\"clearFocusedIndex\"]\n },\n \"INPUT.DELETE\": {\n guard: \"hasValue\",\n actions: [\"clearFocusedValue\"]\n },\n \"INPUT.ARROW_LEFT\": {\n actions: [\"setPrevFocusedIndex\"]\n },\n \"INPUT.ARROW_RIGHT\": {\n actions: [\"setNextFocusedIndex\"]\n },\n \"INPUT.BACKSPACE\": [\n {\n guard: \"hasValue\",\n actions: [\"clearFocusedValue\"]\n },\n {\n actions: [\"setPrevFocusedIndex\", \"clearFocusedValue\"]\n }\n ],\n \"INPUT.ENTER\": {\n guard: \"isValueComplete\",\n actions: [\"requestFormSubmit\"]\n },\n \"VALUE.INVALID\": {\n actions: [\"invokeOnInvalid\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n autoFocus: ({ prop }) => !!prop(\"autoFocus\"),\n hasValue: ({ context }) => context.get(\"value\")[context.get(\"focusedIndex\")] !== \"\",\n isValueComplete: ({ computed }) => computed(\"isValueComplete\"),\n hasIndex: ({ event }) => event.index !== void 0\n },\n actions: {\n dispatchInputEvent({ computed, scope }) {\n const inputEl = getHiddenInputEl(scope);\n dispatchInputValueEvent(inputEl, { value: computed(\"valueAsString\") });\n },\n setInputCount({ scope, context, prop }) {\n if (prop(\"count\")) return;\n const inputEls = getInputEls(scope);\n context.set(\"count\", inputEls.length);\n },\n focusInput({ context, scope }) {\n const focusedIndex = context.get(\"focusedIndex\");\n if (focusedIndex === -1) return;\n getInputElAtIndex(scope, focusedIndex)?.focus({ preventScroll: true });\n },\n selectInputIfNeeded({ context, prop, scope }) {\n const focusedIndex = context.get(\"focusedIndex\");\n if (!prop(\"selectOnFocus\") || focusedIndex === -1) return;\n raf(() => {\n getInputElAtIndex(scope, focusedIndex)?.select();\n });\n },\n invokeOnComplete({ computed, prop }) {\n if (!computed(\"isValueComplete\")) return;\n prop(\"onValueComplete\")?.({\n value: computed(\"_value\"),\n valueAsString: computed(\"valueAsString\")\n });\n },\n invokeOnInvalid({ context, event, prop }) {\n prop(\"onValueInvalid\")?.({\n value: event.value,\n index: context.get(\"focusedIndex\")\n });\n },\n clearFocusedIndex({ context }) {\n context.set(\"focusedIndex\", -1);\n },\n setFocusedIndex({ context, event }) {\n context.set(\"focusedIndex\", event.index);\n },\n setValue({ context, event }) {\n const value = fill(event.value, context.get(\"count\"));\n context.set(\"value\", value);\n },\n setFocusedValue({ context, event, computed, flush }) {\n const focusedValue = computed(\"focusedValue\");\n const focusedIndex = context.get(\"focusedIndex\");\n const value = getNextValue(focusedValue, event.value);\n flush(() => {\n context.set(\"value\", setValueAtIndex(computed(\"_value\"), focusedIndex, value));\n });\n },\n revertInputValue({ context, computed, scope }) {\n const inputEl = getInputElAtIndex(scope, context.get(\"focusedIndex\"));\n setInputValue(inputEl, computed(\"focusedValue\"));\n },\n syncInputValue({ context, event, scope }) {\n const value = context.get(\"value\");\n const inputEl = getInputElAtIndex(scope, event.index);\n setInputValue(inputEl, value[event.index]);\n },\n syncInputElements({ context, scope }) {\n const inputEls = getInputEls(scope);\n const value = context.get(\"value\");\n inputEls.forEach((inputEl, index) => {\n setInputValue(inputEl, value[index]);\n });\n },\n setPastedValue({ context, event, computed, flush }) {\n raf(() => {\n const valueAsString = computed(\"valueAsString\");\n const focusedIndex = context.get(\"focusedIndex\");\n const valueLength = computed(\"valueLength\");\n const filledValueLength = computed(\"filledValueLength\");\n const startIndex = Math.min(focusedIndex, filledValueLength);\n const left = startIndex > 0 ? valueAsString.substring(0, focusedIndex) : \"\";\n const right = event.value.substring(0, valueLength - startIndex);\n const value = fill(`${left}${right}`.split(\"\"), valueLength);\n flush(() => {\n context.set(\"value\", value);\n });\n });\n },\n setValueAtIndex({ context, event, computed }) {\n const nextValue = getNextValue(computed(\"focusedValue\"), event.value);\n context.set(\"value\", setValueAtIndex(computed(\"_value\"), event.index, nextValue));\n },\n clearValue({ context }) {\n const nextValue = Array.from({ length: context.get(\"count\") }).fill(\"\");\n context.set(\"value\", nextValue);\n },\n clearFocusedValue({ context, computed }) {\n const focusedIndex = context.get(\"focusedIndex\");\n if (focusedIndex === -1) return;\n context.set(\"value\", setValueAtIndex(computed(\"_value\"), focusedIndex, \"\"));\n },\n setFocusIndexToFirst({ context }) {\n context.set(\"focusedIndex\", 0);\n },\n setNextFocusedIndex({ context, computed }) {\n context.set(\"focusedIndex\", Math.min(context.get(\"focusedIndex\") + 1, computed(\"valueLength\") - 1));\n },\n setPrevFocusedIndex({ context }) {\n context.set(\"focusedIndex\", Math.max(context.get(\"focusedIndex\") - 1, 0));\n },\n setLastValueFocusIndex({ context, computed }) {\n raf(() => {\n context.set(\"focusedIndex\", Math.min(computed(\"filledValueLength\"), computed(\"valueLength\") - 1));\n });\n },\n blurFocusedInputIfNeeded({ context, prop, scope }) {\n if (!prop(\"blurOnComplete\")) return;\n raf(() => {\n getInputElAtIndex(scope, context.get(\"focusedIndex\"))?.blur();\n });\n },\n requestFormSubmit({ computed, prop, scope }) {\n if (!prop(\"name\") || !computed(\"isValueComplete\")) return;\n const inputEl = getHiddenInputEl(scope);\n inputEl?.form?.requestSubmit();\n }\n }\n }\n});\nfunction getNextValue(current, next) {\n let nextValue = next;\n if (current[0] === next[0]) nextValue = next[1];\n else if (current[0] === next[1]) nextValue = next[0];\n return nextValue.split(\"\")[nextValue.length - 1];\n}\nfunction fill(value, count) {\n return Array.from({ length: count }).fill(\"\").map((v, i) => value[i] || v);\n}\nvar props = createProps()([\n \"autoFocus\",\n \"blurOnComplete\",\n \"count\",\n \"defaultValue\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"mask\",\n \"name\",\n \"onValueChange\",\n \"onValueComplete\",\n \"onValueInvalid\",\n \"otp\",\n \"pattern\",\n \"placeholder\",\n \"readOnly\",\n \"required\",\n \"selectOnFocus\",\n \"translations\",\n \"type\",\n \"value\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [PopoverProvider, usePopoverContext] = createContext({\n name: \"PopoverContext\",\n hookName: \"usePopoverContext\",\n providerName: \"<PopoverProvider />\"\n});\n\nexport { PopoverProvider, usePopoverContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePopoverContext } from './use-popover-context.js';\n\nconst PopoverAnchor = forwardRef((props, ref) => {\n const popover = usePopoverContext();\n const mergedProps = mergeProps(popover.getAnchorProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nPopoverAnchor.displayName = \"PopoverAnchor\";\n\nexport { PopoverAnchor };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePopoverContext } from './use-popover-context.js';\n\nconst PopoverArrow = forwardRef((props, ref) => {\n const popover = usePopoverContext();\n const mergedProps = mergeProps(popover.getArrowProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nPopoverArrow.displayName = \"PopoverArrow\";\n\nexport { PopoverArrow };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePopoverContext } from './use-popover-context.js';\n\nconst PopoverArrowTip = forwardRef((props, ref) => {\n const popover = usePopoverContext();\n const mergedProps = mergeProps(popover.getArrowTipProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nPopoverArrowTip.displayName = \"PopoverArrowTip\";\n\nexport { PopoverArrowTip };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePopoverContext } from './use-popover-context.js';\n\nconst PopoverCloseTrigger = forwardRef((props, ref) => {\n const popover = usePopoverContext();\n const mergedProps = mergeProps(popover.getCloseTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nPopoverCloseTrigger.displayName = \"PopoverCloseTrigger\";\n\nexport { PopoverCloseTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { usePopoverContext } from './use-popover-context.js';\n\nconst PopoverContent = forwardRef((props, ref) => {\n const popover = usePopoverContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(popover.getContentProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nPopoverContent.displayName = \"PopoverContent\";\n\nexport { PopoverContent };\n","'use client';\nimport { usePopoverContext } from './use-popover-context.js';\n\nconst PopoverContext = (props) => props.children(usePopoverContext());\n\nexport { PopoverContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePopoverContext } from './use-popover-context.js';\n\nconst PopoverDescription = forwardRef((props, ref) => {\n const popover = usePopoverContext();\n const mergedProps = mergeProps(popover.getDescriptionProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nPopoverDescription.displayName = \"PopoverDescription\";\n\nexport { PopoverDescription };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePopoverContext } from './use-popover-context.js';\n\nconst PopoverIndicator = forwardRef((props, ref) => {\n const popover = usePopoverContext();\n const mergedProps = mergeProps(popover.getIndicatorProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nPopoverIndicator.displayName = \"PopoverIndicator\";\n\nexport { PopoverIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { usePopoverContext } from './use-popover-context.js';\n\nconst PopoverPositioner = forwardRef((props, ref) => {\n const popover = usePopoverContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(popover.getPositionerProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nPopoverPositioner.displayName = \"PopoverPositioner\";\n\nexport { PopoverPositioner };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, getInitialFocus, proxyTabFocus, dataAttr, isSafari } from '@zag-js/dom-query';\nimport { getPlacement, getPlacementStyles } from '@zag-js/popper';\nimport { ariaHidden } from '@zag-js/aria-hidden';\nimport { createMachine } from '@zag-js/core';\nimport { trackDismissableElement } from '@zag-js/dismissable';\nimport { trapFocus } from '@zag-js/focus-trap';\nimport { preventBodyScroll } from '@zag-js/remove-scroll';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/popover.anatomy.ts\nvar anatomy = createAnatomy(\"popover\").parts(\n \"arrow\",\n \"arrowTip\",\n \"anchor\",\n \"trigger\",\n \"indicator\",\n \"positioner\",\n \"content\",\n \"title\",\n \"description\",\n \"closeTrigger\"\n);\nvar parts = anatomy.build();\nvar getAnchorId = (scope) => scope.ids?.anchor ?? `popover:${scope.id}:anchor`;\nvar getTriggerId = (scope) => scope.ids?.trigger ?? `popover:${scope.id}:trigger`;\nvar getContentId = (scope) => scope.ids?.content ?? `popover:${scope.id}:content`;\nvar getPositionerId = (scope) => scope.ids?.positioner ?? `popover:${scope.id}:popper`;\nvar getArrowId = (scope) => scope.ids?.arrow ?? `popover:${scope.id}:arrow`;\nvar getTitleId = (scope) => scope.ids?.title ?? `popover:${scope.id}:title`;\nvar getDescriptionId = (scope) => scope.ids?.description ?? `popover:${scope.id}:desc`;\nvar getCloseTriggerId = (scope) => scope.ids?.closeTrigger ?? `popover:${scope.id}:close`;\nvar getAnchorEl = (scope) => scope.getById(getAnchorId(scope));\nvar getTriggerEl = (scope) => scope.getById(getTriggerId(scope));\nvar getContentEl = (scope) => scope.getById(getContentId(scope));\nvar getPositionerEl = (scope) => scope.getById(getPositionerId(scope));\nvar getTitleEl = (scope) => scope.getById(getTitleId(scope));\nvar getDescriptionEl = (scope) => scope.getById(getDescriptionId(scope));\n\n// src/popover.connect.ts\nfunction connect(service, normalize) {\n const { state, context, send, computed, prop, scope } = service;\n const open = state.matches(\"open\");\n const currentPlacement = context.get(\"currentPlacement\");\n const portalled = computed(\"currentPortalled\");\n const rendered = context.get(\"renderedElements\");\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: currentPlacement\n });\n return {\n portalled,\n open,\n setOpen(nextOpen) {\n const open2 = state.matches(\"open\");\n if (open2 === nextOpen) return;\n send({ type: nextOpen ? \"OPEN\" : \"CLOSE\" });\n },\n reposition(options = {}) {\n send({ type: \"POSITIONING.SET\", options });\n },\n getArrowProps() {\n return normalize.element({\n id: getArrowId(scope),\n ...parts.arrow.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.arrow\n });\n },\n getArrowTipProps() {\n return normalize.element({\n ...parts.arrowTip.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.arrowTip\n });\n },\n getAnchorProps() {\n return normalize.element({\n ...parts.anchor.attrs,\n dir: prop(\"dir\"),\n id: getAnchorId(scope)\n });\n },\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n dir: prop(\"dir\"),\n type: \"button\",\n \"data-placement\": currentPlacement,\n id: getTriggerId(scope),\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": open,\n \"data-state\": open ? \"open\" : \"closed\",\n \"aria-controls\": getContentId(scope),\n onPointerDown(event) {\n if (isSafari()) {\n event.currentTarget.focus();\n }\n },\n onClick(event) {\n if (event.defaultPrevented) return;\n send({ type: \"TOGGLE\" });\n },\n onBlur(event) {\n send({ type: \"TRIGGER_BLUR\", target: event.relatedTarget });\n }\n });\n },\n getIndicatorProps() {\n return normalize.element({\n ...parts.indicator.attrs,\n dir: prop(\"dir\"),\n \"data-state\": open ? \"open\" : \"closed\"\n });\n },\n getPositionerProps() {\n return normalize.element({\n id: getPositionerId(scope),\n ...parts.positioner.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.floating\n });\n },\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n dir: prop(\"dir\"),\n id: getContentId(scope),\n tabIndex: -1,\n role: \"dialog\",\n hidden: !open,\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-expanded\": dataAttr(open),\n \"aria-labelledby\": rendered.title ? getTitleId(scope) : void 0,\n \"aria-describedby\": rendered.description ? getDescriptionId(scope) : void 0,\n \"data-placement\": currentPlacement\n });\n },\n getTitleProps() {\n return normalize.element({\n ...parts.title.attrs,\n id: getTitleId(scope),\n dir: prop(\"dir\")\n });\n },\n getDescriptionProps() {\n return normalize.element({\n ...parts.description.attrs,\n id: getDescriptionId(scope),\n dir: prop(\"dir\")\n });\n },\n getCloseTriggerProps() {\n return normalize.button({\n ...parts.closeTrigger.attrs,\n dir: prop(\"dir\"),\n id: getCloseTriggerId(scope),\n type: \"button\",\n \"aria-label\": \"close\",\n onClick(event) {\n if (event.defaultPrevented) return;\n event.stopPropagation();\n send({ type: \"CLOSE\" });\n }\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n closeOnInteractOutside: true,\n closeOnEscape: true,\n autoFocus: true,\n modal: false,\n portalled: true,\n ...props2,\n positioning: {\n placement: \"bottom\",\n ...props2.positioning\n }\n };\n },\n initialState({ prop }) {\n const open = prop(\"open\") || prop(\"defaultOpen\");\n return open ? \"open\" : \"closed\";\n },\n context({ bindable }) {\n return {\n currentPlacement: bindable(() => ({\n defaultValue: void 0\n })),\n renderedElements: bindable(() => ({\n defaultValue: { title: true, description: true }\n }))\n };\n },\n computed: {\n currentPortalled: ({ prop }) => !!prop(\"modal\") || !!prop(\"portalled\")\n },\n watch({ track, prop, action }) {\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"]);\n });\n },\n entry: [\"checkRenderedElements\"],\n states: {\n closed: {\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\",\n actions: [\"setInitialFocus\"]\n },\n TOGGLE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ]\n }\n },\n open: {\n effects: [\n \"trapFocus\",\n \"preventScroll\",\n \"hideContentBelow\",\n \"trackPositioning\",\n \"trackDismissableElement\",\n \"proxyTabFocus\"\n ],\n on: {\n \"CONTROLLED.CLOSE\": {\n target: \"closed\",\n actions: [\"setFinalFocus\"]\n },\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\", \"setFinalFocus\"]\n }\n ],\n TOGGLE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"POSITIONING.SET\": {\n actions: [\"reposition\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n isOpenControlled: ({ prop }) => prop(\"open\") != void 0\n },\n effects: {\n trackPositioning({ context, prop, scope }) {\n context.set(\"currentPlacement\", prop(\"positioning\").placement);\n const anchorEl = getAnchorEl(scope) ?? getTriggerEl(scope);\n const getPositionerEl2 = () => getPositionerEl(scope);\n return getPlacement(anchorEl, getPositionerEl2, {\n ...prop(\"positioning\"),\n defer: true,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n trackDismissableElement({ send, prop, scope }) {\n const getContentEl2 = () => getContentEl(scope);\n let restoreFocus = true;\n return trackDismissableElement(getContentEl2, {\n pointerBlocking: prop(\"modal\"),\n exclude: getTriggerEl(scope),\n defer: true,\n onEscapeKeyDown(event) {\n prop(\"onEscapeKeyDown\")?.(event);\n if (prop(\"closeOnEscape\")) return;\n event.preventDefault();\n },\n onInteractOutside(event) {\n prop(\"onInteractOutside\")?.(event);\n if (event.defaultPrevented) return;\n restoreFocus = !(event.detail.focusable || event.detail.contextmenu);\n if (!prop(\"closeOnInteractOutside\")) {\n event.preventDefault();\n }\n },\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onFocusOutside: prop(\"onFocusOutside\"),\n persistentElements: prop(\"persistentElements\"),\n onDismiss() {\n send({ type: \"CLOSE\", src: \"interact-outside\", restoreFocus });\n }\n });\n },\n proxyTabFocus({ prop, scope }) {\n if (prop(\"modal\") || !prop(\"portalled\")) return;\n const getContentEl2 = () => getContentEl(scope);\n return proxyTabFocus(getContentEl2, {\n triggerElement: getTriggerEl(scope),\n defer: true,\n onFocus(el) {\n el.focus({ preventScroll: true });\n }\n });\n },\n hideContentBelow({ prop, scope }) {\n if (!prop(\"modal\")) return;\n const getElements = () => [getContentEl(scope), getTriggerEl(scope)];\n return ariaHidden(getElements, { defer: true });\n },\n preventScroll({ prop, scope }) {\n if (!prop(\"modal\")) return;\n return preventBodyScroll(scope.getDoc());\n },\n trapFocus({ prop, scope }) {\n if (!prop(\"modal\")) return;\n const contentEl = () => getContentEl(scope);\n return trapFocus(contentEl, {\n initialFocus: () => getInitialFocus({\n root: getContentEl(scope),\n getInitialEl: prop(\"initialFocusEl\"),\n enabled: prop(\"autoFocus\")\n })\n });\n }\n },\n actions: {\n reposition({ event, prop, scope, context }) {\n const anchorEl = getAnchorEl(scope) ?? getTriggerEl(scope);\n const getPositionerEl2 = () => getPositionerEl(scope);\n getPlacement(anchorEl, getPositionerEl2, {\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 checkRenderedElements({ context, scope }) {\n raf(() => {\n Object.assign(context.get(\"renderedElements\"), {\n title: !!getTitleEl(scope),\n description: !!getDescriptionEl(scope)\n });\n });\n },\n setInitialFocus({ prop, scope }) {\n if (prop(\"modal\")) return;\n raf(() => {\n const element = getInitialFocus({\n root: getContentEl(scope),\n getInitialEl: prop(\"initialFocusEl\"),\n enabled: prop(\"autoFocus\")\n });\n element?.focus({ preventScroll: true });\n });\n },\n setFinalFocus({ event, scope }) {\n const restoreFocus = event.restoreFocus ?? event.previousEvent?.restoreFocus;\n if (restoreFocus != null && !restoreFocus) return;\n raf(() => {\n const element = getTriggerEl(scope);\n element?.focus({ preventScroll: true });\n });\n },\n invokeOnOpen({ prop }) {\n prop(\"onOpenChange\")?.({ open: true });\n },\n invokeOnClose({ prop }) {\n prop(\"onOpenChange\")?.({ open: false });\n },\n toggleVisibility({ event, send, prop }) {\n send({ type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: event });\n }\n }\n }\n});\nvar props = createProps()([\n \"autoFocus\",\n \"closeOnEscape\",\n \"closeOnInteractOutside\",\n \"dir\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"initialFocusEl\",\n \"modal\",\n \"onEscapeKeyDown\",\n \"onFocusOutside\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"defaultOpen\",\n \"open\",\n \"persistentElements\",\n \"portalled\",\n \"positioning\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","'use client';\nimport * as popover from '@zag-js/popover';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst usePopover = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(popover.machine, machineProps);\n return popover.connect(service, normalizeProps);\n};\n\nexport { usePopover };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { usePopover } from './use-popover.js';\nimport { PopoverProvider } from './use-popover-context.js';\n\nconst PopoverRoot = (props) => {\n const [presenceProps, { children, ...localProps }] = splitPresenceProps(props);\n const popover = usePopover(localProps);\n const presence = usePresence(mergeProps({ present: popover.open }, presenceProps));\n return /* @__PURE__ */ jsx(PopoverProvider, { value: popover, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) });\n};\n\nexport { PopoverRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { PopoverProvider } from './use-popover-context.js';\n\nconst PopoverRootProvider = (props) => {\n const [presenceProps, { value: popover, children }] = splitPresenceProps(props);\n const presence = usePresence(mergeProps({ present: popover.open }, presenceProps));\n return /* @__PURE__ */ jsx(PopoverProvider, { value: popover, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) });\n};\n\nexport { PopoverRootProvider };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePopoverContext } from './use-popover-context.js';\n\nconst PopoverTitle = forwardRef((props, ref) => {\n const popover = usePopoverContext();\n const mergedProps = mergeProps(popover.getTitleProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nPopoverTitle.displayName = \"PopoverTitle\";\n\nexport { PopoverTitle };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { usePopoverContext } from './use-popover-context.js';\n\nconst PopoverTrigger = forwardRef((props, ref) => {\n const popover = usePopoverContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(\n {\n ...popover.getTriggerProps(),\n \"aria-controls\": presence.unmounted ? void 0 : popover.getTriggerProps()[\"aria-controls\"]\n },\n props\n );\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nPopoverTrigger.displayName = \"PopoverTrigger\";\n\nexport { PopoverTrigger };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { createMachine, memo } from '@zag-js/core';\nimport { isNumber, getValuePercent, createSplitProps } from '@zag-js/utils';\nimport { createProps } from '@zag-js/types';\n\n// src/progress.anatomy.ts\nvar anatomy = createAnatomy(\"progress\").parts(\n \"root\",\n \"label\",\n \"track\",\n \"range\",\n \"valueText\",\n \"view\",\n \"circle\",\n \"circleTrack\",\n \"circleRange\"\n);\nvar parts = anatomy.build();\n\n// src/progress.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `progress-${ctx.id}`;\nvar getTrackId = (ctx) => ctx.ids?.track ?? `progress-${ctx.id}-track`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `progress-${ctx.id}-label`;\nvar getCircleId = (ctx) => ctx.ids?.circle ?? `progress-${ctx.id}-circle`;\n\n// src/progress.connect.ts\nfunction connect(service, normalize) {\n const { context, computed, prop, send, scope } = service;\n const percent = computed(\"percent\");\n const percentAsString = computed(\"isIndeterminate\") ? \"\" : computed(\"formatter\").format(computed(\"percent\") / 100);\n const max = prop(\"max\");\n const min = prop(\"min\");\n const orientation = prop(\"orientation\");\n const translations = prop(\"translations\");\n const indeterminate = computed(\"isIndeterminate\");\n const value = context.get(\"value\");\n const valueAsString = translations?.value({ value, max, percent, min }) ?? \"\";\n const progressState = getProgressState(value, max);\n const progressbarProps = {\n role: \"progressbar\",\n \"aria-label\": valueAsString,\n \"data-max\": max,\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": value ?? void 0,\n \"data-orientation\": orientation,\n \"data-state\": progressState\n };\n const circleProps = getCircleProps(service);\n return {\n value,\n valueAsString,\n min,\n max,\n percent,\n percentAsString,\n indeterminate,\n setValue(value2) {\n send({ type: \"VALUE.SET\", value: value2 });\n },\n setToMax() {\n send({ type: \"VALUE.SET\", value: max });\n },\n setToMin() {\n send({ type: \"VALUE.SET\", value: min });\n },\n getRootProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n ...parts.root.attrs,\n id: getRootId(scope),\n \"data-max\": max,\n \"data-value\": value ?? void 0,\n \"data-state\": progressState,\n \"data-orientation\": orientation,\n style: {\n \"--percent\": indeterminate ? void 0 : percent\n }\n });\n },\n getLabelProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n id: getLabelId(scope),\n ...parts.label.attrs,\n \"data-orientation\": orientation\n });\n },\n getValueTextProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n \"aria-live\": \"polite\",\n ...parts.valueText.attrs\n });\n },\n getTrackProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n id: getTrackId(scope),\n ...parts.track.attrs,\n ...progressbarProps\n });\n },\n getRangeProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n ...parts.range.attrs,\n \"data-orientation\": orientation,\n \"data-state\": progressState,\n style: {\n [computed(\"isHorizontal\") ? \"width\" : \"height\"]: indeterminate ? void 0 : `${percent}%`\n }\n });\n },\n getCircleProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n id: getCircleId(scope),\n ...parts.circle.attrs,\n ...progressbarProps,\n ...circleProps.root\n });\n },\n getCircleTrackProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n \"data-orientation\": orientation,\n ...parts.circleTrack.attrs,\n ...circleProps.track\n });\n },\n getCircleRangeProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n ...parts.circleRange.attrs,\n ...circleProps.range,\n \"data-state\": progressState\n });\n },\n getViewProps(props2) {\n return normalize.element({\n dir: prop(\"dir\"),\n ...parts.view.attrs,\n \"data-state\": props2.state,\n hidden: props2.state !== progressState\n });\n }\n };\n}\nfunction getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n}\nfunction getCircleProps(service) {\n const { context, computed } = service;\n const circleProps = {\n style: {\n \"--radius\": \"calc(var(--size) / 2 - var(--thickness) / 2)\",\n cx: \"calc(var(--size) / 2)\",\n cy: \"calc(var(--size) / 2)\",\n r: \"var(--radius)\",\n fill: \"transparent\",\n strokeWidth: \"var(--thickness)\"\n }\n };\n return {\n root: {\n style: {\n width: \"var(--size)\",\n height: \"var(--size)\"\n }\n },\n track: circleProps,\n range: {\n opacity: context.get(\"value\") === 0 ? 0 : void 0,\n style: {\n ...circleProps.style,\n \"--percent\": computed(\"percent\"),\n \"--circumference\": `calc(2 * 3.14159 * var(--radius))`,\n \"--offset\": `calc(var(--circumference) * (100 - var(--percent)) / 100)`,\n strokeDashoffset: `calc(var(--circumference) * ((100 - var(--percent)) / 100))`,\n strokeDasharray: computed(\"isIndeterminate\") ? void 0 : `var(--circumference)`,\n transformOrigin: \"center\",\n transform: \"rotate(-90deg)\"\n }\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n const min = props2.min ?? 0;\n const max = props2.max ?? 100;\n return {\n ...props2,\n max,\n min,\n defaultValue: props2.defaultValue ?? midValue(min, max),\n orientation: \"horizontal\",\n formatOptions: {\n style: \"percent\",\n ...props2.formatOptions\n },\n translations: {\n value: ({ percent }) => percent === -1 ? \"loading...\" : `${percent} percent`,\n ...props2.translations\n }\n };\n },\n initialState() {\n return \"idle\";\n },\n entry: [\"validateContext\"],\n context({ bindable, prop }) {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n }))\n };\n },\n computed: {\n isIndeterminate: ({ context }) => context.get(\"value\") === null,\n percent({ context, prop }) {\n const value = context.get(\"value\");\n if (!isNumber(value)) return -1;\n return getValuePercent(value, prop(\"min\"), prop(\"max\")) * 100;\n },\n formatter: memo(\n ({ prop }) => [prop(\"locale\"), prop(\"formatOptions\")],\n (locale, formatOptions) => new Intl.NumberFormat(locale, formatOptions)\n ),\n isHorizontal: ({ prop }) => prop(\"orientation\") === \"horizontal\"\n },\n states: {\n idle: {\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n }\n }\n }\n },\n implementations: {\n actions: {\n setValue: ({ context, event, prop }) => {\n const value = event.value === null ? null : Math.max(0, Math.min(event.value, prop(\"max\")));\n context.set(\"value\", value);\n },\n validateContext: ({ context, prop }) => {\n const max = prop(\"max\");\n const min = prop(\"min\");\n const value = context.get(\"value\");\n if (value == null) return;\n if (!isValidNumber(max)) {\n throw new Error(`[progress] The max value passed \\`${max}\\` is not a valid number`);\n }\n if (!isValidMax(value, max)) {\n throw new Error(`[progress] The value passed \\`${value}\\` exceeds the max value \\`${max}\\``);\n }\n if (!isValidMin(value, min)) {\n throw new Error(`[progress] The value passed \\`${value}\\` exceeds the min value \\`${min}\\``);\n }\n }\n }\n }\n});\nvar isValidNumber = (max) => isNumber(max) && !isNaN(max);\nvar isValidMax = (value, max) => isValidNumber(value) && value <= max;\nvar isValidMin = (value, min) => isValidNumber(value) && value >= min;\nvar midValue = (min, max) => min + (max - min) / 2;\nvar props = createProps()([\n \"dir\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"max\",\n \"min\",\n \"orientation\",\n \"translations\",\n \"value\",\n \"onValueChange\",\n \"defaultValue\",\n \"formatOptions\",\n \"locale\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { getDataUrl } from '@zag-js/dom-query';\nimport { createMachine, memo } from '@zag-js/core';\nimport { encode } from 'uqr';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/qr-code.anatomy.ts\nvar anatomy = createAnatomy(\"qr-code\").parts(\"root\", \"frame\", \"pattern\", \"overlay\", \"downloadTrigger\");\nvar parts = anatomy.build();\n\n// src/qr-code.dom.ts\nvar getRootId = (scope) => scope.ids?.root ?? `qrcode:${scope.id}:root`;\nvar getFrameId = (scope) => scope.ids?.frame ?? `qrcode:${scope.id}:frame`;\nvar getFrameEl = (scope) => scope.getById(getFrameId(scope));\n\n// src/qr-code.connect.ts\nfunction connect(service, normalize) {\n const { context, computed, send, scope, prop } = service;\n const encoded = computed(\"encoded\");\n const pixelSize = prop(\"pixelSize\");\n const height = encoded.size * pixelSize;\n const width = encoded.size * pixelSize;\n const paths = [];\n for (let row = 0; row < encoded.size; row++) {\n for (let col = 0; col < encoded.size; col++) {\n const x = col * pixelSize;\n const y = row * pixelSize;\n if (encoded.data[row][col]) {\n paths.push(`M${x},${y}h${pixelSize}v${pixelSize}h-${pixelSize}z`);\n }\n }\n }\n return {\n value: context.get(\"value\"),\n setValue(value) {\n send({ type: \"VALUE.SET\", value });\n },\n getDataUrl(type, quality) {\n const svgEl = getFrameEl(scope);\n return getDataUrl(svgEl, { type, quality });\n },\n getRootProps() {\n return normalize.element({\n id: getRootId(scope),\n ...parts.root.attrs,\n style: {\n \"--qrcode-pixel-size\": `${pixelSize}px`,\n \"--qrcode-width\": `${width}px`,\n \"--qrcode-height\": `${height}px`,\n position: \"relative\"\n }\n });\n },\n getFrameProps() {\n return normalize.svg({\n id: getFrameId(scope),\n ...parts.frame.attrs,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: `0 0 ${width} ${height}`\n });\n },\n getPatternProps() {\n return normalize.path({\n d: paths.join(\"\"),\n ...parts.pattern.attrs\n });\n },\n getOverlayProps() {\n return normalize.element({\n ...parts.overlay.attrs,\n style: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n translate: \"-50% -50%\"\n }\n });\n },\n getDownloadTriggerProps(props2) {\n return normalize.button({\n type: \"button\",\n ...parts.downloadTrigger.attrs,\n onClick(event) {\n if (event.defaultPrevented) return;\n send({ type: \"DOWNLOAD_TRIGGER.CLICK\", ...props2 });\n }\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n defaultValue: \"\",\n pixelSize: 10,\n ...props2\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n value: bindable(() => ({\n value: prop(\"value\"),\n defaultValue: prop(\"defaultValue\"),\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n }))\n };\n },\n computed: {\n encoded: memo(\n ({ context, prop }) => [context.get(\"value\"), prop(\"encoding\")],\n (value, encoding) => encode(value, encoding)\n )\n },\n states: {\n idle: {\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n },\n \"DOWNLOAD_TRIGGER.CLICK\": {\n actions: [\"downloadQrCode\"]\n }\n }\n }\n },\n implementations: {\n actions: {\n setValue({ context, event }) {\n context.set(\"value\", event.value);\n },\n downloadQrCode({ event, scope }) {\n const { mimeType, quality, fileName } = event;\n const svgEl = getFrameEl(scope);\n const doc = scope.getDoc();\n getDataUrl(svgEl, { type: mimeType, quality }).then((dataUri) => {\n const a = doc.createElement(\"a\");\n a.href = dataUri;\n a.rel = \"noopener\";\n a.download = fileName;\n a.click();\n setTimeout(() => {\n a.remove();\n }, 0);\n });\n }\n }\n }\n});\nvar props = createProps()([\n \"ids\",\n \"defaultValue\",\n \"value\",\n \"id\",\n \"encoding\",\n \"dir\",\n \"getRootNode\",\n \"onValueChange\",\n \"pixelSize\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupProvider, useRadioGroupContext] = createContext({\n name: \"RadioGroupContext\",\n hookName: \"useRadioGroupContext\",\n providerName: \"<RadioGroupProvider />\"\n});\n\nexport { RadioGroupProvider, useRadioGroupContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupItemProvider, useRadioGroupItemContext] = createContext({\n name: \"RadioGroupItemContext\",\n hookName: \"useRadioGroupItemContext\",\n providerName: \"<RadioGroupItemProvider />\"\n});\n\nexport { RadioGroupItemProvider, useRadioGroupItemContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupItemPropsProvider, useRadioGroupItemPropsContext] = createContext({\n name: \"RadioGroupItemPropsContext\",\n hookName: \"useRadioGroupItemPropsContext\",\n providerName: \"<RadioGroupItemPropsProvider />\"\n});\n\nexport { RadioGroupItemPropsProvider, useRadioGroupItemPropsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { RadioGroupItemProvider } from './use-radio-group-item-context.js';\nimport { RadioGroupItemPropsProvider } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItem = forwardRef((props, ref) => {\n const [itemProps, localProps] = createSplitProps()(props, [\"value\", \"disabled\", \"invalid\"]);\n const radioGroup = useRadioGroupContext();\n const mergedProps = mergeProps(radioGroup.getItemProps(itemProps), localProps);\n const itemState = radioGroup.getItemState(itemProps);\n return /* @__PURE__ */ jsx(RadioGroupItemProvider, { value: itemState, children: /* @__PURE__ */ jsx(RadioGroupItemPropsProvider, { value: itemProps, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) }) });\n});\nRadioGroupItem.displayName = \"RadioGroupItem\";\n\nexport { RadioGroupItem };\n","'use client';\nimport { useRadioGroupItemContext } from './use-radio-group-item-context.js';\n\nconst RadioGroupItemContext = (props) => props.children(useRadioGroupItemContext());\n\nexport { RadioGroupItemContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemControl = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemControlProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nRadioGroupItemControl.displayName = \"RadioGroupItemControl\";\n\nexport { RadioGroupItemControl };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemHiddenInput = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemHiddenInputProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.input, { ...mergedProps, ref });\n});\nRadioGroupItemHiddenInput.displayName = \"RadioGroupItemHiddenInput\";\n\nexport { RadioGroupItemHiddenInput };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemText = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemTextProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nRadioGroupItemText.displayName = \"RadioGroupItemText\";\n\nexport { RadioGroupItemText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\n\nconst RadioGroupLabel = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const mergedProps = mergeProps(radioGroup.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });\n});\nRadioGroupLabel.displayName = \"RadioGroupLabel\";\n\nexport { RadioGroupLabel };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { dispatchInputCheckedEvent, trackElementRect, trackFormControl, queryAll, dataAttr, visuallyHiddenStyle, isSafari } from '@zag-js/dom-query';\nimport { trackFocusVisible, isFocusVisible } from '@zag-js/focus-visible';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { isString, createSplitProps } from '@zag-js/utils';\nimport { createProps } from '@zag-js/types';\n\n// src/radio-group.anatomy.ts\nvar anatomy = createAnatomy(\"radio-group\").parts(\n \"root\",\n \"label\",\n \"item\",\n \"itemText\",\n \"itemControl\",\n \"indicator\"\n);\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `radio-group:${ctx.id}`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `radio-group:${ctx.id}:label`;\nvar getItemId = (ctx, value) => ctx.ids?.item?.(value) ?? `radio-group:${ctx.id}:radio:${value}`;\nvar getItemHiddenInputId = (ctx, value) => ctx.ids?.itemHiddenInput?.(value) ?? `radio-group:${ctx.id}:radio:input:${value}`;\nvar getItemControlId = (ctx, value) => ctx.ids?.itemControl?.(value) ?? `radio-group:${ctx.id}:radio:control:${value}`;\nvar getItemLabelId = (ctx, value) => ctx.ids?.itemLabel?.(value) ?? `radio-group:${ctx.id}:radio:label:${value}`;\nvar getIndicatorId = (ctx) => ctx.ids?.indicator ?? `radio-group:${ctx.id}:indicator`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getItemHiddenInputEl = (ctx, value) => ctx.getById(getItemHiddenInputId(ctx, value));\nvar getIndicatorEl = (ctx) => ctx.getById(getIndicatorId(ctx));\nvar getFirstEnabledInputEl = (ctx) => getRootEl(ctx)?.querySelector(\"input:not(:disabled)\");\nvar getFirstEnabledAndCheckedInputEl = (ctx) => getRootEl(ctx)?.querySelector(\"input:not(:disabled):checked\");\nvar getInputEls = (ctx) => {\n const ownerId = CSS.escape(getRootId(ctx));\n const selector = `input[type=radio][data-ownedby='${ownerId}']:not([disabled])`;\n return queryAll(getRootEl(ctx), selector);\n};\nvar getRadioEl = (ctx, value) => {\n if (!value) return;\n return ctx.getById(getItemId(ctx, value));\n};\nvar getOffsetRect = (el) => ({\n left: el?.offsetLeft ?? 0,\n top: el?.offsetTop ?? 0,\n width: el?.offsetWidth ?? 0,\n height: el?.offsetHeight ?? 0\n});\nvar resolveRect = (rect) => ({\n width: `${rect.width}px`,\n height: `${rect.height}px`,\n left: `${rect.left}px`,\n top: `${rect.top}px`\n});\n\n// src/radio-group.connect.ts\nfunction connect(service, normalize) {\n const { context, send, computed, prop, scope } = service;\n const groupDisabled = computed(\"isDisabled\");\n const readOnly = prop(\"readOnly\");\n function getItemState(props2) {\n const focused = context.get(\"focusedValue\") === props2.value;\n const focusVisible = focused && isFocusVisible();\n return {\n value: props2.value,\n invalid: !!props2.invalid,\n disabled: !!props2.disabled || groupDisabled,\n checked: context.get(\"value\") === props2.value,\n focused,\n focusVisible,\n hovered: context.get(\"hoveredValue\") === props2.value,\n active: context.get(\"activeValue\") === props2.value\n };\n }\n function getItemDataAttrs(props2) {\n const itemState = getItemState(props2);\n return {\n \"data-focus\": dataAttr(itemState.focused),\n \"data-focus-visible\": dataAttr(itemState.focusVisible),\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-readonly\": dataAttr(readOnly),\n \"data-state\": itemState.checked ? \"checked\" : \"unchecked\",\n \"data-hover\": dataAttr(itemState.hovered),\n \"data-invalid\": dataAttr(itemState.invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-ssr\": dataAttr(context.get(\"ssr\"))\n };\n }\n const focus = () => {\n const nodeToFocus = getFirstEnabledAndCheckedInputEl(scope) ?? getFirstEnabledInputEl(scope);\n nodeToFocus?.focus();\n };\n return {\n focus,\n value: context.get(\"value\"),\n setValue(value) {\n send({ type: \"SET_VALUE\", value, isTrusted: false });\n },\n clearValue() {\n send({ type: \"SET_VALUE\", value: null, isTrusted: false });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n role: \"radiogroup\",\n id: getRootId(scope),\n \"aria-labelledby\": getLabelId(scope),\n \"data-orientation\": prop(\"orientation\"),\n \"data-disabled\": dataAttr(groupDisabled),\n \"aria-orientation\": prop(\"orientation\"),\n dir: prop(\"dir\"),\n style: {\n position: \"relative\"\n }\n });\n },\n getLabelProps() {\n return normalize.element({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n \"data-orientation\": prop(\"orientation\"),\n \"data-disabled\": dataAttr(groupDisabled),\n id: getLabelId(scope),\n onClick: focus\n });\n },\n getItemState,\n getItemProps(props2) {\n const itemState = getItemState(props2);\n return normalize.label({\n ...parts.item.attrs,\n dir: prop(\"dir\"),\n id: getItemId(scope, props2.value),\n htmlFor: getItemHiddenInputId(scope, props2.value),\n ...getItemDataAttrs(props2),\n onPointerMove() {\n if (itemState.disabled) return;\n if (itemState.hovered) return;\n send({ type: \"SET_HOVERED\", value: props2.value, hovered: true });\n },\n onPointerLeave() {\n if (itemState.disabled) return;\n send({ type: \"SET_HOVERED\", value: null });\n },\n onPointerDown(event) {\n if (itemState.disabled) return;\n if (itemState.focused && event.pointerType === \"mouse\") {\n event.preventDefault();\n }\n send({ type: \"SET_ACTIVE\", value: props2.value, active: true });\n },\n onPointerUp() {\n if (itemState.disabled) return;\n send({ type: \"SET_ACTIVE\", value: null });\n },\n onClick() {\n if (!itemState.disabled && isSafari()) {\n getItemHiddenInputEl(scope, props2.value)?.focus();\n }\n }\n });\n },\n getItemTextProps(props2) {\n return normalize.element({\n ...parts.itemText.attrs,\n dir: prop(\"dir\"),\n id: getItemLabelId(scope, props2.value),\n ...getItemDataAttrs(props2)\n });\n },\n getItemControlProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.itemControl.attrs,\n dir: prop(\"dir\"),\n id: getItemControlId(scope, props2.value),\n \"data-active\": dataAttr(itemState.active),\n \"aria-hidden\": true,\n ...getItemDataAttrs(props2)\n });\n },\n getItemHiddenInputProps(props2) {\n const itemState = getItemState(props2);\n return normalize.input({\n \"data-ownedby\": getRootId(scope),\n id: getItemHiddenInputId(scope, props2.value),\n type: \"radio\",\n name: prop(\"name\") || prop(\"id\"),\n form: prop(\"form\"),\n value: props2.value,\n onClick(event) {\n if (readOnly) {\n event.preventDefault();\n return;\n }\n if (event.currentTarget.checked) {\n send({ type: \"SET_VALUE\", value: props2.value, isTrusted: true });\n }\n },\n onBlur() {\n send({ type: \"SET_FOCUSED\", value: null, focused: false });\n },\n onFocus() {\n send({ type: \"SET_FOCUSED\", value: props2.value, focused: true });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (event.key === \" \") {\n send({ type: \"SET_ACTIVE\", value: props2.value, active: true });\n }\n },\n onKeyUp(event) {\n if (event.defaultPrevented) return;\n if (event.key === \" \") {\n send({ type: \"SET_ACTIVE\", value: null });\n }\n },\n disabled: itemState.disabled,\n defaultChecked: itemState.checked,\n style: visuallyHiddenStyle\n });\n },\n getIndicatorProps() {\n const rect = context.get(\"indicatorRect\");\n return normalize.element({\n id: getIndicatorId(scope),\n ...parts.indicator.attrs,\n dir: prop(\"dir\"),\n hidden: context.get(\"value\") == null,\n \"data-disabled\": dataAttr(groupDisabled),\n \"data-orientation\": prop(\"orientation\"),\n style: {\n \"--transition-property\": \"left, top, width, height\",\n \"--left\": rect?.left,\n \"--top\": rect?.top,\n \"--width\": rect?.width,\n \"--height\": rect?.height,\n position: \"absolute\",\n willChange: \"var(--transition-property)\",\n transitionProperty: \"var(--transition-property)\",\n transitionDuration: context.get(\"canIndicatorTransition\") ? \"var(--transition-duration, 150ms)\" : \"0ms\",\n transitionTimingFunction: \"var(--transition-timing-function)\",\n [prop(\"orientation\") === \"horizontal\" ? \"left\" : \"top\"]: prop(\"orientation\") === \"horizontal\" ? \"var(--left)\" : \"var(--top)\"\n }\n });\n }\n };\n}\nvar { not } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n orientation: \"vertical\",\n ...props2\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n })),\n activeValue: bindable(() => ({\n defaultValue: null\n })),\n focusedValue: bindable(() => ({\n defaultValue: null\n })),\n hoveredValue: bindable(() => ({\n defaultValue: null\n })),\n indicatorRect: bindable(() => ({\n defaultValue: {}\n })),\n canIndicatorTransition: bindable(() => ({\n defaultValue: false\n })),\n fieldsetDisabled: bindable(() => ({\n defaultValue: false\n })),\n ssr: bindable(() => ({\n defaultValue: true\n }))\n };\n },\n refs() {\n return {\n indicatorCleanup: null\n };\n },\n computed: {\n isDisabled: ({ prop, context }) => !!prop(\"disabled\") || context.get(\"fieldsetDisabled\")\n },\n entry: [\"syncIndicatorRect\", \"syncSsr\"],\n exit: [\"cleanupObserver\"],\n effects: [\"trackFormControlState\", \"trackFocusVisible\"],\n watch({ track, action, context }) {\n track([() => context.get(\"value\")], () => {\n action([\"setIndicatorTransition\", \"syncIndicatorRect\", \"syncInputElements\"]);\n });\n },\n on: {\n SET_VALUE: [\n {\n guard: not(\"isTrusted\"),\n actions: [\"setValue\", \"dispatchChangeEvent\"]\n },\n {\n actions: [\"setValue\"]\n }\n ],\n SET_HOVERED: {\n actions: [\"setHovered\"]\n },\n SET_ACTIVE: {\n actions: [\"setActive\"]\n },\n SET_FOCUSED: {\n actions: [\"setFocused\"]\n }\n },\n states: {\n idle: {}\n },\n implementations: {\n guards: {\n isTrusted: ({ event }) => !!event.isTrusted\n },\n effects: {\n trackFormControlState({ context, scope }) {\n return trackFormControl(getRootEl(scope), {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n context.set(\"value\", context.initial(\"value\"));\n }\n });\n },\n trackFocusVisible({ scope }) {\n return trackFocusVisible({ root: scope.getRootNode?.() });\n }\n },\n actions: {\n setValue({ context, event }) {\n context.set(\"value\", event.value);\n },\n setHovered({ context, event }) {\n context.set(\"hoveredValue\", event.value);\n },\n setActive({ context, event }) {\n context.set(\"activeValue\", event.value);\n },\n setFocused({ context, event }) {\n context.set(\"focusedValue\", event.value);\n },\n syncInputElements({ context, scope }) {\n const inputs = getInputEls(scope);\n inputs.forEach((input) => {\n input.checked = input.value === context.get(\"value\");\n });\n },\n setIndicatorTransition({ context }) {\n context.set(\"canIndicatorTransition\", isString(context.get(\"value\")));\n },\n cleanupObserver({ refs }) {\n refs.get(\"indicatorCleanup\")?.();\n },\n syncSsr({ context }) {\n context.set(\"ssr\", false);\n },\n syncIndicatorRect({ context, scope, refs }) {\n refs.get(\"indicatorCleanup\")?.();\n if (!getIndicatorEl(scope)) return;\n const value = context.get(\"value\");\n const radioEl = getRadioEl(scope, value);\n if (value == null || !radioEl) {\n context.set(\"canIndicatorTransition\", false);\n context.set(\"indicatorRect\", {});\n return;\n }\n const indicatorCleanup = trackElementRect([radioEl], {\n measure(el) {\n return getOffsetRect(el);\n },\n onEntry({ rects }) {\n context.set(\"indicatorRect\", resolveRect(rects[0]));\n }\n });\n refs.set(\"indicatorCleanup\", indicatorCleanup);\n },\n dispatchChangeEvent({ context, scope }) {\n const inputEls = getInputEls(scope);\n inputEls.forEach((inputEl) => {\n const checked = inputEl.value === context.get(\"value\");\n if (checked === inputEl.checked) return;\n dispatchInputCheckedEvent(inputEl, { checked });\n });\n }\n }\n }\n});\nvar props = createProps()([\n \"dir\",\n \"disabled\",\n \"form\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"name\",\n \"onValueChange\",\n \"orientation\",\n \"readOnly\",\n \"value\",\n \"defaultValue\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"value\", \"disabled\", \"invalid\"]);\nvar splitItemProps = createSplitProps(itemProps);\n\nexport { anatomy, connect, itemProps, machine, props, splitItemProps, splitProps };\n","'use client';\nimport * as radio from '@zag-js/radio-group';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useRadioGroup = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(radio.machine, machineProps);\n return radio.connect(service, normalizeProps);\n};\n\nexport { useRadioGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useRadioGroup } from './use-radio-group.js';\nimport { RadioGroupProvider } from './use-radio-group-context.js';\n\nconst RadioGroupRoot = forwardRef((props, ref) => {\n const [useRadioGroupProps, localProps] = createSplitProps()(props, [\n \"defaultValue\",\n \"disabled\",\n \"form\",\n \"id\",\n \"ids\",\n \"name\",\n \"onValueChange\",\n \"orientation\",\n \"readOnly\",\n \"value\"\n ]);\n const radioGroup = useRadioGroup(useRadioGroupProps);\n const mergedProps = mergeProps(radioGroup.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { value: radioGroup, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nRadioGroupRoot.displayName = \"RadioGroupRoot\";\n\nexport { RadioGroupRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { RadioGroupProvider } from './use-radio-group-context.js';\n\nconst RadioGroupRootProvider = forwardRef((props, ref) => {\n const [{ value: radioGroup }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(radioGroup.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { value: radioGroup, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nRadioGroupRootProvider.displayName = \"RadioGroupRootProvider\";\n\nexport { RadioGroupRootProvider };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, trackFormControl, dispatchInputValueEvent, query, dataAttr, getEventKey, getEventPoint, getRelativePoint, isLeftClick, ariaAttr } from '@zag-js/dom-query';\nimport { createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/rating-group.anatomy.ts\nvar anatomy = createAnatomy(\"rating-group\").parts(\"root\", \"label\", \"item\", \"control\");\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `rating:${ctx.id}`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `rating:${ctx.id}:label`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `rating:${ctx.id}:input`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `rating:${ctx.id}:control`;\nvar getItemId = (ctx, id) => ctx.ids?.item?.(id) ?? `rating:${ctx.id}:item:${id}`;\nvar getControlEl = (ctx) => ctx.getById(getControlId(ctx));\nvar getRadioEl = (ctx, value) => {\n const selector = `[role=radio][aria-posinset='${Math.ceil(value)}']`;\n return query(getControlEl(ctx), selector);\n};\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\nvar dispatchChangeEvent = (ctx, value) => {\n const inputEl = getHiddenInputEl(ctx);\n if (!inputEl) return;\n dispatchInputValueEvent(inputEl, { value });\n};\n\n// src/rating-group.connect.ts\nfunction connect(service, normalize) {\n const { context, send, prop, scope, computed } = service;\n const interactive = computed(\"isInteractive\");\n const disabled = computed(\"isDisabled\");\n const readOnly = prop(\"readOnly\");\n const value = context.get(\"value\");\n const hoveredValue = context.get(\"hoveredValue\");\n const translations = prop(\"translations\");\n function getItemState(props2) {\n const currentValue = computed(\"isHovering\") ? hoveredValue : value;\n const equal = Math.ceil(currentValue) === props2.index;\n const highlighted = props2.index <= currentValue || equal;\n const half = equal && Math.abs(currentValue - props2.index) === 0.5;\n return {\n highlighted,\n half,\n checked: equal || value === -1 && props2.index === 1\n };\n }\n return {\n hovering: computed(\"isHovering\"),\n value,\n hoveredValue,\n count: prop(\"count\"),\n items: Array.from({ length: prop(\"count\") }).map((_, index) => index + 1),\n setValue(value2) {\n send({ type: \"SET_VALUE\", value: value2 });\n },\n clearValue() {\n send({ type: \"CLEAR_VALUE\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope)\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n name: prop(\"name\"),\n form: prop(\"form\"),\n type: \"text\",\n hidden: true,\n disabled,\n readOnly,\n required: prop(\"required\"),\n id: getHiddenInputId(scope),\n defaultValue: value\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n id: getLabelId(scope),\n \"data-disabled\": dataAttr(disabled),\n htmlFor: getHiddenInputId(scope),\n onClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n event.preventDefault();\n const radioEl = getRadioEl(scope, Math.max(1, context.get(\"value\")));\n radioEl?.focus({ preventScroll: true });\n }\n });\n },\n getControlProps() {\n return normalize.element({\n id: getControlId(scope),\n ...parts.control.attrs,\n dir: prop(\"dir\"),\n role: \"radiogroup\",\n \"aria-orientation\": \"horizontal\",\n \"aria-labelledby\": getLabelId(scope),\n \"aria-readonly\": ariaAttr(readOnly),\n \"data-readonly\": dataAttr(readOnly),\n \"data-disabled\": dataAttr(disabled),\n onPointerMove(event) {\n if (!interactive) return;\n if (event.pointerType === \"touch\") return;\n send({ type: \"GROUP_POINTER_OVER\" });\n },\n onPointerLeave(event) {\n if (!interactive) return;\n if (event.pointerType === \"touch\") return;\n send({ type: \"GROUP_POINTER_LEAVE\" });\n }\n });\n },\n getItemState,\n getItemProps(props2) {\n const { index } = props2;\n const itemState = getItemState(props2);\n const valueText = translations.ratingValueText(index);\n return normalize.element({\n ...parts.item.attrs,\n dir: prop(\"dir\"),\n id: getItemId(scope, index.toString()),\n role: \"radio\",\n tabIndex: (() => {\n if (readOnly) return itemState.checked ? 0 : void 0;\n if (disabled) return void 0;\n return itemState.checked ? 0 : -1;\n })(),\n \"aria-roledescription\": \"rating\",\n \"aria-label\": valueText,\n \"aria-disabled\": disabled,\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(readOnly),\n \"aria-setsize\": prop(\"count\"),\n \"aria-checked\": itemState.checked,\n \"data-checked\": dataAttr(itemState.checked),\n \"aria-posinset\": index,\n \"data-highlighted\": dataAttr(itemState.highlighted),\n \"data-half\": dataAttr(itemState.half),\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n event.preventDefault();\n },\n onPointerMove(event) {\n if (!interactive) return;\n const point = getEventPoint(event);\n const relativePoint = getRelativePoint(point, event.currentTarget);\n const percentX = relativePoint.getPercentValue({\n orientation: \"horizontal\",\n dir: prop(\"dir\")\n });\n const isMidway = percentX < 0.5;\n send({ type: \"POINTER_OVER\", index, isMidway });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const keyMap = {\n ArrowLeft() {\n send({ type: \"ARROW_LEFT\" });\n },\n ArrowRight() {\n send({ type: \"ARROW_RIGHT\" });\n },\n ArrowUp() {\n send({ type: \"ARROW_LEFT\" });\n },\n ArrowDown() {\n send({ type: \"ARROW_RIGHT\" });\n },\n Space() {\n send({ type: \"SPACE\", value: index });\n },\n Home() {\n send({ type: \"HOME\" });\n },\n End() {\n send({ type: \"END\" });\n }\n };\n const key = getEventKey(event, { dir: prop(\"dir\") });\n const exec = keyMap[key];\n if (exec) {\n event.preventDefault();\n exec(event);\n }\n },\n onClick() {\n if (!interactive) return;\n send({ type: \"CLICK\", value: index });\n },\n onFocus() {\n if (!interactive) return;\n send({ type: \"FOCUS\" });\n },\n onBlur() {\n if (!interactive) return;\n send({ type: \"BLUR\" });\n }\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n name: \"rating\",\n count: 5,\n dir: \"ltr\",\n defaultValue: -1,\n ...props2,\n translations: {\n ratingValueText: (index) => `${index} stars`,\n ...props2.translations\n }\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n })),\n hoveredValue: bindable(() => ({\n defaultValue: -1,\n onChange(value) {\n prop(\"onHoverChange\")?.({ hoveredValue: value });\n }\n })),\n fieldsetDisabled: bindable(() => ({\n defaultValue: false\n }))\n };\n },\n watch({ track, action, prop, context }) {\n track([() => prop(\"allowHalf\")], () => {\n action([\"roundValueIfNeeded\"]);\n });\n track([() => context.get(\"value\")], () => {\n action([\"dispatchChangeEvent\"]);\n });\n },\n computed: {\n isDisabled: ({ context, prop }) => !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n isInteractive: ({ computed, prop }) => !(computed(\"isDisabled\") || prop(\"readOnly\")),\n isHovering: ({ context }) => context.get(\"hoveredValue\") > -1\n },\n effects: [\"trackFormControlState\"],\n on: {\n SET_VALUE: {\n actions: [\"setValue\"]\n },\n CLEAR_VALUE: {\n actions: [\"clearValue\"]\n }\n },\n states: {\n idle: {\n entry: [\"clearHoveredValue\"],\n on: {\n GROUP_POINTER_OVER: {\n target: \"hover\"\n },\n FOCUS: {\n target: \"focus\"\n },\n CLICK: {\n actions: [\"setValue\", \"focusActiveRadio\"]\n }\n }\n },\n focus: {\n on: {\n POINTER_OVER: {\n actions: [\"setHoveredValue\"]\n },\n GROUP_POINTER_LEAVE: {\n actions: [\"clearHoveredValue\"]\n },\n BLUR: {\n target: \"idle\"\n },\n SPACE: {\n guard: \"isValueEmpty\",\n actions: [\"setValue\"]\n },\n CLICK: {\n actions: [\"setValue\", \"focusActiveRadio\"]\n },\n ARROW_LEFT: {\n actions: [\"setPrevValue\", \"focusActiveRadio\"]\n },\n ARROW_RIGHT: {\n actions: [\"setNextValue\", \"focusActiveRadio\"]\n },\n HOME: {\n actions: [\"setValueToMin\", \"focusActiveRadio\"]\n },\n END: {\n actions: [\"setValueToMax\", \"focusActiveRadio\"]\n }\n }\n },\n hover: {\n on: {\n POINTER_OVER: {\n actions: [\"setHoveredValue\"]\n },\n GROUP_POINTER_LEAVE: [\n {\n guard: \"isRadioFocused\",\n target: \"focus\",\n actions: [\"clearHoveredValue\"]\n },\n {\n target: \"idle\",\n actions: [\"clearHoveredValue\"]\n }\n ],\n CLICK: {\n actions: [\"setValue\", \"focusActiveRadio\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n isInteractive: ({ prop }) => !(prop(\"disabled\") || prop(\"readOnly\")),\n isHoveredValueEmpty: ({ context }) => context.get(\"hoveredValue\") === -1,\n isValueEmpty: ({ context }) => context.get(\"value\") <= 0,\n isRadioFocused: ({ scope }) => !!getControlEl(scope)?.contains(scope.getActiveElement())\n },\n effects: {\n trackFormControlState({ context, scope }) {\n return trackFormControl(getHiddenInputEl(scope), {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n context.set(\"value\", context.initial(\"value\"));\n }\n });\n }\n },\n actions: {\n clearHoveredValue({ context }) {\n context.set(\"hoveredValue\", -1);\n },\n focusActiveRadio({ scope, context }) {\n raf(() => getRadioEl(scope, context.get(\"value\"))?.focus());\n },\n setPrevValue({ context, prop }) {\n const factor = prop(\"allowHalf\") ? 0.5 : 1;\n context.set(\"value\", Math.max(0, context.get(\"value\") - factor));\n },\n setNextValue({ context, prop }) {\n const factor = prop(\"allowHalf\") ? 0.5 : 1;\n const value = context.get(\"value\") === -1 ? 0 : context.get(\"value\");\n context.set(\"value\", Math.min(prop(\"count\"), value + factor));\n },\n setValueToMin({ context }) {\n context.set(\"value\", 1);\n },\n setValueToMax({ context, prop }) {\n context.set(\"value\", prop(\"count\"));\n },\n setValue({ context, event }) {\n const hoveredValue = context.get(\"hoveredValue\");\n const value = hoveredValue === -1 ? event.value : hoveredValue;\n context.set(\"value\", value);\n },\n clearValue({ context }) {\n context.set(\"value\", -1);\n },\n setHoveredValue({ context, prop, event }) {\n const half = prop(\"allowHalf\") && event.isMidway;\n const factor = half ? 0.5 : 0;\n context.set(\"hoveredValue\", event.index - factor);\n },\n roundValueIfNeeded({ context, prop }) {\n if (prop(\"allowHalf\")) return;\n context.set(\"value\", Math.round(context.get(\"value\")));\n },\n dispatchChangeEvent({ context, scope }) {\n dispatchChangeEvent(scope, context.get(\"value\"));\n }\n }\n }\n});\nvar props = createProps()([\n \"allowHalf\",\n \"autoFocus\",\n \"count\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"name\",\n \"onHoverChange\",\n \"onValueChange\",\n \"required\",\n \"readOnly\",\n \"translations\",\n \"value\",\n \"defaultValue\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"index\"]);\nvar splitItemProps = createSplitProps(itemProps);\n\nexport { anatomy, connect, itemProps, machine, props, splitItemProps, splitProps };\n","'use client';\nimport { anatomy } from '@zag-js/radio-group';\n\nconst segmentGroupAnatomy = anatomy.rename(\"segment-group\");\nconst parts = segmentGroupAnatomy.build();\n\nexport { parts, segmentGroupAnatomy };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [SelectProvider, useSelectContext] = createContext({\n name: \"SelectContext\",\n hookName: \"useSelectContext\",\n providerName: \"<SelectProvider />\"\n});\n\nexport { SelectProvider, useSelectContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useSelectContext } from './use-select-context.js';\n\nconst SelectClearTrigger = forwardRef((props, ref) => {\n const select = useSelectContext();\n const mergedProps = mergeProps(select.getClearTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nSelectClearTrigger.displayName = \"SelectClearTrigger\";\n\nexport { SelectClearTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useSelectContext } from './use-select-context.js';\n\nconst SelectContent = forwardRef((props, ref) => {\n const select = useSelectContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(select.getContentProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nSelectContent.displayName = \"SelectContent\";\n\nexport { SelectContent };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useSelectContext } from './use-select-context.js';\n\nconst SelectControl = forwardRef((props, ref) => {\n const select = useSelectContext();\n const mergedProps = mergeProps(select.getControlProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nSelectControl.displayName = \"SelectControl\";\n\nexport { SelectControl };\n","'use client';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from '../field/use-field-context.js';\nimport { useSelectContext } from './use-select-context.js';\n\nconst SelectHiddenSelect = forwardRef((props, ref) => {\n const select = useSelectContext();\n const mergedProps = mergeProps(select.getHiddenSelectProps(), props);\n const isValueEmpty = select.value.length === 0;\n const field = useFieldContext();\n return /* @__PURE__ */ jsxs(ark.select, { \"aria-describedby\": field?.ariaDescribedby, ...mergedProps, ref, children: [\n isValueEmpty && /* @__PURE__ */ jsx(\"option\", { value: \"\" }),\n select.collection.items.map((item, index) => /* @__PURE__ */ jsx(\n \"option\",\n {\n value: select.collection.getItemValue(item) ?? \"\",\n disabled: select.collection.getItemDisabled(item),\n children: select.collection.stringifyItem(item)\n },\n index\n ))\n ] });\n});\nSelectHiddenSelect.displayName = \"SelectHiddenSelect\";\n\nexport { SelectHiddenSelect };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useSelectContext } from './use-select-context.js';\n\nconst SelectIndicator = forwardRef((props, ref) => {\n const select = useSelectContext();\n const mergedProps = mergeProps(select.getIndicatorProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nSelectIndicator.displayName = \"SelectIndicator\";\n\nexport { SelectIndicator };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [SelectItemProvider, useSelectItemContext] = createContext({\n name: \"SelectItemContext\",\n hookName: \"useSelectItemContext\",\n providerName: \"<SelectItemProvider />\"\n});\n\nexport { SelectItemProvider, useSelectItemContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [SelectItemPropsProvider, useSelectItemPropsContext] = createContext({\n name: \"SelectItemPropsContext\",\n hookName: \"useSelectItemPropsContext\",\n providerName: \"<SelectItemPropsProvider />\"\n});\n\nexport { SelectItemPropsProvider, useSelectItemPropsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useSelectContext } from './use-select-context.js';\nimport { SelectItemProvider } from './use-select-item-context.js';\nimport { SelectItemPropsProvider } from './use-select-item-props-context.js';\n\nconst SelectItem = forwardRef((props, ref) => {\n const [itemProps, localProps] = createSplitProps()(props, [\"item\", \"persistFocus\"]);\n const select = useSelectContext();\n const mergedProps = mergeProps(select.getItemProps(itemProps), localProps);\n const itemState = select.getItemState(itemProps);\n return /* @__PURE__ */ jsx(SelectItemPropsProvider, { value: itemProps, children: /* @__PURE__ */ jsx(SelectItemProvider, { value: itemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nSelectItem.displayName = \"SelectItem\";\n\nexport { SelectItem };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [SelectItemGroupPropsProvider, useSelectItemGroupPropsContext] = createContext({\n name: \"SelectItemGroupPropsContext\",\n hookName: \"useSelectItemGroupPropsContext\",\n providerName: \"<SelectItemGroupPropsProvider />\"\n});\n\nexport { SelectItemGroupPropsProvider, useSelectItemGroupPropsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useSelectContext } from './use-select-context.js';\nimport { SelectItemGroupPropsProvider } from './use-select-item-group-props.js';\n\nconst SelectItemGroup = forwardRef((props, ref) => {\n const id = useId();\n const [_itemGroupProps, localProps] = createSplitProps()(props, [\"id\"]);\n const itemGroupProps = { id, ..._itemGroupProps };\n const select = useSelectContext();\n const mergedProps = mergeProps(select.getItemGroupProps(itemGroupProps), localProps);\n return /* @__PURE__ */ jsx(SelectItemGroupPropsProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nSelectItemGroup.displayName = \"SelectItemGroup\";\n\nexport { SelectItemGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useSelectContext } from './use-select-context.js';\nimport { useSelectItemGroupPropsContext } from './use-select-item-group-props.js';\n\nconst SelectItemGroupLabel = forwardRef((props, ref) => {\n const select = useSelectContext();\n const itemGroupProps = useSelectItemGroupPropsContext();\n const mergedProps = mergeProps(select.getItemGroupLabelProps({ htmlFor: itemGroupProps.id }), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nSelectItemGroupLabel.displayName = \"SelectItemGroupLabel\";\n\nexport { SelectItemGroupLabel };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useSelectContext } from './use-select-context.js';\nimport { useSelectItemPropsContext } from './use-select-item-props-context.js';\n\nconst SelectItemIndicator = forwardRef((props, ref) => {\n const select = useSelectContext();\n const itemProps = useSelectItemPropsContext();\n const mergedProps = mergeProps(select.getItemIndicatorProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nSelectItemIndicator.displayName = \"SelectItemIndicator\";\n\nexport { SelectItemIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useSelectContext } from './use-select-context.js';\nimport { useSelectItemPropsContext } from './use-select-item-props-context.js';\n\nconst SelectItemText = forwardRef((props, ref) => {\n const select = useSelectContext();\n const itemProps = useSelectItemPropsContext();\n const mergedProps = mergeProps(select.getItemTextProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nSelectItemText.displayName = \"SelectItemText\";\n\nexport { SelectItemText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useSelectContext } from './use-select-context.js';\n\nconst SelectLabel = forwardRef((props, ref) => {\n const select = useSelectContext();\n const mergedProps = mergeProps(select.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });\n});\nSelectLabel.displayName = \"SelectLabel\";\n\nexport { SelectLabel };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useSelectContext } from './use-select-context.js';\n\nconst SelectPositioner = forwardRef((props, ref) => {\n const select = useSelectContext();\n const mergedProps = mergeProps(select.getPositionerProps(), props);\n const presence = usePresenceContext();\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nSelectPositioner.displayName = \"SelectPositioner\";\n\nexport { SelectPositioner };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { ListCollection } from '@zag-js/collection';\nimport { raf, getInitialFocus, observeAttributes, trackFormControl, getByTypeahead, scrollIntoView, isSelfTarget, isValidTabEvent, getEventKey, getEventTarget, isEditableElement, visuallyHiddenStyle, dataAttr, ariaAttr } from '@zag-js/dom-query';\nimport { getPlacement, getPlacementStyles } from '@zag-js/popper';\nimport { addOrRemove, isEqual, createSplitProps, ensure } from '@zag-js/utils';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { trackDismissableElement } from '@zag-js/dismissable';\nimport { createProps } from '@zag-js/types';\n\n// src/select.anatomy.ts\nvar anatomy = createAnatomy(\"select\").parts(\n \"label\",\n \"positioner\",\n \"trigger\",\n \"indicator\",\n \"clearTrigger\",\n \"item\",\n \"itemText\",\n \"itemIndicator\",\n \"itemGroup\",\n \"itemGroupLabel\",\n \"list\",\n \"content\",\n \"root\",\n \"control\",\n \"valueText\"\n);\nvar parts = anatomy.build();\nvar collection = (options) => {\n return new ListCollection(options);\n};\ncollection.empty = () => {\n return new ListCollection({ items: [] });\n};\n\n// src/select.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `select:${ctx.id}`;\nvar getContentId = (ctx) => ctx.ids?.content ?? `select:${ctx.id}:content`;\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `select:${ctx.id}:trigger`;\nvar getClearTriggerId = (ctx) => ctx.ids?.clearTrigger ?? `select:${ctx.id}:clear-trigger`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `select:${ctx.id}:label`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `select:${ctx.id}:control`;\nvar getItemId = (ctx, id) => ctx.ids?.item?.(id) ?? `select:${ctx.id}:option:${id}`;\nvar getHiddenSelectId = (ctx) => ctx.ids?.hiddenSelect ?? `select:${ctx.id}:select`;\nvar getPositionerId = (ctx) => ctx.ids?.positioner ?? `select:${ctx.id}:positioner`;\nvar getItemGroupId = (ctx, id) => ctx.ids?.itemGroup?.(id) ?? `select:${ctx.id}:optgroup:${id}`;\nvar getItemGroupLabelId = (ctx, id) => ctx.ids?.itemGroupLabel?.(id) ?? `select:${ctx.id}:optgroup-label:${id}`;\nvar getHiddenSelectEl = (ctx) => ctx.getById(getHiddenSelectId(ctx));\nvar getContentEl = (ctx) => ctx.getById(getContentId(ctx));\nvar getTriggerEl = (ctx) => ctx.getById(getTriggerId(ctx));\nvar getClearTriggerEl = (ctx) => ctx.getById(getClearTriggerId(ctx));\nvar getPositionerEl = (ctx) => ctx.getById(getPositionerId(ctx));\nvar getItemEl = (ctx, id) => ctx.getById(getItemId(ctx, id));\n\n// src/select.connect.ts\nfunction connect(service, normalize) {\n const { context, prop, scope, state, computed, send } = service;\n const disabled = prop(\"disabled\") || context.get(\"fieldsetDisabled\");\n const invalid = prop(\"invalid\");\n const readOnly = prop(\"readOnly\");\n const composite = prop(\"composite\");\n const collection2 = prop(\"collection\");\n const open = state.hasTag(\"open\");\n const focused = state.matches(\"focused\");\n const highlightedValue = context.get(\"highlightedValue\");\n const highlightedItem = context.get(\"highlightedItem\");\n const selectedItems = context.get(\"selectedItems\");\n const currentPlacement = context.get(\"currentPlacement\");\n const isTypingAhead = computed(\"isTypingAhead\");\n const interactive = computed(\"isInteractive\");\n const ariaActiveDescendant = highlightedValue ? getItemId(scope, highlightedValue) : void 0;\n function getItemState(props2) {\n const _disabled = collection2.getItemDisabled(props2.item);\n const value = collection2.getItemValue(props2.item);\n ensure(value, () => `[zag-js] No value found for item ${JSON.stringify(props2.item)}`);\n return {\n value,\n disabled: Boolean(disabled || _disabled),\n highlighted: highlightedValue === value,\n selected: context.get(\"value\").includes(value)\n };\n }\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: currentPlacement\n });\n return {\n open,\n focused,\n empty: context.get(\"value\").length === 0,\n highlightedItem,\n highlightedValue,\n selectedItems,\n hasSelectedItems: computed(\"hasSelectedItems\"),\n value: context.get(\"value\"),\n valueAsString: context.get(\"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 highlightValue(value) {\n send({ type: \"HIGHLIGHTED_VALUE.SET\", value });\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 valueAsString: bindable(() => {\n const value = prop(\"value\") ?? prop(\"defaultValue\") ?? [];\n return { defaultValue: prop(\"collection\").stringifyMany(value) };\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 },\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 \"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 target: \"focused\",\n actions: [\"focusTriggerEl\", \"clearHighlightedItem\"]\n },\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"focused\",\n actions: [\"invokeOnClose\", \"focusTriggerEl\", \"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 // 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 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 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 const restoreFocus = event.restoreFocus ?? event.previousEvent?.restoreFocus;\n if (restoreFocus != null && !restoreFocus) 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) return;\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 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 const valueAsString = collection2.stringifyItems(selectedItems);\n context.set(\"valueAsString\", valueAsString);\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 context.set(\"valueAsString\", collection2.stringifyItems(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});\nvar props = createProps()([\n \"closeOnSelect\",\n \"collection\",\n \"dir\",\n \"disabled\",\n \"deselectable\",\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 \"onValueChange\",\n \"defaultOpen\",\n \"open\",\n \"composite\",\n \"positioning\",\n \"required\",\n \"readOnly\",\n \"scrollToIndexFn\",\n \"value\",\n \"defaultValue\",\n \"defaultHighlightedValue\"\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","'use client';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport * as select from '@zag-js/select';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\nimport { useFieldContext } from '../field/use-field-context.js';\n\nconst useSelect = (props) => {\n const id = useId();\n const { dir } = useLocaleContext();\n const { getRootNode } = useEnvironmentContext();\n const field = useFieldContext();\n const machineProps = {\n id,\n ids: {\n label: field?.ids.label,\n hiddenSelect: field?.ids.control\n },\n disabled: field?.disabled,\n readOnly: field?.readOnly,\n invalid: field?.invalid,\n required: field?.required,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(select.machine, machineProps);\n return select.connect(service, normalizeProps);\n};\n\nexport { useSelect };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useSelect } from './use-select.js';\nimport { SelectProvider } from './use-select-context.js';\n\nconst SelectImpl = (props, ref) => {\n const [presenceProps, selectProps] = splitPresenceProps(props);\n const [useSelectProps, localProps] = createSplitProps()(selectProps, [\n \"closeOnSelect\",\n \"collection\",\n \"composite\",\n \"defaultHighlightedValue\",\n \"defaultOpen\",\n \"defaultValue\",\n \"deselectable\",\n \"disabled\",\n \"form\",\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 \"onValueChange\",\n \"open\",\n \"positioning\",\n \"readOnly\",\n \"required\",\n \"scrollToIndexFn\",\n \"value\"\n ]);\n const select = useSelect(useSelectProps);\n const presence = usePresence(mergeProps({ present: select.open }, presenceProps));\n const mergedProps = mergeProps(select.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(SelectProvider, { value: select, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n};\nconst SelectRoot = forwardRef(SelectImpl);\n\nexport { SelectRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { SelectProvider } from './use-select-context.js';\n\nconst SelectImpl = (props, ref) => {\n const [presenceProps, selectProps] = splitPresenceProps(props);\n const [{ value: select }, localProps] = createSplitProps()(selectProps, [\"value\"]);\n const presence = usePresence(mergeProps({ present: select.open }, presenceProps));\n const mergedProps = mergeProps(select.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(SelectProvider, { value: select, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n};\nconst SelectRootProvider = forwardRef(SelectImpl);\n\nexport { SelectRootProvider };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useSelectContext } from './use-select-context.js';\n\nconst SelectTrigger = forwardRef((props, ref) => {\n const select = useSelectContext();\n const mergedProps = mergeProps(select.getTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nSelectTrigger.displayName = \"SelectTrigger\";\n\nexport { SelectTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useSelectContext } from './use-select-context.js';\n\nconst SelectValueText = forwardRef((props, ref) => {\n const { children, placeholder, ...localprops } = props;\n const select = useSelectContext();\n const mergedProps = mergeProps(select.getValueTextProps(), localprops);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref, children: children || select.valueAsString || placeholder });\n});\nSelectValueText.displayName = \"SelectValueText\";\n\nexport { SelectValueText };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, setElementValue, trackElementRect, queryAll, trackPointerMove, trackFormControl, getRelativePoint, dispatchInputValueEvent, dataAttr, isLeftClick, isModifierKey, getEventPoint, ariaAttr, getEventStep, getEventKey } from '@zag-js/dom-query';\nimport { setValueAtIndex, pick, getValuePercent, isEqual, createSplitProps, snapValueToStep, clampValue, getValueRanges, getNextStepValue, getPreviousStepValue, getPercentValue, getClosestValueIndex, first, last, toPx, getValueTransformer } from '@zag-js/utils';\nimport { createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\n\n// src/slider.anatomy.ts\nvar anatomy = createAnatomy(\"slider\").parts(\n \"root\",\n \"label\",\n \"thumb\",\n \"valueText\",\n \"track\",\n \"range\",\n \"control\",\n \"markerGroup\",\n \"marker\",\n \"draggingIndicator\"\n);\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `slider:${ctx.id}`;\nvar getThumbId = (ctx, index) => ctx.ids?.thumb?.(index) ?? `slider:${ctx.id}:thumb:${index}`;\nvar getHiddenInputId = (ctx, index) => ctx.ids?.hiddenInput?.(index) ?? `slider:${ctx.id}:input:${index}`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `slider:${ctx.id}:control`;\nvar getTrackId = (ctx) => ctx.ids?.track ?? `slider:${ctx.id}:track`;\nvar getRangeId = (ctx) => ctx.ids?.range ?? `slider:${ctx.id}:range`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `slider:${ctx.id}:label`;\nvar getValueTextId = (ctx) => ctx.ids?.valueText ?? `slider:${ctx.id}:value-text`;\nvar getMarkerId = (ctx, value) => ctx.ids?.marker?.(value) ?? `slider:${ctx.id}:marker:${value}`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getThumbEl = (ctx, index) => ctx.getById(getThumbId(ctx, index));\nvar getThumbEls = (ctx) => queryAll(getControlEl(ctx), \"[role=slider]\");\nvar getFirstThumbEl = (ctx) => getThumbEls(ctx)[0];\nvar getHiddenInputEl = (ctx, index) => ctx.getById(getHiddenInputId(ctx, index));\nvar getControlEl = (ctx) => ctx.getById(getControlId(ctx));\nvar getPointValue = (params, point) => {\n const { prop, scope } = params;\n const controlEl = getControlEl(scope);\n if (!controlEl) return;\n const relativePoint = getRelativePoint(point, controlEl);\n const percent = relativePoint.getPercentValue({\n orientation: prop(\"orientation\"),\n dir: prop(\"dir\"),\n inverted: { y: true }\n });\n return getPercentValue(percent, prop(\"min\"), prop(\"max\"), prop(\"step\"));\n};\nvar dispatchChangeEvent = (ctx, value) => {\n value.forEach((value2, index) => {\n const inputEl = getHiddenInputEl(ctx, index);\n if (!inputEl) return;\n dispatchInputValueEvent(inputEl, { value: value2 });\n });\n};\nvar getOffsetRect = (el) => ({\n left: el?.offsetLeft ?? 0,\n top: el?.offsetTop ?? 0,\n width: el?.offsetWidth ?? 0,\n height: el?.offsetHeight ?? 0\n});\nfunction getBounds(value) {\n const firstValue = value[0];\n const lastThumb = value[value.length - 1];\n return [firstValue, lastThumb];\n}\nfunction getRangeOffsets(params) {\n const { prop, computed } = params;\n const valuePercent = computed(\"valuePercent\");\n const [firstPercent, lastPercent] = getBounds(valuePercent);\n if (valuePercent.length === 1) {\n if (prop(\"origin\") === \"center\") {\n const isNegative = valuePercent[0] < 50;\n const start = isNegative ? `${valuePercent[0]}%` : \"50%\";\n const end = isNegative ? \"50%\" : `${100 - valuePercent[0]}%`;\n return { start, end };\n }\n if (prop(\"origin\") === \"end\") {\n return { start: `${lastPercent}%`, end: \"0%\" };\n }\n return { start: \"0%\", end: `${100 - lastPercent}%` };\n }\n return { start: `${firstPercent}%`, end: `${100 - lastPercent}%` };\n}\nfunction getRangeStyle(params) {\n const { computed } = params;\n const isVertical = computed(\"isVertical\");\n const isRtl = computed(\"isRtl\");\n if (isVertical) {\n return {\n position: \"absolute\",\n bottom: \"var(--slider-range-start)\",\n top: \"var(--slider-range-end)\"\n };\n }\n return {\n position: \"absolute\",\n [isRtl ? \"right\" : \"left\"]: \"var(--slider-range-start)\",\n [isRtl ? \"left\" : \"right\"]: \"var(--slider-range-end)\"\n };\n}\nfunction getVerticalThumbOffset(params, value) {\n const { context, prop } = params;\n const { height = 0 } = context.get(\"thumbSize\") ?? {};\n const getValue = getValueTransformer([prop(\"min\"), prop(\"max\")], [-height / 2, height / 2]);\n return parseFloat(getValue(value).toFixed(2));\n}\nfunction getHorizontalThumbOffset(params, value) {\n const { computed, context, prop } = params;\n const { width = 0 } = context.get(\"thumbSize\") ?? {};\n const isRtl = computed(\"isRtl\");\n if (isRtl) {\n const getValue2 = getValueTransformer([prop(\"max\"), prop(\"min\")], [-width / 2, width / 2]);\n return -1 * parseFloat(getValue2(value).toFixed(2));\n }\n const getValue = getValueTransformer([prop(\"min\"), prop(\"max\")], [-width / 2, width / 2]);\n return parseFloat(getValue(value).toFixed(2));\n}\nfunction getOffset(params, percent, value) {\n const { computed, prop } = params;\n if (prop(\"thumbAlignment\") === \"center\") return `${percent}%`;\n const offset = computed(\"isVertical\") ? getVerticalThumbOffset(params, value) : getHorizontalThumbOffset(params, value);\n return `calc(${percent}% - ${offset}px)`;\n}\nfunction getThumbOffset(params, value) {\n const { prop } = params;\n const percent = getValuePercent(value, prop(\"min\"), prop(\"max\")) * 100;\n return getOffset(params, percent, value);\n}\nfunction getVisibility(params) {\n const { computed, prop } = params;\n let visibility = \"visible\";\n if (prop(\"thumbAlignment\") === \"contain\" && !computed(\"hasMeasuredThumbSize\")) {\n visibility = \"hidden\";\n }\n return visibility;\n}\nfunction getThumbStyle(params, index) {\n const { computed } = params;\n const placementProp = computed(\"isVertical\") ? \"bottom\" : \"insetInlineStart\";\n return {\n visibility: getVisibility(params),\n position: \"absolute\",\n transform: \"var(--slider-thumb-transform)\",\n [placementProp]: `var(--slider-thumb-offset-${index})`\n };\n}\nfunction getControlStyle() {\n return {\n touchAction: \"none\",\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n position: \"relative\"\n };\n}\nfunction getRootStyle(params) {\n const { context, computed } = params;\n const isVertical = computed(\"isVertical\");\n const isRtl = computed(\"isRtl\");\n const range = getRangeOffsets(params);\n const thumbSize = context.get(\"thumbSize\");\n const offsetStyles = context.get(\"value\").reduce((styles, value, index) => {\n const offset = getThumbOffset(params, value);\n return { ...styles, [`--slider-thumb-offset-${index}`]: offset };\n }, {});\n return {\n ...offsetStyles,\n \"--slider-thumb-width\": toPx(thumbSize?.width),\n \"--slider-thumb-height\": toPx(thumbSize?.height),\n \"--slider-thumb-transform\": isVertical ? \"translateY(50%)\" : isRtl ? \"translateX(50%)\" : \"translateX(-50%)\",\n \"--slider-range-start\": range.start,\n \"--slider-range-end\": range.end\n };\n}\nfunction getMarkerStyle(params, value) {\n const { computed } = params;\n const isHorizontal = computed(\"isHorizontal\");\n const isRtl = computed(\"isRtl\");\n return {\n visibility: getVisibility(params),\n position: \"absolute\",\n pointerEvents: \"none\",\n [isHorizontal ? \"insetInlineStart\" : \"bottom\"]: getThumbOffset(params, value),\n translate: \"var(--tx) var(--ty)\",\n \"--tx\": isHorizontal ? isRtl ? \"50%\" : \"-50%\" : \"0%\",\n \"--ty\": !isHorizontal ? \"50%\" : \"0%\"\n };\n}\nfunction getMarkerGroupStyle() {\n return {\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n pointerEvents: \"none\",\n position: \"relative\"\n };\n}\nfunction normalizeValues(params, nextValues) {\n return nextValues.map((value, index) => {\n return constrainValue(params, value, index);\n });\n}\nfunction getRangeAtIndex(params, index) {\n const { context, prop } = params;\n return getValueRanges(context.get(\"value\"), prop(\"min\"), prop(\"max\"), prop(\"minStepsBetweenThumbs\"))[index];\n}\nfunction constrainValue(params, value, index) {\n const { prop } = params;\n const range = getRangeAtIndex(params, index);\n const snapValue = snapValueToStep(value, prop(\"min\"), prop(\"max\"), prop(\"step\"));\n return clampValue(snapValue, range.min, range.max);\n}\nfunction decrement(params, index, step) {\n const { context, prop } = params;\n const idx = index ?? context.get(\"focusedIndex\");\n const range = getRangeAtIndex(params, idx);\n const nextValues = getPreviousStepValue(idx, {\n ...range,\n step: step ?? prop(\"step\"),\n values: context.get(\"value\")\n });\n nextValues[idx] = clampValue(nextValues[idx], range.min, range.max);\n return nextValues;\n}\nfunction increment(params, index, step) {\n const { context, prop } = params;\n const idx = index ?? context.get(\"focusedIndex\");\n const range = getRangeAtIndex(params, idx);\n const nextValues = getNextStepValue(idx, {\n ...range,\n step: step ?? prop(\"step\"),\n values: context.get(\"value\")\n });\n nextValues[idx] = clampValue(nextValues[idx], range.min, range.max);\n return nextValues;\n}\nfunction getClosestIndex(params, pointValue) {\n const { context } = params;\n return getClosestValueIndex(context.get(\"value\"), pointValue);\n}\n\n// src/slider.connect.ts\nfunction connect(service, normalize2) {\n const { state, send, context, prop, computed, scope } = service;\n const ariaLabel = prop(\"aria-label\");\n const ariaLabelledBy = prop(\"aria-labelledby\");\n const sliderValue = context.get(\"value\");\n const focusedIndex = context.get(\"focusedIndex\");\n const focused = state.matches(\"focus\");\n const dragging = state.matches(\"dragging\");\n const disabled = computed(\"isDisabled\");\n const invalid = prop(\"invalid\");\n const interactive = computed(\"isInteractive\");\n const isHorizontal = prop(\"orientation\") === \"horizontal\";\n const isVertical = prop(\"orientation\") === \"vertical\";\n function getValuePercentFn(value) {\n return getValuePercent(value, prop(\"min\"), prop(\"max\"));\n }\n function getPercentValueFn(percent) {\n return getPercentValue(percent, prop(\"min\"), prop(\"max\"), prop(\"step\"));\n }\n return {\n value: sliderValue,\n dragging,\n focused,\n setValue(value) {\n send({ type: \"SET_VALUE\", value });\n },\n getThumbValue(index) {\n return sliderValue[index];\n },\n setThumbValue(index, value) {\n send({ type: \"SET_VALUE\", index, value });\n },\n getValuePercent: getValuePercentFn,\n getPercentValue: getPercentValueFn,\n getThumbPercent(index) {\n return getValuePercentFn(sliderValue[index]);\n },\n setThumbPercent(index, percent) {\n const value = getPercentValueFn(percent);\n send({ type: \"SET_VALUE\", index, value });\n },\n getThumbMin(index) {\n return getRangeAtIndex(service, index).min;\n },\n getThumbMax(index) {\n return getRangeAtIndex(service, index).max;\n },\n increment(index) {\n send({ type: \"INCREMENT\", index });\n },\n decrement(index) {\n send({ type: \"DECREMENT\", index });\n },\n focus() {\n if (!interactive) return;\n send({ type: \"FOCUS\", index: 0 });\n },\n getLabelProps() {\n return normalize2.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-invalid\": dataAttr(invalid),\n \"data-dragging\": dataAttr(dragging),\n \"data-focus\": dataAttr(focused),\n id: getLabelId(scope),\n htmlFor: getHiddenInputId(scope, 0),\n onClick(event) {\n if (!interactive) return;\n event.preventDefault();\n getFirstThumbEl(scope)?.focus();\n },\n style: {\n userSelect: \"none\",\n WebkitUserSelect: \"none\"\n }\n });\n },\n getRootProps() {\n return normalize2.element({\n ...parts.root.attrs,\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-dragging\": dataAttr(dragging),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused),\n id: getRootId(scope),\n dir: prop(\"dir\"),\n style: getRootStyle(service)\n });\n },\n getValueTextProps() {\n return normalize2.element({\n ...parts.valueText.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused),\n id: getValueTextId(scope)\n });\n },\n getTrackProps() {\n return normalize2.element({\n ...parts.track.attrs,\n dir: prop(\"dir\"),\n id: getTrackId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-dragging\": dataAttr(dragging),\n \"data-orientation\": prop(\"orientation\"),\n \"data-focus\": dataAttr(focused),\n style: { position: \"relative\" }\n });\n },\n getThumbProps(props2) {\n const { index = 0, name } = props2;\n const value = sliderValue[index];\n const range = getRangeAtIndex(service, index);\n const valueText = prop(\"getAriaValueText\")?.({ value, index });\n const _ariaLabel = Array.isArray(ariaLabel) ? ariaLabel[index] : ariaLabel;\n const _ariaLabelledBy = Array.isArray(ariaLabelledBy) ? ariaLabelledBy[index] : ariaLabelledBy;\n return normalize2.element({\n ...parts.thumb.attrs,\n dir: prop(\"dir\"),\n \"data-index\": index,\n \"data-name\": name,\n id: getThumbId(scope, index),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-focus\": dataAttr(focused && focusedIndex === index),\n \"data-dragging\": dataAttr(dragging && focusedIndex === index),\n draggable: false,\n \"aria-disabled\": ariaAttr(disabled),\n \"aria-label\": _ariaLabel,\n \"aria-labelledby\": _ariaLabelledBy ?? getLabelId(scope),\n \"aria-orientation\": prop(\"orientation\"),\n \"aria-valuemax\": range.max,\n \"aria-valuemin\": range.min,\n \"aria-valuenow\": sliderValue[index],\n \"aria-valuetext\": valueText,\n role: \"slider\",\n tabIndex: disabled ? void 0 : 0,\n style: getThumbStyle(service, index),\n onPointerDown(event) {\n if (!interactive) return;\n send({ type: \"THUMB_POINTER_DOWN\", index });\n event.stopPropagation();\n },\n onBlur() {\n if (!interactive) return;\n send({ type: \"BLUR\" });\n },\n onFocus() {\n if (!interactive) return;\n send({ type: \"FOCUS\", index });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const step = getEventStep(event) * prop(\"step\");\n const keyMap = {\n ArrowUp() {\n if (isHorizontal) return;\n send({ type: \"ARROW_INC\", step, src: \"ArrowUp\" });\n },\n ArrowDown() {\n if (isHorizontal) return;\n send({ type: \"ARROW_DEC\", step, src: \"ArrowDown\" });\n },\n ArrowLeft() {\n if (isVertical) return;\n send({ type: \"ARROW_DEC\", step, src: \"ArrowLeft\" });\n },\n ArrowRight() {\n if (isVertical) return;\n send({ type: \"ARROW_INC\", step, src: \"ArrowRight\" });\n },\n PageUp() {\n send({ type: \"ARROW_INC\", step, src: \"PageUp\" });\n },\n PageDown() {\n send({ type: \"ARROW_DEC\", step, src: \"PageDown\" });\n },\n Home() {\n send({ type: \"HOME\" });\n },\n End() {\n send({ type: \"END\" });\n }\n };\n const key = getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: prop(\"orientation\")\n });\n const exec = keyMap[key];\n if (exec) {\n exec(event);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n });\n },\n getHiddenInputProps(props2) {\n const { index = 0, name } = props2;\n return normalize2.input({\n name: name ?? (prop(\"name\") ? prop(\"name\") + (sliderValue.length > 1 ? \"[]\" : \"\") : void 0),\n form: prop(\"form\"),\n type: \"text\",\n hidden: true,\n defaultValue: sliderValue[index],\n id: getHiddenInputId(scope, index)\n });\n },\n getRangeProps() {\n return normalize2.element({\n id: getRangeId(scope),\n ...parts.range.attrs,\n dir: prop(\"dir\"),\n \"data-dragging\": dataAttr(dragging),\n \"data-focus\": dataAttr(focused),\n \"data-invalid\": dataAttr(invalid),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n style: getRangeStyle(service)\n });\n },\n getControlProps() {\n return normalize2.element({\n ...parts.control.attrs,\n dir: prop(\"dir\"),\n id: getControlId(scope),\n \"data-dragging\": dataAttr(dragging),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused),\n style: getControlStyle(),\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n if (isModifierKey(event)) return;\n const point = getEventPoint(event);\n send({ type: \"POINTER_DOWN\", point });\n event.preventDefault();\n event.stopPropagation();\n }\n });\n },\n getMarkerGroupProps() {\n return normalize2.element({\n ...parts.markerGroup.attrs,\n role: \"presentation\",\n dir: prop(\"dir\"),\n \"aria-hidden\": true,\n \"data-orientation\": prop(\"orientation\"),\n style: getMarkerGroupStyle()\n });\n },\n getMarkerProps(props2) {\n const style = getMarkerStyle(service, props2.value);\n let markerState;\n if (props2.value < first(sliderValue)) {\n markerState = \"under-value\";\n } else if (props2.value > last(sliderValue)) {\n markerState = \"over-value\";\n } else {\n markerState = \"at-value\";\n }\n return normalize2.element({\n ...parts.marker.attrs,\n id: getMarkerId(scope, props2.value),\n role: \"presentation\",\n dir: prop(\"dir\"),\n \"data-orientation\": prop(\"orientation\"),\n \"data-value\": props2.value,\n \"data-disabled\": dataAttr(disabled),\n \"data-state\": markerState,\n style\n });\n },\n getDraggingIndicatorProps(props2) {\n const { index = 0 } = props2;\n const isDragging = index === focusedIndex && dragging;\n return normalize2.element({\n ...parts.draggingIndicator.attrs,\n role: \"presentation\",\n dir: prop(\"dir\"),\n hidden: !isDragging,\n \"data-orientation\": prop(\"orientation\"),\n \"data-state\": isDragging ? \"open\" : \"closed\",\n style: getThumbStyle(service, index)\n });\n }\n };\n}\nvar isEqualSize = (a, b) => {\n return a?.width === b?.width && a?.height === b?.height;\n};\nvar normalize = (value, min, max, step, minStepsBetweenThumbs) => {\n const ranges = getValueRanges(value, min, max, minStepsBetweenThumbs * step);\n return ranges.map((range) => {\n const snapValue = snapValueToStep(range.value, range.min, range.max, step);\n return clampValue(snapValue, range.min, range.max);\n });\n};\nvar machine = createMachine({\n props({ props: props2 }) {\n const min = props2.min ?? 0;\n const max = props2.max ?? 100;\n const step = props2.step ?? 1;\n const defaultValue = props2.defaultValue ?? [min];\n const minStepsBetweenThumbs = props2.minStepsBetweenThumbs ?? 0;\n return {\n dir: \"ltr\",\n thumbAlignment: \"contain\",\n origin: \"start\",\n orientation: \"horizontal\",\n minStepsBetweenThumbs,\n ...props2,\n defaultValue: normalize(defaultValue, min, max, step, minStepsBetweenThumbs),\n value: props2.value ? normalize(props2.value, min, max, step, minStepsBetweenThumbs) : void 0,\n max,\n step,\n min\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable, getContext }) {\n return {\n thumbSize: bindable(() => ({\n defaultValue: prop(\"thumbSize\") || null\n })),\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n isEqual,\n hash(a) {\n return a.join(\",\");\n },\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n })),\n focusedIndex: bindable(() => ({\n defaultValue: -1,\n onChange(value) {\n const ctx = getContext();\n prop(\"onFocusChange\")?.({ focusedIndex: value, value: ctx.get(\"value\") });\n }\n })),\n fieldsetDisabled: bindable(() => ({\n defaultValue: false\n }))\n };\n },\n computed: {\n isHorizontal: ({ prop }) => prop(\"orientation\") === \"horizontal\",\n isVertical: ({ prop }) => prop(\"orientation\") === \"vertical\",\n isRtl: ({ prop }) => prop(\"orientation\") === \"horizontal\" && prop(\"dir\") === \"rtl\",\n isDisabled: ({ context, prop }) => !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n isInteractive: ({ prop, computed }) => !(prop(\"readOnly\") || computed(\"isDisabled\")),\n hasMeasuredThumbSize: ({ context }) => context.get(\"thumbSize\") != null,\n valuePercent({ context, prop }) {\n return context.get(\"value\").map((value) => 100 * getValuePercent(value, prop(\"min\"), prop(\"max\")));\n }\n },\n watch({ track, action, context }) {\n track([() => context.hash(\"value\")], () => {\n action([\"syncInputElements\", \"dispatchChangeEvent\"]);\n });\n },\n effects: [\"trackFormControlState\", \"trackThumbSize\"],\n on: {\n SET_VALUE: [\n {\n guard: \"hasIndex\",\n actions: [\"setValueAtIndex\"]\n },\n {\n actions: [\"setValue\"]\n }\n ],\n INCREMENT: {\n actions: [\"incrementThumbAtIndex\"]\n },\n DECREMENT: {\n actions: [\"decrementThumbAtIndex\"]\n }\n },\n states: {\n idle: {\n on: {\n POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setClosestThumbIndex\", \"setPointerValue\", \"focusActiveThumb\"]\n },\n FOCUS: {\n target: \"focus\",\n actions: [\"setFocusedIndex\"]\n },\n THUMB_POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setFocusedIndex\", \"focusActiveThumb\"]\n }\n }\n },\n focus: {\n entry: [\"focusActiveThumb\"],\n on: {\n POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setClosestThumbIndex\", \"setPointerValue\", \"focusActiveThumb\"]\n },\n THUMB_POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setFocusedIndex\", \"focusActiveThumb\"]\n },\n ARROW_DEC: {\n actions: [\"decrementThumbAtIndex\", \"invokeOnChangeEnd\"]\n },\n ARROW_INC: {\n actions: [\"incrementThumbAtIndex\", \"invokeOnChangeEnd\"]\n },\n HOME: {\n actions: [\"setFocusedThumbToMin\", \"invokeOnChangeEnd\"]\n },\n END: {\n actions: [\"setFocusedThumbToMax\", \"invokeOnChangeEnd\"]\n },\n BLUR: {\n target: \"idle\",\n actions: [\"clearFocusedIndex\"]\n }\n }\n },\n dragging: {\n entry: [\"focusActiveThumb\"],\n effects: [\"trackPointerMove\"],\n on: {\n POINTER_UP: {\n target: \"focus\",\n actions: [\"invokeOnChangeEnd\"]\n },\n POINTER_MOVE: {\n actions: [\"setPointerValue\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n hasIndex: ({ event }) => event.index != null\n },\n effects: {\n trackFormControlState({ context, scope }) {\n return trackFormControl(getRootEl(scope), {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n context.set(\"value\", context.initial(\"value\"));\n }\n });\n },\n trackPointerMove({ scope, send }) {\n return trackPointerMove(scope.getDoc(), {\n onPointerMove(info) {\n send({ type: \"POINTER_MOVE\", point: info.point });\n },\n onPointerUp() {\n send({ type: \"POINTER_UP\" });\n }\n });\n },\n trackThumbSize({ context, scope, prop }) {\n if (prop(\"thumbAlignment\") !== \"contain\" || prop(\"thumbSize\")) return;\n return trackElementRect(getThumbEls(scope), {\n box: \"border-box\",\n measure(el) {\n return getOffsetRect(el);\n },\n onEntry({ rects }) {\n const size = pick(rects[0], [\"width\", \"height\"]);\n if (isEqualSize(context.get(\"thumbSize\"), size)) return;\n context.set(\"thumbSize\", size);\n }\n });\n }\n },\n actions: {\n dispatchChangeEvent({ context, scope }) {\n dispatchChangeEvent(scope, context.get(\"value\"));\n },\n syncInputElements({ context, scope }) {\n context.get(\"value\").forEach((value, index) => {\n const inputEl = getHiddenInputEl(scope, index);\n setElementValue(inputEl, value.toString());\n });\n },\n invokeOnChangeEnd({ prop, context }) {\n prop(\"onValueChangeEnd\")?.({ value: context.get(\"value\") });\n },\n setClosestThumbIndex(params) {\n const { context, event } = params;\n const pointValue = getPointValue(params, event.point);\n if (pointValue == null) return;\n const focusedIndex = getClosestIndex(params, pointValue);\n context.set(\"focusedIndex\", focusedIndex);\n },\n setFocusedIndex({ context, event }) {\n context.set(\"focusedIndex\", event.index);\n },\n clearFocusedIndex({ context }) {\n context.set(\"focusedIndex\", -1);\n },\n setPointerValue(params) {\n queueMicrotask(() => {\n const { context, event } = params;\n const pointValue = getPointValue(params, event.point);\n if (pointValue == null) return;\n const focusedIndex = context.get(\"focusedIndex\");\n const value = constrainValue(params, pointValue, focusedIndex);\n context.set(\"value\", (prev) => setValueAtIndex(prev, focusedIndex, value));\n });\n },\n focusActiveThumb({ scope, context }) {\n raf(() => {\n const thumbEl = getThumbEl(scope, context.get(\"focusedIndex\"));\n thumbEl?.focus({ preventScroll: true });\n });\n },\n decrementThumbAtIndex(params) {\n const { context, event } = params;\n const value = decrement(params, event.index, event.step);\n context.set(\"value\", value);\n },\n incrementThumbAtIndex(params) {\n const { context, event } = params;\n const value = increment(params, event.index, event.step);\n context.set(\"value\", value);\n },\n setFocusedThumbToMin(params) {\n const { context } = params;\n const index = context.get(\"focusedIndex\");\n const { min } = getRangeAtIndex(params, index);\n context.set(\"value\", (prev) => setValueAtIndex(prev, index, min));\n },\n setFocusedThumbToMax(params) {\n const { context } = params;\n const index = context.get(\"focusedIndex\");\n const { max } = getRangeAtIndex(params, index);\n context.set(\"value\", (prev) => setValueAtIndex(prev, index, max));\n },\n setValueAtIndex(params) {\n const { context, event } = params;\n const value = constrainValue(params, event.value, event.index);\n context.set(\"value\", (prev) => setValueAtIndex(prev, event.index, value));\n },\n setValue(params) {\n const { context, event } = params;\n const value = normalizeValues(params, event.value);\n context.set(\"value\", value);\n }\n }\n }\n});\nvar props = createProps()([\n \"aria-label\",\n \"aria-labelledby\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getAriaValueText\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"max\",\n \"min\",\n \"minStepsBetweenThumbs\",\n \"name\",\n \"onFocusChange\",\n \"onValueChange\",\n \"onValueChangeEnd\",\n \"orientation\",\n \"origin\",\n \"readOnly\",\n \"step\",\n \"thumbAlignment\",\n \"thumbAlignment\",\n \"thumbSize\",\n \"value\",\n \"defaultValue\"\n]);\nvar splitProps = createSplitProps(props);\nvar thumbProps = createProps()([\"index\", \"name\"]);\nvar splitThumbProps = createSplitProps(thumbProps);\n\nexport { anatomy, connect, machine, props, splitProps, splitThumbProps, thumbProps };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [SwitchProvider, useSwitchContext] = createContext({\n name: \"SwitchContext\",\n hookName: \"useSwitchContext\",\n providerName: \"<SwitchProvider />\"\n});\n\nexport { SwitchProvider, useSwitchContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useSwitchContext } from './use-switch-context.js';\n\nconst SwitchControl = forwardRef((props, ref) => {\n const switchContext = useSwitchContext();\n const mergedProps = mergeProps(switchContext.getControlProps(), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nSwitchControl.displayName = \"SwitchControl\";\n\nexport { SwitchControl };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from '../field/use-field-context.js';\nimport { useSwitchContext } from './use-switch-context.js';\n\nconst SwitchHiddenInput = forwardRef((props, ref) => {\n const switchContext = useSwitchContext();\n const mergedProps = mergeProps(switchContext.getHiddenInputProps(), props);\n const field = useFieldContext();\n return /* @__PURE__ */ jsx(ark.input, { \"aria-describedby\": field?.ariaDescribedby, ...mergedProps, ref });\n});\nSwitchHiddenInput.displayName = \"SwitchHiddenInput\";\n\nexport { SwitchHiddenInput };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useSwitchContext } from './use-switch-context.js';\n\nconst SwitchLabel = forwardRef((props, ref) => {\n const switchContext = useSwitchContext();\n const mergedProps = mergeProps(switchContext.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nSwitchLabel.displayName = \"SwitchLabel\";\n\nexport { SwitchLabel };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { dispatchInputCheckedEvent, setElementChecked, trackFormControl, trackPress, dataAttr, visuallyHiddenStyle, getEventTarget, isSafari } from '@zag-js/dom-query';\nimport { trackFocusVisible, isFocusVisible } from '@zag-js/focus-visible';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/switch.anatomy.ts\nvar anatomy = createAnatomy(\"switch\").parts(\"root\", \"label\", \"control\", \"thumb\");\nvar parts = anatomy.build();\n\n// src/switch.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `switch:${ctx.id}`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `switch:${ctx.id}:label`;\nvar getThumbId = (ctx) => ctx.ids?.thumb ?? `switch:${ctx.id}:thumb`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `switch:${ctx.id}:control`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `switch:${ctx.id}:input`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\n\n// src/switch.connect.ts\nfunction connect(service, normalize) {\n const { context, send, prop, scope } = service;\n const disabled = prop(\"disabled\");\n const readOnly = prop(\"readOnly\");\n const checked = !!context.get(\"checked\");\n const focused = !disabled && context.get(\"focused\");\n const focusVisible = !disabled && context.get(\"focusVisible\");\n const dataAttrs = {\n \"data-active\": dataAttr(context.get(\"active\")),\n \"data-focus\": dataAttr(focused),\n \"data-focus-visible\": dataAttr(focusVisible),\n \"data-readonly\": dataAttr(readOnly),\n \"data-hover\": dataAttr(context.get(\"hovered\")),\n \"data-disabled\": dataAttr(disabled),\n \"data-state\": checked ? \"checked\" : \"unchecked\",\n \"data-invalid\": dataAttr(prop(\"invalid\"))\n };\n return {\n checked,\n disabled,\n focused,\n setChecked(checked2) {\n send({ type: \"CHECKED.SET\", checked: checked2, isTrusted: false });\n },\n toggleChecked() {\n send({ type: \"CHECKED.TOGGLE\", checked, isTrusted: false });\n },\n getRootProps() {\n return normalize.label({\n ...parts.root.attrs,\n ...dataAttrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n htmlFor: getHiddenInputId(scope),\n onPointerMove() {\n if (disabled) return;\n send({ type: \"CONTEXT.SET\", context: { hovered: true } });\n },\n onPointerLeave() {\n if (disabled) return;\n send({ type: \"CONTEXT.SET\", context: { hovered: false } });\n },\n onClick(event) {\n if (disabled) return;\n const target = getEventTarget(event);\n if (target === getHiddenInputEl(scope)) {\n event.stopPropagation();\n }\n if (isSafari()) {\n getHiddenInputEl(scope)?.focus();\n }\n }\n });\n },\n getLabelProps() {\n return normalize.element({\n ...parts.label.attrs,\n ...dataAttrs,\n dir: prop(\"dir\"),\n id: getLabelId(scope)\n });\n },\n getThumbProps() {\n return normalize.element({\n ...parts.thumb.attrs,\n ...dataAttrs,\n dir: prop(\"dir\"),\n id: getThumbId(scope),\n \"aria-hidden\": true\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n ...dataAttrs,\n dir: prop(\"dir\"),\n id: getControlId(scope),\n \"aria-hidden\": true\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n id: getHiddenInputId(scope),\n type: \"checkbox\",\n required: prop(\"required\"),\n defaultChecked: checked,\n disabled,\n \"aria-labelledby\": getLabelId(scope),\n \"aria-invalid\": prop(\"invalid\"),\n name: prop(\"name\"),\n form: prop(\"form\"),\n value: prop(\"value\"),\n style: visuallyHiddenStyle,\n onFocus() {\n const focusVisible2 = isFocusVisible();\n send({ type: \"CONTEXT.SET\", context: { focused: true, focusVisible: focusVisible2 } });\n },\n onBlur() {\n send({ type: \"CONTEXT.SET\", context: { focused: false, focusVisible: false } });\n },\n onClick(event) {\n if (readOnly) {\n event.preventDefault();\n return;\n }\n const checked2 = event.currentTarget.checked;\n send({ type: \"CHECKED.SET\", checked: checked2, isTrusted: true });\n }\n });\n }\n };\n}\nvar { not } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n defaultChecked: false,\n label: \"switch\",\n value: \"on\",\n ...props2\n };\n },\n initialState() {\n return \"ready\";\n },\n context({ prop, bindable }) {\n return {\n checked: bindable(() => ({\n defaultValue: prop(\"defaultChecked\"),\n value: prop(\"checked\"),\n onChange(value) {\n prop(\"onCheckedChange\")?.({ checked: value });\n }\n })),\n fieldsetDisabled: bindable(() => ({\n defaultValue: false\n })),\n focusVisible: bindable(() => ({\n defaultValue: false\n })),\n active: bindable(() => ({\n defaultValue: false\n })),\n focused: bindable(() => ({\n defaultValue: false\n })),\n hovered: bindable(() => ({\n defaultValue: false\n }))\n };\n },\n computed: {\n isDisabled: ({ context, prop }) => prop(\"disabled\") || context.get(\"fieldsetDisabled\")\n },\n watch({ track, prop, context, action }) {\n track([() => prop(\"disabled\")], () => {\n action([\"removeFocusIfNeeded\"]);\n });\n track([() => context.get(\"checked\")], () => {\n action([\"syncInputElement\"]);\n });\n },\n effects: [\"trackFormControlState\", \"trackPressEvent\", \"trackFocusVisible\"],\n on: {\n \"CHECKED.TOGGLE\": [\n {\n guard: not(\"isTrusted\"),\n actions: [\"toggleChecked\", \"dispatchChangeEvent\"]\n },\n {\n actions: [\"toggleChecked\"]\n }\n ],\n \"CHECKED.SET\": [\n {\n guard: not(\"isTrusted\"),\n actions: [\"setChecked\", \"dispatchChangeEvent\"]\n },\n {\n actions: [\"setChecked\"]\n }\n ],\n \"CONTEXT.SET\": {\n actions: [\"setContext\"]\n }\n },\n states: {\n ready: {}\n },\n implementations: {\n guards: {\n isTrusted: ({ event }) => !!event.isTrusted\n },\n effects: {\n trackPressEvent({ computed, scope, context }) {\n if (computed(\"isDisabled\")) return;\n return trackPress({\n pointerNode: getRootEl(scope),\n keyboardNode: getHiddenInputEl(scope),\n isValidKey: (event) => event.key === \" \",\n onPress: () => context.set(\"active\", false),\n onPressStart: () => context.set(\"active\", true),\n onPressEnd: () => context.set(\"active\", false)\n });\n },\n trackFocusVisible({ computed, scope }) {\n if (computed(\"isDisabled\")) return;\n return trackFocusVisible({ root: scope.getRootNode() });\n },\n trackFormControlState({ context, send, scope }) {\n return trackFormControl(getHiddenInputEl(scope), {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n const checked = context.initial(\"checked\");\n send({ type: \"CHECKED.SET\", checked: !!checked, src: \"form-reset\" });\n }\n });\n }\n },\n actions: {\n setContext({ context, event }) {\n for (const key in event.context) {\n context.set(key, event.context[key]);\n }\n },\n syncInputElement({ context, scope }) {\n const inputEl = getHiddenInputEl(scope);\n if (!inputEl) return;\n setElementChecked(inputEl, !!context.get(\"checked\"));\n },\n removeFocusIfNeeded({ context, prop }) {\n if (prop(\"disabled\")) {\n context.set(\"focused\", false);\n }\n },\n setChecked({ context, event }) {\n context.set(\"checked\", event.checked);\n },\n toggleChecked({ context }) {\n context.set(\"checked\", !context.get(\"checked\"));\n },\n dispatchChangeEvent({ context, scope }) {\n const inputEl = getHiddenInputEl(scope);\n dispatchInputCheckedEvent(inputEl, { checked: context.get(\"checked\") });\n }\n }\n }\n});\nvar props = createProps()([\n \"checked\",\n \"defaultChecked\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"label\",\n \"name\",\n \"onCheckedChange\",\n \"readOnly\",\n \"required\",\n \"value\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","'use client';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport * as zagSwitch from '@zag-js/switch';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\nimport { useFieldContext } from '../field/use-field-context.js';\n\nconst useSwitch = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const field = useFieldContext();\n const machineProps = {\n id,\n ids: {\n label: field?.ids.label,\n hiddenInput: field?.ids.control\n },\n dir,\n disabled: field?.disabled,\n readOnly: field?.readOnly,\n invalid: field?.invalid,\n required: field?.required,\n getRootNode,\n ...props\n };\n const service = useMachine(zagSwitch.machine, machineProps);\n return zagSwitch.connect(service, normalizeProps);\n};\n\nexport { useSwitch };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useSwitch } from './use-switch.js';\nimport { SwitchProvider } from './use-switch-context.js';\n\nconst SwitchRoot = forwardRef((props, ref) => {\n const [switchProps, localProps] = createSplitProps()(props, [\n \"checked\",\n \"defaultChecked\",\n \"disabled\",\n \"form\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"label\",\n \"name\",\n \"onCheckedChange\",\n \"readOnly\",\n \"required\",\n \"value\"\n ]);\n const switchContext = useSwitch(switchProps);\n const mergedProps = mergeProps(switchContext.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(SwitchProvider, { value: switchContext, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) });\n});\nSwitchRoot.displayName = \"SwitchRoot\";\n\nexport { SwitchRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { SwitchProvider } from './use-switch-context.js';\n\nconst SwitchRootProvider = forwardRef((props, ref) => {\n const [{ value: api }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(api.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(SwitchProvider, { value: api, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) });\n});\nSwitchRootProvider.displayName = \"SwitchRootProvider\";\n\nexport { SwitchRootProvider };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useSwitchContext } from './use-switch-context.js';\n\nconst SwitchThumb = forwardRef((props, ref) => {\n const switchContext = useSwitchContext();\n const mergedProps = mergeProps(switchContext.getThumbProps(), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nSwitchThumb.displayName = \"SwitchThumb\";\n\nexport { SwitchThumb };\n","'use client';\nimport { useState, useEffect } from 'react';\n\nfunction useDebounce(value, delay) {\n const [debouncedValue, setDebouncedValue] = useState(value);\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n return () => {\n clearTimeout(timer);\n };\n }, [value, delay]);\n return debouncedValue;\n}\n\nexport { useDebounce };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [TabsProvider, useTabsContext] = createContext({\n name: \"TabsContext\",\n hookName: \"useTabsContext\",\n providerName: \"<TabsProvider />\"\n});\n\nexport { TabsProvider, useTabsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { useRenderStrategyPropsContext } from '../../utils/render-strategy.js';\nimport { useDebounce } from '../../utils/use-debounce.js';\nimport { ark } from '../factory.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useTabsContext } from './use-tabs-context.js';\n\nconst TabContent = forwardRef((props, ref) => {\n const [contentProps, localProps] = createSplitProps()(props, [\"value\"]);\n const tabs = useTabsContext();\n const renderStrategyProps = useRenderStrategyPropsContext();\n const presence = usePresence({\n ...renderStrategyProps,\n present: useDebounce(tabs.value === props.value, 0),\n immediate: true\n });\n const mergedProps = mergeProps(tabs.getContentProps(contentProps), presence.getPresenceProps(), localProps);\n return /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children: presence.unmounted ? null : /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) }) });\n});\nTabContent.displayName = \"TabContent\";\n\nexport { TabContent };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useTabsContext } from './use-tabs-context.js';\n\nconst TabIndicator = forwardRef((props, ref) => {\n const tabs = useTabsContext();\n const mergedProps = mergeProps(tabs.getIndicatorProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nTabIndicator.displayName = \"TabIndicator\";\n\nexport { TabIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useTabsContext } from './use-tabs-context.js';\n\nconst TabList = forwardRef((props, ref) => {\n const tabs = useTabsContext();\n const mergedProps = mergeProps(tabs.getListProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nTabList.displayName = \"TabList\";\n\nexport { TabList };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useTabsContext } from './use-tabs-context.js';\n\nconst TabTrigger = forwardRef((props, ref) => {\n const [tabProps, localProps] = createSplitProps()(props, [\"disabled\", \"value\"]);\n const tabs = useTabsContext();\n const mergedProps = mergeProps(tabs.getTriggerProps(tabProps), localProps);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nTabTrigger.displayName = \"TabTrigger\";\n\nexport { TabTrigger };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { isAnchorElement, trackElementRect, nextTick, raf, getFocusables, prevById, nextById, clickIfLink, itemById, queryAll, dataAttr, isSafari, isSelfTarget, isComposingEvent, getEventKey } from '@zag-js/dom-query';\nimport { last, first, createSplitProps } from '@zag-js/utils';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\n\n// src/tabs.anatomy.ts\nvar anatomy = createAnatomy(\"tabs\").parts(\"root\", \"list\", \"trigger\", \"content\", \"indicator\");\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `tabs:${ctx.id}`;\nvar getListId = (ctx) => ctx.ids?.list ?? `tabs:${ctx.id}:list`;\nvar getContentId = (ctx, id) => ctx.ids?.content ?? `tabs:${ctx.id}:content-${id}`;\nvar getTriggerId = (ctx, id) => ctx.ids?.trigger ?? `tabs:${ctx.id}:trigger-${id}`;\nvar getIndicatorId = (ctx) => ctx.ids?.indicator ?? `tabs:${ctx.id}:indicator`;\nvar getListEl = (ctx) => ctx.getById(getListId(ctx));\nvar getContentEl = (ctx, id) => ctx.getById(getContentId(ctx, id));\nvar getTriggerEl = (ctx, id) => ctx.getById(getTriggerId(ctx, id));\nvar getIndicatorEl = (ctx) => ctx.getById(getIndicatorId(ctx));\nvar getElements = (ctx) => {\n const ownerId = CSS.escape(getListId(ctx));\n const selector = `[role=tab][data-ownedby='${ownerId}']:not([disabled])`;\n return queryAll(getListEl(ctx), selector);\n};\nvar getFirstTriggerEl = (ctx) => first(getElements(ctx));\nvar getLastTriggerEl = (ctx) => last(getElements(ctx));\nvar getNextTriggerEl = (ctx, opts) => nextById(getElements(ctx), getTriggerId(ctx, opts.value), opts.loopFocus);\nvar getPrevTriggerEl = (ctx, opts) => prevById(getElements(ctx), getTriggerId(ctx, opts.value), opts.loopFocus);\nvar getOffsetRect = (el) => {\n return {\n left: el?.offsetLeft ?? 0,\n top: el?.offsetTop ?? 0,\n width: el?.offsetWidth ?? 0,\n height: el?.offsetHeight ?? 0\n };\n};\nvar getRectById = (ctx, id) => {\n const tab = itemById(getElements(ctx), getTriggerId(ctx, id));\n return resolveRect(getOffsetRect(tab));\n};\nvar resolveRect = (rect) => ({\n width: `${rect.width}px`,\n height: `${rect.height}px`,\n left: `${rect.left}px`,\n top: `${rect.top}px`\n});\n\n// src/tabs.connect.ts\nfunction connect(service, normalize) {\n const { state, send, context, prop, scope } = service;\n const translations = prop(\"translations\");\n const focused = state.matches(\"focused\");\n const isVertical = prop(\"orientation\") === \"vertical\";\n const isHorizontal = prop(\"orientation\") === \"horizontal\";\n const composite = prop(\"composite\");\n function getTriggerState(props2) {\n return {\n selected: context.get(\"value\") === props2.value,\n focused: context.get(\"focusedValue\") === props2.value,\n disabled: !!props2.disabled\n };\n }\n return {\n value: context.get(\"value\"),\n focusedValue: context.get(\"focusedValue\"),\n setValue(value) {\n send({ type: \"SET_VALUE\", value });\n },\n clearValue() {\n send({ type: \"CLEAR_VALUE\" });\n },\n setIndicatorRect(value) {\n const id = getTriggerId(scope, value);\n send({ type: \"SET_INDICATOR_RECT\", id });\n },\n syncTabIndex() {\n send({ type: \"SYNC_TAB_INDEX\" });\n },\n selectNext(fromValue) {\n send({ type: \"TAB_FOCUS\", value: fromValue, src: \"selectNext\" });\n send({ type: \"ARROW_NEXT\", src: \"selectNext\" });\n },\n selectPrev(fromValue) {\n send({ type: \"TAB_FOCUS\", value: fromValue, src: \"selectPrev\" });\n send({ type: \"ARROW_PREV\", src: \"selectPrev\" });\n },\n focus() {\n const value = context.get(\"value\");\n if (!value) return;\n getTriggerEl(scope, value)?.focus();\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n id: getRootId(scope),\n \"data-orientation\": prop(\"orientation\"),\n \"data-focus\": dataAttr(focused),\n dir: prop(\"dir\")\n });\n },\n getListProps() {\n return normalize.element({\n ...parts.list.attrs,\n id: getListId(scope),\n role: \"tablist\",\n dir: prop(\"dir\"),\n \"data-focus\": dataAttr(focused),\n \"aria-orientation\": prop(\"orientation\"),\n \"data-orientation\": prop(\"orientation\"),\n \"aria-label\": translations?.listLabel,\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!isSelfTarget(event)) return;\n if (isComposingEvent(event)) return;\n const keyMap = {\n ArrowDown() {\n if (isHorizontal) return;\n send({ type: \"ARROW_NEXT\", key: \"ArrowDown\" });\n },\n ArrowUp() {\n if (isHorizontal) return;\n send({ type: \"ARROW_PREV\", key: \"ArrowUp\" });\n },\n ArrowLeft() {\n if (isVertical) return;\n send({ type: \"ARROW_PREV\", key: \"ArrowLeft\" });\n },\n ArrowRight() {\n if (isVertical) return;\n send({ type: \"ARROW_NEXT\", key: \"ArrowRight\" });\n },\n Home() {\n send({ type: \"HOME\" });\n },\n End() {\n send({ type: \"END\" });\n },\n Enter() {\n send({ type: \"ENTER\" });\n }\n };\n let key = getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: prop(\"orientation\")\n });\n const exec = keyMap[key];\n if (exec) {\n event.preventDefault();\n exec(event);\n }\n }\n });\n },\n getTriggerState,\n getTriggerProps(props2) {\n const { value, disabled } = props2;\n const triggerState = getTriggerState(props2);\n return normalize.button({\n ...parts.trigger.attrs,\n role: \"tab\",\n type: \"button\",\n disabled,\n dir: prop(\"dir\"),\n \"data-orientation\": prop(\"orientation\"),\n \"data-disabled\": dataAttr(disabled),\n \"aria-disabled\": disabled,\n \"data-value\": value,\n \"aria-selected\": triggerState.selected,\n \"data-selected\": dataAttr(triggerState.selected),\n \"data-focus\": dataAttr(triggerState.focused),\n \"aria-controls\": triggerState.selected ? getContentId(scope, value) : void 0,\n \"data-ownedby\": getListId(scope),\n \"data-ssr\": dataAttr(context.get(\"ssr\")),\n id: getTriggerId(scope, value),\n tabIndex: triggerState.selected && composite ? 0 : -1,\n onFocus() {\n send({ type: \"TAB_FOCUS\", value });\n },\n onBlur(event) {\n const target = event.relatedTarget;\n if (target?.getAttribute(\"role\") !== \"tab\") {\n send({ type: \"TAB_BLUR\" });\n }\n },\n onClick(event) {\n if (event.defaultPrevented) return;\n if (disabled) return;\n if (isSafari()) {\n event.currentTarget.focus();\n }\n send({ type: \"TAB_CLICK\", value });\n }\n });\n },\n getContentProps(props2) {\n const { value } = props2;\n const selected = context.get(\"value\") === value;\n return normalize.element({\n ...parts.content.attrs,\n dir: prop(\"dir\"),\n id: getContentId(scope, value),\n tabIndex: composite ? 0 : -1,\n \"aria-labelledby\": getTriggerId(scope, value),\n role: \"tabpanel\",\n \"data-ownedby\": getListId(scope),\n \"data-selected\": dataAttr(selected),\n \"data-orientation\": prop(\"orientation\"),\n hidden: !selected\n });\n },\n getIndicatorProps() {\n const indicatorRect = context.get(\"indicatorRect\");\n const indicatorTransition = context.get(\"indicatorTransition\");\n return normalize.element({\n id: getIndicatorId(scope),\n ...parts.indicator.attrs,\n dir: prop(\"dir\"),\n \"data-orientation\": prop(\"orientation\"),\n style: {\n \"--transition-property\": \"left, right, top, bottom, width, height\",\n \"--left\": indicatorRect.left,\n \"--top\": indicatorRect.top,\n \"--width\": indicatorRect.width,\n \"--height\": indicatorRect.height,\n position: \"absolute\",\n willChange: \"var(--transition-property)\",\n transitionProperty: \"var(--transition-property)\",\n transitionDuration: indicatorTransition ? \"var(--transition-duration, 150ms)\" : \"0ms\",\n transitionTimingFunction: \"var(--transition-timing-function)\",\n [isHorizontal ? \"left\" : \"top\"]: isHorizontal ? \"var(--left)\" : \"var(--top)\"\n }\n });\n }\n };\n}\nvar { not } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n dir: \"ltr\",\n orientation: \"horizontal\",\n activationMode: \"automatic\",\n loopFocus: true,\n composite: true,\n navigate(details) {\n clickIfLink(details.node);\n },\n defaultValue: null,\n ...props2\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n })),\n focusedValue: bindable(() => ({\n defaultValue: prop(\"value\") || prop(\"defaultValue\"),\n sync: true,\n onChange(value) {\n prop(\"onFocusChange\")?.({ focusedValue: value });\n }\n })),\n ssr: bindable(() => ({ defaultValue: true })),\n indicatorTransition: bindable(() => ({ defaultValue: false })),\n indicatorRect: bindable(() => ({\n defaultValue: { left: \"0px\", top: \"0px\", width: \"0px\", height: \"0px\" }\n }))\n };\n },\n watch({ context, prop, track, action }) {\n track([() => context.get(\"value\")], () => {\n action([\"allowIndicatorTransition\", \"syncIndicatorRect\", \"syncTabIndex\", \"navigateIfNeeded\"]);\n });\n track([() => prop(\"dir\"), () => prop(\"orientation\")], () => {\n action([\"syncIndicatorRect\"]);\n });\n },\n on: {\n SET_VALUE: {\n actions: [\"setValue\"]\n },\n CLEAR_VALUE: {\n actions: [\"clearValue\"]\n },\n SET_INDICATOR_RECT: {\n actions: [\"setIndicatorRect\"]\n },\n SYNC_TAB_INDEX: {\n actions: [\"syncTabIndex\"]\n }\n },\n entry: [\"syncIndicatorRect\", \"syncTabIndex\", \"syncSsr\"],\n exit: [\"cleanupObserver\"],\n states: {\n idle: {\n on: {\n TAB_FOCUS: {\n target: \"focused\",\n actions: [\"setFocusedValue\"]\n },\n TAB_CLICK: {\n target: \"focused\",\n actions: [\"setFocusedValue\", \"setValue\"]\n }\n }\n },\n focused: {\n on: {\n TAB_CLICK: {\n target: \"focused\",\n actions: [\"setFocusedValue\", \"setValue\"]\n },\n ARROW_PREV: [\n {\n guard: \"selectOnFocus\",\n actions: [\"focusPrevTab\", \"selectFocusedTab\"]\n },\n {\n actions: [\"focusPrevTab\"]\n }\n ],\n ARROW_NEXT: [\n {\n guard: \"selectOnFocus\",\n actions: [\"focusNextTab\", \"selectFocusedTab\"]\n },\n {\n actions: [\"focusNextTab\"]\n }\n ],\n HOME: [\n {\n guard: \"selectOnFocus\",\n actions: [\"focusFirstTab\", \"selectFocusedTab\"]\n },\n {\n actions: [\"focusFirstTab\"]\n }\n ],\n END: [\n {\n guard: \"selectOnFocus\",\n actions: [\"focusLastTab\", \"selectFocusedTab\"]\n },\n {\n actions: [\"focusLastTab\"]\n }\n ],\n ENTER: {\n guard: not(\"selectOnFocus\"),\n actions: [\"selectFocusedTab\"]\n },\n TAB_FOCUS: {\n actions: [\"setFocusedValue\"]\n },\n TAB_BLUR: {\n target: \"idle\",\n actions: [\"clearFocusedValue\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n selectOnFocus: ({ prop }) => prop(\"activationMode\") === \"automatic\"\n },\n actions: {\n selectFocusedTab({ context, prop }) {\n raf(() => {\n const focusedValue = context.get(\"focusedValue\");\n if (!focusedValue) return;\n const nullable = prop(\"deselectable\") && context.get(\"value\") === focusedValue;\n const value = nullable ? null : focusedValue;\n context.set(\"value\", value);\n });\n },\n setFocusedValue({ context, event, flush }) {\n if (event.value == null) return;\n flush(() => {\n context.set(\"focusedValue\", event.value);\n });\n },\n clearFocusedValue({ context }) {\n context.set(\"focusedValue\", null);\n },\n setValue({ context, event, prop }) {\n const nullable = prop(\"deselectable\") && context.get(\"value\") === context.get(\"focusedValue\");\n context.set(\"value\", nullable ? null : event.value);\n },\n clearValue({ context }) {\n context.set(\"value\", null);\n },\n focusFirstTab({ scope }) {\n raf(() => {\n getFirstTriggerEl(scope)?.focus();\n });\n },\n focusLastTab({ scope }) {\n raf(() => {\n getLastTriggerEl(scope)?.focus();\n });\n },\n focusNextTab({ context, prop, scope, event }) {\n const focusedValue = event.value ?? context.get(\"focusedValue\");\n if (!focusedValue) return;\n const triggerEl = getNextTriggerEl(scope, {\n value: focusedValue,\n loopFocus: prop(\"loopFocus\")\n });\n raf(() => {\n if (prop(\"composite\")) {\n triggerEl?.focus();\n } else if (triggerEl?.dataset.value != null) {\n context.set(\"focusedValue\", triggerEl.dataset.value);\n }\n });\n },\n focusPrevTab({ context, prop, scope, event }) {\n const focusedValue = event.value ?? context.get(\"focusedValue\");\n if (!focusedValue) return;\n const triggerEl = getPrevTriggerEl(scope, {\n value: focusedValue,\n loopFocus: prop(\"loopFocus\")\n });\n raf(() => {\n if (prop(\"composite\")) {\n triggerEl?.focus();\n } else if (triggerEl?.dataset.value != null) {\n context.set(\"focusedValue\", triggerEl.dataset.value);\n }\n });\n },\n syncTabIndex({ context, scope }) {\n raf(() => {\n const value = context.get(\"value\");\n if (!value) return;\n const contentEl = getContentEl(scope, value);\n if (!contentEl) return;\n const focusables = getFocusables(contentEl);\n if (focusables.length > 0) {\n contentEl.removeAttribute(\"tabindex\");\n } else {\n contentEl.setAttribute(\"tabindex\", \"0\");\n }\n });\n },\n cleanupObserver({ refs }) {\n const cleanup = refs.get(\"indicatorCleanup\");\n if (cleanup) cleanup();\n },\n allowIndicatorTransition({ context }) {\n context.set(\"indicatorTransition\", true);\n },\n setIndicatorRect({ context, event, scope }) {\n const value = event.id ?? context.get(\"value\");\n const indicatorEl = getIndicatorEl(scope);\n if (!indicatorEl) return;\n if (!value) {\n context.set(\"indicatorTransition\", false);\n return;\n }\n const triggerEl = getTriggerEl(scope, value);\n if (!triggerEl) return;\n context.set(\"indicatorRect\", getRectById(scope, value));\n nextTick(() => {\n context.set(\"indicatorTransition\", false);\n });\n },\n syncSsr({ context }) {\n context.set(\"ssr\", false);\n },\n syncIndicatorRect({ context, refs, scope }) {\n const cleanup = refs.get(\"indicatorCleanup\");\n if (cleanup) cleanup();\n const value = context.get(\"value\");\n if (!value) {\n context.set(\"indicatorTransition\", false);\n return;\n }\n const triggerEl = getTriggerEl(scope, value);\n const indicatorEl = getIndicatorEl(scope);\n if (!triggerEl || !indicatorEl) return;\n const indicatorCleanup = trackElementRect([triggerEl], {\n measure(el) {\n return getOffsetRect(el);\n },\n onEntry({ rects }) {\n const [rect] = rects;\n context.set(\"indicatorRect\", resolveRect(rect));\n }\n });\n refs.set(\"indicatorCleanup\", indicatorCleanup);\n },\n navigateIfNeeded({ context, prop, scope }) {\n const value = context.get(\"value\");\n if (!value) return;\n const triggerEl = getTriggerEl(scope, value);\n if (!isAnchorElement(triggerEl)) return;\n prop(\"navigate\")?.({ value, node: triggerEl });\n }\n }\n }\n});\nvar props = createProps()([\n \"activationMode\",\n \"composite\",\n \"deselectable\",\n \"dir\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"loopFocus\",\n \"navigate\",\n \"onFocusChange\",\n \"onValueChange\",\n \"orientation\",\n \"translations\",\n \"value\",\n \"defaultValue\"\n]);\nvar splitProps = createSplitProps(props);\nvar triggerProps = createProps()([\"disabled\", \"value\"]);\nvar splitTriggerProps = createSplitProps(triggerProps);\nvar contentProps = createProps()([\"value\"]);\nvar splitContentProps = createSplitProps(contentProps);\n\nexport { anatomy, connect, contentProps, machine, props, splitContentProps, splitProps, splitTriggerProps, triggerProps };\n","'use client';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport * as tabs from '@zag-js/tabs';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useTabs = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(tabs.machine, machineProps);\n return tabs.connect(service, normalizeProps);\n};\n\nexport { useTabs };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { splitRenderStrategyProps, RenderStrategyPropsProvider } from '../../utils/render-strategy.js';\nimport { ark } from '../factory.js';\nimport { useTabs } from './use-tabs.js';\nimport { TabsProvider } from './use-tabs-context.js';\n\nconst TabsRoot = forwardRef((props, ref) => {\n const [renderStrategyProps, tabsProps] = splitRenderStrategyProps(props);\n const [useTabsProps, localprops] = createSplitProps()(tabsProps, [\n \"activationMode\",\n \"composite\",\n \"defaultValue\",\n \"deselectable\",\n \"id\",\n \"ids\",\n \"loopFocus\",\n \"navigate\",\n \"onFocusChange\",\n \"onValueChange\",\n \"orientation\",\n \"translations\",\n \"value\"\n ]);\n const tabs = useTabs(useTabsProps);\n const mergedProps = mergeProps(tabs.getRootProps(), localprops);\n return /* @__PURE__ */ jsx(TabsProvider, { value: tabs, children: /* @__PURE__ */ jsx(RenderStrategyPropsProvider, { value: renderStrategyProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nTabsRoot.displayName = \"TabsRoot\";\n\nexport { TabsRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { splitRenderStrategyProps, RenderStrategyPropsProvider } from '../../utils/render-strategy.js';\nimport { ark } from '../factory.js';\nimport { TabsProvider } from './use-tabs-context.js';\n\nconst TabsRootProvider = forwardRef((props, ref) => {\n const [renderStrategyProps, tabsProps] = splitRenderStrategyProps(props);\n const [{ value: tabs }, localprops] = createSplitProps()(tabsProps, [\"value\"]);\n const mergedProps = mergeProps(tabs.getRootProps(), localprops);\n return /* @__PURE__ */ jsx(TabsProvider, { value: tabs, children: /* @__PURE__ */ jsx(RenderStrategyPropsProvider, { value: renderStrategyProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nTabsRootProvider.displayName = \"TabsRootProvider\";\n\nexport { TabsRootProvider };\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\nexport default baseRange;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import toNumber from './toNumber.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nexport default toFinite;\n","import baseRange from './_baseRange.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport toFinite from './toFinite.js';\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n}\n\nexport default createRange;\n","import createRange from './_createRange.js';\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nexport default range;\n","\"use client\";import*as t from\"react\";var M=(e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=[\"light\",\"dark\"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y===\"class\",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n===\"system\"?c():n;p(y)}catch(n){}};var b=[\"light\",\"dark\"],I=\"(prefers-color-scheme: dark)\",O=typeof window==\"undefined\",x=t.createContext(void 0),U={setTheme:e=>{},themes:[]},z=()=>{var e;return(e=t.useContext(x))!=null?e:U},J=e=>t.useContext(x)?t.createElement(t.Fragment,null,e.children):t.createElement(V,{...e}),N=[\"light\",\"dark\"],V=({forcedTheme:e,disableTransitionOnChange:i=!1,enableSystem:s=!0,enableColorScheme:u=!0,storageKey:m=\"theme\",themes:a=N,defaultTheme:l=s?\"system\":\"light\",attribute:h=\"data-theme\",value:d,children:w,nonce:p,scriptProps:R})=>{let[c,n]=t.useState(()=>H(m,l)),[T,y]=t.useState(()=>c===\"system\"?E():c),k=d?Object.values(d):a,S=t.useCallback(o=>{let r=o;if(!r)return;o===\"system\"&&s&&(r=E());let v=d?d[r]:r,C=i?W(p):null,P=document.documentElement,L=g=>{g===\"class\"?(P.classList.remove(...k),v&&P.classList.add(v)):g.startsWith(\"data-\")&&(v?P.setAttribute(g,v):P.removeAttribute(g))};if(Array.isArray(h)?h.forEach(L):L(h),u){let g=b.includes(l)?l:null,D=b.includes(r)?r:g;P.style.colorScheme=D}C==null||C()},[p]),f=t.useCallback(o=>{let r=typeof o==\"function\"?o(c):o;n(r);try{localStorage.setItem(m,r)}catch(v){}},[c]),A=t.useCallback(o=>{let r=E(o);y(r),c===\"system\"&&s&&!e&&S(\"system\")},[c,e]);t.useEffect(()=>{let o=window.matchMedia(I);return o.addListener(A),A(o),()=>o.removeListener(A)},[A]),t.useEffect(()=>{let o=r=>{r.key===m&&(r.newValue?n(r.newValue):f(l))};return window.addEventListener(\"storage\",o),()=>window.removeEventListener(\"storage\",o)},[f]),t.useEffect(()=>{S(e!=null?e:c)},[e,c]);let Q=t.useMemo(()=>({theme:c,setTheme:f,forcedTheme:e,resolvedTheme:c===\"system\"?T:c,themes:s?[...a,\"system\"]:a,systemTheme:s?T:void 0}),[c,f,e,T,s,a]);return t.createElement(x.Provider,{value:Q},t.createElement(_,{forcedTheme:e,storageKey:m,attribute:h,enableSystem:s,enableColorScheme:u,defaultTheme:l,value:d,themes:a,nonce:p,scriptProps:R}),w)},_=t.memo(({forcedTheme:e,storageKey:i,attribute:s,enableSystem:u,enableColorScheme:m,defaultTheme:a,value:l,themes:h,nonce:d,scriptProps:w})=>{let p=JSON.stringify([s,i,a,e,h,l,u,m]).slice(1,-1);return t.createElement(\"script\",{...w,suppressHydrationWarning:!0,nonce:typeof window==\"undefined\"?d:\"\",dangerouslySetInnerHTML:{__html:`(${M.toString()})(${p})`}})}),H=(e,i)=>{if(O)return;let s;try{s=localStorage.getItem(e)||void 0}catch(u){}return s||i},W=e=>{let i=document.createElement(\"style\");return e&&i.setAttribute(\"nonce\",e),i.appendChild(document.createTextNode(\"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\")),document.head.appendChild(i),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(i)},1)}},E=e=>(e||(e=window.matchMedia(I)),e.matches?\"dark\":\"light\");export{J as ThemeProvider,z as useTheme};\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","self","source","owner","debugStack","debugTask","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","React","require$$0","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","require$$1","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","LAYER","abs","from","assign","hash","length","charat","trim","match","pattern","replace","replacement","indexof","search","index","substr","begin","end","strlen","sizeof","append","array","combine","callback","line","column","position","character","characters","root","parent","copy","char","prev","next","peek","caret","slice","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","parse","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","i","j","x","y","z","serialize","output","stringify","element","middleware","collection","rulesheet","b","c","d","e","f","g","h","l","m","n","p","q","r","t","v","w","a","u","A","reactIs_production_min","hasSymbol","REACT_PROVIDER_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","isValidElementType","typeOf","object","$$typeof","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","reactIs_development","reactIsModule","reactIs","REACT_STATICS","KNOWN_STATICS","FORWARD_REF_STATICS","MEMO_STATICS","TYPE_STATICS","getStatics","component","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","hoistNonReactStatics_cjs","wrap","idx","_","pipe","fns","arg","acc","fn","noop","isObject","dataAttr","guard","ariaAttr","ELEMENT_NODE","DOCUMENT_NODE","DOCUMENT_FRAGMENT_NODE","isHTMLElement","el","isDocument","isWindow","getNodeName","isRootElement","isNode","isShadowRoot","isInputElement","isAnchorElement","isElementVisible","TEXTAREA_SELECT_REGEX","isEditableElement","contains","child","rootNode","getDocument","getDocumentElement","getWindow","getActiveElement","activeElement","getParentNode","result","styleCache","getComputedStyle","isDom","getPlatform","getUserAgent","ua2","brand","version","pt","ua","vn","isTouchDevice","isIPhone","isIPad","isMac","isIos","isApple","isSafari","isFirefox","isAndroid","getComposedPath","event","getEventTarget","isSelfTarget","isOpeningInNewTab","isAppleDevice","localName","isDownloadingEvent","isComposingEvent","getNativeEvent","isPrintableKey","isVirtualClick","isContextMenuEvent","isModifierKey","isTouchEvent","keyMap","rtlKeyMap","getEventKey","options","dir","orientation","getEventPoint","point","addDomEvent","target","eventName","handler","getDescriptor","proto","setElementChecked","checked","dispatchInputCheckedEvent","bubbles","win","getClosestForm","isFormElement","trackFormReset","form","onReset","trackFieldsetDisabled","fieldset","obs","trackFormControl","onFieldsetDisabledChange","onFormReset","cleanups","cleanup","isFrame","hasTabIndex","hasNegativeTabIndex","focusableSelector","getFocusables","container","includeContainer","elements","isFocusable","focusableElements","frameBody","getTabbables","tabbableElements","isTabbable","allFrameTabbable","getTabbableEdges","first","last","getNextTabbable","current","tabbables","doc","currentElement","getTabIndex","getInitialFocus","getInitialEl","filter","enabled","isValidTabEvent","firstTabbable","lastTabbable","nextTick","set","raf2","fn2","id","raf","queueBeforeEvent","cb","cancelTimer","exec","observeAttributesImpl","attributes","changes","change","observeAttributes","nodeOrFn","defer","func","observeChildrenImpl","observeChildren","clickIfLink","click","getNearestOverflowAncestor","parentNode","isOverflowElement","getOverflowAncestors","list","scrollableAncestor","isBody","OVERFLOW_RE","overflow","overflowX","overflowY","display","isScrollable","scrollIntoView","rootEl","scrollOptions","trackPress","pointerNode","keyboardNode","onPress","onPressStart","onPressEnd","isValidKey","removeStartListeners","removeEndListeners","removeAccessibleListeners","getInfo","startPress","cancelPress","removePointerListener","startEvent","removePointerUpListener","endEvent","removePointerCancelListener","removeFocusListener","startAccessiblePress","handleKeydown","keydownEvent","handleKeyup","keyupEvent","evt2","info","evt","handleBlur","removeKeydownListener","removeBlurListener","proxyTabFocusImpl","triggerElement","onFocus","onFocusEnter","body","onKeyDown","elementToFocus","nextTabbableAfterTrigger","noTabbableElements","proxyTabFocus","restOptions","trigger","queryAll","selector","defaultItemToId","itemById","itemToId","item","indexOfId","nextById","loop","prevById","trackElementRect","onEntry","measure","box","elems","entries","rects","sanitize","str","code","getValueText","valueText","query2","getByText","text","currentId","items","setStyle","style","setStyleProperty","prop","getByTypeaheadImpl","baseItems","state2","activeId","timeout","update","getByTypeahead","isValidTypeaheadEvent","visuallyHiddenStyle","fps","waitForElement","timerId","el2","waitForElements","queries","clean","formatProdErrorMessage","url","Internals","createPortal$1","containerInfo","implementation","getCrossOriginStringAs","as","input","reactDom_production","previousTransition","previousUpdatePriority","href","crossOrigin","integrity","fetchPriority","action","initialState","permalink","getValueDescriptorExpectingObjectForWarning","thing","getValueDescriptorExpectingEnumForWarning","resolveDispatcher","reactDom_development","encountered","checkDCE","err","reactDomModule","getErrorMessage","hook","provider","createContext","strict","hookName","providerName","errorMessage","defaultValue","Context","createContext$1","useContext$1","context","useContext","error","EnvironmentContextProvider","useEnvironmentContext","disabled","setContainer","useState","isServer","useSyncExternalStore","subscribe","getRootNode","useEffect","jsx","mountNode","getPortalNode","Children","createPortal","toArray","has","add","remove","addOrRemove","nextIndex","opts","step","next2","len","last2","prevIndex","isArrayLike","isArrayEqual","isEqual","isArray","isObjectLike","isString","isFunction","isNull","hasProp","obj","fnToString","runIfFn","identity","callAll","compact","isPlainObject2","filtered","warn","ensure","clsx","args","CSS_REGEX","res","css","mergeProps","createGuards","guards","params","MachineStatus","MachineStatus2","INIT_STATE","createScope","getDoc","getWin","getActiveElementFn","elem","createNormalizer","_target","createProps","useSafeLayoutEffect","useLayoutEffect","useBindable","initial","eq","initialValue","setValue","controlled","valueRef","useRef","prevValue","setFn","value2","get","flushSync","nextValue","prevValue2","useRefs","refs","ref","useTrack","deps","effect","render","called","useMachine","machine","userProps","scope","useMemo","ids","debug","useProp","flush","ctx","computed","contextRef","useLiveRef","effects","transitionRef","previousEventRef","eventRef","getEvent","getState","state","values","tag","getParams","send","choose","strs","s","transitions","nextState","prevState","cleanup2","hydratedStateRef","statusRef","started","currentState","getCurrentState","transition","changed","normalizeProps","composeRefs","cleanUps","cleanUp","getRef","mayWarn","withAsChild","Component","Comp","memo","forwardRef","asChild","restProps","createElement","onlyChild","isValidElement","childRef","cloneElement","jsxFactory","cache","_thisArg","argArray","asElement","ark","TooltipProvider","useTooltipContext","TooltipArrow","tooltip","mergedProps","TooltipArrowTip","PresenceProvider","usePresenceContext","TooltipContent","presence","TooltipPositioner","createSplitProps","previousValue","currentValue","splitPresenceProps","connect","service","_normalize","present","props2","bindable","track","presentProp","animationName","getAnimationName","onStart","onEnd","cleanupStyles","styles","useEvent","sync","callbackRef","useLatestRef","useCallback","usePresence","lazyMount","unmountOnExit","skipAnimationOnMount","rest","wasEverPresent","machineProps","presence.machine","api","presence.connect","unmounted","getPresenceProps","createAnatomy","parts","isEmpty","newName","part","toKebabCase","nonTextInputTypes","isKeyboardFocusEvent","isTextInput","modality","FOCUS_VISIBLE_INPUT_KEYS","currentModality","changeHandlers","listenerMap","hasEventBeforeFocus","hasBlurredWindowRecently","triggerChangeHandlers","handleKeyboardEvent","handlePointerEvent","handleClickEvent","handleFocusEvent","handleWindowBlur","setupGlobalFocusEvents","focus","tearDownWindowFocusTracking","loadListener","isFocusVisible","trackFocusVisible","autoFocus","onChange","sides","min","max","round","floor","createCoords","oppositeSideMap","oppositeAlignmentMap","clamp","start","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","rtl","alignment","alignmentAxis","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getSideList","side","isStart","lr","rl","tb","bt","getOppositeAxisPlacements","flipAlignment","direction","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","width","height","computeCoordsFromPlacement","_ref","floating","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition","strategy","platform","validMiddleware","statefulPlacement","middlewareData","resetCount","nextX","nextY","data","reset","detectOverflow","_await$platform$isEle","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","offsetParent","offsetScale","elementClientRect","arrow","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","shouldAddOffset","alignmentOffset","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","detectOverflowOptions","initialSideAxis","isBasePlacement","fallbackPlacements","hasFallbackAxisSideDirection","placements","overflows","overflowsData","_middlewareData$flip2","_overflowsData$filter","nextPlacement","resetPlacement","_overflowsData$filter2","currentSideAxis","getSideOffsets","isAnySideFullyClipped","hide","offsets","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","limitShift","rawOffset","computedOffset","limitMin","limitMax","_middlewareData$offse2","isOriginSide","_state$middlewareData","_state$middlewareData2","apply","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","hasWindow","_node$ownerDocument","isTableElement","isTopLayer","isContainingBlock","elementOrCss","webkit","isWebKit","getContainingBlock","currentNode","isLastTraversableNode","getNodeScroll","traverseIframes","_node$ownerDocument2","frameElement","getFrameElement","getCssDimensions","hasOffset","offsetWidth","offsetHeight","shouldFallback","unwrapElement","getScale","domElement","$","noOffsets","getVisualOffsets","shouldAddVisualOffsets","isFixed","floatingOffsetParent","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","left","top","getWindowScrollBarX","leftScroll","getHTMLOffset","documentElement","scroll","ignoreScrollbarX","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","topLayer","isOffsetParentAnElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","html","getViewportRect","visualViewport","visualViewportBased","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","getClippingElementAncestors","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingRect","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getDimensions","getRectRelativeToOffsetParent","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","getElementRects","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","rectsAreEqual","observeMove","onMove","io","timeoutId","_io","refresh","skip","threshold","elementRectForRootMargin","insetTop","insetRight","insetBottom","insetLeft","isFirstUpdate","handleObserve","ratio","autoUpdate","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","referenceEl","ancestors","cleanupIo","reobserveFrame","resizeObserver","firstEntry","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset$1","shift$1","flip$1","size$1","hide$1","arrow$1","limitShift$1","mergedOptions","platformWithCache","computePosition$1","createDOMRect","getDOMRect","anchorRect","getAnchorElement","anchorElement","getAnchorRect","anchor","toVar","cssVars","getTransformOrigin","arrow2","transformOriginMiddleware","transformOrigin","rectMiddleware","shiftArrowMiddleware","arrowEl","getPlacementDetails","align","getPlacementSide","defaultOptions","roundByDpr","dpr","getBoundaryMiddleware","getArrowMiddleware","arrowElement","getOffsetMiddleware","arrowOffset","gutter","hasAlign","shift2","getFlipMiddleware","getShiftMiddleware","getSizeMiddleware","referenceWidth","hideWhenDetachedMiddleware","getAutoUpdateOptions","getPlacementImpl","referenceOrVirtual","onComplete","onPositioned","updatePosition","pos","contentEl","autoUpdateOptions","cancelAutoUpdate","getPlacement","referenceOrFn","floatingOrFn","ARROW_FLOATING_STYLE","getPlacementStyles","sameWidth","fitViewport","GET_ORIGINAL_SYMBOL","getProto","objectsToTrack","isObjectToTrack","getUntracked","markToTrack","mark","glob","globalRef","refSet","isReactElement","isVueElement","isDOMElement","canProxy","isDev","proxyStateMap","buildProxyFunction","objectIs","newProxy","snapCache","createSnapshot","snap","snapshot","proxyCache","versionHolder","proxyFunction2","initialObject","found","listeners","notifyUpdate","op","nextVersion","listener","checkVersion","ensureVersion","nextCheckVersion","propProxyStates","propProxyState","propVersion","createPropListener","newOp","addPropListener","removePropListener","entry","addListener","prevRemove","baseObject","proxyObject","deleted","receiver","hasPrevValue","proxy","childProxyState","proxyState","desc","proxyFunction","notifyInSync","promise","ops","isListenerActive","removeListener","anatomy","getTriggerId","getContentId","getArrowId","getPositionerId","getTriggerEl","getPositionerEl","store","normalize","_event","hasAriaLabel","open","triggerId","contentId","popperStyles","nextOpen","and","not","getPositionerEl2","triggerEl","overflowParent","LocaleContextProvider","useLocaleContext","useTooltip","useId","tooltip.machine","tooltip.connect","TooltipRoot","presenceProps","localProps","TooltipRootProvider","TooltipTrigger","AvatarProvider","useAvatarContext","AvatarFallback","avatar","AvatarImage","getRootId","getImageId","getFallbackId","getRootEl","getImageEl","loaded","src","imageEl","hasLoaded","records","image","useAvatar","avatar.machine","avatar.connect","AvatarRoot","useAvatarProps","AvatarRootProvider","userGeneratedStr","userGenerated","cssPropertiesStr","allCssProperties","properties","cssPropertySelectorRegex","isCssProperty","fastSafeStringify","deterministicStringify","LIMIT_REPLACE_NODE","CIRCULAR_REPLACE_NODE","arr","replacerStack","replacer","spacer","decirc","replaceGetterValues","setReplace","val","propertyDescriptor","edgeIndex","stack","depth","compareFunction","tmp","deterministicDecirc","MenuProvider","useMenuContext","MenuArrow","menu","MenuArrowTip","MenuItemProvider","useMenuItemContext","MenuOptionItemPropsProvider","useMenuOptionItemPropsContext","MenuCheckboxItem","partialOptionItemProps","optionItemProps","optionItemState","MenuContent","MenuContextTrigger","MenuIndicator","MenuItem","itemProps","itemState","MenuItemGroupProvider","useMenuItemGroupContext","MenuItemGroup","optionalItemGroupProps","itemGroupProps","MenuItemGroupLabel","itemGroup","MenuItemIndicator","MenuItemText","MenuPositioner","MenuRadioItem","partialItemProps","MenuRadioItemGroup","useEffectOnce","savedCallback","effectGuard","getWindowFrames","frames","frame","getParentWindow","POINTER_OUTSIDE_EVENT","FOCUS_OUTSIDE_EVENT","isComposedPathFocusable","composedPath","isPointerEvent","isEventPointWithin","isPointInRect","isEventWithinScrollbar","isScrollableY","onScrollbarY","isScrollableX","onScrollbarX","trackInteractOutsideImpl","exclude","onFocusOutside","onPointerDownOutside","onInteractOutside","parentWin","isEventOutside","triggerAncestor","nodeAncestor","pointerdownCleanups","isInShadowRoot","onPointerDown","clickEvent","handler2","fireCustomEvent","timer","onFocusin","trackInteractOutside","init","trackEscapeKeydown","handleKeyDown","layerStack","layer","highestBlockingIndex","branch","num","originalBodyPointerEvents","assignPointerEventToLayers","clearPointerEvent","disablePointerEventsOutside","persistentElements","persistedCleanup","trackDismissableElementImpl","warnOnMissingNode","onDismiss","pointerBlocking","excludeContainers","onEscapeKeyDown","containers","_containers","node2","trackDismissableElement","createPoint","createRect","midX","midY","getRectCorners","right","bottom","getElementPolygon","rectValue","base","isPointInPolygon","polygon","xi","yi","xj","yj","getContextTriggerId","getGroupId","getItemId","getItemValue","getGroupLabelId","getContentEl","getItemEl","getContextTriggerEl","getElements","getFirstEl","getLastEl","isMatch","getNextEl","getPrevEl","getElemByKey","isTargetDisabled","isTriggerItem","itemSelectEvent","dispatchSelectionEvent","isSubmenu","isTypingAhead","composite","currentPlacement","anchorPoint","highlightedValue","getItemState","getOptionItemProps","getOptionItemState","getItemProps","closeOnSelect","childApi","triggerProps","event2","onCheckedChange","option","or","details","resolveItemId","positioning","getContentEl2","restoreFocus","closeRootMenu","isWithinPolygon","itemEl","contentEl2","bleed","first2","prev2","hasChildren","childMenu","childTriggerId","useMenu","menu.machine","menu.connect","MenuMachineProvider","useMenuMachineContext","MenuTriggerItemProvider","useMenuTriggerItemContext","MenuRoot","menuProps","useMenuProps","parentApi","parentMachine","triggerItemContext","MenuRootProvider","MenuSeparator","MenuTrigger","MenuTriggerItem","getTriggerItemProps","CheckboxProvider","useCheckboxContext","CheckboxControl","checkbox","getLabelId","getControlId","getHiddenInputId","getHiddenInputEl","readOnly","invalid","focused","focusVisible","indeterminate","dataAttrs","checked2","focusVisible2","isIndeterminate","isChecked","inputEl","checkboxAnatomy","useControllableState","uncontrolledValue","setUncontrolledValue","useCheckboxGroup","controlledValue","onValueChange","interactive","onChangeProp","toggleValue","removeValue","addValue","CheckboxGroupContextProvider","useCheckboxGroupContext","CheckboxGroup","checkboxGroupProps","checkboxGroup","FieldProvider","useFieldContext","CheckboxHiddenInput","field","CheckboxLabel","useCheckbox","ownProps","checkbox.machine","checkbox.connect","CheckboxRoot","useCheckboxProps","CheckboxRootProvider","FieldErrorText","FieldHelperText","FieldInput","FieldLabel","FieldsetProvider","useFieldsetContext","fieldAnatomy","useField","required","hasErrorText","setHasErrorText","hasHelperText","setHasHelperText","rootRef","rootId","errorTextId","helperTextId","labelId","checkTextElements","observer","labelIds","ids2","getRootProps","getLabelProps","getControlProps","getInputProps","getTextareaProps","getSelectProps","getHelperTextProps","getErrorTextProps","getRequiredIndicatorProps","FieldRoot","useFieldProps","autoresizeTextarea","resize","newHeight","elementPrototype","attrObserver","FieldTextarea","autoresize","textareaProps","textareaRef","RenderStrategyPropsProvider","useRenderStrategyPropsContext","splitRenderStrategyProps","colorPickerAnatomy","__defProp","__defNormalProp","__publicField","fallback","ListCollection","_ListCollection","other","valueA","valueB","indexA","indexB","separator","queryString","query","item2","insert","toIndex","itemsOrValues","itemOrValue","fromIndex","move","to","label","itemString","indices","itemsToMove","createListCollection","counterMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","correctTargets","targets","correctedTarget","isIgnoredNode","walkTreeOutside","originalTarget","markerName","controlAttribute","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","deep","alreadyHidden","counterValue","markerValue","hideOthers","ariaHidden","targetsOrFn","DialogProvider","useDialogContext","DialogBackdrop","dialog","renderStrategyProps","DialogCloseTrigger","DialogContent","DialogDescription","DialogPositioner","activeFocusTraps","trapStack","trap","activeTrap","trapIndex","sharedTrapStack","FocusTrap","targetContained","nextNode","navAcrossContainers","mruContainerIdx","tabbableNodes","mruTabIdx","valueOrHandler","isBackward","destinationNode","isTabEvent","isEscapeEvent","mutations","mutation","firstTabbableGroup","isSelectableInput","deactivateOptions","onDeactivate","onPostDeactivate","checkCanReturnFocus","returnFocus","finishDeactivation","delay","returnFocusNode","pauseOptions","onPause","onPostPause","unpauseOptions","onUnpause","onPostUnpause","containerElements","previousActiveElement","configOverrideOptions","optionName","configOptionName","hasFallback","optionValue","containerIndex","containerGroup","startOfGroupIndex","firstTabbableNode","destinationGroupIndex","destinationGroup","lastOfGroupIndex","lastTabbableNode","focusableNodes","firstDomTabbableNode","lastDomTabbableNode","posTabIndexesFound","nextTabbableNode","forward","nodeIdx","group","activateOptions","onActivate","onPostActivate","checkCanFocusTrap","finishActivation","trapFocus","LOCK_CLASSNAME","getPaddingProperty","documentLeft","preventBodyScroll","_document","scrollbarWidth","setScrollbarWidthProperty","paddingProperty","setBodyStyle","setBodyStyleIOS","scrollX","scrollY","offsetLeft","offsetTop","restoreStyle","getBackdropId","getTitleId","getDescriptionId","getCloseTriggerId","getBackdropEl","getTitleEl","getDescriptionEl","getCloseTriggerEl","ariaLabel","rendered","alertDialog","useDialog","dialog.machine","dialog.connect","DialogRoot","DialogRootProvider","DialogTitle","DialogTrigger","fieldsetAnatomy","HoverCardProvider","useHoverCardContext","HoverCardArrow","hoverCard","HoverCardArrowTip","HoverCardContent","HoverCardContext","HoverCardPositioner","useHoverCard","hoverCard.machine","hoverCard.connect","HoverCardRoot","HoverCardRootProvider","HoverCardTrigger","PopoverProvider","usePopoverContext","PopoverAnchor","popover","PopoverArrow","PopoverArrowTip","PopoverCloseTrigger","PopoverContent","PopoverContext","PopoverDescription","PopoverIndicator","PopoverPositioner","getAnchorId","getAnchorEl","portalled","anchorEl","usePopover","popover.machine","popover.connect","PopoverRoot","PopoverRootProvider","PopoverTitle","PopoverTrigger","RadioGroupProvider","useRadioGroupContext","RadioGroupItemProvider","useRadioGroupItemContext","RadioGroupItemPropsProvider","useRadioGroupItemPropsContext","RadioGroupItem","radioGroup","RadioGroupItemContext","RadioGroupItemControl","RadioGroupItemHiddenInput","RadioGroupItemText","RadioGroupLabel","getItemHiddenInputId","getItemControlId","getItemLabelId","getIndicatorId","getItemHiddenInputEl","getIndicatorEl","getFirstEnabledInputEl","getFirstEnabledAndCheckedInputEl","getInputEls","getRadioEl","getOffsetRect","resolveRect","groupDisabled","getItemDataAttrs","radioEl","indicatorCleanup","useRadioGroup","radio.machine","radio.connect","RadioGroupRoot","useRadioGroupProps","RadioGroupRootProvider","segmentGroupAnatomy","SelectProvider","useSelectContext","SelectClearTrigger","select","SelectContent","SelectControl","SelectHiddenSelect","isValueEmpty","jsxs","SelectIndicator","SelectItemProvider","useSelectItemContext","SelectItemPropsProvider","useSelectItemPropsContext","SelectItem","SelectItemGroupPropsProvider","useSelectItemGroupPropsContext","SelectItemGroup","_itemGroupProps","SelectItemGroupLabel","SelectItemIndicator","SelectItemText","SelectLabel","SelectPositioner","getClearTriggerId","getHiddenSelectId","getItemGroupId","getItemGroupLabelId","getHiddenSelectEl","getClearTriggerEl","collection2","highlightedItem","selectedItems","ariaActiveDescendant","_disabled","htmlFor","immediate","optionEl","scrollToIndexFn","highlightedIndex","positionerEl","firstItem","selectEl","valueAsString","prevSelectedItems","changeEvent","useSelect","select.machine","select.connect","SelectImpl","selectProps","useSelectProps","SelectRoot","SelectRootProvider","SelectTrigger","SelectValueText","placeholder","localprops","SwitchProvider","useSwitchContext","SwitchControl","switchContext","SwitchHiddenInput","SwitchLabel","getThumbId","useSwitch","zagSwitch.machine","zagSwitch.connect","SwitchRoot","switchProps","SwitchRootProvider","SwitchThumb","useDebounce","debouncedValue","setDebouncedValue","TabsProvider","useTabsContext","TabContent","contentProps","tabs","TabIndicator","TabList","TabTrigger","tabProps","getListId","getListEl","getFirstTriggerEl","getLastTriggerEl","getNextTriggerEl","getPrevTriggerEl","getRectById","tab","translations","isHorizontal","getTriggerState","fromValue","triggerState","selected","indicatorRect","indicatorTransition","focusedValue","nullable","indicatorEl","useTabs","tabs.machine","tabs.connect","TabsRoot","tabsProps","useTabsProps","TabsRootProvider","nativeCeil","nativeMax","baseRange","fromRight","freeGlobal","freeSelf","Symbol","objectProto","nativeObjectToString","symToStringTag","getRawTag","isOwn","unmasked","objectToString","nullTag","undefinedTag","baseGetTag","asyncTag","funcTag","genTag","proxyTag","MAX_SAFE_INTEGER","isLength","reIsUint","isIndex","isIterateeCall","reWhitespace","trimmedEndIndex","string","reTrimStart","baseTrim","symbolTag","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","isBinary","INFINITY","MAX_INTEGER","toFinite","sign","createRange","range","M","S","R","I","O","U","J","V","N","H","T","E","o","C","W","P","L","Q"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252]}
|