@televet/kibble-ui 5.0.13 → 5.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/dist/chunks/{alert.types-BsTOOEB7.js → alert.types-DWm1TeiF.js} +3 -3
  2. package/dist/chunks/{alert.types-BsTOOEB7.js.map → alert.types-DWm1TeiF.js.map} +1 -1
  3. package/dist/chunks/{anatomy-BkGk10kB.js → anatomy-B0LtI6sf.js} +2 -2
  4. package/dist/chunks/{anatomy-BkGk10kB.js.map → anatomy-B0LtI6sf.js.map} +1 -1
  5. package/dist/chunks/{anatomy-zd4ecEFD.js → anatomy-DKlFmIC5.js} +12 -12
  6. package/dist/chunks/{anatomy-zd4ecEFD.js.map → anatomy-DKlFmIC5.js.map} +1 -1
  7. package/dist/chunks/{avatar.component-CzutRWy6.js → avatar.component-BL6D6Lw_.js} +5 -5
  8. package/dist/chunks/{avatar.component-CzutRWy6.js.map → avatar.component-BL6D6Lw_.js.map} +1 -1
  9. package/dist/chunks/{avatar.records-EoZmO3VR.js → avatar.records-DFg5kBIk.js} +13 -13
  10. package/dist/chunks/{avatar.records-EoZmO3VR.js.map → avatar.records-DFg5kBIk.js.map} +1 -1
  11. package/dist/chunks/{avatarGroup.component-WSh9t8AX.js → avatarGroup.component-Ba_rfWUg.js} +5 -5
  12. package/dist/chunks/{avatarGroup.component-WSh9t8AX.js.map → avatarGroup.component-Ba_rfWUg.js.map} +1 -1
  13. package/dist/chunks/{buttonGroup.component-TsLHB-LO.js → buttonGroup.component-BNOBvOyv.js} +2 -2
  14. package/dist/chunks/{buttonGroup.component-TsLHB-LO.js.map → buttonGroup.component-BNOBvOyv.js.map} +1 -1
  15. package/dist/chunks/{calendar.component-CiBkNtlB.js → calendar.component-B4EcYQEb.js} +2 -2
  16. package/dist/chunks/{calendar.component-CiBkNtlB.js.map → calendar.component-B4EcYQEb.js.map} +1 -1
  17. package/dist/chunks/{characterCounter.component-CoMqt04J.js → characterCounter.component-DI_FQNUR.js} +2 -2
  18. package/dist/chunks/{characterCounter.component-CoMqt04J.js.map → characterCounter.component-DI_FQNUR.js.map} +1 -1
  19. package/dist/chunks/{checkbox.anatomy-BzZ0IkUF.js → checkbox.anatomy-B8fWV_mm.js} +28 -28
  20. package/dist/chunks/{checkbox.anatomy-BzZ0IkUF.js.map → checkbox.anatomy-B8fWV_mm.js.map} +1 -1
  21. package/dist/chunks/{checkbox.component-C0XdgZkr.js → checkbox.component-DDsVfE4a.js} +9 -9
  22. package/dist/chunks/{checkbox.component-C0XdgZkr.js.map → checkbox.component-DDsVfE4a.js.map} +1 -1
  23. package/dist/chunks/{checkboxGroup.component-lxNvlmd_.js → checkboxGroup.component-Cx2Gvii5.js} +3 -3
  24. package/dist/chunks/{checkboxGroup.component-lxNvlmd_.js.map → checkboxGroup.component-Cx2Gvii5.js.map} +1 -1
  25. package/dist/chunks/{conversationCard.component-B_XSYd1p.js → conversationCard.component-D7hpX-QG.js} +8 -8
  26. package/dist/chunks/{conversationCard.component-B_XSYd1p.js.map → conversationCard.component-D7hpX-QG.js.map} +1 -1
  27. package/dist/chunks/{datePicker.component-BAaIqF1O.js → datePicker.component-BotAJpXU.js} +8 -8
  28. package/dist/chunks/{datePicker.component-BAaIqF1O.js.map → datePicker.component-BotAJpXU.js.map} +1 -1
  29. package/dist/chunks/{datePicker.component-mE9U6yIL.js → datePicker.component-Cx76pUPS.js} +2 -2
  30. package/dist/chunks/{datePicker.component-mE9U6yIL.js.map → datePicker.component-Cx76pUPS.js.map} +1 -1
  31. package/dist/chunks/{datePicker.provider-DEN8clnz.js → datePicker.provider-xtYFjWKI.js} +5 -5
  32. package/dist/chunks/{datePicker.provider-DEN8clnz.js.map → datePicker.provider-xtYFjWKI.js.map} +1 -1
  33. package/dist/chunks/{dateTimePicker.component-NOJdpYNs.js → dateTimePicker.component-CUIKZ5BK.js} +9 -9
  34. package/dist/chunks/{dateTimePicker.component-NOJdpYNs.js.map → dateTimePicker.component-CUIKZ5BK.js.map} +1 -1
  35. package/dist/chunks/{dateTimePicker.component-CmpTclKA.js → dateTimePicker.component-IGSiKHDc.js} +2 -2
  36. package/dist/chunks/{dateTimePicker.component-CmpTclKA.js.map → dateTimePicker.component-IGSiKHDc.js.map} +1 -1
  37. package/dist/chunks/{dialog-B9jifvV4.js → dialog-CJpn28QG.js} +6 -6
  38. package/dist/chunks/{dialog-B9jifvV4.js.map → dialog-CJpn28QG.js.map} +1 -1
  39. package/dist/chunks/{field.anatomy-C37GEr2p.js → field.anatomy-CAraH-al.js} +2 -2
  40. package/dist/chunks/{field.anatomy-C37GEr2p.js.map → field.anatomy-CAraH-al.js.map} +1 -1
  41. package/dist/chunks/{heading.component-PFNpLFT7.js → heading.component-CpSAN3cv.js} +2 -2
  42. package/dist/chunks/{heading.component-PFNpLFT7.js.map → heading.component-CpSAN3cv.js.map} +1 -1
  43. package/dist/chunks/index-6QSGfY1E.js +1011 -0
  44. package/dist/chunks/index-6QSGfY1E.js.map +1 -0
  45. package/dist/chunks/{index-D1RhzPVz.js → index-BBvspkoa.js} +3 -3
  46. package/dist/chunks/{index-D1RhzPVz.js.map → index-BBvspkoa.js.map} +1 -1
  47. package/dist/chunks/{index-D7QT9KIZ.js → index-BU6fRN91.js} +3 -3
  48. package/dist/chunks/{index-D7QT9KIZ.js.map → index-BU6fRN91.js.map} +1 -1
  49. package/dist/chunks/{index-Cxrrsmf-.js → index-BWNl4vB2.js} +8 -8
  50. package/dist/chunks/{index-Cxrrsmf-.js.map → index-BWNl4vB2.js.map} +1 -1
  51. package/dist/chunks/{index-fHSGm2nC.js → index-BcafYtXX.js} +47 -47
  52. package/dist/chunks/{index-fHSGm2nC.js.map → index-BcafYtXX.js.map} +1 -1
  53. package/dist/chunks/index-BhMI6dHH.js +191 -0
  54. package/dist/chunks/index-BhMI6dHH.js.map +1 -0
  55. package/dist/chunks/{index-QVc_GVoE.js → index-C0IJq4ol.js} +15 -15
  56. package/dist/chunks/{index-QVc_GVoE.js.map → index-C0IJq4ol.js.map} +1 -1
  57. package/dist/chunks/{index-wV4hG2vI.js → index-CXLyCyl3.js} +4 -4
  58. package/dist/chunks/{index-wV4hG2vI.js.map → index-CXLyCyl3.js.map} +1 -1
  59. package/dist/chunks/{index-DfzXSlq1.js → index-CcwGiuyq.js} +29 -29
  60. package/dist/chunks/{index-DfzXSlq1.js.map → index-CcwGiuyq.js.map} +1 -1
  61. package/dist/chunks/{index-BbZjRFzg.js → index-CgPTA7y6.js} +3 -3
  62. package/dist/chunks/{index-BbZjRFzg.js.map → index-CgPTA7y6.js.map} +1 -1
  63. package/dist/chunks/{index-CbVKVxMW.js → index-CmREf48Z.js} +11 -11
  64. package/dist/chunks/{index-CbVKVxMW.js.map → index-CmREf48Z.js.map} +1 -1
  65. package/dist/chunks/{index-B3xJnxjd.js → index-DJa3JmO7.js} +14 -14
  66. package/dist/chunks/{index-B3xJnxjd.js.map → index-DJa3JmO7.js.map} +1 -1
  67. package/dist/chunks/{index-DS4KlAkI.js → index-DVGrQEJi.js} +20 -20
  68. package/dist/chunks/{index-DS4KlAkI.js.map → index-DVGrQEJi.js.map} +1 -1
  69. package/dist/chunks/{index-C9UYIjEB.js → index-DcmJgLUo.js} +91 -91
  70. package/dist/chunks/{index-C9UYIjEB.js.map → index-DcmJgLUo.js.map} +1 -1
  71. package/dist/chunks/index-DhaZ70Qi.js +2 -0
  72. package/dist/chunks/index-DhaZ70Qi.js.map +1 -0
  73. package/dist/chunks/index-LDDF3MqB.js +2 -0
  74. package/dist/chunks/index-LDDF3MqB.js.map +1 -0
  75. package/dist/chunks/{index-D0DKQnEK.js → index-NrnnmC8w.js} +13 -13
  76. package/dist/chunks/{index-D0DKQnEK.js.map → index-NrnnmC8w.js.map} +1 -1
  77. package/dist/chunks/{index-BrJtqTzN.js → index-hPXhx9Mi.js} +5 -5
  78. package/dist/chunks/{index-BrJtqTzN.js.map → index-hPXhx9Mi.js.map} +1 -1
  79. package/dist/chunks/{index-BgFImxxe.js → index-k8xPaJWO.js} +12 -12
  80. package/dist/chunks/{index-BgFImxxe.js.map → index-k8xPaJWO.js.map} +1 -1
  81. package/dist/chunks/{index-D3Q0mQNf.js → index-mXLFPoCI.js} +18 -18
  82. package/dist/chunks/{index-D3Q0mQNf.js.map → index-mXLFPoCI.js.map} +1 -1
  83. package/dist/chunks/list-collection-Bla_aoE6.js +6 -0
  84. package/dist/chunks/list-collection-Bla_aoE6.js.map +1 -0
  85. package/dist/chunks/list-collection-DoQwQYv1.js +2 -0
  86. package/dist/chunks/list-collection-DoQwQYv1.js.map +1 -0
  87. package/dist/chunks/{menu.component-Cq9sPsTJ.js → menu.component-BEDMybmZ.js} +10 -10
  88. package/dist/chunks/{menu.component-Cq9sPsTJ.js.map → menu.component-BEDMybmZ.js.map} +1 -1
  89. package/dist/chunks/{modal.types-CVy-QT6f.js → modal.types-Bq9gdlSr.js} +4 -4
  90. package/dist/chunks/{modal.types-CVy-QT6f.js.map → modal.types-Bq9gdlSr.js.map} +1 -1
  91. package/dist/chunks/{notificationCounter.component-BlGSd37B.js → notificationCounter.component-6Q3q8jWj.js} +2 -2
  92. package/dist/chunks/{notificationCounter.component-BlGSd37B.js.map → notificationCounter.component-6Q3q8jWj.js.map} +1 -1
  93. package/dist/chunks/{numberInput.component-nT-7b9qv.js → numberInput.component-DFK4EYLV.js} +6 -6
  94. package/dist/chunks/{numberInput.component-nT-7b9qv.js.map → numberInput.component-DFK4EYLV.js.map} +1 -1
  95. package/dist/chunks/{pinInput.types-B0nfeSUS.js → pinInput.types-BmXYQb7O.js} +6 -6
  96. package/dist/chunks/{pinInput.types-B0nfeSUS.js.map → pinInput.types-BmXYQb7O.js.map} +1 -1
  97. package/dist/chunks/{popover-pd70xkY_.js → popover-Gb1fXSR7.js} +5 -5
  98. package/dist/chunks/{popover-pd70xkY_.js.map → popover-Gb1fXSR7.js.map} +1 -1
  99. package/dist/chunks/{popover-root-provider-DR0Iuda1.js → popover-root-provider-CFn2dthZ.js} +5 -5
  100. package/dist/chunks/{popover-root-provider-DR0Iuda1.js.map → popover-root-provider-CFn2dthZ.js.map} +1 -1
  101. package/dist/chunks/{popover.component-BsiKfJR7.js → popover.component-DIYT1Lc0.js} +8 -8
  102. package/dist/chunks/{popover.component-BsiKfJR7.js.map → popover.component-DIYT1Lc0.js.map} +1 -1
  103. package/dist/chunks/{popover.component-C0nG3J1J.js → popover.component-DTjA1GSd.js} +2 -2
  104. package/dist/chunks/{popover.component-C0nG3J1J.js.map → popover.component-DTjA1GSd.js.map} +1 -1
  105. package/dist/chunks/{popover.recipe-NDvOfG9X.js → popover.recipe-CtptsJg6.js} +2 -2
  106. package/dist/chunks/{popover.recipe-NDvOfG9X.js.map → popover.recipe-CtptsJg6.js.map} +1 -1
  107. package/dist/chunks/{popover.recipe-BAl0q_IZ.js → popover.recipe-DPwwsWLb.js} +2 -2
  108. package/dist/chunks/{popover.recipe-BAl0q_IZ.js.map → popover.recipe-DPwwsWLb.js.map} +1 -1
  109. package/dist/chunks/{progress-value-text-DZkUF2cO.js → progress-value-text-D1GjH6w4.js} +4 -4
  110. package/dist/chunks/{progress-value-text-DZkUF2cO.js.map → progress-value-text-D1GjH6w4.js.map} +1 -1
  111. package/dist/chunks/{radioGroup.types-B--54AgI.js → radioGroup.types-CVFQ5dZ7.js} +7 -7
  112. package/dist/chunks/{radioGroup.types-B--54AgI.js.map → radioGroup.types-CVFQ5dZ7.js.map} +1 -1
  113. package/dist/chunks/{rating-group-CfwdAW9a.js → rating-group-DRCWuE5-.js} +5 -5
  114. package/dist/chunks/{rating-group-CfwdAW9a.js.map → rating-group-DRCWuE5-.js.map} +1 -1
  115. package/dist/chunks/{rating.component-DHlwuL8y.js → rating.component-CQgpD-gS.js} +3 -3
  116. package/dist/chunks/{rating.component-DHlwuL8y.js.map → rating.component-CQgpD-gS.js.map} +1 -1
  117. package/dist/chunks/{ratingDots.component-C3ABFE0-.js → ratingDots.component-C1KgTGWj.js} +3 -3
  118. package/dist/chunks/{ratingDots.component-C3ABFE0-.js.map → ratingDots.component-C1KgTGWj.js.map} +1 -1
  119. package/dist/chunks/{render-strategy-munDZLwL.js → render-strategy-DLvzMQD1.js} +2 -2
  120. package/dist/chunks/{render-strategy-munDZLwL.js.map → render-strategy-DLvzMQD1.js.map} +1 -1
  121. package/dist/chunks/{select.component-D5EioB-E.js → select.component-BkDkYpf2.js} +254 -253
  122. package/dist/chunks/select.component-BkDkYpf2.js.map +1 -0
  123. package/dist/chunks/select.component-DoFwe4lJ.js +2 -0
  124. package/dist/chunks/select.component-DoFwe4lJ.js.map +1 -0
  125. package/dist/chunks/{sortableList.component-B2XQoMq7.js → sortableList.component-CbxbBLVQ.js} +3 -3
  126. package/dist/chunks/{sortableList.component-B2XQoMq7.js.map → sortableList.component-CbxbBLVQ.js.map} +1 -1
  127. package/dist/chunks/{spinner.component-D3s81AJH.js → spinner.component-CNHQ8UDz.js} +2 -2
  128. package/dist/chunks/{spinner.component-D3s81AJH.js.map → spinner.component-CNHQ8UDz.js.map} +1 -1
  129. package/dist/chunks/{styledAvatar.types-Dd3tKh-E.js → styledAvatar.types-BaOkOA8K.js} +2 -2
  130. package/dist/chunks/{styledAvatar.types-Dd3tKh-E.js.map → styledAvatar.types-BaOkOA8K.js.map} +1 -1
  131. package/dist/chunks/{switch.component-xlG0hUNX.js → switch.component-Cr8Abw0U.js} +6 -6
  132. package/dist/chunks/{switch.component-xlG0hUNX.js.map → switch.component-Cr8Abw0U.js.map} +1 -1
  133. package/dist/chunks/{tab.types-CO64KNxl.js → tab.types-BoHuF-QZ.js} +13 -13
  134. package/dist/chunks/{tab.types-CO64KNxl.js.map → tab.types-BoHuF-QZ.js.map} +1 -1
  135. package/dist/chunks/{tagBlock.component-BKYJDU4L.js → tagBlock.component-DjbevH0J.js} +5 -5
  136. package/dist/chunks/{tagBlock.component-BKYJDU4L.js.map → tagBlock.component-DjbevH0J.js.map} +1 -1
  137. package/dist/chunks/{text.component-IjomJyJY.js → text.component-DhuUgP3j.js} +2 -2
  138. package/dist/chunks/{text.component-IjomJyJY.js.map → text.component-DhuUgP3j.js.map} +1 -1
  139. package/dist/chunks/{textInput.component-BMy6cEdV.js → textInput.component-C7kdQ8hF.js} +6 -6
  140. package/dist/chunks/{textInput.component-BMy6cEdV.js.map → textInput.component-C7kdQ8hF.js.map} +1 -1
  141. package/dist/chunks/{textarea.component-ChN0RGoe.js → textarea.component-W9VBnd4-.js} +12 -12
  142. package/dist/chunks/{textarea.component-ChN0RGoe.js.map → textarea.component-W9VBnd4-.js.map} +1 -1
  143. package/dist/chunks/{theme.provider-CezsihF5.js → theme.provider-BWhqnOFC.js} +2 -2
  144. package/dist/chunks/{theme.provider-CezsihF5.js.map → theme.provider-BWhqnOFC.js.map} +1 -1
  145. package/dist/chunks/{theme.provider-wnaH4Plk.js → theme.provider-Cl9_chOv.js} +15 -15
  146. package/dist/chunks/{theme.provider-wnaH4Plk.js.map → theme.provider-Cl9_chOv.js.map} +1 -1
  147. package/dist/chunks/{timePicker.component-CSm0UnA5.js → timePicker.component-CDb67FCr.js} +3 -3
  148. package/dist/chunks/{timePicker.component-CSm0UnA5.js.map → timePicker.component-CDb67FCr.js.map} +1 -1
  149. package/dist/chunks/{timePicker.component-BbDzVLdb.js → timePicker.component-CIk5bEyP.js} +2 -2
  150. package/dist/chunks/{timePicker.component-BbDzVLdb.js.map → timePicker.component-CIk5bEyP.js.map} +1 -1
  151. package/dist/chunks/{timeRange.component-Cwn94GUk.js → timeRange.component-B1WKwc-X.js} +2 -2
  152. package/dist/chunks/{timeRange.component-Cwn94GUk.js.map → timeRange.component-B1WKwc-X.js.map} +1 -1
  153. package/dist/chunks/{timeRange.component-DyB1Jo1d.js → timeRange.component-NX1EOY8h.js} +2 -2
  154. package/dist/chunks/{timeRange.component-DyB1Jo1d.js.map → timeRange.component-NX1EOY8h.js.map} +1 -1
  155. package/dist/chunks/{timestamp.component-IfjfMFXl.js → timestamp.component-DkLjxUsy.js} +3 -3
  156. package/dist/chunks/{timestamp.component-IfjfMFXl.js.map → timestamp.component-DkLjxUsy.js.map} +1 -1
  157. package/dist/chunks/{toaster.records-Cb3hbtuY.js → toaster.records-BzZmnA3j.js} +69 -69
  158. package/dist/chunks/{toaster.records-Cb3hbtuY.js.map → toaster.records-BzZmnA3j.js.map} +1 -1
  159. package/dist/chunks/{tooltip.component-DFsQNG1q.js → tooltip.component-CHohp2qn.js} +5 -5
  160. package/dist/chunks/{tooltip.component-DFsQNG1q.js.map → tooltip.component-CHohp2qn.js.map} +1 -1
  161. package/dist/chunks/{use-field-context-DrC9mrDd.js → use-field-context-BoqOeObh.js} +2 -2
  162. package/dist/chunks/{use-field-context-DrC9mrDd.js.map → use-field-context-BoqOeObh.js.map} +1 -1
  163. package/dist/chunks/{use-locale-context-Bw4Gg9Z0.js → use-locale-context-DmcfCmf9.js} +11 -11
  164. package/dist/chunks/{use-locale-context-Bw4Gg9Z0.js.map → use-locale-context-DmcfCmf9.js.map} +1 -1
  165. package/dist/chunks/{withFormControl-lDkIqkED.js → withFormControl-08PrhcOk.js} +6 -6
  166. package/dist/chunks/{withFormControl-lDkIqkED.js.map → withFormControl-08PrhcOk.js.map} +1 -1
  167. package/dist/chunks/{withTruncation-CqDQUSVU.js → withTruncation-B2GhwmHG.js} +2 -2
  168. package/dist/chunks/{withTruncation-CqDQUSVU.js.map → withTruncation-B2GhwmHG.js.map} +1 -1
  169. package/dist/cjs/chakra/index.cjs +2 -2
  170. package/dist/cjs/chakra/index.cjs.map +1 -1
  171. package/dist/cjs/components/DatePicker/index.cjs +1 -1
  172. package/dist/cjs/components/DateTimePicker/index.cjs +1 -1
  173. package/dist/cjs/components/Popover/index.cjs +1 -1
  174. package/dist/cjs/components/Select/index.cjs +1 -1
  175. package/dist/cjs/components/TimePicker/index.cjs +1 -1
  176. package/dist/cjs/components/TimeRange/index.cjs +1 -1
  177. package/dist/cjs/components/index.cjs +1 -1
  178. package/dist/cjs/index.cjs +1 -1
  179. package/dist/cjs/theme/index.cjs +1 -1
  180. package/dist/esm/chakra/index.js +17 -15
  181. package/dist/esm/chakra/index.js.map +1 -1
  182. package/dist/esm/components/Alert/index.js +1 -1
  183. package/dist/esm/components/Avatar/index.js +1 -1
  184. package/dist/esm/components/AvatarGroup/index.js +1 -1
  185. package/dist/esm/components/ButtonGroup/index.js +1 -1
  186. package/dist/esm/components/Calendar/index.js +1 -1
  187. package/dist/esm/components/CharacterCounter/index.js +1 -1
  188. package/dist/esm/components/Checkbox/index.js +1 -1
  189. package/dist/esm/components/CheckboxGroup/index.js +1 -1
  190. package/dist/esm/components/ConversationCard/index.js +1 -1
  191. package/dist/esm/components/DatePicker/index.js +2 -2
  192. package/dist/esm/components/DateTimePicker/index.js +1 -1
  193. package/dist/esm/components/Heading/index.js +1 -1
  194. package/dist/esm/components/Menu/index.js +1 -1
  195. package/dist/esm/components/Modal/index.js +1 -1
  196. package/dist/esm/components/NotificationCounter/index.js +1 -1
  197. package/dist/esm/components/NumberInput/index.js +1 -1
  198. package/dist/esm/components/PinInput/index.js +1 -1
  199. package/dist/esm/components/Popover/index.js +1 -1
  200. package/dist/esm/components/Progress/index.js +3 -3
  201. package/dist/esm/components/RadioGroup/index.js +1 -1
  202. package/dist/esm/components/Rating/index.js +1 -1
  203. package/dist/esm/components/RatingDots/index.js +1 -1
  204. package/dist/esm/components/Select/index.js +1 -1
  205. package/dist/esm/components/SortableList/index.js +1 -1
  206. package/dist/esm/components/Spinner/index.js +1 -1
  207. package/dist/esm/components/StyledAvatar/index.js +1 -1
  208. package/dist/esm/components/Switch/index.js +1 -1
  209. package/dist/esm/components/Tabs/index.js +1 -1
  210. package/dist/esm/components/TagBlock/index.js +1 -1
  211. package/dist/esm/components/Text/index.js +1 -1
  212. package/dist/esm/components/TextInput/index.js +1 -1
  213. package/dist/esm/components/Textarea/index.js +1 -1
  214. package/dist/esm/components/TimePicker/index.js +1 -1
  215. package/dist/esm/components/TimeRange/index.js +1 -1
  216. package/dist/esm/components/Timestamp/index.js +1 -1
  217. package/dist/esm/components/Toast/index.js +1 -1
  218. package/dist/esm/components/Tooltip/index.js +1 -1
  219. package/dist/esm/components/index.js +36 -36
  220. package/dist/esm/index.js +37 -37
  221. package/dist/esm/theme/index.js +1 -1
  222. package/dist/types/chakra/index.d.ts +1 -0
  223. package/package.json +11 -1
  224. package/dist/chunks/index-BGd_2-DY.js +0 -1197
  225. package/dist/chunks/index-BGd_2-DY.js.map +0 -1
  226. package/dist/chunks/index-_913FPya.js +0 -2
  227. package/dist/chunks/index-_913FPya.js.map +0 -1
  228. package/dist/chunks/select.component-D-1YMPU9.js +0 -2
  229. package/dist/chunks/select.component-D-1YMPU9.js.map +0 -1
  230. package/dist/chunks/select.component-D5EioB-E.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-fHSGm2nC.js","sources":["../../node_modules/@zag-js/dom-query/dist/index.mjs","../../node_modules/@zag-js/utils/dist/index.mjs","../../node_modules/@zag-js/core/dist/index.mjs","../../node_modules/@zag-js/anatomy/dist/index.mjs"],"sourcesContent":["// 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 validElement = element.matches(\"a[href], button[type='submit'], input[type='submit']\");\n if (!validElement) return false;\n const isMiddleClick = event.button === 1;\n const isModKeyClick = isCtrlOrMetaKey(event);\n return isMiddleClick || isModKeyClick;\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 = () => {\n const win = getWindow(el);\n el.dispatchEvent(new win.MouseEvent(\"click\"));\n };\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/;\nvar nonOverflowValues = /* @__PURE__ */ new Set([\"inline\", \"contents\"]);\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) && !nonOverflowValues.has(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\nfunction waitForPromise(promise, controller, timeout) {\n const { signal } = controller;\n const wrappedPromise = new Promise((resolve, reject) => {\n const timeoutId = setTimeout(() => {\n reject(new Error(`Timeout of ${timeout}ms exceeded`));\n }, timeout);\n signal.addEventListener(\"abort\", () => {\n clearTimeout(timeoutId);\n reject(new Error(\"Promise aborted\"));\n });\n promise.then((result) => {\n if (!signal.aborted) {\n clearTimeout(timeoutId);\n resolve(result);\n }\n }).catch((error) => {\n if (!signal.aborted) {\n clearTimeout(timeoutId);\n reject(error);\n }\n });\n });\n const abort = () => controller.abort();\n return [wrappedPromise, abort];\n}\nfunction waitForElement(target, options) {\n const { timeout, rootNode } = options;\n const win = getWindow(rootNode);\n const doc = getDocument(rootNode);\n const controller = new win.AbortController();\n return waitForPromise(\n new Promise((resolve) => {\n const el = target();\n if (el) {\n resolve(el);\n return;\n }\n const observer = new win.MutationObserver(() => {\n const el2 = target();\n if (el2 && el2.isConnected) {\n observer.disconnect();\n resolve(el2);\n }\n });\n observer.observe(doc.body, {\n childList: true,\n subtree: true\n });\n }),\n controller,\n timeout\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, waitForPromise };\n","// src/array.ts\nfunction toArray(v) {\n if (v == null) 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 diff = (a, b) => {\n const set = new Set(b);\n return a.filter((t) => !set.has(t));\n};\nvar addOrRemove = (v, item) => has(v, item) ? remove(v, item) : add(v, item);\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}\nfunction chunk(v, size) {\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 }, []);\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}\nfunction partition(arr, fn) {\n return arr.reduce(\n ([pass, fail], value) => {\n if (fn(value)) pass.push(value);\n else fail.push(value);\n return [pass, fail];\n },\n [[], []]\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]\" || isFrameworkElement(v)) 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};\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 isFrameworkElement = (x) => isReactElement(x) || isVueElement(x);\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}\nfunction debounce(fn, wait = 0) {\n let timeout = null;\n return (...args) => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n timeout = setTimeout(() => {\n fn(...args);\n }, wait);\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 const min2 = vmin != null ? Number(vmin) : 0;\n const max2 = Number(vmax);\n const remainder = (v - min2) % step;\n let snapped = abs(remainder) * 2 >= step ? v + sign(remainder) * (step - abs(remainder)) : v - remainder;\n snapped = roundToStepPrecision(snapped, step);\n if (!isNaN(min2) && snapped < min2) {\n snapped = min2;\n } else if (!isNaN(max2) && snapped > max2) {\n const stepsInRange = floor((max2 - min2) / step);\n const largestValidStep = min2 + stepsInRange * step;\n snapped = stepsInRange <= 0 || largestValidStep < min2 ? max2 : largestValidStep;\n }\n return roundToStepPrecision(snapped, 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 (!isPlainObject(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));\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 const delta = now - start;\n if (delta >= interval) {\n start = interval > 0 ? now - delta % interval : now;\n callback({ startMs: start, deltaMs: delta });\n }\n handle = requestAnimationFrame(loop);\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 const delta = now - start;\n if (delta >= delay) {\n callback();\n return;\n }\n handle = requestAnimationFrame(loop);\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, debounce, decrementValue, diff, 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, partition, 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/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 omit: (...values) => createAnatomy(name, parts.filter((part) => !values.includes(part))),\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"],"names":["clamp","value","wrap","v","idx","_","index","pipe","fns","arg","acc","fn","noop","isObject","MAX_Z_INDEX","dataAttr","guard","ariaAttr","ELEMENT_NODE","DOCUMENT_NODE","DOCUMENT_FRAGMENT_NODE","isHTMLElement","el","isDocument","isWindow","getNodeName","node","isRootElement","isNode","isShadowRoot","isInputElement","isAnchorElement","isElementVisible","TEXTAREA_SELECT_REGEX","isEditableElement","contains","parent","child","rootNode","next","getDocument","getDocumentElement","getWindow","getActiveElement","activeElement","getParentNode","result","styleCache","getComputedStyle","getDataUrl","svg","opts","type","quality","background","win","doc","svgBounds","svgClone","source","svgString","str","dpr","canvas","image","context","resolve","isDom","getPlatform","getUserAgent","ua2","brand","version","pt","ua","vn","isTouchDevice","isIPhone","isIPad","isMac","isIos","isApple","isSafari","isFirefox","isAndroid","getBeforeInputValue","event","selectionStart","selectionEnd","getComposedPath","getEventTarget","isSelfTarget","isOpeningInNewTab","element","isMiddleClick","isModKeyClick","isCtrlOrMetaKey","isDownloadingEvent","localName","isComposingEvent","getNativeEvent","isPrintableKey","isVirtualClick","isLeftClick","isContextMenuEvent","isModifierKey","isTouchEvent","keyMap","rtlKeyMap","getEventKey","options","dir","orientation","key","pageKeys","arrowKeys","getEventStep","getEventPoint","point","addDomEvent","target","eventName","handler","getDescriptor","property","proto","getElementType","setElementValue","setElementChecked","checked","dispatchInputValueEvent","bubbles","dispatchInputCheckedEvent","getClosestForm","isFormElement","trackFormReset","callback","form","onReset","e","trackFieldsetDisabled","fieldset","obs","trackFormControl","onFieldsetDisabledChange","onFormReset","cleanups","cleanup","isFrame","hasTabIndex","hasNegativeTabIndex","focusableSelector","getFocusables","container","includeContainer","elements","isFocusable","focusableElements","frameBody","getTabbables","tabbableElements","isTabbable","i","allFrameTabbable","getTabbableEdges","first","last","getNextTabbable","current","tabbables","currentElement","getTabIndex","getInitialFocus","root","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","OVERFLOW_RE","nonOverflowValues","overflow","overflowX","overflowY","display","isScrollable","scrollIntoView","rootEl","scrollOptions","getRelativePoint","left","top","width","height","offset","percent","getPercentValue","inverted","invertX","invertY","requestPointerLock","body","supported","isLocked","onPointerChange","onPointerError","cleanup2","state","userSelect","elementMap","disableTextSelectionImpl","docNode","restoreTextSelection","prevUserSelect","disableTextSelection","restOptions","trackPointerMove","handlers","onPointerMove","onPointerUp","distance","moveBuffer","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","onKeyDown","elementToFocus","nextTabbableAfterTrigger","noTabbableElements","proxyTabFocus","trigger","queryAll","selector","query","defaultItemToId","itemById","itemToId","item","indexOfId","nextById","loop","prevById","trackElementRect","onEntry","measure","box","elems","entries","rects","sanitize","char","code","getValueText","match","valueText","query2","getByText","text","currentId","items","setStyle","style","prev","setStyleProperty","prop","getByTypeaheadImpl","baseItems","state2","activeId","timeout","search","update","getByTypeahead","isValidTypeaheadEvent","visuallyHiddenStyle","waitForPromise","promise","controller","signal","reject","timeoutId","error","waitForElement","observer","el2","toArray","fromLength","length","has","add","remove","t","addOrRemove","nextIndex","step","next2","len","last2","prevIndex","flatArray","arr","flat","isArrayLike","isArrayEqual","a","b","isEqual","keys","isArray","isObjectLike","isNumber","isString","isFunction","isNull","hasProp","obj","baseGetTag","fnToString","objectCtorString","isPlainObject","isFrameworkElement","Ctor","isReactElement","x","isVueElement","runIfFn","cast","identity","callAll","uuid","tryCatch","fallback","floor","abs","round","min","max","pow","sign","isNaN","nan","mod","m","vmax","getMinValueAtIndex","vmin","getMaxValueAtIndex","isValueAtMax","isValueAtMin","isValueWithinRange","roundValue","clampValue","getValuePercent","p","roundToStepPrecision","rv","ss","pi","pw","roundToDpr","snapValueToStep","min2","max2","remainder","snapped","stepsInRange","largestValidStep","setValueAtIndex","vs","getValueSetterAtIndex","ctx","minValueAtIndex","maxValueAtIndex","nextValues","nextValue","getNextStepValue","getPreviousStepValue","getClosestValueIndex","vLeft","vRight","getValueRanges","gap","getValueTransformer","va","vb","c","d","toFixedNumber","pow2","countDecimals","decimalOp","op","multiplier","incrementValue","s","decrementValue","toPx","compact","filtered","pick","setRafTimeout","delay","start","handle","now","warn","invariant","ensure","ensureProps","props","scope","missingKeys","clsx","args","CSS_REGEX","serialize","res","css","mergeProps","memo","getDeps","deps","depArgs","newDeps","dep","createGuards","guards","params","createMachine","config","setup","transitions","choose","MachineStatus","MachineStatus2","INIT_STATE","createScope","getRootNode","getDoc","getWin","getActiveElementFn","elem","createAnatomy","name","parts","values","isEmpty","part","newName","toKebabCase"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
1
+ {"version":3,"file":"index-BcafYtXX.js","sources":["../../node_modules/@zag-js/dom-query/dist/index.mjs","../../node_modules/@zag-js/utils/dist/index.mjs","../../node_modules/@zag-js/core/dist/index.mjs","../../node_modules/@zag-js/anatomy/dist/index.mjs"],"sourcesContent":["// 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 validElement = element.matches(\"a[href], button[type='submit'], input[type='submit']\");\n if (!validElement) return false;\n const isMiddleClick = event.button === 1;\n const isModKeyClick = isCtrlOrMetaKey(event);\n return isMiddleClick || isModKeyClick;\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 = () => {\n const win = getWindow(el);\n el.dispatchEvent(new win.MouseEvent(\"click\"));\n };\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/;\nvar nonOverflowValues = /* @__PURE__ */ new Set([\"inline\", \"contents\"]);\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) && !nonOverflowValues.has(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\nfunction waitForPromise(promise, controller, timeout) {\n const { signal } = controller;\n const wrappedPromise = new Promise((resolve, reject) => {\n const timeoutId = setTimeout(() => {\n reject(new Error(`Timeout of ${timeout}ms exceeded`));\n }, timeout);\n signal.addEventListener(\"abort\", () => {\n clearTimeout(timeoutId);\n reject(new Error(\"Promise aborted\"));\n });\n promise.then((result) => {\n if (!signal.aborted) {\n clearTimeout(timeoutId);\n resolve(result);\n }\n }).catch((error) => {\n if (!signal.aborted) {\n clearTimeout(timeoutId);\n reject(error);\n }\n });\n });\n const abort = () => controller.abort();\n return [wrappedPromise, abort];\n}\nfunction waitForElement(target, options) {\n const { timeout, rootNode } = options;\n const win = getWindow(rootNode);\n const doc = getDocument(rootNode);\n const controller = new win.AbortController();\n return waitForPromise(\n new Promise((resolve) => {\n const el = target();\n if (el) {\n resolve(el);\n return;\n }\n const observer = new win.MutationObserver(() => {\n const el2 = target();\n if (el2 && el2.isConnected) {\n observer.disconnect();\n resolve(el2);\n }\n });\n observer.observe(doc.body, {\n childList: true,\n subtree: true\n });\n }),\n controller,\n timeout\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, waitForPromise };\n","// src/array.ts\nfunction toArray(v) {\n if (v == null) 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 diff = (a, b) => {\n const set = new Set(b);\n return a.filter((t) => !set.has(t));\n};\nvar addOrRemove = (v, item) => has(v, item) ? remove(v, item) : add(v, item);\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}\nfunction chunk(v, size) {\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 }, []);\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}\nfunction partition(arr, fn) {\n return arr.reduce(\n ([pass, fail], value) => {\n if (fn(value)) pass.push(value);\n else fail.push(value);\n return [pass, fail];\n },\n [[], []]\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]\" || isFrameworkElement(v)) 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};\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 isFrameworkElement = (x) => isReactElement(x) || isVueElement(x);\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}\nfunction debounce(fn, wait = 0) {\n let timeout = null;\n return (...args) => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n timeout = setTimeout(() => {\n fn(...args);\n }, wait);\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 const min2 = vmin != null ? Number(vmin) : 0;\n const max2 = Number(vmax);\n const remainder = (v - min2) % step;\n let snapped = abs(remainder) * 2 >= step ? v + sign(remainder) * (step - abs(remainder)) : v - remainder;\n snapped = roundToStepPrecision(snapped, step);\n if (!isNaN(min2) && snapped < min2) {\n snapped = min2;\n } else if (!isNaN(max2) && snapped > max2) {\n const stepsInRange = floor((max2 - min2) / step);\n const largestValidStep = min2 + stepsInRange * step;\n snapped = stepsInRange <= 0 || largestValidStep < min2 ? max2 : largestValidStep;\n }\n return roundToStepPrecision(snapped, 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 (!isPlainObject(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));\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 const delta = now - start;\n if (delta >= interval) {\n start = interval > 0 ? now - delta % interval : now;\n callback({ startMs: start, deltaMs: delta });\n }\n handle = requestAnimationFrame(loop);\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 const delta = now - start;\n if (delta >= delay) {\n callback();\n return;\n }\n handle = requestAnimationFrame(loop);\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, debounce, decrementValue, diff, 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, partition, 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/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 omit: (...values) => createAnatomy(name, parts.filter((part) => !values.includes(part))),\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"],"names":["clamp","value","wrap","v","idx","_","index","pipe","fns","arg","acc","fn","noop","isObject","MAX_Z_INDEX","dataAttr","guard","ariaAttr","ELEMENT_NODE","DOCUMENT_NODE","DOCUMENT_FRAGMENT_NODE","isHTMLElement","el","isDocument","isWindow","getNodeName","node","isRootElement","isNode","isShadowRoot","isInputElement","isAnchorElement","isElementVisible","TEXTAREA_SELECT_REGEX","isEditableElement","contains","parent","child","rootNode","next","getDocument","getDocumentElement","getWindow","getActiveElement","activeElement","getParentNode","result","styleCache","getComputedStyle","getDataUrl","svg","opts","type","quality","background","win","doc","svgBounds","svgClone","source","svgString","str","dpr","canvas","image","context","resolve","isDom","getPlatform","getUserAgent","ua2","brand","version","pt","ua","vn","isTouchDevice","isIPhone","isIPad","isMac","isIos","isApple","isSafari","isFirefox","isAndroid","getBeforeInputValue","event","selectionStart","selectionEnd","getComposedPath","getEventTarget","isSelfTarget","isOpeningInNewTab","element","isMiddleClick","isModKeyClick","isCtrlOrMetaKey","isDownloadingEvent","localName","isComposingEvent","getNativeEvent","isPrintableKey","isVirtualClick","isLeftClick","isContextMenuEvent","isModifierKey","isTouchEvent","keyMap","rtlKeyMap","getEventKey","options","dir","orientation","key","pageKeys","arrowKeys","getEventStep","getEventPoint","point","addDomEvent","target","eventName","handler","getDescriptor","property","proto","getElementType","setElementValue","setElementChecked","checked","dispatchInputValueEvent","bubbles","dispatchInputCheckedEvent","getClosestForm","isFormElement","trackFormReset","callback","form","onReset","e","trackFieldsetDisabled","fieldset","obs","trackFormControl","onFieldsetDisabledChange","onFormReset","cleanups","cleanup","isFrame","hasTabIndex","hasNegativeTabIndex","focusableSelector","getFocusables","container","includeContainer","elements","isFocusable","focusableElements","frameBody","getTabbables","tabbableElements","isTabbable","i","allFrameTabbable","getTabbableEdges","first","last","getNextTabbable","current","tabbables","currentElement","getTabIndex","getInitialFocus","root","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","OVERFLOW_RE","nonOverflowValues","overflow","overflowX","overflowY","display","isScrollable","scrollIntoView","rootEl","scrollOptions","getRelativePoint","left","top","width","height","offset","percent","getPercentValue","inverted","invertX","invertY","requestPointerLock","body","supported","isLocked","onPointerChange","onPointerError","cleanup2","state","userSelect","elementMap","disableTextSelectionImpl","docNode","restoreTextSelection","prevUserSelect","disableTextSelection","restOptions","trackPointerMove","handlers","onPointerMove","onPointerUp","distance","moveBuffer","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","onKeyDown","elementToFocus","nextTabbableAfterTrigger","noTabbableElements","proxyTabFocus","trigger","queryAll","selector","query","defaultItemToId","itemById","itemToId","item","indexOfId","nextById","loop","prevById","trackElementRect","onEntry","measure","box","elems","entries","rects","sanitize","char","code","getValueText","match","valueText","query2","getByText","text","currentId","items","setStyle","style","prev","setStyleProperty","prop","getByTypeaheadImpl","baseItems","state2","activeId","timeout","search","update","getByTypeahead","isValidTypeaheadEvent","visuallyHiddenStyle","waitForPromise","promise","controller","signal","reject","timeoutId","error","waitForElement","observer","el2","toArray","fromLength","length","has","add","remove","t","addOrRemove","nextIndex","step","next2","len","last2","prevIndex","flatArray","arr","flat","isArrayLike","isArrayEqual","a","b","isEqual","keys","isArray","isObjectLike","isNumber","isString","isFunction","isNull","hasProp","obj","baseGetTag","fnToString","objectCtorString","isPlainObject","isFrameworkElement","Ctor","isReactElement","x","isVueElement","runIfFn","cast","identity","callAll","uuid","tryCatch","fallback","floor","abs","round","min","max","pow","sign","isNaN","nan","mod","m","vmax","getMinValueAtIndex","vmin","getMaxValueAtIndex","isValueAtMax","isValueAtMin","isValueWithinRange","roundValue","clampValue","getValuePercent","p","roundToStepPrecision","rv","ss","pi","pw","roundToDpr","snapValueToStep","min2","max2","remainder","snapped","stepsInRange","largestValidStep","setValueAtIndex","vs","getValueSetterAtIndex","ctx","minValueAtIndex","maxValueAtIndex","nextValues","nextValue","getNextStepValue","getPreviousStepValue","getClosestValueIndex","vLeft","vRight","getValueRanges","gap","getValueTransformer","va","vb","c","d","toFixedNumber","pow2","countDecimals","decimalOp","op","multiplier","incrementValue","s","decrementValue","toPx","compact","filtered","pick","setRafTimeout","delay","start","handle","now","warn","invariant","ensure","ensureProps","props","scope","missingKeys","clsx","args","CSS_REGEX","serialize","res","css","mergeProps","memo","getDeps","deps","depArgs","newDeps","dep","createGuards","guards","params","createMachine","config","setup","transitions","choose","MachineStatus","MachineStatus2","INIT_STATE","createScope","getRootNode","getDoc","getWin","getActiveElementFn","elem","createAnatomy","name","parts","values","isEmpty","part","newName","toKebabCase"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}