@worldcoin/mini-apps-ui-kit-react 1.0.0-canary.9 → 1.0.1

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 (795) hide show
  1. package/README.md +4 -35
  2. package/dist/_virtual/_commonjsHelpers.js +3 -3
  3. package/dist/_virtual/create-plugin.js +2 -2
  4. package/dist/_virtual/createPlugin.js +2 -2
  5. package/dist/_virtual/plugin.js +5 -5
  6. package/dist/components/AlertDialog/AlertDialog.d.ts +1 -1
  7. package/dist/components/AlertDialog/AlertDialog.js +79 -74
  8. package/dist/components/AlertDialog/index.d.ts +2 -1
  9. package/dist/components/AlertDialog/use-alert-dialog.js +9 -7
  10. package/dist/components/BottomBar/BottomBar.d.ts +4 -3
  11. package/dist/components/BottomBar/BottomBar.js +11 -8
  12. package/dist/components/BottomBar/index.d.ts +1 -1
  13. package/dist/components/BulletList/BulletList.d.ts +10 -5
  14. package/dist/components/BulletList/BulletList.js +28 -8
  15. package/dist/components/BulletList/index.d.ts +1 -1
  16. package/dist/components/Button/Button.d.ts +4 -3
  17. package/dist/components/Button/Button.js +40 -35
  18. package/dist/components/Button/index.d.ts +1 -1
  19. package/dist/components/Checkbox/Checkbox.d.ts +4 -3
  20. package/dist/components/Checkbox/Checkbox.js +22 -20
  21. package/dist/components/Checkbox/index.d.ts +1 -1
  22. package/dist/components/Chip/Chip.d.ts +5 -4
  23. package/dist/components/Chip/Chip.js +25 -23
  24. package/dist/components/Chip/index.d.ts +1 -1
  25. package/dist/components/CircularIcon/CircularIcon.d.ts +5 -3
  26. package/dist/components/CircularIcon/CircularIcon.js +14 -12
  27. package/dist/components/CircularIcon/index.d.ts +1 -1
  28. package/dist/components/CircularState/CircularState.d.ts +8 -0
  29. package/dist/components/CircularState/CircularState.js +41 -0
  30. package/dist/components/CircularState/index.d.ts +2 -0
  31. package/dist/components/ClearButton/Clear.d.ts +3 -2
  32. package/dist/components/ClearButton/Clear.js +7 -7
  33. package/dist/components/ClearButton/ClearButton.d.ts +2 -2
  34. package/dist/components/ClearButton/ClearButton.js +23 -17
  35. package/dist/components/ClearButton/index.d.ts +1 -1
  36. package/dist/components/ColorPicker/ColorPicker.d.ts +4 -3
  37. package/dist/components/ColorPicker/ColorPicker.js +37 -32
  38. package/dist/components/ColorPicker/index.d.ts +2 -1
  39. package/dist/components/CountryDrawer/CountryDrawer.d.ts +14 -2
  40. package/dist/components/CountryDrawer/CountryDrawer.js +59 -47
  41. package/dist/components/CountryDrawer/index.d.ts +1 -1
  42. package/dist/components/CountryDrawer/useCountryFiltering.js +7 -6
  43. package/dist/components/CountryDrawer/useCountryGrouping.js +18 -12
  44. package/dist/components/Drawer/Drawer.d.ts +1 -1
  45. package/dist/components/Drawer/Drawer.js +58 -55
  46. package/dist/components/Drawer/index.d.ts +2 -1
  47. package/dist/components/Drawer/use-drawer.js +9 -7
  48. package/dist/components/Flag/Flag.d.ts +4 -4
  49. package/dist/components/Flag/Flag.js +24 -10
  50. package/dist/components/Flag/constants.d.ts +23 -2
  51. package/dist/components/Flag/constants.js +235 -5
  52. package/dist/components/Flag/index.d.ts +1 -2
  53. package/dist/components/Flag/types.d.ts +2 -0
  54. package/dist/components/Flag/utils.d.ts +1 -1
  55. package/dist/components/Flag/utils.js +5 -3
  56. package/dist/components/Form/Form.d.ts +8 -7
  57. package/dist/components/Form/Form.js +29 -24
  58. package/dist/components/Icons/ArrowDown.js +6 -6
  59. package/dist/components/Icons/Clear.d.ts +8 -0
  60. package/dist/components/Icons/Clock.d.ts +2 -0
  61. package/dist/components/Icons/Clock.js +30 -0
  62. package/dist/components/Icons/Delete.d.ts +1 -0
  63. package/dist/components/Icons/Fail.js +77 -75
  64. package/dist/components/Icons/MagicWand.js +11 -11
  65. package/dist/components/Icons/Magnifier.js +8 -8
  66. package/dist/components/Icons/Success.js +77 -75
  67. package/dist/components/Icons/Tick.js +7 -7
  68. package/dist/components/Icons/Warning.d.ts +2 -0
  69. package/dist/components/Icons/Warning.js +26 -0
  70. package/dist/components/Icons/XMark.js +7 -7
  71. package/dist/components/Input/Input.d.ts +14 -43
  72. package/dist/components/Input/Input.js +182 -130
  73. package/dist/components/Input/index.d.ts +1 -1
  74. package/dist/components/ListItem/ListItem.d.ts +3 -2
  75. package/dist/components/ListItem/ListItem.js +30 -28
  76. package/dist/components/ListItem/index.d.ts +1 -1
  77. package/dist/components/LiveFeedback/LiveFeedback.d.ts +2 -1
  78. package/dist/components/LiveFeedback/LiveFeedback.js +44 -26
  79. package/dist/components/LiveFeedback/index.d.ts +1 -1
  80. package/dist/components/Marble/Marble.d.ts +2 -2
  81. package/dist/components/Marble/Marble.js +12 -13
  82. package/dist/components/Marble/index.d.ts +1 -1
  83. package/dist/components/NumberPad/Delete.js +7 -6
  84. package/dist/components/NumberPad/NumberPad.d.ts +3 -2
  85. package/dist/components/NumberPad/NumberPad.js +43 -38
  86. package/dist/components/NumberPad/index.d.ts +1 -1
  87. package/dist/components/OTPField/OTPField.d.ts +53 -2
  88. package/dist/components/OTPField/OTPField.js +65 -40
  89. package/dist/components/OTPField/index.d.ts +1 -1
  90. package/dist/components/PasswordField/PasswordField.d.ts +4 -3
  91. package/dist/components/PasswordField/index.d.ts +1 -1
  92. package/dist/components/PasteButton/PasteButton.d.ts +2 -2
  93. package/dist/components/PasteButton/PasteButton.js +27 -25
  94. package/dist/components/PasteButton/index.d.ts +1 -1
  95. package/dist/components/PhoneField/CountryListItem.js +34 -33
  96. package/dist/components/PhoneField/CountrySelectorButton.js +29 -27
  97. package/dist/components/PhoneField/GroupedCountryList.js +28 -24
  98. package/dist/components/PhoneField/PhoneField.d.ts +5 -9
  99. package/dist/components/PhoneField/PhoneField.js +79 -76
  100. package/dist/components/PhoneField/constants.d.ts +0 -3
  101. package/dist/components/PhoneField/constants.js +2 -24
  102. package/dist/components/PhoneField/index.d.ts +1 -1
  103. package/dist/components/PhoneField/utils.js +31 -20
  104. package/dist/components/Pill/Pill.d.ts +4 -3
  105. package/dist/components/Pill/Pill.js +27 -24
  106. package/dist/components/Pill/index.d.ts +1 -1
  107. package/dist/components/Progress/Progress.d.ts +6 -2
  108. package/dist/components/Progress/Progress.js +32 -29
  109. package/dist/components/Progress/index.d.ts +1 -1
  110. package/dist/components/RadioGroup/RadioGroup.d.ts +4 -3
  111. package/dist/components/RadioGroup/RadioGroup.js +31 -28
  112. package/dist/components/RadioGroup/RadioGroupItem.d.ts +4 -3
  113. package/dist/components/RadioGroup/RadioGroupItem.js +20 -19
  114. package/dist/components/RadioGroup/index.d.ts +2 -2
  115. package/dist/components/SearchField/SearchField.d.ts +4 -3
  116. package/dist/components/SearchField/SearchField.js +73 -67
  117. package/dist/components/SearchField/index.d.ts +1 -1
  118. package/dist/components/Select/Select.d.ts +5 -4
  119. package/dist/components/Select/Select.js +104 -63
  120. package/dist/components/Select/index.d.ts +1 -1
  121. package/dist/components/Spinner/Spinner.d.ts +6 -2
  122. package/dist/components/Spinner/Spinner.js +37 -34
  123. package/dist/components/Spinner/index.d.ts +1 -1
  124. package/dist/components/Switch/Switch.d.ts +4 -3
  125. package/dist/components/Switch/Switch.js +21 -19
  126. package/dist/components/Switch/index.d.ts +1 -1
  127. package/dist/components/Tabs/Tabs.js +42 -37
  128. package/dist/components/Tabs/index.d.ts +2 -2
  129. package/dist/components/TextArea/TextArea.d.ts +9 -4
  130. package/dist/components/TextArea/TextArea.js +70 -49
  131. package/dist/components/TextArea/index.d.ts +1 -1
  132. package/dist/components/Toast/Toast.js +47 -44
  133. package/dist/components/Toast/Toaster.d.ts +5 -1
  134. package/dist/components/Toast/Toaster.js +10 -9
  135. package/dist/components/Toast/index.d.ts +3 -3
  136. package/dist/components/Toast/use-toast.d.ts +2 -10
  137. package/dist/components/Toast/use-toast.js +99 -67
  138. package/dist/components/ToggleGroup/ToggleGroup.js +27 -18
  139. package/dist/components/ToggleGroup/index.d.ts +1 -0
  140. package/dist/components/Token/Token.d.ts +3 -2
  141. package/dist/components/Token/Token.js +11 -11
  142. package/dist/components/Token/icons/btc.js +8 -8
  143. package/dist/components/Token/icons/dai.js +8 -8
  144. package/dist/components/Token/icons/doge.d.ts +3 -0
  145. package/dist/components/Token/icons/doge.js +29 -0
  146. package/dist/components/Token/icons/eth.js +8 -8
  147. package/dist/components/Token/icons/index.d.ts +5 -0
  148. package/dist/components/Token/icons/index.js +22 -12
  149. package/dist/components/Token/icons/link.d.ts +3 -0
  150. package/dist/components/Token/icons/link.js +27 -0
  151. package/dist/components/Token/icons/sol.d.ts +3 -0
  152. package/dist/components/Token/icons/sol.js +93 -0
  153. package/dist/components/Token/icons/sui.d.ts +3 -0
  154. package/dist/components/Token/icons/sui.js +29 -0
  155. package/dist/components/Token/icons/usdc.js +10 -10
  156. package/dist/components/Token/icons/usdt.js +8 -8
  157. package/dist/components/Token/icons/utils.js +10 -9
  158. package/dist/components/Token/icons/wld.js +8 -8
  159. package/dist/components/Token/icons/xrp.d.ts +3 -0
  160. package/dist/components/Token/icons/xrp.js +34 -0
  161. package/dist/components/Token/index.d.ts +1 -1
  162. package/dist/components/TopBar/TopBar.d.ts +8 -2
  163. package/dist/components/TopBar/TopBar.js +34 -20
  164. package/dist/components/TopBar/index.d.ts +1 -1
  165. package/dist/components/Typography/Typography.d.ts +4 -3
  166. package/dist/components/Typography/Typography.js +27 -25
  167. package/dist/components/Typography/index.d.ts +1 -1
  168. package/dist/components/WalletAddressField/WalletAddressField.d.ts +4 -3
  169. package/dist/components/WalletAddressField/WalletAddressField.js +75 -65
  170. package/dist/components/WalletAddressField/index.d.ts +1 -1
  171. package/dist/globals.css +3 -0
  172. package/dist/index.d.ts +36 -36
  173. package/dist/index.js +95 -104
  174. package/dist/lib/constants/dropdownStyles.js +2 -2
  175. package/dist/lib/haptics.d.ts +28 -0
  176. package/dist/lib/haptics.js +45 -0
  177. package/dist/lib/utils.js +11 -9
  178. package/dist/node_modules/.pnpm/@floating-ui_core@1.6.8/node_modules/@floating-ui/core/dist/floating-ui.core.js +558 -368
  179. package/dist/node_modules/.pnpm/@floating-ui_dom@1.6.12/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +515 -304
  180. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +258 -171
  181. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.8/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +137 -102
  182. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.8/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +110 -86
  183. package/dist/node_modules/.pnpm/@radix-ui_number@1.1.0/node_modules/@radix-ui/number/dist/index.js +3 -3
  184. package/dist/node_modules/.pnpm/@radix-ui_primitive@1.1.1/node_modules/@radix-ui/primitive/dist/index.js +7 -5
  185. package/dist/node_modules/.pnpm/@radix-ui_react-arrow@1.1.1_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18.3.1_wfj52omijboqejc6zhpwkjvyjq/node_modules/@radix-ui/react-arrow/dist/index.js +17 -16
  186. package/dist/node_modules/.pnpm/@radix-ui_react-checkbox@1.1.3_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18._5vtvszwgvdmnkk62ia2dob365m/node_modules/@radix-ui/react-checkbox/dist/index.js +122 -96
  187. package/dist/node_modules/.pnpm/@radix-ui_react-collection@1.1.1_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@1_du3umibpgknzrmwryvhzp3lgou/node_modules/@radix-ui/react-collection/dist/index.js +55 -35
  188. package/dist/node_modules/.pnpm/@radix-ui_react-collection@1.1.2_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@1_tagbd57u5fsqga6qdjecsll7fm/node_modules/@radix-ui/react-collection/dist/index.js +55 -35
  189. package/dist/node_modules/.pnpm/@radix-ui_react-compose-refs@1.1.1_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-compose-refs/dist/index.js +29 -19
  190. package/dist/node_modules/.pnpm/@radix-ui_react-compose-refs@1.1.2_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-compose-refs/dist/index.js +35 -0
  191. package/dist/node_modules/.pnpm/@radix-ui_react-context@1.1.1_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-context/dist/index.js +64 -53
  192. package/dist/node_modules/.pnpm/@radix-ui_react-dialog@1.1.4_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18.3._vurlugjqrhlu53o6edaj3yx2bq/node_modules/@radix-ui/react-dialog/dist/index.js +274 -195
  193. package/dist/node_modules/.pnpm/@radix-ui_react-direction@1.1.0_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-direction/dist/index.js +6 -6
  194. package/dist/node_modules/.pnpm/@radix-ui_react-dismissable-layer@1.1.3_@types_react-dom@18.3.5_@types_react@18.3.18__@types__ejthwt4vwbnzwtfufv7q3bddiy/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +182 -97
  195. package/dist/node_modules/.pnpm/@radix-ui_react-dismissable-layer@1.1.5_@types_react-dom@18.3.5_@types_react@18.3.18__@types__nitdfoqpcbroetgllwgz3is5ai/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +186 -100
  196. package/dist/node_modules/.pnpm/@radix-ui_react-focus-guards@1.1.1_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-focus-guards/dist/index.js +23 -11
  197. package/dist/node_modules/.pnpm/@radix-ui_react-focus-scope@1.1.1_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@_4owg5o3kd7femmpae5yic5inii/node_modules/@radix-ui/react-focus-scope/dist/index.js +170 -99
  198. package/dist/node_modules/.pnpm/@radix-ui_react-form@0.1.1_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18.3.18_z32yjmfa36dn2egycaeb5u52lm/node_modules/@radix-ui/react-form/dist/index.js +365 -234
  199. package/dist/node_modules/.pnpm/@radix-ui_react-id@1.1.0_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-id/dist/index.js +11 -10
  200. package/dist/node_modules/.pnpm/@radix-ui_react-label@2.1.1_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18.3.1_qr7n7ocfbwauilv6obluyms2qy/node_modules/@radix-ui/react-label/dist/index.js +21 -15
  201. package/dist/node_modules/.pnpm/@radix-ui_react-popper@1.2.1_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18.3._z2gu7tymhfvx6ebd6lqqykecmq/node_modules/@radix-ui/react-popper/dist/index.js +206 -138
  202. package/dist/node_modules/.pnpm/@radix-ui_react-portal@1.1.3_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18.3._jmui37rk6fvzofztyauznikgpi/node_modules/@radix-ui/react-portal/dist/index.js +15 -13
  203. package/dist/node_modules/.pnpm/@radix-ui_react-portal@1.1.4_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18.3._ulc3jfxcmrz2rfz7bui53djdtu/node_modules/@radix-ui/react-portal/dist/index.js +15 -13
  204. package/dist/node_modules/.pnpm/@radix-ui_react-presence@1.1.2_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18._pqwkltkxenlrsgmgun6icjiigu/node_modules/@radix-ui/react-presence/dist/index.js +104 -46
  205. package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.0.1_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18_sspjpiczol7qxzbuuyfihuep4u/node_modules/@radix-ui/react-primitive/dist/index.js +20 -14
  206. package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.0.2_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18_sejcxqoscaweil2bvgwwavaoha/node_modules/@radix-ui/react-primitive/dist/index.js +20 -14
  207. package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.0.3_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18_ecf5vqfgocrxupsewlhf3pl374/node_modules/@radix-ui/react-primitive/dist/index.js +38 -0
  208. package/dist/node_modules/.pnpm/@radix-ui_react-progress@1.1.2_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18._wpsg2ubedou6txnsnvgmus4txq/node_modules/@radix-ui/react-progress/dist/index.js +71 -59
  209. package/dist/node_modules/.pnpm/@radix-ui_react-radio-group@1.2.2_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@_2u6lfd2xt65wmbxn7lgvaxqbmy/node_modules/@radix-ui/react-radio-group/dist/index.js +211 -161
  210. package/dist/node_modules/.pnpm/@radix-ui_react-roving-focus@1.1.1_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react_bkbd3syfptkiebtjifbhjosaba/node_modules/@radix-ui/react-roving-focus/dist/index.js +176 -132
  211. package/dist/node_modules/.pnpm/@radix-ui_react-roving-focus@1.1.2_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react_ki7uy4u3diz5446cqygvbjwuge/node_modules/@radix-ui/react-roving-focus/dist/index.js +176 -132
  212. package/dist/node_modules/.pnpm/@radix-ui_react-select@2.1.4_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18.3._atdh45n5c7sked5b6tbwgdz7re/node_modules/@radix-ui/react-select/dist/index.js +938 -607
  213. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.1.1_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-slot/dist/index.js +70 -36
  214. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.1.2_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-slot/dist/index.js +72 -34
  215. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.0_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-slot/dist/index.js +88 -0
  216. package/dist/node_modules/.pnpm/@radix-ui_react-switch@1.1.2_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18.3._udl6ccyllphugejc6sszfrese4/node_modules/@radix-ui/react-switch/dist/index.js +104 -81
  217. package/dist/node_modules/.pnpm/@radix-ui_react-toast@1.2.6_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18.3.1_mux33mveszkw5z6iia6acnivvy/node_modules/@radix-ui/react-toast/dist/index.js +517 -323
  218. package/dist/node_modules/.pnpm/@radix-ui_react-toggle-group@1.1.2_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react_3smwloudr6a3igss4kifyxcwju/node_modules/@radix-ui/react-toggle-group/dist/index.js +139 -105
  219. package/dist/node_modules/.pnpm/@radix-ui_react-toggle@1.1.2_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18.3._yiv2ptaqcv244n5f7zfldmgupm/node_modules/@radix-ui/react-toggle/dist/index.js +25 -21
  220. package/dist/node_modules/.pnpm/@radix-ui_react-use-callback-ref@1.1.0_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +10 -9
  221. package/dist/node_modules/.pnpm/@radix-ui_react-use-controllable-state@1.1.0_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +36 -23
  222. package/dist/node_modules/.pnpm/@radix-ui_react-use-escape-keydown@1.1.0_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +13 -10
  223. package/dist/node_modules/.pnpm/@radix-ui_react-use-layout-effect@1.1.0_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +3 -3
  224. package/dist/node_modules/.pnpm/@radix-ui_react-use-previous@1.1.0_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-previous/dist/index.js +11 -5
  225. package/dist/node_modules/.pnpm/@radix-ui_react-use-size@1.1.0_@types_react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-size/dist/index.js +34 -22
  226. package/dist/node_modules/.pnpm/@radix-ui_react-visually-hidden@1.1.1_@types_react-dom@18.3.5_@types_react@18.3.18__@types_re_m7thze522i3jfpb2tnge6dybgi/node_modules/@radix-ui/react-visually-hidden/dist/index.js +29 -26
  227. package/dist/node_modules/.pnpm/@radix-ui_react-visually-hidden@1.1.2_@types_react-dom@18.3.5_@types_react@18.3.18__@types_re_omyrydx3gc2oidaiqb4gsovieq/node_modules/@radix-ui/react-visually-hidden/dist/index.js +29 -26
  228. package/dist/node_modules/.pnpm/@radix-ui_react-visually-hidden@1.1.3_@types_react-dom@18.3.5_@types_react@18.3.18__@types_re_cidkwodbmpmiwtvvmizcw56fem/node_modules/@radix-ui/react-visually-hidden/dist/index.js +33 -0
  229. package/dist/node_modules/.pnpm/@uidotdev_usehooks@2.4.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@uidotdev/usehooks/index.js +53 -26
  230. package/dist/node_modules/.pnpm/aria-hidden@1.2.4/node_modules/aria-hidden/dist/es2015/index.js +111 -41
  231. package/dist/node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js +40 -30
  232. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js +13 -13
  233. package/dist/node_modules/.pnpm/get-nonce@1.0.1/node_modules/get-nonce/dist/es2015/index.js +5 -3
  234. package/dist/node_modules/.pnpm/input-otp@1.4.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/input-otp/dist/index.js +152 -145
  235. package/dist/node_modules/.pnpm/react-international-phone@4.4.0_react@18.3.1/node_modules/react-international-phone/dist/index.js +291 -271
  236. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@18.3.18_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/component.js +41 -65
  237. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@18.3.18_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +8 -5
  238. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@18.3.18_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +28 -16
  239. package/dist/node_modules/.pnpm/react-remove-scroll@2.6.2_@types_react@18.3.18_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/Combination.js +8 -8
  240. package/dist/node_modules/.pnpm/react-remove-scroll@2.6.2_@types_react@18.3.18_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +157 -95
  241. package/dist/node_modules/.pnpm/react-remove-scroll@2.6.2_@types_react@18.3.18_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/UI.js +31 -24
  242. package/dist/node_modules/.pnpm/react-remove-scroll@2.6.2_@types_react@18.3.18_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +12 -9
  243. package/dist/node_modules/.pnpm/react-remove-scroll@2.6.2_@types_react@18.3.18_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +86 -48
  244. package/dist/node_modules/.pnpm/react-remove-scroll@2.6.2_@types_react@18.3.18_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/medium.js +3 -3
  245. package/dist/node_modules/.pnpm/react-remove-scroll@2.6.2_@types_react@18.3.18_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/sidecar.js +5 -5
  246. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@18.3.18_react@18.3.1/node_modules/react-style-singleton/dist/es2015/component.js +9 -7
  247. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@18.3.18_react@18.3.1/node_modules/react-style-singleton/dist/es2015/hook.js +11 -10
  248. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@18.3.18_react@18.3.1/node_modules/react-style-singleton/dist/es2015/singleton.js +35 -17
  249. package/dist/node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/dist/bundle-mjs.js +625 -424
  250. package/dist/node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/lib/public/create-plugin.js +21 -17
  251. package/dist/node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/lib/util/createPlugin.js +28 -21
  252. package/dist/node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/plugin.js +10 -8
  253. package/dist/node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.js +33 -21
  254. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@18.3.18_react@18.3.1/node_modules/use-callback-ref/dist/es2015/assignRef.js +8 -3
  255. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@18.3.18_react@18.3.1/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +28 -19
  256. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@18.3.18_react@18.3.1/node_modules/use-callback-ref/dist/es2015/useRef.js +15 -11
  257. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@18.3.18_react@18.3.1/node_modules/use-sidecar/dist/es2015/exports.js +15 -12
  258. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@18.3.18_react@18.3.1/node_modules/use-sidecar/dist/es2015/medium.js +64 -43
  259. package/dist/node_modules/.pnpm/vaul@1.1.2_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18.3.18_react-dom@18.3._7iqkcrcg5qjc3n2ixm6rnrnx3e/node_modules/vaul/dist/index.js +1205 -764
  260. package/dist/tailwind/index.d.ts +36 -0
  261. package/dist/{tailwind/index.js → tailwind.js} +119 -20
  262. package/package.json +89 -85
  263. package/dist/_virtual/dynamic-import-helper.js +0 -16
  264. package/dist/components/AlertDialog/index.js +0 -12
  265. package/dist/components/AlertDialog/types.js +0 -1
  266. package/dist/components/BottomBar/index.js +0 -4
  267. package/dist/components/BulletList/index.js +0 -4
  268. package/dist/components/BulletListItem/BulletListItem.d.ts +0 -7
  269. package/dist/components/BulletListItem/BulletListItem.js +0 -23
  270. package/dist/components/BulletListItem/index.d.ts +0 -1
  271. package/dist/components/BulletListItem/index.js +0 -4
  272. package/dist/components/BulletPoint/BulletPoint.d.ts +0 -6
  273. package/dist/components/BulletPoint/BulletPoint.js +0 -22
  274. package/dist/components/BulletPoint/index.d.ts +0 -1
  275. package/dist/components/BulletPoint/index.js +0 -1
  276. package/dist/components/Button/index.js +0 -4
  277. package/dist/components/Checkbox/index.js +0 -4
  278. package/dist/components/Chip/index.js +0 -4
  279. package/dist/components/CircularIcon/index.js +0 -4
  280. package/dist/components/ClearButton/index.js +0 -4
  281. package/dist/components/ColorPicker/index.js +0 -5
  282. package/dist/components/CountryDrawer/index.js +0 -4
  283. package/dist/components/Drawer/index.js +0 -9
  284. package/dist/components/Drawer/types.js +0 -1
  285. package/dist/components/Flag/LazyFlag.d.ts +0 -13
  286. package/dist/components/Flag/LazyFlag.js +0 -25
  287. package/dist/components/Flag/flag-components/ad.d.ts +0 -3
  288. package/dist/components/Flag/flag-components/ad.js +0 -56
  289. package/dist/components/Flag/flag-components/ae.d.ts +0 -3
  290. package/dist/components/Flag/flag-components/ae.js +0 -48
  291. package/dist/components/Flag/flag-components/af.d.ts +0 -3
  292. package/dist/components/Flag/flag-components/af.js +0 -55
  293. package/dist/components/Flag/flag-components/ag.d.ts +0 -3
  294. package/dist/components/Flag/flag-components/ag.js +0 -62
  295. package/dist/components/Flag/flag-components/ai.d.ts +0 -3
  296. package/dist/components/Flag/flag-components/ai.js +0 -90
  297. package/dist/components/Flag/flag-components/al.d.ts +0 -3
  298. package/dist/components/Flag/flag-components/al.js +0 -34
  299. package/dist/components/Flag/flag-components/am.d.ts +0 -3
  300. package/dist/components/Flag/flag-components/am.js +0 -41
  301. package/dist/components/Flag/flag-components/ao.d.ts +0 -3
  302. package/dist/components/Flag/flag-components/ao.js +0 -55
  303. package/dist/components/Flag/flag-components/ar.d.ts +0 -3
  304. package/dist/components/Flag/flag-components/ar.js +0 -48
  305. package/dist/components/Flag/flag-components/as.d.ts +0 -3
  306. package/dist/components/Flag/flag-components/as.js +0 -62
  307. package/dist/components/Flag/flag-components/at.d.ts +0 -3
  308. package/dist/components/Flag/flag-components/at.js +0 -41
  309. package/dist/components/Flag/flag-components/au.d.ts +0 -3
  310. package/dist/components/Flag/flag-components/au.js +0 -98
  311. package/dist/components/Flag/flag-components/aw.d.ts +0 -3
  312. package/dist/components/Flag/flag-components/aw.js +0 -62
  313. package/dist/components/Flag/flag-components/ax.d.ts +0 -3
  314. package/dist/components/Flag/flag-components/ax.js +0 -62
  315. package/dist/components/Flag/flag-components/az.d.ts +0 -3
  316. package/dist/components/Flag/flag-components/az.js +0 -55
  317. package/dist/components/Flag/flag-components/ba.d.ts +0 -3
  318. package/dist/components/Flag/flag-components/ba.js +0 -48
  319. package/dist/components/Flag/flag-components/bb.d.ts +0 -3
  320. package/dist/components/Flag/flag-components/bb.js +0 -48
  321. package/dist/components/Flag/flag-components/bd.d.ts +0 -3
  322. package/dist/components/Flag/flag-components/bd.js +0 -34
  323. package/dist/components/Flag/flag-components/be.d.ts +0 -3
  324. package/dist/components/Flag/flag-components/be.js +0 -41
  325. package/dist/components/Flag/flag-components/bf.d.ts +0 -3
  326. package/dist/components/Flag/flag-components/bf.js +0 -49
  327. package/dist/components/Flag/flag-components/bg.d.ts +0 -3
  328. package/dist/components/Flag/flag-components/bg.js +0 -41
  329. package/dist/components/Flag/flag-components/bh.d.ts +0 -3
  330. package/dist/components/Flag/flag-components/bh.js +0 -34
  331. package/dist/components/Flag/flag-components/bi.d.ts +0 -3
  332. package/dist/components/Flag/flag-components/bi.js +0 -83
  333. package/dist/components/Flag/flag-components/bj.d.ts +0 -3
  334. package/dist/components/Flag/flag-components/bj.js +0 -41
  335. package/dist/components/Flag/flag-components/bl.d.ts +0 -3
  336. package/dist/components/Flag/flag-components/bl.js +0 -71
  337. package/dist/components/Flag/flag-components/bm.d.ts +0 -3
  338. package/dist/components/Flag/flag-components/bm.js +0 -85
  339. package/dist/components/Flag/flag-components/bn.d.ts +0 -3
  340. package/dist/components/Flag/flag-components/bn.js +0 -66
  341. package/dist/components/Flag/flag-components/bo.d.ts +0 -3
  342. package/dist/components/Flag/flag-components/bo.js +0 -41
  343. package/dist/components/Flag/flag-components/bq.d.ts +0 -3
  344. package/dist/components/Flag/flag-components/bq.js +0 -55
  345. package/dist/components/Flag/flag-components/br.d.ts +0 -3
  346. package/dist/components/Flag/flag-components/br.js +0 -55
  347. package/dist/components/Flag/flag-components/bs.d.ts +0 -3
  348. package/dist/components/Flag/flag-components/bs.js +0 -48
  349. package/dist/components/Flag/flag-components/bt.d.ts +0 -3
  350. package/dist/components/Flag/flag-components/bt.js +0 -48
  351. package/dist/components/Flag/flag-components/bw.d.ts +0 -3
  352. package/dist/components/Flag/flag-components/bw.js +0 -48
  353. package/dist/components/Flag/flag-components/by.d.ts +0 -3
  354. package/dist/components/Flag/flag-components/by.js +0 -83
  355. package/dist/components/Flag/flag-components/bz.d.ts +0 -3
  356. package/dist/components/Flag/flag-components/bz.js +0 -70
  357. package/dist/components/Flag/flag-components/ca.d.ts +0 -3
  358. package/dist/components/Flag/flag-components/ca.js +0 -48
  359. package/dist/components/Flag/flag-components/cc.d.ts +0 -3
  360. package/dist/components/Flag/flag-components/cc.js +0 -90
  361. package/dist/components/Flag/flag-components/cd.d.ts +0 -3
  362. package/dist/components/Flag/flag-components/cd.js +0 -55
  363. package/dist/components/Flag/flag-components/cf.d.ts +0 -3
  364. package/dist/components/Flag/flag-components/cf.js +0 -85
  365. package/dist/components/Flag/flag-components/cg.d.ts +0 -3
  366. package/dist/components/Flag/flag-components/cg.js +0 -41
  367. package/dist/components/Flag/flag-components/ch.d.ts +0 -3
  368. package/dist/components/Flag/flag-components/ch.js +0 -34
  369. package/dist/components/Flag/flag-components/ci.d.ts +0 -3
  370. package/dist/components/Flag/flag-components/ci.js +0 -41
  371. package/dist/components/Flag/flag-components/ck.d.ts +0 -3
  372. package/dist/components/Flag/flag-components/ck.js +0 -111
  373. package/dist/components/Flag/flag-components/cl.d.ts +0 -3
  374. package/dist/components/Flag/flag-components/cl.js +0 -48
  375. package/dist/components/Flag/flag-components/cm.d.ts +0 -3
  376. package/dist/components/Flag/flag-components/cm.js +0 -48
  377. package/dist/components/Flag/flag-components/cn.d.ts +0 -3
  378. package/dist/components/Flag/flag-components/cn.js +0 -62
  379. package/dist/components/Flag/flag-components/co.d.ts +0 -3
  380. package/dist/components/Flag/flag-components/co.js +0 -41
  381. package/dist/components/Flag/flag-components/cr.d.ts +0 -3
  382. package/dist/components/Flag/flag-components/cr.js +0 -48
  383. package/dist/components/Flag/flag-components/cu.d.ts +0 -3
  384. package/dist/components/Flag/flag-components/cu.js +0 -63
  385. package/dist/components/Flag/flag-components/cv.d.ts +0 -3
  386. package/dist/components/Flag/flag-components/cv.js +0 -118
  387. package/dist/components/Flag/flag-components/cw.d.ts +0 -3
  388. package/dist/components/Flag/flag-components/cw.js +0 -55
  389. package/dist/components/Flag/flag-components/cy.d.ts +0 -3
  390. package/dist/components/Flag/flag-components/cy.js +0 -41
  391. package/dist/components/Flag/flag-components/cz.d.ts +0 -3
  392. package/dist/components/Flag/flag-components/cz.js +0 -41
  393. package/dist/components/Flag/flag-components/de.d.ts +0 -3
  394. package/dist/components/Flag/flag-components/de.js +0 -41
  395. package/dist/components/Flag/flag-components/dj.d.ts +0 -3
  396. package/dist/components/Flag/flag-components/dj.js +0 -48
  397. package/dist/components/Flag/flag-components/dk.d.ts +0 -3
  398. package/dist/components/Flag/flag-components/dk.js +0 -55
  399. package/dist/components/Flag/flag-components/dm.d.ts +0 -3
  400. package/dist/components/Flag/flag-components/dm.js +0 -195
  401. package/dist/components/Flag/flag-components/do.d.ts +0 -3
  402. package/dist/components/Flag/flag-components/do.js +0 -76
  403. package/dist/components/Flag/flag-components/dz.d.ts +0 -3
  404. package/dist/components/Flag/flag-components/dz.js +0 -48
  405. package/dist/components/Flag/flag-components/ec.d.ts +0 -3
  406. package/dist/components/Flag/flag-components/ec.js +0 -62
  407. package/dist/components/Flag/flag-components/ee.d.ts +0 -3
  408. package/dist/components/Flag/flag-components/ee.js +0 -41
  409. package/dist/components/Flag/flag-components/eg.d.ts +0 -3
  410. package/dist/components/Flag/flag-components/eg.js +0 -48
  411. package/dist/components/Flag/flag-components/er.d.ts +0 -3
  412. package/dist/components/Flag/flag-components/er.js +0 -48
  413. package/dist/components/Flag/flag-components/es.d.ts +0 -3
  414. package/dist/components/Flag/flag-components/es.js +0 -41
  415. package/dist/components/Flag/flag-components/et.d.ts +0 -3
  416. package/dist/components/Flag/flag-components/et.js +0 -62
  417. package/dist/components/Flag/flag-components/eu.d.ts +0 -3
  418. package/dist/components/Flag/flag-components/eu.js +0 -83
  419. package/dist/components/Flag/flag-components/fi.d.ts +0 -3
  420. package/dist/components/Flag/flag-components/fi.js +0 -34
  421. package/dist/components/Flag/flag-components/fj.d.ts +0 -3
  422. package/dist/components/Flag/flag-components/fj.js +0 -77
  423. package/dist/components/Flag/flag-components/fk.d.ts +0 -3
  424. package/dist/components/Flag/flag-components/fk.js +0 -83
  425. package/dist/components/Flag/flag-components/fm.d.ts +0 -3
  426. package/dist/components/Flag/flag-components/fm.js +0 -55
  427. package/dist/components/Flag/flag-components/fo.d.ts +0 -3
  428. package/dist/components/Flag/flag-components/fo.js +0 -41
  429. package/dist/components/Flag/flag-components/fr.d.ts +0 -3
  430. package/dist/components/Flag/flag-components/fr.js +0 -41
  431. package/dist/components/Flag/flag-components/ga.d.ts +0 -3
  432. package/dist/components/Flag/flag-components/ga.js +0 -41
  433. package/dist/components/Flag/flag-components/gb.d.ts +0 -3
  434. package/dist/components/Flag/flag-components/gb.js +0 -118
  435. package/dist/components/Flag/flag-components/gd.d.ts +0 -3
  436. package/dist/components/Flag/flag-components/gd.js +0 -140
  437. package/dist/components/Flag/flag-components/ge.d.ts +0 -3
  438. package/dist/components/Flag/flag-components/ge.js +0 -62
  439. package/dist/components/Flag/flag-components/gg.d.ts +0 -3
  440. package/dist/components/Flag/flag-components/gg.js +0 -41
  441. package/dist/components/Flag/flag-components/gh.d.ts +0 -3
  442. package/dist/components/Flag/flag-components/gh.js +0 -48
  443. package/dist/components/Flag/flag-components/gi.d.ts +0 -3
  444. package/dist/components/Flag/flag-components/gi.js +0 -48
  445. package/dist/components/Flag/flag-components/gl.d.ts +0 -3
  446. package/dist/components/Flag/flag-components/gl.js +0 -48
  447. package/dist/components/Flag/flag-components/gm.d.ts +0 -3
  448. package/dist/components/Flag/flag-components/gm.js +0 -48
  449. package/dist/components/Flag/flag-components/gn.d.ts +0 -3
  450. package/dist/components/Flag/flag-components/gn.js +0 -41
  451. package/dist/components/Flag/flag-components/gp.d.ts +0 -3
  452. package/dist/components/Flag/flag-components/gp.js +0 -41
  453. package/dist/components/Flag/flag-components/gq.d.ts +0 -3
  454. package/dist/components/Flag/flag-components/gq.js +0 -63
  455. package/dist/components/Flag/flag-components/gr.d.ts +0 -3
  456. package/dist/components/Flag/flag-components/gr.js +0 -62
  457. package/dist/components/Flag/flag-components/gt.d.ts +0 -3
  458. package/dist/components/Flag/flag-components/gt.js +0 -55
  459. package/dist/components/Flag/flag-components/gu.d.ts +0 -3
  460. package/dist/components/Flag/flag-components/gu.js +0 -71
  461. package/dist/components/Flag/flag-components/gw.d.ts +0 -3
  462. package/dist/components/Flag/flag-components/gw.js +0 -55
  463. package/dist/components/Flag/flag-components/gy.d.ts +0 -3
  464. package/dist/components/Flag/flag-components/gy.js +0 -62
  465. package/dist/components/Flag/flag-components/hk.d.ts +0 -3
  466. package/dist/components/Flag/flag-components/hk.js +0 -62
  467. package/dist/components/Flag/flag-components/hn.d.ts +0 -3
  468. package/dist/components/Flag/flag-components/hn.js +0 -76
  469. package/dist/components/Flag/flag-components/hr.d.ts +0 -3
  470. package/dist/components/Flag/flag-components/hr.js +0 -108
  471. package/dist/components/Flag/flag-components/ht.d.ts +0 -3
  472. package/dist/components/Flag/flag-components/ht.js +0 -64
  473. package/dist/components/Flag/flag-components/hu.d.ts +0 -3
  474. package/dist/components/Flag/flag-components/hu.js +0 -41
  475. package/dist/components/Flag/flag-components/id.d.ts +0 -3
  476. package/dist/components/Flag/flag-components/id.js +0 -34
  477. package/dist/components/Flag/flag-components/ie.d.ts +0 -3
  478. package/dist/components/Flag/flag-components/ie.js +0 -41
  479. package/dist/components/Flag/flag-components/il.d.ts +0 -3
  480. package/dist/components/Flag/flag-components/il.js +0 -48
  481. package/dist/components/Flag/flag-components/im.d.ts +0 -3
  482. package/dist/components/Flag/flag-components/im.js +0 -34
  483. package/dist/components/Flag/flag-components/in.d.ts +0 -3
  484. package/dist/components/Flag/flag-components/in.js +0 -62
  485. package/dist/components/Flag/flag-components/index.d.ts +0 -232
  486. package/dist/components/Flag/flag-components/index.js +0 -466
  487. package/dist/components/Flag/flag-components/io.d.ts +0 -3
  488. package/dist/components/Flag/flag-components/io.js +0 -136
  489. package/dist/components/Flag/flag-components/iq.d.ts +0 -3
  490. package/dist/components/Flag/flag-components/iq.js +0 -62
  491. package/dist/components/Flag/flag-components/ir.d.ts +0 -3
  492. package/dist/components/Flag/flag-components/ir.js +0 -48
  493. package/dist/components/Flag/flag-components/is.d.ts +0 -3
  494. package/dist/components/Flag/flag-components/is.js +0 -62
  495. package/dist/components/Flag/flag-components/it.d.ts +0 -3
  496. package/dist/components/Flag/flag-components/it.js +0 -41
  497. package/dist/components/Flag/flag-components/je.d.ts +0 -3
  498. package/dist/components/Flag/flag-components/je.js +0 -48
  499. package/dist/components/Flag/flag-components/jm.d.ts +0 -3
  500. package/dist/components/Flag/flag-components/jm.js +0 -55
  501. package/dist/components/Flag/flag-components/jo.d.ts +0 -3
  502. package/dist/components/Flag/flag-components/jo.js +0 -55
  503. package/dist/components/Flag/flag-components/jp.d.ts +0 -3
  504. package/dist/components/Flag/flag-components/jp.js +0 -34
  505. package/dist/components/Flag/flag-components/ke.d.ts +0 -3
  506. package/dist/components/Flag/flag-components/ke.js +0 -90
  507. package/dist/components/Flag/flag-components/kg.d.ts +0 -3
  508. package/dist/components/Flag/flag-components/kg.js +0 -69
  509. package/dist/components/Flag/flag-components/kh.d.ts +0 -3
  510. package/dist/components/Flag/flag-components/kh.js +0 -48
  511. package/dist/components/Flag/flag-components/ki.d.ts +0 -3
  512. package/dist/components/Flag/flag-components/ki.js +0 -76
  513. package/dist/components/Flag/flag-components/km.d.ts +0 -3
  514. package/dist/components/Flag/flag-components/km.js +0 -90
  515. package/dist/components/Flag/flag-components/kp.d.ts +0 -3
  516. package/dist/components/Flag/flag-components/kp.js +0 -62
  517. package/dist/components/Flag/flag-components/kr.d.ts +0 -3
  518. package/dist/components/Flag/flag-components/kr.js +0 -167
  519. package/dist/components/Flag/flag-components/kw.d.ts +0 -3
  520. package/dist/components/Flag/flag-components/kw.js +0 -48
  521. package/dist/components/Flag/flag-components/ky.d.ts +0 -3
  522. package/dist/components/Flag/flag-components/ky.js +0 -91
  523. package/dist/components/Flag/flag-components/kz.d.ts +0 -3
  524. package/dist/components/Flag/flag-components/kz.js +0 -48
  525. package/dist/components/Flag/flag-components/la.d.ts +0 -3
  526. package/dist/components/Flag/flag-components/la.js +0 -48
  527. package/dist/components/Flag/flag-components/lb.d.ts +0 -3
  528. package/dist/components/Flag/flag-components/lb.js +0 -48
  529. package/dist/components/Flag/flag-components/lc.d.ts +0 -3
  530. package/dist/components/Flag/flag-components/lc.js +0 -30
  531. package/dist/components/Flag/flag-components/li.d.ts +0 -3
  532. package/dist/components/Flag/flag-components/li.js +0 -41
  533. package/dist/components/Flag/flag-components/lk.d.ts +0 -3
  534. package/dist/components/Flag/flag-components/lk.js +0 -50
  535. package/dist/components/Flag/flag-components/lr.d.ts +0 -3
  536. package/dist/components/Flag/flag-components/lr.js +0 -118
  537. package/dist/components/Flag/flag-components/ls.d.ts +0 -3
  538. package/dist/components/Flag/flag-components/ls.js +0 -48
  539. package/dist/components/Flag/flag-components/lt.d.ts +0 -3
  540. package/dist/components/Flag/flag-components/lt.js +0 -41
  541. package/dist/components/Flag/flag-components/lu.d.ts +0 -3
  542. package/dist/components/Flag/flag-components/lu.js +0 -41
  543. package/dist/components/Flag/flag-components/lv.d.ts +0 -3
  544. package/dist/components/Flag/flag-components/lv.js +0 -41
  545. package/dist/components/Flag/flag-components/ly.d.ts +0 -3
  546. package/dist/components/Flag/flag-components/ly.js +0 -55
  547. package/dist/components/Flag/flag-components/ma.d.ts +0 -3
  548. package/dist/components/Flag/flag-components/ma.js +0 -34
  549. package/dist/components/Flag/flag-components/mc.d.ts +0 -3
  550. package/dist/components/Flag/flag-components/mc.js +0 -34
  551. package/dist/components/Flag/flag-components/md.d.ts +0 -3
  552. package/dist/components/Flag/flag-components/md.js +0 -56
  553. package/dist/components/Flag/flag-components/me.d.ts +0 -3
  554. package/dist/components/Flag/flag-components/me.js +0 -56
  555. package/dist/components/Flag/flag-components/mg.d.ts +0 -3
  556. package/dist/components/Flag/flag-components/mg.js +0 -41
  557. package/dist/components/Flag/flag-components/mh.d.ts +0 -3
  558. package/dist/components/Flag/flag-components/mh.js +0 -48
  559. package/dist/components/Flag/flag-components/mk.d.ts +0 -3
  560. package/dist/components/Flag/flag-components/mk.js +0 -97
  561. package/dist/components/Flag/flag-components/ml.d.ts +0 -3
  562. package/dist/components/Flag/flag-components/ml.js +0 -41
  563. package/dist/components/Flag/flag-components/mm.d.ts +0 -3
  564. package/dist/components/Flag/flag-components/mm.js +0 -48
  565. package/dist/components/Flag/flag-components/mn.d.ts +0 -3
  566. package/dist/components/Flag/flag-components/mn.js +0 -66
  567. package/dist/components/Flag/flag-components/mo.d.ts +0 -3
  568. package/dist/components/Flag/flag-components/mo.js +0 -83
  569. package/dist/components/Flag/flag-components/mp.d.ts +0 -3
  570. package/dist/components/Flag/flag-components/mp.js +0 -55
  571. package/dist/components/Flag/flag-components/mq.d.ts +0 -3
  572. package/dist/components/Flag/flag-components/mq.js +0 -83
  573. package/dist/components/Flag/flag-components/mr.d.ts +0 -3
  574. package/dist/components/Flag/flag-components/mr.js +0 -41
  575. package/dist/components/Flag/flag-components/ms.d.ts +0 -3
  576. package/dist/components/Flag/flag-components/ms.js +0 -76
  577. package/dist/components/Flag/flag-components/mt.d.ts +0 -3
  578. package/dist/components/Flag/flag-components/mt.js +0 -41
  579. package/dist/components/Flag/flag-components/mu.d.ts +0 -3
  580. package/dist/components/Flag/flag-components/mu.js +0 -48
  581. package/dist/components/Flag/flag-components/mv.d.ts +0 -3
  582. package/dist/components/Flag/flag-components/mv.js +0 -35
  583. package/dist/components/Flag/flag-components/mw.d.ts +0 -3
  584. package/dist/components/Flag/flag-components/mw.js +0 -48
  585. package/dist/components/Flag/flag-components/mx.d.ts +0 -3
  586. package/dist/components/Flag/flag-components/mx.js +0 -55
  587. package/dist/components/Flag/flag-components/my.d.ts +0 -3
  588. package/dist/components/Flag/flag-components/my.js +0 -76
  589. package/dist/components/Flag/flag-components/mz.d.ts +0 -3
  590. package/dist/components/Flag/flag-components/mz.js +0 -70
  591. package/dist/components/Flag/flag-components/na.d.ts +0 -3
  592. package/dist/components/Flag/flag-components/na.js +0 -55
  593. package/dist/components/Flag/flag-components/ne.d.ts +0 -3
  594. package/dist/components/Flag/flag-components/ne.js +0 -48
  595. package/dist/components/Flag/flag-components/nf.d.ts +0 -3
  596. package/dist/components/Flag/flag-components/nf.js +0 -48
  597. package/dist/components/Flag/flag-components/ng.d.ts +0 -3
  598. package/dist/components/Flag/flag-components/ng.js +0 -41
  599. package/dist/components/Flag/flag-components/ni.d.ts +0 -3
  600. package/dist/components/Flag/flag-components/ni.js +0 -63
  601. package/dist/components/Flag/flag-components/nl.d.ts +0 -3
  602. package/dist/components/Flag/flag-components/nl.js +0 -41
  603. package/dist/components/Flag/flag-components/no.d.ts +0 -3
  604. package/dist/components/Flag/flag-components/no.js +0 -62
  605. package/dist/components/Flag/flag-components/np.d.ts +0 -3
  606. package/dist/components/Flag/flag-components/np.js +0 -63
  607. package/dist/components/Flag/flag-components/nr.d.ts +0 -3
  608. package/dist/components/Flag/flag-components/nr.js +0 -55
  609. package/dist/components/Flag/flag-components/nu.d.ts +0 -3
  610. package/dist/components/Flag/flag-components/nu.js +0 -91
  611. package/dist/components/Flag/flag-components/nz.d.ts +0 -3
  612. package/dist/components/Flag/flag-components/nz.js +0 -83
  613. package/dist/components/Flag/flag-components/om.d.ts +0 -3
  614. package/dist/components/Flag/flag-components/om.js +0 -62
  615. package/dist/components/Flag/flag-components/pa.d.ts +0 -3
  616. package/dist/components/Flag/flag-components/pa.js +0 -55
  617. package/dist/components/Flag/flag-components/pe.d.ts +0 -3
  618. package/dist/components/Flag/flag-components/pe.js +0 -41
  619. package/dist/components/Flag/flag-components/pf.d.ts +0 -3
  620. package/dist/components/Flag/flag-components/pf.js +0 -58
  621. package/dist/components/Flag/flag-components/pg.d.ts +0 -3
  622. package/dist/components/Flag/flag-components/pg.js +0 -76
  623. package/dist/components/Flag/flag-components/ph.d.ts +0 -3
  624. package/dist/components/Flag/flag-components/ph.js +0 -69
  625. package/dist/components/Flag/flag-components/pk.d.ts +0 -3
  626. package/dist/components/Flag/flag-components/pk.js +0 -55
  627. package/dist/components/Flag/flag-components/pl.d.ts +0 -3
  628. package/dist/components/Flag/flag-components/pl.js +0 -34
  629. package/dist/components/Flag/flag-components/pn.d.ts +0 -3
  630. package/dist/components/Flag/flag-components/pn.js +0 -83
  631. package/dist/components/Flag/flag-components/pr.d.ts +0 -3
  632. package/dist/components/Flag/flag-components/pr.js +0 -62
  633. package/dist/components/Flag/flag-components/ps.d.ts +0 -3
  634. package/dist/components/Flag/flag-components/ps.js +0 -48
  635. package/dist/components/Flag/flag-components/pt.d.ts +0 -3
  636. package/dist/components/Flag/flag-components/pt.js +0 -55
  637. package/dist/components/Flag/flag-components/pw.d.ts +0 -3
  638. package/dist/components/Flag/flag-components/pw.js +0 -34
  639. package/dist/components/Flag/flag-components/py.d.ts +0 -3
  640. package/dist/components/Flag/flag-components/py.js +0 -55
  641. package/dist/components/Flag/flag-components/qa.d.ts +0 -3
  642. package/dist/components/Flag/flag-components/qa.js +0 -34
  643. package/dist/components/Flag/flag-components/ro.d.ts +0 -3
  644. package/dist/components/Flag/flag-components/ro.js +0 -41
  645. package/dist/components/Flag/flag-components/rs.d.ts +0 -3
  646. package/dist/components/Flag/flag-components/rs.js +0 -69
  647. package/dist/components/Flag/flag-components/ru.d.ts +0 -3
  648. package/dist/components/Flag/flag-components/ru.js +0 -41
  649. package/dist/components/Flag/flag-components/rw.d.ts +0 -3
  650. package/dist/components/Flag/flag-components/rw.js +0 -48
  651. package/dist/components/Flag/flag-components/sa.d.ts +0 -3
  652. package/dist/components/Flag/flag-components/sa.js +0 -57
  653. package/dist/components/Flag/flag-components/sb.d.ts +0 -3
  654. package/dist/components/Flag/flag-components/sb.js +0 -76
  655. package/dist/components/Flag/flag-components/sc.d.ts +0 -3
  656. package/dist/components/Flag/flag-components/sc.js +0 -55
  657. package/dist/components/Flag/flag-components/sd.d.ts +0 -3
  658. package/dist/components/Flag/flag-components/sd.js +0 -48
  659. package/dist/components/Flag/flag-components/se.d.ts +0 -3
  660. package/dist/components/Flag/flag-components/se.js +0 -63
  661. package/dist/components/Flag/flag-components/sg.d.ts +0 -3
  662. package/dist/components/Flag/flag-components/sg.js +0 -76
  663. package/dist/components/Flag/flag-components/si.d.ts +0 -3
  664. package/dist/components/Flag/flag-components/si.js +0 -48
  665. package/dist/components/Flag/flag-components/sk.d.ts +0 -3
  666. package/dist/components/Flag/flag-components/sk.js +0 -69
  667. package/dist/components/Flag/flag-components/sl.d.ts +0 -3
  668. package/dist/components/Flag/flag-components/sl.js +0 -41
  669. package/dist/components/Flag/flag-components/sm.d.ts +0 -3
  670. package/dist/components/Flag/flag-components/sm.js +0 -69
  671. package/dist/components/Flag/flag-components/sn.d.ts +0 -3
  672. package/dist/components/Flag/flag-components/sn.js +0 -48
  673. package/dist/components/Flag/flag-components/so.d.ts +0 -3
  674. package/dist/components/Flag/flag-components/so.js +0 -34
  675. package/dist/components/Flag/flag-components/sr.d.ts +0 -3
  676. package/dist/components/Flag/flag-components/sr.js +0 -55
  677. package/dist/components/Flag/flag-components/ss.d.ts +0 -3
  678. package/dist/components/Flag/flag-components/ss.js +0 -62
  679. package/dist/components/Flag/flag-components/st.d.ts +0 -3
  680. package/dist/components/Flag/flag-components/st.js +0 -62
  681. package/dist/components/Flag/flag-components/sv.d.ts +0 -3
  682. package/dist/components/Flag/flag-components/sv.js +0 -56
  683. package/dist/components/Flag/flag-components/sx.d.ts +0 -3
  684. package/dist/components/Flag/flag-components/sx.js +0 -76
  685. package/dist/components/Flag/flag-components/sy.d.ts +0 -3
  686. package/dist/components/Flag/flag-components/sy.js +0 -55
  687. package/dist/components/Flag/flag-components/sz.d.ts +0 -3
  688. package/dist/components/Flag/flag-components/sz.js +0 -80
  689. package/dist/components/Flag/flag-components/tc.d.ts +0 -3
  690. package/dist/components/Flag/flag-components/tc.js +0 -90
  691. package/dist/components/Flag/flag-components/td.d.ts +0 -3
  692. package/dist/components/Flag/flag-components/td.js +0 -41
  693. package/dist/components/Flag/flag-components/tg.d.ts +0 -3
  694. package/dist/components/Flag/flag-components/tg.js +0 -62
  695. package/dist/components/Flag/flag-components/th.d.ts +0 -3
  696. package/dist/components/Flag/flag-components/th.js +0 -48
  697. package/dist/components/Flag/flag-components/tj.d.ts +0 -3
  698. package/dist/components/Flag/flag-components/tj.js +0 -97
  699. package/dist/components/Flag/flag-components/tk.d.ts +0 -3
  700. package/dist/components/Flag/flag-components/tk.js +0 -62
  701. package/dist/components/Flag/flag-components/tl.d.ts +0 -3
  702. package/dist/components/Flag/flag-components/tl.js +0 -48
  703. package/dist/components/Flag/flag-components/tm.d.ts +0 -3
  704. package/dist/components/Flag/flag-components/tm.js +0 -161
  705. package/dist/components/Flag/flag-components/tn.d.ts +0 -3
  706. package/dist/components/Flag/flag-components/tn.js +0 -48
  707. package/dist/components/Flag/flag-components/to.d.ts +0 -3
  708. package/dist/components/Flag/flag-components/to.js +0 -41
  709. package/dist/components/Flag/flag-components/tr.d.ts +0 -3
  710. package/dist/components/Flag/flag-components/tr.js +0 -41
  711. package/dist/components/Flag/flag-components/tt.d.ts +0 -3
  712. package/dist/components/Flag/flag-components/tt.js +0 -48
  713. package/dist/components/Flag/flag-components/tv.d.ts +0 -3
  714. package/dist/components/Flag/flag-components/tv.js +0 -120
  715. package/dist/components/Flag/flag-components/tw.d.ts +0 -3
  716. package/dist/components/Flag/flag-components/tw.js +0 -55
  717. package/dist/components/Flag/flag-components/tz.d.ts +0 -3
  718. package/dist/components/Flag/flag-components/tz.js +0 -48
  719. package/dist/components/Flag/flag-components/ua.d.ts +0 -3
  720. package/dist/components/Flag/flag-components/ua.js +0 -34
  721. package/dist/components/Flag/flag-components/ug.d.ts +0 -3
  722. package/dist/components/Flag/flag-components/ug.js +0 -69
  723. package/dist/components/Flag/flag-components/us.d.ts +0 -3
  724. package/dist/components/Flag/flag-components/us.js +0 -62
  725. package/dist/components/Flag/flag-components/uy.d.ts +0 -3
  726. package/dist/components/Flag/flag-components/uy.js +0 -69
  727. package/dist/components/Flag/flag-components/uz.d.ts +0 -3
  728. package/dist/components/Flag/flag-components/uz.js +0 -146
  729. package/dist/components/Flag/flag-components/va.d.ts +0 -3
  730. package/dist/components/Flag/flag-components/va.js +0 -48
  731. package/dist/components/Flag/flag-components/vc.d.ts +0 -3
  732. package/dist/components/Flag/flag-components/vc.js +0 -70
  733. package/dist/components/Flag/flag-components/ve.d.ts +0 -3
  734. package/dist/components/Flag/flag-components/ve.js +0 -97
  735. package/dist/components/Flag/flag-components/vg.d.ts +0 -3
  736. package/dist/components/Flag/flag-components/vg.js +0 -83
  737. package/dist/components/Flag/flag-components/vn.d.ts +0 -3
  738. package/dist/components/Flag/flag-components/vn.js +0 -34
  739. package/dist/components/Flag/flag-components/vu.d.ts +0 -3
  740. package/dist/components/Flag/flag-components/vu.js +0 -189
  741. package/dist/components/Flag/flag-components/ws.d.ts +0 -3
  742. package/dist/components/Flag/flag-components/ws.js +0 -69
  743. package/dist/components/Flag/flag-components/xk.d.ts +0 -3
  744. package/dist/components/Flag/flag-components/xk.js +0 -76
  745. package/dist/components/Flag/flag-components/ye.d.ts +0 -3
  746. package/dist/components/Flag/flag-components/ye.js +0 -41
  747. package/dist/components/Flag/flag-components/za.d.ts +0 -3
  748. package/dist/components/Flag/flag-components/za.js +0 -62
  749. package/dist/components/Flag/flag-components/zm.d.ts +0 -3
  750. package/dist/components/Flag/flag-components/zm.js +0 -55
  751. package/dist/components/Flag/flag-components/zw.d.ts +0 -3
  752. package/dist/components/Flag/flag-components/zw.js +0 -97
  753. package/dist/components/Flag/index.js +0 -8
  754. package/dist/components/Form/index.js +0 -4
  755. package/dist/components/Icons/Eye.js +0 -40
  756. package/dist/components/Icons/EyeClosed.js +0 -60
  757. package/dist/components/Input/index.js +0 -6
  758. package/dist/components/ListItem/index.js +0 -4
  759. package/dist/components/LiveFeedback/index.js +0 -2
  760. package/dist/components/Marble/index.js +0 -4
  761. package/dist/components/NumberPad/index.js +0 -4
  762. package/dist/components/OTPField/index.js +0 -4
  763. package/dist/components/PasswordField/PasswordField.js +0 -45
  764. package/dist/components/PasswordField/index.js +0 -4
  765. package/dist/components/PasteButton/index.js +0 -4
  766. package/dist/components/PhoneField/index.js +0 -6
  767. package/dist/components/Pill/index.js +0 -4
  768. package/dist/components/Progress/index.js +0 -4
  769. package/dist/components/RadioGroup/index.js +0 -6
  770. package/dist/components/SearchField/index.js +0 -4
  771. package/dist/components/Select/index.js +0 -4
  772. package/dist/components/Spinner/index.js +0 -4
  773. package/dist/components/Switch/index.js +0 -4
  774. package/dist/components/Tabs/index.js +0 -5
  775. package/dist/components/Tabs/types.js +0 -1
  776. package/dist/components/TextArea/index.js +0 -4
  777. package/dist/components/Toast/index.js +0 -12
  778. package/dist/components/ToggleGroup/index.js +0 -5
  779. package/dist/components/ToggleGroup/types.js +0 -1
  780. package/dist/components/Token/icons/types.js +0 -1
  781. package/dist/components/Token/index.js +0 -4
  782. package/dist/components/TopBar/index.js +0 -4
  783. package/dist/components/Typography/index.js +0 -5
  784. package/dist/components/WalletAddressField/index.js +0 -4
  785. package/dist/node_modules/.pnpm/countries-list@3.1.1/node_modules/countries-list/mjs/index.js +0 -8
  786. package/public/fonts/TWKLausanne-350.woff +0 -0
  787. package/public/fonts/TWKLausanne-350Italic.woff +0 -0
  788. package/public/fonts/TWKLausanne-500.woff +0 -0
  789. package/public/fonts/TWKLausanne-500Italic.woff +0 -0
  790. package/public/fonts/TWKLausanne-600.woff +0 -0
  791. package/public/fonts/TWKLausanne-600Italic.woff +0 -0
  792. package/public/globals.css +0 -3
  793. package/public/images/marbles/marble1.png +0 -0
  794. package/public/images/marbles/marble2.png +0 -0
  795. package/public/images/marbles/marble3.svg +0 -36
@@ -1,13 +1,16 @@
1
1
  "use client";
2
- import { Overlay as we, Content as he, Trigger as ge, Close as ve, Title as ye, Description as be, Root as Se, Portal as Re } from "../../../../@radix-ui_react-dialog@1.1.4_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18.3._vurlugjqrhlu53o6edaj3yx2bq/node_modules/@radix-ui/react-dialog/dist/index.js";
3
- import * as Te from "react";
4
- import r, { useMemo as Ee, useLayoutEffect as De, useEffect as Oe } from "react";
5
- function xe(t) {
6
- if (typeof document > "u") return;
7
- let n = document.head || document.getElementsByTagName("head")[0], e = document.createElement("style");
8
- e.type = "text/css", n.appendChild(e), e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(document.createTextNode(t));
2
+ import { Overlay as Overlay$1, Content as Content$1, Trigger, Close, Title, Description, Root as Root$1, Portal as Portal$1 } from "../../../../@radix-ui_react-dialog@1.1.4_@types_react-dom@18.3.5_@types_react@18.3.18__@types_react@18.3._vurlugjqrhlu53o6edaj3yx2bq/node_modules/@radix-ui/react-dialog/dist/index.js";
3
+ import * as React from "react";
4
+ import React__default, { useMemo, useLayoutEffect, useEffect } from "react";
5
+ function __insertCSS(code) {
6
+ if (typeof document == "undefined") return;
7
+ let head = document.head || document.getElementsByTagName("head")[0];
8
+ let style = document.createElement("style");
9
+ style.type = "text/css";
10
+ head.appendChild(style);
11
+ style.styleSheet ? style.styleSheet.cssText = code : style.appendChild(document.createTextNode(code));
9
12
  }
10
- const Wt = r.createContext({
13
+ const DrawerContext = React__default.createContext({
11
14
  drawerRef: {
12
15
  current: null
13
16
  },
@@ -27,17 +30,17 @@ const Wt = r.createContext({
27
30
  onNestedRelease: () => {
28
31
  },
29
32
  openProp: void 0,
30
- dismissible: !1,
31
- isOpen: !1,
32
- isDragging: !1,
33
+ dismissible: false,
34
+ isOpen: false,
35
+ isDragging: false,
33
36
  keyboardIsOpen: {
34
- current: !1
37
+ current: false
35
38
  },
36
39
  snapPointsOffset: null,
37
40
  snapPoints: null,
38
- handleOnly: !1,
39
- modal: !1,
40
- shouldFade: !1,
41
+ handleOnly: false,
42
+ modal: false,
43
+ shouldFade: false,
41
44
  activeSnapPoint: null,
42
45
  onOpenChange: () => {
43
46
  },
@@ -47,64 +50,72 @@ const Wt = r.createContext({
47
50
  },
48
51
  direction: "bottom",
49
52
  shouldAnimate: {
50
- current: !0
53
+ current: true
51
54
  },
52
- shouldScaleBackground: !1,
53
- setBackgroundColorOnScale: !0,
54
- noBodyStyles: !1,
55
+ shouldScaleBackground: false,
56
+ setBackgroundColorOnScale: true,
57
+ noBodyStyles: false,
55
58
  container: null,
56
- autoFocus: !1
57
- }), rt = () => {
58
- const t = r.useContext(Wt);
59
- if (!t)
59
+ autoFocus: false
60
+ });
61
+ const useDrawerContext = () => {
62
+ const context = React__default.useContext(DrawerContext);
63
+ if (!context) {
60
64
  throw new Error("useDrawerContext must be used within a Drawer.Root");
61
- return t;
65
+ }
66
+ return context;
62
67
  };
63
- xe(`[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(
64
- [data-state=closed]
65
- ){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}`);
66
- function Ce() {
67
- const t = navigator.userAgent;
68
- return typeof window < "u" && (/Firefox/.test(t) && /Mobile/.test(t) || // Android Firefox
69
- /FxiOS/.test(t));
68
+ __insertCSS("[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\n[data-state=closed]\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}");
69
+ function isMobileFirefox() {
70
+ const userAgent = navigator.userAgent;
71
+ return typeof window !== "undefined" && (/Firefox/.test(userAgent) && /Mobile/.test(userAgent) || // Android Firefox
72
+ /FxiOS/.test(userAgent));
70
73
  }
71
- function $e() {
72
- return xt(/^Mac/);
74
+ function isMac() {
75
+ return testPlatform(/^Mac/);
73
76
  }
74
- function Ae() {
75
- return xt(/^iPhone/);
77
+ function isIPhone() {
78
+ return testPlatform(/^iPhone/);
76
79
  }
77
- function kt() {
80
+ function isSafari() {
78
81
  return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
79
82
  }
80
- function Me() {
81
- return xt(/^iPad/) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.
82
- $e() && navigator.maxTouchPoints > 1;
83
+ function isIPad() {
84
+ return testPlatform(/^iPad/) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.
85
+ isMac() && navigator.maxTouchPoints > 1;
83
86
  }
84
- function zt() {
85
- return Ae() || Me();
87
+ function isIOS() {
88
+ return isIPhone() || isIPad();
86
89
  }
87
- function xt(t) {
88
- return typeof window < "u" && window.navigator != null ? t.test(window.navigator.platform) : void 0;
90
+ function testPlatform(re) {
91
+ return typeof window !== "undefined" && window.navigator != null ? re.test(window.navigator.platform) : void 0;
89
92
  }
90
- const Pe = 24, Ie = typeof window < "u" ? De : Oe;
91
- function Bt(...t) {
92
- return (...n) => {
93
- for (let e of t)
94
- typeof e == "function" && e(...n);
93
+ const KEYBOARD_BUFFER = 24;
94
+ const useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
95
+ function chain$1(...callbacks) {
96
+ return (...args) => {
97
+ for (let callback of callbacks) {
98
+ if (typeof callback === "function") {
99
+ callback(...args);
100
+ }
101
+ }
95
102
  };
96
103
  }
97
- const St = typeof document < "u" && window.visualViewport;
98
- function Ut(t) {
99
- let n = window.getComputedStyle(t);
100
- return /(auto|scroll)/.test(n.overflow + n.overflowX + n.overflowY);
104
+ const visualViewport = typeof document !== "undefined" && window.visualViewport;
105
+ function isScrollable(node) {
106
+ let style = window.getComputedStyle(node);
107
+ return /(auto|scroll)/.test(style.overflow + style.overflowX + style.overflowY);
101
108
  }
102
- function Vt(t) {
103
- for (Ut(t) && (t = t.parentElement); t && !Ut(t); )
104
- t = t.parentElement;
105
- return t || document.scrollingElement || document.documentElement;
109
+ function getScrollParent(node) {
110
+ if (isScrollable(node)) {
111
+ node = node.parentElement;
112
+ }
113
+ while (node && !isScrollable(node)) {
114
+ node = node.parentElement;
115
+ }
116
+ return node || document.scrollingElement || document.documentElement;
106
117
  }
107
- const Ne = /* @__PURE__ */ new Set([
118
+ const nonTextInputTypes = /* @__PURE__ */ new Set([
108
119
  "checkbox",
109
120
  "radio",
110
121
  "range",
@@ -115,152 +126,230 @@ const Ne = /* @__PURE__ */ new Set([
115
126
  "submit",
116
127
  "reset"
117
128
  ]);
118
- let pt = 0, Rt;
119
- function _e(t = {}) {
120
- let { isDisabled: n } = t;
121
- Ie(() => {
122
- if (!n)
123
- return pt++, pt === 1 && zt() && (Rt = He()), () => {
124
- pt--, pt === 0 && (Rt == null || Rt());
125
- };
129
+ let preventScrollCount = 0;
130
+ let restore;
131
+ function usePreventScroll(options = {}) {
132
+ let { isDisabled } = options;
133
+ useIsomorphicLayoutEffect(() => {
134
+ if (isDisabled) {
135
+ return;
136
+ }
137
+ preventScrollCount++;
138
+ if (preventScrollCount === 1) {
139
+ if (isIOS()) {
140
+ restore = preventScrollMobileSafari();
141
+ }
142
+ }
143
+ return () => {
144
+ preventScrollCount--;
145
+ if (preventScrollCount === 0) {
146
+ restore == null ? void 0 : restore();
147
+ }
148
+ };
126
149
  }, [
127
- n
150
+ isDisabled
128
151
  ]);
129
152
  }
130
- function He() {
131
- let t, n = 0, e = (m) => {
132
- t = Vt(m.target), !(t === document.documentElement && t === document.body) && (n = m.changedTouches[0].pageY);
133
- }, o = (m) => {
134
- if (!t || t === document.documentElement || t === document.body) {
135
- m.preventDefault();
153
+ function preventScrollMobileSafari() {
154
+ let scrollable;
155
+ let lastY = 0;
156
+ let onTouchStart = (e) => {
157
+ scrollable = getScrollParent(e.target);
158
+ if (scrollable === document.documentElement && scrollable === document.body) {
136
159
  return;
137
160
  }
138
- let p = m.changedTouches[0].pageY, B = t.scrollTop, L = t.scrollHeight - t.clientHeight;
139
- L !== 0 && ((B <= 0 && p > n || B >= L && p < n) && m.preventDefault(), n = p);
140
- }, i = (m) => {
141
- let p = m.target;
142
- Dt(p) && p !== document.activeElement && (m.preventDefault(), p.style.transform = "translateY(-2000px)", p.focus(), requestAnimationFrame(() => {
143
- p.style.transform = "";
144
- }));
145
- }, a = (m) => {
146
- let p = m.target;
147
- Dt(p) && (p.style.transform = "translateY(-2000px)", requestAnimationFrame(() => {
148
- p.style.transform = "", St && (St.height < window.innerHeight ? requestAnimationFrame(() => {
149
- Ft(p);
150
- }) : St.addEventListener("resize", () => Ft(p), {
151
- once: !0
152
- }));
153
- }));
154
- }, g = () => {
161
+ lastY = e.changedTouches[0].pageY;
162
+ };
163
+ let onTouchMove = (e) => {
164
+ if (!scrollable || scrollable === document.documentElement || scrollable === document.body) {
165
+ e.preventDefault();
166
+ return;
167
+ }
168
+ let y = e.changedTouches[0].pageY;
169
+ let scrollTop = scrollable.scrollTop;
170
+ let bottom = scrollable.scrollHeight - scrollable.clientHeight;
171
+ if (bottom === 0) {
172
+ return;
173
+ }
174
+ if (scrollTop <= 0 && y > lastY || scrollTop >= bottom && y < lastY) {
175
+ e.preventDefault();
176
+ }
177
+ lastY = y;
178
+ };
179
+ let onTouchEnd = (e) => {
180
+ let target = e.target;
181
+ if (isInput(target) && target !== document.activeElement) {
182
+ e.preventDefault();
183
+ target.style.transform = "translateY(-2000px)";
184
+ target.focus();
185
+ requestAnimationFrame(() => {
186
+ target.style.transform = "";
187
+ });
188
+ }
189
+ };
190
+ let onFocus = (e) => {
191
+ let target = e.target;
192
+ if (isInput(target)) {
193
+ target.style.transform = "translateY(-2000px)";
194
+ requestAnimationFrame(() => {
195
+ target.style.transform = "";
196
+ if (visualViewport) {
197
+ if (visualViewport.height < window.innerHeight) {
198
+ requestAnimationFrame(() => {
199
+ scrollIntoView(target);
200
+ });
201
+ } else {
202
+ visualViewport.addEventListener("resize", () => scrollIntoView(target), {
203
+ once: true
204
+ });
205
+ }
206
+ }
207
+ });
208
+ }
209
+ };
210
+ let onWindowScroll = () => {
155
211
  window.scrollTo(0, 0);
156
- }, u = window.pageXOffset, b = window.pageYOffset, E = Bt(Le(document.documentElement, "paddingRight", `${window.innerWidth - document.documentElement.clientWidth}px`));
212
+ };
213
+ let scrollX = window.pageXOffset;
214
+ let scrollY = window.pageYOffset;
215
+ let restoreStyles = chain$1(setStyle(document.documentElement, "paddingRight", `${window.innerWidth - document.documentElement.clientWidth}px`));
157
216
  window.scrollTo(0, 0);
158
- let h = Bt(ut(document, "touchstart", e, {
159
- passive: !1,
160
- capture: !0
161
- }), ut(document, "touchmove", o, {
162
- passive: !1,
163
- capture: !0
164
- }), ut(document, "touchend", i, {
165
- passive: !1,
166
- capture: !0
167
- }), ut(document, "focus", a, !0), ut(window, "scroll", g));
217
+ let removeEvents = chain$1(addEvent(document, "touchstart", onTouchStart, {
218
+ passive: false,
219
+ capture: true
220
+ }), addEvent(document, "touchmove", onTouchMove, {
221
+ passive: false,
222
+ capture: true
223
+ }), addEvent(document, "touchend", onTouchEnd, {
224
+ passive: false,
225
+ capture: true
226
+ }), addEvent(document, "focus", onFocus, true), addEvent(window, "scroll", onWindowScroll));
168
227
  return () => {
169
- E(), h(), window.scrollTo(u, b);
228
+ restoreStyles();
229
+ removeEvents();
230
+ window.scrollTo(scrollX, scrollY);
170
231
  };
171
232
  }
172
- function Le(t, n, e) {
173
- let o = t.style[n];
174
- return t.style[n] = e, () => {
175
- t.style[n] = o;
233
+ function setStyle(element, style, value) {
234
+ let cur = element.style[style];
235
+ element.style[style] = value;
236
+ return () => {
237
+ element.style[style] = cur;
176
238
  };
177
239
  }
178
- function ut(t, n, e, o) {
179
- return t.addEventListener(n, e, o), () => {
180
- t.removeEventListener(n, e, o);
240
+ function addEvent(target, event, handler, options) {
241
+ target.addEventListener(event, handler, options);
242
+ return () => {
243
+ target.removeEventListener(event, handler, options);
181
244
  };
182
245
  }
183
- function Ft(t) {
184
- let n = document.scrollingElement || document.documentElement;
185
- for (; t && t !== n; ) {
186
- let e = Vt(t);
187
- if (e !== document.documentElement && e !== document.body && e !== t) {
188
- let o = e.getBoundingClientRect().top, i = t.getBoundingClientRect().top, a = t.getBoundingClientRect().bottom;
189
- const g = e.getBoundingClientRect().bottom + Pe;
190
- a > g && (e.scrollTop += i - o);
191
- }
192
- t = e.parentElement;
246
+ function scrollIntoView(target) {
247
+ let root = document.scrollingElement || document.documentElement;
248
+ while (target && target !== root) {
249
+ let scrollable = getScrollParent(target);
250
+ if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== target) {
251
+ let scrollableTop = scrollable.getBoundingClientRect().top;
252
+ let targetTop = target.getBoundingClientRect().top;
253
+ let targetBottom = target.getBoundingClientRect().bottom;
254
+ const keyboardHeight = scrollable.getBoundingClientRect().bottom + KEYBOARD_BUFFER;
255
+ if (targetBottom > keyboardHeight) {
256
+ scrollable.scrollTop += targetTop - scrollableTop;
257
+ }
258
+ }
259
+ target = scrollable.parentElement;
193
260
  }
194
261
  }
195
- function Dt(t) {
196
- return t instanceof HTMLInputElement && !Ne.has(t.type) || t instanceof HTMLTextAreaElement || t instanceof HTMLElement && t.isContentEditable;
262
+ function isInput(target) {
263
+ return target instanceof HTMLInputElement && !nonTextInputTypes.has(target.type) || target instanceof HTMLTextAreaElement || target instanceof HTMLElement && target.isContentEditable;
197
264
  }
198
- function ke(t, n) {
199
- typeof t == "function" ? t(n) : t != null && (t.current = n);
265
+ function setRef(ref, value) {
266
+ if (typeof ref === "function") {
267
+ ref(value);
268
+ } else if (ref !== null && ref !== void 0) {
269
+ ref.current = value;
270
+ }
200
271
  }
201
- function Be(...t) {
202
- return (n) => t.forEach((e) => ke(e, n));
272
+ function composeRefs(...refs) {
273
+ return (node) => refs.forEach((ref) => setRef(ref, node));
203
274
  }
204
- function Yt(...t) {
205
- return Te.useCallback(Be(...t), t);
275
+ function useComposedRefs(...refs) {
276
+ return React.useCallback(composeRefs(...refs), refs);
206
277
  }
207
- const jt = /* @__PURE__ */ new WeakMap();
208
- function $(t, n, e = !1) {
209
- if (!t || !(t instanceof HTMLElement)) return;
210
- let o = {};
211
- Object.entries(n).forEach(([i, a]) => {
212
- if (i.startsWith("--")) {
213
- t.style.setProperty(i, a);
278
+ const cache = /* @__PURE__ */ new WeakMap();
279
+ function set(el, styles, ignoreCache = false) {
280
+ if (!el || !(el instanceof HTMLElement)) return;
281
+ let originalStyles = {};
282
+ Object.entries(styles).forEach(([key, value]) => {
283
+ if (key.startsWith("--")) {
284
+ el.style.setProperty(key, value);
214
285
  return;
215
286
  }
216
- o[i] = t.style[i], t.style[i] = a;
217
- }), !e && jt.set(t, o);
287
+ originalStyles[key] = el.style[key];
288
+ el.style[key] = value;
289
+ });
290
+ if (ignoreCache) return;
291
+ cache.set(el, originalStyles);
218
292
  }
219
- function Ue(t, n) {
220
- if (!t || !(t instanceof HTMLElement)) return;
221
- let e = jt.get(t);
222
- e && (t.style[n] = e[n]);
293
+ function reset(el, prop) {
294
+ if (!el || !(el instanceof HTMLElement)) return;
295
+ let originalStyles = cache.get(el);
296
+ if (!originalStyles) {
297
+ return;
298
+ }
299
+ {
300
+ el.style[prop] = originalStyles[prop];
301
+ }
223
302
  }
224
- const C = (t) => {
225
- switch (t) {
303
+ const isVertical = (direction) => {
304
+ switch (direction) {
226
305
  case "top":
227
306
  case "bottom":
228
- return !0;
307
+ return true;
229
308
  case "left":
230
309
  case "right":
231
- return !1;
310
+ return false;
232
311
  default:
233
- return t;
312
+ return direction;
234
313
  }
235
314
  };
236
- function wt(t, n) {
237
- if (!t)
315
+ function getTranslate(element, direction) {
316
+ if (!element) {
238
317
  return null;
239
- const e = window.getComputedStyle(t), o = (
318
+ }
319
+ const style = window.getComputedStyle(element);
320
+ const transform = (
240
321
  // @ts-ignore
241
- e.transform || e.webkitTransform || e.mozTransform
322
+ style.transform || style.webkitTransform || style.mozTransform
242
323
  );
243
- let i = o.match(/^matrix3d\((.+)\)$/);
244
- return i ? parseFloat(i[1].split(", ")[C(n) ? 13 : 12]) : (i = o.match(/^matrix\((.+)\)$/), i ? parseFloat(i[1].split(", ")[C(n) ? 5 : 4]) : null);
324
+ let mat = transform.match(/^matrix3d\((.+)\)$/);
325
+ if (mat) {
326
+ return parseFloat(mat[1].split(", ")[isVertical(direction) ? 13 : 12]);
327
+ }
328
+ mat = transform.match(/^matrix\((.+)\)$/);
329
+ return mat ? parseFloat(mat[1].split(", ")[isVertical(direction) ? 5 : 4]) : null;
245
330
  }
246
- function Fe(t) {
247
- return 8 * (Math.log(t + 1) - 2);
331
+ function dampenValue(v) {
332
+ return 8 * (Math.log(v + 1) - 2);
248
333
  }
249
- function Tt(t, n) {
250
- if (!t) return () => {
334
+ function assignStyle(element, style) {
335
+ if (!element) return () => {
251
336
  };
252
- const e = t.style.cssText;
253
- return Object.assign(t.style, n), () => {
254
- t.style.cssText = e;
337
+ const prevStyle = element.style.cssText;
338
+ Object.assign(element.style, style);
339
+ return () => {
340
+ element.style.cssText = prevStyle;
255
341
  };
256
342
  }
257
- function We(...t) {
258
- return (...n) => {
259
- for (const e of t)
260
- typeof e == "function" && e(...n);
343
+ function chain(...fns) {
344
+ return (...args) => {
345
+ for (const fn of fns) {
346
+ if (typeof fn === "function") {
347
+ fn(...args);
348
+ }
349
+ }
261
350
  };
262
351
  }
263
- const O = {
352
+ const TRANSITIONS = {
264
353
  DURATION: 0.5,
265
354
  EASE: [
266
355
  0.32,
@@ -268,799 +357,1151 @@ const O = {
268
357
  0,
269
358
  1
270
359
  ]
271
- }, qt = 0.4, ze = 0.25, Ve = 100, Xt = 8, Z = 16, Ot = 26, Et = "vaul-dragging";
272
- function Kt(t) {
273
- const n = r.useRef(t);
274
- return r.useEffect(() => {
275
- n.current = t;
276
- }), r.useMemo(() => (...e) => n.current == null ? void 0 : n.current.call(n, ...e), []);
360
+ };
361
+ const VELOCITY_THRESHOLD = 0.4;
362
+ const CLOSE_THRESHOLD = 0.25;
363
+ const SCROLL_LOCK_TIMEOUT = 100;
364
+ const BORDER_RADIUS = 8;
365
+ const NESTED_DISPLACEMENT = 16;
366
+ const WINDOW_TOP_OFFSET = 26;
367
+ const DRAG_CLASS = "vaul-dragging";
368
+ function useCallbackRef(callback) {
369
+ const callbackRef = React__default.useRef(callback);
370
+ React__default.useEffect(() => {
371
+ callbackRef.current = callback;
372
+ });
373
+ return React__default.useMemo(() => (...args) => callbackRef.current == null ? void 0 : callbackRef.current.call(callbackRef, ...args), []);
277
374
  }
278
- function Ye({ defaultProp: t, onChange: n }) {
279
- const e = r.useState(t), [o] = e, i = r.useRef(o), a = Kt(n);
280
- return r.useEffect(() => {
281
- i.current !== o && (a(o), i.current = o);
375
+ function useUncontrolledState({ defaultProp, onChange }) {
376
+ const uncontrolledState = React__default.useState(defaultProp);
377
+ const [value] = uncontrolledState;
378
+ const prevValueRef = React__default.useRef(value);
379
+ const handleChange = useCallbackRef(onChange);
380
+ React__default.useEffect(() => {
381
+ if (prevValueRef.current !== value) {
382
+ handleChange(value);
383
+ prevValueRef.current = value;
384
+ }
282
385
  }, [
283
- o,
284
- i,
285
- a
286
- ]), e;
386
+ value,
387
+ prevValueRef,
388
+ handleChange
389
+ ]);
390
+ return uncontrolledState;
287
391
  }
288
- function Gt({ prop: t, defaultProp: n, onChange: e = () => {
392
+ function useControllableState({ prop, defaultProp, onChange = () => {
289
393
  } }) {
290
- const [o, i] = Ye({
291
- defaultProp: n,
292
- onChange: e
293
- }), a = t !== void 0, g = a ? t : o, u = Kt(e), b = r.useCallback((E) => {
294
- if (a) {
295
- const m = typeof E == "function" ? E(t) : E;
296
- m !== t && u(m);
297
- } else
298
- i(E);
394
+ const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({
395
+ defaultProp,
396
+ onChange
397
+ });
398
+ const isControlled = prop !== void 0;
399
+ const value = isControlled ? prop : uncontrolledProp;
400
+ const handleChange = useCallbackRef(onChange);
401
+ const setValue = React__default.useCallback((nextValue) => {
402
+ if (isControlled) {
403
+ const setter = nextValue;
404
+ const value2 = typeof nextValue === "function" ? setter(prop) : nextValue;
405
+ if (value2 !== prop) handleChange(value2);
406
+ } else {
407
+ setUncontrolledProp(nextValue);
408
+ }
299
409
  }, [
300
- a,
301
- t,
302
- i,
303
- u
410
+ isControlled,
411
+ prop,
412
+ setUncontrolledProp,
413
+ handleChange
304
414
  ]);
305
415
  return [
306
- g,
307
- b
416
+ value,
417
+ setValue
308
418
  ];
309
419
  }
310
- function je({ activeSnapPointProp: t, setActiveSnapPointProp: n, snapPoints: e, drawerRef: o, overlayRef: i, fadeFromIndex: a, onSnapPointChange: g, direction: u = "bottom", container: b, snapToSequentialPoint: E }) {
311
- const [h, m] = Gt({
312
- prop: t,
313
- defaultProp: e == null ? void 0 : e[0],
314
- onChange: n
315
- }), [p, B] = r.useState(typeof window < "u" ? {
420
+ function useSnapPoints({ activeSnapPointProp, setActiveSnapPointProp, snapPoints, drawerRef, overlayRef, fadeFromIndex, onSnapPointChange, direction = "bottom", container, snapToSequentialPoint }) {
421
+ const [activeSnapPoint, setActiveSnapPoint] = useControllableState({
422
+ prop: activeSnapPointProp,
423
+ defaultProp: snapPoints == null ? void 0 : snapPoints[0],
424
+ onChange: setActiveSnapPointProp
425
+ });
426
+ const [windowDimensions, setWindowDimensions] = React__default.useState(typeof window !== "undefined" ? {
316
427
  innerWidth: window.innerWidth,
317
428
  innerHeight: window.innerHeight
318
429
  } : void 0);
319
- r.useEffect(() => {
320
- function c() {
321
- B({
430
+ React__default.useEffect(() => {
431
+ function onResize() {
432
+ setWindowDimensions({
322
433
  innerWidth: window.innerWidth,
323
434
  innerHeight: window.innerHeight
324
435
  });
325
436
  }
326
- return window.addEventListener("resize", c), () => window.removeEventListener("resize", c);
437
+ window.addEventListener("resize", onResize);
438
+ return () => window.removeEventListener("resize", onResize);
327
439
  }, []);
328
- const L = r.useMemo(() => h === (e == null ? void 0 : e[e.length - 1]) || null, [
329
- e,
330
- h
331
- ]), D = r.useMemo(() => {
332
- var c;
333
- return (c = e == null ? void 0 : e.findIndex((S) => S === h)) != null ? c : null;
440
+ const isLastSnapPoint = React__default.useMemo(() => activeSnapPoint === (snapPoints == null ? void 0 : snapPoints[snapPoints.length - 1]) || null, [
441
+ snapPoints,
442
+ activeSnapPoint
443
+ ]);
444
+ const activeSnapPointIndex = React__default.useMemo(() => {
445
+ var _snapPoints_findIndex;
446
+ return (_snapPoints_findIndex = snapPoints == null ? void 0 : snapPoints.findIndex((snapPoint) => snapPoint === activeSnapPoint)) != null ? _snapPoints_findIndex : null;
334
447
  }, [
335
- e,
336
- h
337
- ]), U = e && e.length > 0 && (a || a === 0) && !Number.isNaN(a) && e[a] === h || !e, w = r.useMemo(() => {
338
- const c = b ? {
339
- width: b.getBoundingClientRect().width,
340
- height: b.getBoundingClientRect().height
341
- } : typeof window < "u" ? {
448
+ snapPoints,
449
+ activeSnapPoint
450
+ ]);
451
+ const shouldFade = snapPoints && snapPoints.length > 0 && (fadeFromIndex || fadeFromIndex === 0) && !Number.isNaN(fadeFromIndex) && snapPoints[fadeFromIndex] === activeSnapPoint || !snapPoints;
452
+ const snapPointsOffset = React__default.useMemo(() => {
453
+ const containerSize = container ? {
454
+ width: container.getBoundingClientRect().width,
455
+ height: container.getBoundingClientRect().height
456
+ } : typeof window !== "undefined" ? {
342
457
  width: window.innerWidth,
343
458
  height: window.innerHeight
344
459
  } : {
345
460
  width: 0,
346
461
  height: 0
347
462
  };
348
- var S;
349
- return (S = e == null ? void 0 : e.map((y) => {
350
- const N = typeof y == "string";
351
- let P = 0;
352
- if (N && (P = parseInt(y, 10)), C(u)) {
353
- const s = N ? P : p ? y * c.height : 0;
354
- return p ? u === "bottom" ? c.height - s : -c.height + s : s;
463
+ var _snapPoints_map;
464
+ return (_snapPoints_map = snapPoints == null ? void 0 : snapPoints.map((snapPoint) => {
465
+ const isPx = typeof snapPoint === "string";
466
+ let snapPointAsNumber = 0;
467
+ if (isPx) {
468
+ snapPointAsNumber = parseInt(snapPoint, 10);
469
+ }
470
+ if (isVertical(direction)) {
471
+ const height = isPx ? snapPointAsNumber : windowDimensions ? snapPoint * containerSize.height : 0;
472
+ if (windowDimensions) {
473
+ return direction === "bottom" ? containerSize.height - height : -containerSize.height + height;
474
+ }
475
+ return height;
355
476
  }
356
- const W = N ? P : p ? y * c.width : 0;
357
- return p ? u === "right" ? c.width - W : -c.width + W : W;
358
- })) != null ? S : [];
477
+ const width = isPx ? snapPointAsNumber : windowDimensions ? snapPoint * containerSize.width : 0;
478
+ if (windowDimensions) {
479
+ return direction === "right" ? containerSize.width - width : -containerSize.width + width;
480
+ }
481
+ return width;
482
+ })) != null ? _snapPoints_map : [];
359
483
  }, [
360
- e,
361
- p,
362
- b
363
- ]), M = r.useMemo(() => D !== null ? w == null ? void 0 : w[D] : null, [
364
- w,
365
- D
366
- ]), A = r.useCallback((c) => {
367
- var S;
368
- const y = (S = w == null ? void 0 : w.findIndex((N) => N === c)) != null ? S : null;
369
- g(y), $(o.current, {
370
- transition: `transform ${O.DURATION}s cubic-bezier(${O.EASE.join(",")})`,
371
- transform: C(u) ? `translate3d(0, ${c}px, 0)` : `translate3d(${c}px, 0, 0)`
372
- }), w && y !== w.length - 1 && a !== void 0 && y !== a && y < a ? $(i.current, {
373
- transition: `opacity ${O.DURATION}s cubic-bezier(${O.EASE.join(",")})`,
374
- opacity: "0"
375
- }) : $(i.current, {
376
- transition: `opacity ${O.DURATION}s cubic-bezier(${O.EASE.join(",")})`,
377
- opacity: "1"
378
- }), m(e == null ? void 0 : e[Math.max(y, 0)]);
484
+ snapPoints,
485
+ windowDimensions,
486
+ container
487
+ ]);
488
+ const activeSnapPointOffset = React__default.useMemo(() => activeSnapPointIndex !== null ? snapPointsOffset == null ? void 0 : snapPointsOffset[activeSnapPointIndex] : null, [
489
+ snapPointsOffset,
490
+ activeSnapPointIndex
491
+ ]);
492
+ const snapToPoint = React__default.useCallback((dimension) => {
493
+ var _snapPointsOffset_findIndex;
494
+ const newSnapPointIndex = (_snapPointsOffset_findIndex = snapPointsOffset == null ? void 0 : snapPointsOffset.findIndex((snapPointDim) => snapPointDim === dimension)) != null ? _snapPointsOffset_findIndex : null;
495
+ onSnapPointChange(newSnapPointIndex);
496
+ set(drawerRef.current, {
497
+ transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`,
498
+ transform: isVertical(direction) ? `translate3d(0, ${dimension}px, 0)` : `translate3d(${dimension}px, 0, 0)`
499
+ });
500
+ if (snapPointsOffset && newSnapPointIndex !== snapPointsOffset.length - 1 && fadeFromIndex !== void 0 && newSnapPointIndex !== fadeFromIndex && newSnapPointIndex < fadeFromIndex) {
501
+ set(overlayRef.current, {
502
+ transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`,
503
+ opacity: "0"
504
+ });
505
+ } else {
506
+ set(overlayRef.current, {
507
+ transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`,
508
+ opacity: "1"
509
+ });
510
+ }
511
+ setActiveSnapPoint(snapPoints == null ? void 0 : snapPoints[Math.max(newSnapPointIndex, 0)]);
379
512
  }, [
380
- o.current,
381
- e,
382
- w,
383
- a,
384
- i,
385
- m
513
+ drawerRef.current,
514
+ snapPoints,
515
+ snapPointsOffset,
516
+ fadeFromIndex,
517
+ overlayRef,
518
+ setActiveSnapPoint
386
519
  ]);
387
- r.useEffect(() => {
388
- if (h || t) {
389
- var c;
390
- const S = (c = e == null ? void 0 : e.findIndex((y) => y === t || y === h)) != null ? c : -1;
391
- w && S !== -1 && typeof w[S] == "number" && A(w[S]);
520
+ React__default.useEffect(() => {
521
+ if (activeSnapPoint || activeSnapPointProp) {
522
+ var _snapPoints_findIndex;
523
+ const newIndex = (_snapPoints_findIndex = snapPoints == null ? void 0 : snapPoints.findIndex((snapPoint) => snapPoint === activeSnapPointProp || snapPoint === activeSnapPoint)) != null ? _snapPoints_findIndex : -1;
524
+ if (snapPointsOffset && newIndex !== -1 && typeof snapPointsOffset[newIndex] === "number") {
525
+ snapToPoint(snapPointsOffset[newIndex]);
526
+ }
392
527
  }
393
528
  }, [
394
- h,
395
- t,
396
- e,
397
- w,
398
- A
529
+ activeSnapPoint,
530
+ activeSnapPointProp,
531
+ snapPoints,
532
+ snapPointsOffset,
533
+ snapToPoint
399
534
  ]);
400
- function d({ draggedDistance: c, closeDrawer: S, velocity: y, dismissible: N }) {
401
- if (a === void 0) return;
402
- const P = u === "bottom" || u === "right" ? (M ?? 0) - c : (M ?? 0) + c, W = D === a - 1, s = D === 0, F = c > 0;
403
- if (W && $(i.current, {
404
- transition: `opacity ${O.DURATION}s cubic-bezier(${O.EASE.join(",")})`
405
- }), !E && y > 2 && !F) {
406
- N ? S() : A(w[0]);
535
+ function onRelease({ draggedDistance, closeDrawer, velocity, dismissible }) {
536
+ if (fadeFromIndex === void 0) return;
537
+ const currentPosition = direction === "bottom" || direction === "right" ? (activeSnapPointOffset != null ? activeSnapPointOffset : 0) - draggedDistance : (activeSnapPointOffset != null ? activeSnapPointOffset : 0) + draggedDistance;
538
+ const isOverlaySnapPoint = activeSnapPointIndex === fadeFromIndex - 1;
539
+ const isFirst = activeSnapPointIndex === 0;
540
+ const hasDraggedUp = draggedDistance > 0;
541
+ if (isOverlaySnapPoint) {
542
+ set(overlayRef.current, {
543
+ transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`
544
+ });
545
+ }
546
+ if (!snapToSequentialPoint && velocity > 2 && !hasDraggedUp) {
547
+ if (dismissible) closeDrawer();
548
+ else snapToPoint(snapPointsOffset[0]);
407
549
  return;
408
550
  }
409
- if (!E && y > 2 && F && w && e) {
410
- A(w[e.length - 1]);
551
+ if (!snapToSequentialPoint && velocity > 2 && hasDraggedUp && snapPointsOffset && snapPoints) {
552
+ snapToPoint(snapPointsOffset[snapPoints.length - 1]);
411
553
  return;
412
554
  }
413
- const _ = w == null ? void 0 : w.reduce((I, q) => typeof I != "number" || typeof q != "number" ? I : Math.abs(q - P) < Math.abs(I - P) ? q : I), z = C(u) ? window.innerHeight : window.innerWidth;
414
- if (y > qt && Math.abs(c) < z * 0.4) {
415
- const I = F ? 1 : -1;
416
- if (I > 0 && L && e) {
417
- A(w[e.length - 1]);
555
+ const closestSnapPoint = snapPointsOffset == null ? void 0 : snapPointsOffset.reduce((prev, curr) => {
556
+ if (typeof prev !== "number" || typeof curr !== "number") return prev;
557
+ return Math.abs(curr - currentPosition) < Math.abs(prev - currentPosition) ? curr : prev;
558
+ });
559
+ const dim = isVertical(direction) ? window.innerHeight : window.innerWidth;
560
+ if (velocity > VELOCITY_THRESHOLD && Math.abs(draggedDistance) < dim * 0.4) {
561
+ const dragDirection = hasDraggedUp ? 1 : -1;
562
+ if (dragDirection > 0 && isLastSnapPoint && snapPoints) {
563
+ snapToPoint(snapPointsOffset[snapPoints.length - 1]);
418
564
  return;
419
565
  }
420
- if (s && I < 0 && N && S(), D === null) return;
421
- A(w[D + I]);
566
+ if (isFirst && dragDirection < 0 && dismissible) {
567
+ closeDrawer();
568
+ }
569
+ if (activeSnapPointIndex === null) return;
570
+ snapToPoint(snapPointsOffset[activeSnapPointIndex + dragDirection]);
422
571
  return;
423
572
  }
424
- A(_);
573
+ snapToPoint(closestSnapPoint);
425
574
  }
426
- function Y({ draggedDistance: c }) {
427
- if (M === null) return;
428
- const S = u === "bottom" || u === "right" ? M - c : M + c;
429
- (u === "bottom" || u === "right") && S < w[w.length - 1] || (u === "top" || u === "left") && S > w[w.length - 1] || $(o.current, {
430
- transform: C(u) ? `translate3d(0, ${S}px, 0)` : `translate3d(${S}px, 0, 0)`
575
+ function onDrag({ draggedDistance }) {
576
+ if (activeSnapPointOffset === null) return;
577
+ const newValue = direction === "bottom" || direction === "right" ? activeSnapPointOffset - draggedDistance : activeSnapPointOffset + draggedDistance;
578
+ if ((direction === "bottom" || direction === "right") && newValue < snapPointsOffset[snapPointsOffset.length - 1]) {
579
+ return;
580
+ }
581
+ if ((direction === "top" || direction === "left") && newValue > snapPointsOffset[snapPointsOffset.length - 1]) {
582
+ return;
583
+ }
584
+ set(drawerRef.current, {
585
+ transform: isVertical(direction) ? `translate3d(0, ${newValue}px, 0)` : `translate3d(${newValue}px, 0, 0)`
431
586
  });
432
587
  }
433
- function J(c, S) {
434
- if (!e || typeof D != "number" || !w || a === void 0) return null;
435
- const y = D === a - 1;
436
- if (D >= a && S)
588
+ function getPercentageDragged(absDraggedDistance, isDraggingDown) {
589
+ if (!snapPoints || typeof activeSnapPointIndex !== "number" || !snapPointsOffset || fadeFromIndex === void 0) return null;
590
+ const isOverlaySnapPoint = activeSnapPointIndex === fadeFromIndex - 1;
591
+ const isOverlaySnapPointOrHigher = activeSnapPointIndex >= fadeFromIndex;
592
+ if (isOverlaySnapPointOrHigher && isDraggingDown) {
437
593
  return 0;
438
- if (y && !S) return 1;
439
- if (!U && !y) return null;
440
- const P = y ? D + 1 : D - 1, W = y ? w[P] - w[P - 1] : w[P + 1] - w[P], s = c / Math.abs(W);
441
- return y ? 1 - s : s;
594
+ }
595
+ if (isOverlaySnapPoint && !isDraggingDown) return 1;
596
+ if (!shouldFade && !isOverlaySnapPoint) return null;
597
+ const targetSnapPointIndex = isOverlaySnapPoint ? activeSnapPointIndex + 1 : activeSnapPointIndex - 1;
598
+ const snapPointDistance = isOverlaySnapPoint ? snapPointsOffset[targetSnapPointIndex] - snapPointsOffset[targetSnapPointIndex - 1] : snapPointsOffset[targetSnapPointIndex + 1] - snapPointsOffset[targetSnapPointIndex];
599
+ const percentageDragged = absDraggedDistance / Math.abs(snapPointDistance);
600
+ if (isOverlaySnapPoint) {
601
+ return 1 - percentageDragged;
602
+ } else {
603
+ return percentageDragged;
604
+ }
442
605
  }
443
606
  return {
444
- isLastSnapPoint: L,
445
- activeSnapPoint: h,
446
- shouldFade: U,
447
- getPercentageDragged: J,
448
- setActiveSnapPoint: m,
449
- activeSnapPointIndex: D,
450
- onRelease: d,
451
- onDrag: Y,
452
- snapPointsOffset: w
607
+ isLastSnapPoint,
608
+ activeSnapPoint,
609
+ shouldFade,
610
+ getPercentageDragged,
611
+ setActiveSnapPoint,
612
+ activeSnapPointIndex,
613
+ onRelease,
614
+ onDrag,
615
+ snapPointsOffset
453
616
  };
454
617
  }
455
- const qe = () => () => {
618
+ const noop = () => () => {
456
619
  };
457
- function Xe() {
458
- const { direction: t, isOpen: n, shouldScaleBackground: e, setBackgroundColorOnScale: o, noBodyStyles: i } = rt(), a = r.useRef(null), g = Ee(() => document.body.style.backgroundColor, []);
459
- function u() {
460
- return (window.innerWidth - Ot) / window.innerWidth;
620
+ function useScaleBackground() {
621
+ const { direction, isOpen, shouldScaleBackground, setBackgroundColorOnScale, noBodyStyles } = useDrawerContext();
622
+ const timeoutIdRef = React__default.useRef(null);
623
+ const initialBackgroundColor = useMemo(() => document.body.style.backgroundColor, []);
624
+ function getScale() {
625
+ return (window.innerWidth - WINDOW_TOP_OFFSET) / window.innerWidth;
461
626
  }
462
- r.useEffect(() => {
463
- if (n && e) {
464
- a.current && clearTimeout(a.current);
465
- const b = document.querySelector("[data-vaul-drawer-wrapper]") || document.querySelector("[vaul-drawer-wrapper]");
466
- if (!b) return;
467
- We(o && !i ? Tt(document.body, {
627
+ React__default.useEffect(() => {
628
+ if (isOpen && shouldScaleBackground) {
629
+ if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);
630
+ const wrapper = document.querySelector("[data-vaul-drawer-wrapper]") || document.querySelector("[vaul-drawer-wrapper]");
631
+ if (!wrapper) return;
632
+ chain(setBackgroundColorOnScale && !noBodyStyles ? assignStyle(document.body, {
468
633
  background: "black"
469
- }) : qe, Tt(b, {
470
- transformOrigin: C(t) ? "top" : "left",
634
+ }) : noop, assignStyle(wrapper, {
635
+ transformOrigin: isVertical(direction) ? "top" : "left",
471
636
  transitionProperty: "transform, border-radius",
472
- transitionDuration: `${O.DURATION}s`,
473
- transitionTimingFunction: `cubic-bezier(${O.EASE.join(",")})`
637
+ transitionDuration: `${TRANSITIONS.DURATION}s`,
638
+ transitionTimingFunction: `cubic-bezier(${TRANSITIONS.EASE.join(",")})`
474
639
  }));
475
- const E = Tt(b, {
476
- borderRadius: `${Xt}px`,
640
+ const wrapperStylesCleanup = assignStyle(wrapper, {
641
+ borderRadius: `${BORDER_RADIUS}px`,
477
642
  overflow: "hidden",
478
- ...C(t) ? {
479
- transform: `scale(${u()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`
643
+ ...isVertical(direction) ? {
644
+ transform: `scale(${getScale()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`
480
645
  } : {
481
- transform: `scale(${u()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`
646
+ transform: `scale(${getScale()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`
482
647
  }
483
648
  });
484
649
  return () => {
485
- E(), a.current = window.setTimeout(() => {
486
- g ? document.body.style.background = g : document.body.style.removeProperty("background");
487
- }, O.DURATION * 1e3);
650
+ wrapperStylesCleanup();
651
+ timeoutIdRef.current = window.setTimeout(() => {
652
+ if (initialBackgroundColor) {
653
+ document.body.style.background = initialBackgroundColor;
654
+ } else {
655
+ document.body.style.removeProperty("background");
656
+ }
657
+ }, TRANSITIONS.DURATION * 1e3);
488
658
  };
489
659
  }
490
660
  }, [
491
- n,
492
- e,
493
- g
661
+ isOpen,
662
+ shouldScaleBackground,
663
+ initialBackgroundColor
494
664
  ]);
495
665
  }
496
- let ct = null;
497
- function Ke({ isOpen: t, modal: n, nested: e, hasBeenOpened: o, preventScrollRestoration: i, noBodyStyles: a }) {
498
- const [g, u] = r.useState(() => typeof window < "u" ? window.location.href : ""), b = r.useRef(0), E = r.useCallback(() => {
499
- if (kt() && ct === null && t && !a) {
500
- ct = {
666
+ let previousBodyPosition = null;
667
+ function usePositionFixed({ isOpen, modal, nested, hasBeenOpened, preventScrollRestoration, noBodyStyles }) {
668
+ const [activeUrl, setActiveUrl] = React__default.useState(() => typeof window !== "undefined" ? window.location.href : "");
669
+ const scrollPos = React__default.useRef(0);
670
+ const setPositionFixed = React__default.useCallback(() => {
671
+ if (!isSafari()) return;
672
+ if (previousBodyPosition === null && isOpen && !noBodyStyles) {
673
+ previousBodyPosition = {
501
674
  position: document.body.style.position,
502
675
  top: document.body.style.top,
503
676
  left: document.body.style.left,
504
677
  height: document.body.style.height,
505
678
  right: "unset"
506
679
  };
507
- const { scrollX: m, innerHeight: p } = window;
508
- document.body.style.setProperty("position", "fixed", "important"), Object.assign(document.body.style, {
509
- top: `${-b.current}px`,
510
- left: `${-m}px`,
680
+ const { scrollX, innerHeight } = window;
681
+ document.body.style.setProperty("position", "fixed", "important");
682
+ Object.assign(document.body.style, {
683
+ top: `${-scrollPos.current}px`,
684
+ left: `${-scrollX}px`,
511
685
  right: "0px",
512
686
  height: "auto"
513
- }), window.setTimeout(() => window.requestAnimationFrame(() => {
514
- const B = p - window.innerHeight;
515
- B && b.current >= p && (document.body.style.top = `${-(b.current + B)}px`);
687
+ });
688
+ window.setTimeout(() => window.requestAnimationFrame(() => {
689
+ const bottomBarHeight = innerHeight - window.innerHeight;
690
+ if (bottomBarHeight && scrollPos.current >= innerHeight) {
691
+ document.body.style.top = `${-(scrollPos.current + bottomBarHeight)}px`;
692
+ }
516
693
  }), 300);
517
694
  }
518
695
  }, [
519
- t
520
- ]), h = r.useCallback(() => {
521
- if (kt() && ct !== null && !a) {
522
- const m = -parseInt(document.body.style.top, 10), p = -parseInt(document.body.style.left, 10);
523
- Object.assign(document.body.style, ct), window.requestAnimationFrame(() => {
524
- if (i && g !== window.location.href) {
525
- u(window.location.href);
696
+ isOpen
697
+ ]);
698
+ const restorePositionSetting = React__default.useCallback(() => {
699
+ if (!isSafari()) return;
700
+ if (previousBodyPosition !== null && !noBodyStyles) {
701
+ const y = -parseInt(document.body.style.top, 10);
702
+ const x = -parseInt(document.body.style.left, 10);
703
+ Object.assign(document.body.style, previousBodyPosition);
704
+ window.requestAnimationFrame(() => {
705
+ if (preventScrollRestoration && activeUrl !== window.location.href) {
706
+ setActiveUrl(window.location.href);
526
707
  return;
527
708
  }
528
- window.scrollTo(p, m);
529
- }), ct = null;
709
+ window.scrollTo(x, y);
710
+ });
711
+ previousBodyPosition = null;
530
712
  }
531
713
  }, [
532
- g
714
+ activeUrl
533
715
  ]);
534
- return r.useEffect(() => {
535
- function m() {
536
- b.current = window.scrollY;
716
+ React__default.useEffect(() => {
717
+ function onScroll() {
718
+ scrollPos.current = window.scrollY;
537
719
  }
538
- return m(), window.addEventListener("scroll", m), () => {
539
- window.removeEventListener("scroll", m);
720
+ onScroll();
721
+ window.addEventListener("scroll", onScroll);
722
+ return () => {
723
+ window.removeEventListener("scroll", onScroll);
724
+ };
725
+ }, []);
726
+ React__default.useEffect(() => {
727
+ if (!modal) return;
728
+ return () => {
729
+ if (typeof document === "undefined") return;
730
+ const hasDrawerOpened = !!document.querySelector("[data-vaul-drawer]");
731
+ if (hasDrawerOpened) return;
732
+ restorePositionSetting();
540
733
  };
541
- }, []), r.useEffect(() => {
542
- if (n)
543
- return () => {
544
- typeof document > "u" || document.querySelector("[data-vaul-drawer]") || h();
545
- };
546
734
  }, [
547
- n,
548
- h
549
- ]), r.useEffect(() => {
550
- e || !o || (t ? (!window.matchMedia("(display-mode: standalone)").matches && E(), n || window.setTimeout(() => {
551
- h();
552
- }, 500)) : h());
735
+ modal,
736
+ restorePositionSetting
737
+ ]);
738
+ React__default.useEffect(() => {
739
+ if (nested || !hasBeenOpened) return;
740
+ if (isOpen) {
741
+ const isStandalone = window.matchMedia("(display-mode: standalone)").matches;
742
+ !isStandalone && setPositionFixed();
743
+ if (!modal) {
744
+ window.setTimeout(() => {
745
+ restorePositionSetting();
746
+ }, 500);
747
+ }
748
+ } else {
749
+ restorePositionSetting();
750
+ }
553
751
  }, [
554
- t,
555
- o,
556
- g,
557
- n,
558
- e,
559
- E,
560
- h
561
- ]), {
562
- restorePositionSetting: h
752
+ isOpen,
753
+ hasBeenOpened,
754
+ activeUrl,
755
+ modal,
756
+ nested,
757
+ setPositionFixed,
758
+ restorePositionSetting
759
+ ]);
760
+ return {
761
+ restorePositionSetting
563
762
  };
564
763
  }
565
- function Jt({ open: t, onOpenChange: n, children: e, onDrag: o, onRelease: i, snapPoints: a, shouldScaleBackground: g = !1, setBackgroundColorOnScale: u = !0, closeThreshold: b = ze, scrollLockTimeout: E = Ve, dismissible: h = !0, handleOnly: m = !1, fadeFromIndex: p = a && a.length - 1, activeSnapPoint: B, setActiveSnapPoint: L, fixed: D, modal: U = !0, onClose: w, nested: M, noBodyStyles: A = !1, direction: d = "bottom", defaultOpen: Y = !1, disablePreventScroll: J = !0, snapToSequentialPoint: c = !1, preventScrollRestoration: S = !1, repositionInputs: y = !0, onAnimationEnd: N, container: P, autoFocus: W = !1 }) {
566
- var s, F;
567
- const [_ = !1, z] = Gt({
568
- defaultProp: Y,
569
- prop: t,
570
- onChange: (l) => {
571
- n == null || n(l), !l && !M && le(), setTimeout(() => {
572
- N == null || N(l);
573
- }, O.DURATION * 1e3), l && !U && typeof window < "u" && window.requestAnimationFrame(() => {
764
+ function Root({ open: openProp, onOpenChange, children, onDrag: onDragProp, onRelease: onReleaseProp, snapPoints, shouldScaleBackground = false, setBackgroundColorOnScale = true, closeThreshold = CLOSE_THRESHOLD, scrollLockTimeout = SCROLL_LOCK_TIMEOUT, dismissible = true, handleOnly = false, fadeFromIndex = snapPoints && snapPoints.length - 1, activeSnapPoint: activeSnapPointProp, setActiveSnapPoint: setActiveSnapPointProp, fixed, modal = true, onClose, nested, noBodyStyles = false, direction = "bottom", defaultOpen = false, disablePreventScroll = true, snapToSequentialPoint = false, preventScrollRestoration = false, repositionInputs = true, onAnimationEnd, container, autoFocus = false }) {
765
+ var _drawerRef_current, _drawerRef_current1;
766
+ const [isOpen = false, setIsOpen] = useControllableState({
767
+ defaultProp: defaultOpen,
768
+ prop: openProp,
769
+ onChange: (o) => {
770
+ onOpenChange == null ? void 0 : onOpenChange(o);
771
+ if (!o && !nested) {
772
+ restorePositionSetting();
773
+ }
774
+ setTimeout(() => {
775
+ onAnimationEnd == null ? void 0 : onAnimationEnd(o);
776
+ }, TRANSITIONS.DURATION * 1e3);
777
+ if (o && !modal) {
778
+ if (typeof window !== "undefined") {
779
+ window.requestAnimationFrame(() => {
780
+ document.body.style.pointerEvents = "auto";
781
+ });
782
+ }
783
+ }
784
+ if (!o) {
574
785
  document.body.style.pointerEvents = "auto";
575
- }), l || (document.body.style.pointerEvents = "auto");
576
- }
577
- }), [I, q] = r.useState(!1), [X, at] = r.useState(!1), [ee, Ct] = r.useState(!1), tt = r.useRef(null), dt = r.useRef(null), ht = r.useRef(null), gt = r.useRef(null), ot = r.useRef(null), it = r.useRef(!1), vt = r.useRef(null), yt = r.useRef(0), et = r.useRef(!1), $t = r.useRef(!Y), At = r.useRef(0), f = r.useRef(null), Mt = r.useRef(((s = f.current) == null ? void 0 : s.getBoundingClientRect().height) || 0), Pt = r.useRef(((F = f.current) == null ? void 0 : F.getBoundingClientRect().width) || 0), bt = r.useRef(0), ne = r.useCallback((l) => {
578
- a && l === lt.length - 1 && (dt.current = /* @__PURE__ */ new Date());
579
- }, []), { activeSnapPoint: re, activeSnapPointIndex: nt, setActiveSnapPoint: It, onRelease: ae, snapPointsOffset: lt, onDrag: oe, shouldFade: Nt, getPercentageDragged: ie } = je({
580
- snapPoints: a,
581
- activeSnapPointProp: B,
582
- setActiveSnapPointProp: L,
583
- drawerRef: f,
584
- fadeFromIndex: p,
585
- overlayRef: tt,
586
- onSnapPointChange: ne,
587
- direction: d,
588
- container: P,
589
- snapToSequentialPoint: c
786
+ }
787
+ }
590
788
  });
591
- _e({
592
- isDisabled: !_ || X || !U || ee || !I || !y || !J
789
+ const [hasBeenOpened, setHasBeenOpened] = React__default.useState(false);
790
+ const [isDragging, setIsDragging] = React__default.useState(false);
791
+ const [justReleased, setJustReleased] = React__default.useState(false);
792
+ const overlayRef = React__default.useRef(null);
793
+ const openTime = React__default.useRef(null);
794
+ const dragStartTime = React__default.useRef(null);
795
+ const dragEndTime = React__default.useRef(null);
796
+ const lastTimeDragPrevented = React__default.useRef(null);
797
+ const isAllowedToDrag = React__default.useRef(false);
798
+ const nestedOpenChangeTimer = React__default.useRef(null);
799
+ const pointerStart = React__default.useRef(0);
800
+ const keyboardIsOpen = React__default.useRef(false);
801
+ const shouldAnimate = React__default.useRef(!defaultOpen);
802
+ const previousDiffFromInitial = React__default.useRef(0);
803
+ const drawerRef = React__default.useRef(null);
804
+ const drawerHeightRef = React__default.useRef(((_drawerRef_current = drawerRef.current) == null ? void 0 : _drawerRef_current.getBoundingClientRect().height) || 0);
805
+ const drawerWidthRef = React__default.useRef(((_drawerRef_current1 = drawerRef.current) == null ? void 0 : _drawerRef_current1.getBoundingClientRect().width) || 0);
806
+ const initialDrawerHeight = React__default.useRef(0);
807
+ const onSnapPointChange = React__default.useCallback((activeSnapPointIndex2) => {
808
+ if (snapPoints && activeSnapPointIndex2 === snapPointsOffset.length - 1) openTime.current = /* @__PURE__ */ new Date();
809
+ }, []);
810
+ const { activeSnapPoint, activeSnapPointIndex, setActiveSnapPoint, onRelease: onReleaseSnapPoints, snapPointsOffset, onDrag: onDragSnapPoints, shouldFade, getPercentageDragged: getSnapPointsPercentageDragged } = useSnapPoints({
811
+ snapPoints,
812
+ activeSnapPointProp,
813
+ setActiveSnapPointProp,
814
+ drawerRef,
815
+ fadeFromIndex,
816
+ overlayRef,
817
+ onSnapPointChange,
818
+ direction,
819
+ container,
820
+ snapToSequentialPoint
821
+ });
822
+ usePreventScroll({
823
+ isDisabled: !isOpen || isDragging || !modal || justReleased || !hasBeenOpened || !repositionInputs || !disablePreventScroll
593
824
  });
594
- const { restorePositionSetting: le } = Ke({
595
- isOpen: _,
596
- modal: U,
597
- nested: M ?? !1,
598
- hasBeenOpened: I,
599
- preventScrollRestoration: S,
600
- noBodyStyles: A
825
+ const { restorePositionSetting } = usePositionFixed({
826
+ isOpen,
827
+ modal,
828
+ nested: nested != null ? nested : false,
829
+ hasBeenOpened,
830
+ preventScrollRestoration,
831
+ noBodyStyles
601
832
  });
602
- function ft() {
603
- return (window.innerWidth - Ot) / window.innerWidth;
833
+ function getScale() {
834
+ return (window.innerWidth - WINDOW_TOP_OFFSET) / window.innerWidth;
604
835
  }
605
- function se(l) {
606
- var R, T;
607
- !h && !a || f.current && !f.current.contains(l.target) || (Mt.current = ((R = f.current) == null ? void 0 : R.getBoundingClientRect().height) || 0, Pt.current = ((T = f.current) == null ? void 0 : T.getBoundingClientRect().width) || 0, at(!0), ht.current = /* @__PURE__ */ new Date(), zt() && window.addEventListener("touchend", () => it.current = !1, {
608
- once: !0
609
- }), l.target.setPointerCapture(l.pointerId), yt.current = C(d) ? l.pageY : l.pageX);
836
+ function onPress(event) {
837
+ var _drawerRef_current2, _drawerRef_current12;
838
+ if (!dismissible && !snapPoints) return;
839
+ if (drawerRef.current && !drawerRef.current.contains(event.target)) return;
840
+ drawerHeightRef.current = ((_drawerRef_current2 = drawerRef.current) == null ? void 0 : _drawerRef_current2.getBoundingClientRect().height) || 0;
841
+ drawerWidthRef.current = ((_drawerRef_current12 = drawerRef.current) == null ? void 0 : _drawerRef_current12.getBoundingClientRect().width) || 0;
842
+ setIsDragging(true);
843
+ dragStartTime.current = /* @__PURE__ */ new Date();
844
+ if (isIOS()) {
845
+ window.addEventListener("touchend", () => isAllowedToDrag.current = false, {
846
+ once: true
847
+ });
848
+ }
849
+ event.target.setPointerCapture(event.pointerId);
850
+ pointerStart.current = isVertical(direction) ? event.pageY : event.pageX;
610
851
  }
611
- function _t(l, R) {
612
- var T;
613
- let v = l;
614
- const x = (T = window.getSelection()) == null ? void 0 : T.toString(), k = f.current ? wt(f.current, d) : null, H = /* @__PURE__ */ new Date();
615
- if (v.tagName === "SELECT" || v.hasAttribute("data-vaul-no-drag") || v.closest("[data-vaul-no-drag]"))
616
- return !1;
617
- if (d === "right" || d === "left")
618
- return !0;
619
- if (dt.current && H.getTime() - dt.current.getTime() < 500)
620
- return !1;
621
- if (k !== null && (d === "bottom" ? k > 0 : k < 0))
622
- return !0;
623
- if (x && x.length > 0)
624
- return !1;
625
- if (ot.current && H.getTime() - ot.current.getTime() < E && k === 0 || R)
626
- return ot.current = H, !1;
627
- for (; v; ) {
628
- if (v.scrollHeight > v.clientHeight) {
629
- if (v.scrollTop !== 0)
630
- return ot.current = /* @__PURE__ */ new Date(), !1;
631
- if (v.getAttribute("role") === "dialog")
632
- return !0;
852
+ function shouldDrag(el, isDraggingInDirection) {
853
+ var _window_getSelection;
854
+ let element = el;
855
+ const highlightedText = (_window_getSelection = window.getSelection()) == null ? void 0 : _window_getSelection.toString();
856
+ const swipeAmount = drawerRef.current ? getTranslate(drawerRef.current, direction) : null;
857
+ const date = /* @__PURE__ */ new Date();
858
+ if (element.tagName === "SELECT") {
859
+ return false;
860
+ }
861
+ if (element.hasAttribute("data-vaul-no-drag") || element.closest("[data-vaul-no-drag]")) {
862
+ return false;
863
+ }
864
+ if (direction === "right" || direction === "left") {
865
+ return true;
866
+ }
867
+ if (openTime.current && date.getTime() - openTime.current.getTime() < 500) {
868
+ return false;
869
+ }
870
+ if (swipeAmount !== null) {
871
+ if (direction === "bottom" ? swipeAmount > 0 : swipeAmount < 0) {
872
+ return true;
873
+ }
874
+ }
875
+ if (highlightedText && highlightedText.length > 0) {
876
+ return false;
877
+ }
878
+ if (lastTimeDragPrevented.current && date.getTime() - lastTimeDragPrevented.current.getTime() < scrollLockTimeout && swipeAmount === 0) {
879
+ lastTimeDragPrevented.current = date;
880
+ return false;
881
+ }
882
+ if (isDraggingInDirection) {
883
+ lastTimeDragPrevented.current = date;
884
+ return false;
885
+ }
886
+ while (element) {
887
+ if (element.scrollHeight > element.clientHeight) {
888
+ if (element.scrollTop !== 0) {
889
+ lastTimeDragPrevented.current = /* @__PURE__ */ new Date();
890
+ return false;
891
+ }
892
+ if (element.getAttribute("role") === "dialog") {
893
+ return true;
894
+ }
633
895
  }
634
- v = v.parentNode;
896
+ element = element.parentNode;
635
897
  }
636
- return !0;
898
+ return true;
637
899
  }
638
- function ue(l) {
639
- if (f.current && X) {
640
- const R = d === "bottom" || d === "right" ? 1 : -1, T = (yt.current - (C(d) ? l.pageY : l.pageX)) * R, v = T > 0, x = a && !h && !v;
641
- if (x && nt === 0) return;
642
- const k = Math.abs(T), H = document.querySelector("[data-vaul-drawer-wrapper]"), K = d === "bottom" || d === "top" ? Mt.current : Pt.current;
643
- let V = k / K;
644
- const Q = ie(k, v);
645
- if (Q !== null && (V = Q), x && V >= 1 || !it.current && !_t(l.target, v)) return;
646
- if (f.current.classList.add(Et), it.current = !0, $(f.current, {
900
+ function onDrag(event) {
901
+ if (!drawerRef.current) {
902
+ return;
903
+ }
904
+ if (isDragging) {
905
+ const directionMultiplier = direction === "bottom" || direction === "right" ? 1 : -1;
906
+ const draggedDistance = (pointerStart.current - (isVertical(direction) ? event.pageY : event.pageX)) * directionMultiplier;
907
+ const isDraggingInDirection = draggedDistance > 0;
908
+ const noCloseSnapPointsPreCondition = snapPoints && !dismissible && !isDraggingInDirection;
909
+ if (noCloseSnapPointsPreCondition && activeSnapPointIndex === 0) return;
910
+ const absDraggedDistance = Math.abs(draggedDistance);
911
+ const wrapper = document.querySelector("[data-vaul-drawer-wrapper]");
912
+ const drawerDimension = direction === "bottom" || direction === "top" ? drawerHeightRef.current : drawerWidthRef.current;
913
+ let percentageDragged = absDraggedDistance / drawerDimension;
914
+ const snapPointPercentageDragged = getSnapPointsPercentageDragged(absDraggedDistance, isDraggingInDirection);
915
+ if (snapPointPercentageDragged !== null) {
916
+ percentageDragged = snapPointPercentageDragged;
917
+ }
918
+ if (noCloseSnapPointsPreCondition && percentageDragged >= 1) {
919
+ return;
920
+ }
921
+ if (!isAllowedToDrag.current && !shouldDrag(event.target, isDraggingInDirection)) return;
922
+ drawerRef.current.classList.add(DRAG_CLASS);
923
+ isAllowedToDrag.current = true;
924
+ set(drawerRef.current, {
647
925
  transition: "none"
648
- }), $(tt.current, {
926
+ });
927
+ set(overlayRef.current, {
649
928
  transition: "none"
650
- }), a && oe({
651
- draggedDistance: T
652
- }), v && !a) {
653
- const j = Fe(T), mt = Math.min(j * -1, 0) * R;
654
- $(f.current, {
655
- transform: C(d) ? `translate3d(0, ${mt}px, 0)` : `translate3d(${mt}px, 0, 0)`
929
+ });
930
+ if (snapPoints) {
931
+ onDragSnapPoints({
932
+ draggedDistance
933
+ });
934
+ }
935
+ if (isDraggingInDirection && !snapPoints) {
936
+ const dampenedDraggedDistance = dampenValue(draggedDistance);
937
+ const translateValue = Math.min(dampenedDraggedDistance * -1, 0) * directionMultiplier;
938
+ set(drawerRef.current, {
939
+ transform: isVertical(direction) ? `translate3d(0, ${translateValue}px, 0)` : `translate3d(${translateValue}px, 0, 0)`
656
940
  });
657
941
  return;
658
942
  }
659
- const G = 1 - V;
660
- if ((Nt || p && nt === p - 1) && (o == null || o(l, V), $(tt.current, {
661
- opacity: `${G}`,
662
- transition: "none"
663
- }, !0)), H && tt.current && g) {
664
- const j = Math.min(ft() + V * (1 - ft()), 1), mt = 8 - V * 8, Lt = Math.max(0, 14 - V * 14);
665
- $(H, {
666
- borderRadius: `${mt}px`,
667
- transform: C(d) ? `scale(${j}) translate3d(0, ${Lt}px, 0)` : `scale(${j}) translate3d(${Lt}px, 0, 0)`,
943
+ const opacityValue = 1 - percentageDragged;
944
+ if (shouldFade || fadeFromIndex && activeSnapPointIndex === fadeFromIndex - 1) {
945
+ onDragProp == null ? void 0 : onDragProp(event, percentageDragged);
946
+ set(overlayRef.current, {
947
+ opacity: `${opacityValue}`,
668
948
  transition: "none"
669
- }, !0);
949
+ }, true);
670
950
  }
671
- if (!a) {
672
- const j = k * R;
673
- $(f.current, {
674
- transform: C(d) ? `translate3d(0, ${j}px, 0)` : `translate3d(${j}px, 0, 0)`
951
+ if (wrapper && overlayRef.current && shouldScaleBackground) {
952
+ const scaleValue = Math.min(getScale() + percentageDragged * (1 - getScale()), 1);
953
+ const borderRadiusValue = 8 - percentageDragged * 8;
954
+ const translateValue = Math.max(0, 14 - percentageDragged * 14);
955
+ set(wrapper, {
956
+ borderRadius: `${borderRadiusValue}px`,
957
+ transform: isVertical(direction) ? `scale(${scaleValue}) translate3d(0, ${translateValue}px, 0)` : `scale(${scaleValue}) translate3d(${translateValue}px, 0, 0)`,
958
+ transition: "none"
959
+ }, true);
960
+ }
961
+ if (!snapPoints) {
962
+ const translateValue = absDraggedDistance * directionMultiplier;
963
+ set(drawerRef.current, {
964
+ transform: isVertical(direction) ? `translate3d(0, ${translateValue}px, 0)` : `translate3d(${translateValue}px, 0, 0)`
675
965
  });
676
966
  }
677
967
  }
678
968
  }
679
- r.useEffect(() => {
969
+ React__default.useEffect(() => {
680
970
  window.requestAnimationFrame(() => {
681
- $t.current = !0;
971
+ shouldAnimate.current = true;
682
972
  });
683
- }, []), r.useEffect(() => {
684
- var l;
685
- function R() {
686
- if (!f.current || !y) return;
687
- const T = document.activeElement;
688
- if (Dt(T) || et.current) {
689
- var v;
690
- const x = ((v = window.visualViewport) == null ? void 0 : v.height) || 0, k = window.innerHeight;
691
- let H = k - x;
692
- const K = f.current.getBoundingClientRect().height || 0, V = K > k * 0.8;
693
- bt.current || (bt.current = K);
694
- const Q = f.current.getBoundingClientRect().top;
695
- if (Math.abs(At.current - H) > 60 && (et.current = !et.current), a && a.length > 0 && lt && nt) {
696
- const G = lt[nt] || 0;
697
- H += G;
973
+ }, []);
974
+ React__default.useEffect(() => {
975
+ var _window_visualViewport;
976
+ function onVisualViewportChange() {
977
+ if (!drawerRef.current || !repositionInputs) return;
978
+ const focusedElement = document.activeElement;
979
+ if (isInput(focusedElement) || keyboardIsOpen.current) {
980
+ var _window_visualViewport2;
981
+ const visualViewportHeight = ((_window_visualViewport2 = window.visualViewport) == null ? void 0 : _window_visualViewport2.height) || 0;
982
+ const totalHeight = window.innerHeight;
983
+ let diffFromInitial = totalHeight - visualViewportHeight;
984
+ const drawerHeight = drawerRef.current.getBoundingClientRect().height || 0;
985
+ const isTallEnough = drawerHeight > totalHeight * 0.8;
986
+ if (!initialDrawerHeight.current) {
987
+ initialDrawerHeight.current = drawerHeight;
988
+ }
989
+ const offsetFromTop = drawerRef.current.getBoundingClientRect().top;
990
+ if (Math.abs(previousDiffFromInitial.current - diffFromInitial) > 60) {
991
+ keyboardIsOpen.current = !keyboardIsOpen.current;
992
+ }
993
+ if (snapPoints && snapPoints.length > 0 && snapPointsOffset && activeSnapPointIndex) {
994
+ const activeSnapPointHeight = snapPointsOffset[activeSnapPointIndex] || 0;
995
+ diffFromInitial += activeSnapPointHeight;
996
+ }
997
+ previousDiffFromInitial.current = diffFromInitial;
998
+ if (drawerHeight > visualViewportHeight || keyboardIsOpen.current) {
999
+ const height = drawerRef.current.getBoundingClientRect().height;
1000
+ let newDrawerHeight = height;
1001
+ if (height > visualViewportHeight) {
1002
+ newDrawerHeight = visualViewportHeight - (isTallEnough ? offsetFromTop : WINDOW_TOP_OFFSET);
1003
+ }
1004
+ if (fixed) {
1005
+ drawerRef.current.style.height = `${height - Math.max(diffFromInitial, 0)}px`;
1006
+ } else {
1007
+ drawerRef.current.style.height = `${Math.max(newDrawerHeight, visualViewportHeight - offsetFromTop)}px`;
1008
+ }
1009
+ } else if (!isMobileFirefox()) {
1010
+ drawerRef.current.style.height = `${initialDrawerHeight.current}px`;
1011
+ }
1012
+ if (snapPoints && snapPoints.length > 0 && !keyboardIsOpen.current) {
1013
+ drawerRef.current.style.bottom = `0px`;
1014
+ } else {
1015
+ drawerRef.current.style.bottom = `${Math.max(diffFromInitial, 0)}px`;
698
1016
  }
699
- if (At.current = H, K > x || et.current) {
700
- const G = f.current.getBoundingClientRect().height;
701
- let j = G;
702
- G > x && (j = x - (V ? Q : Ot)), D ? f.current.style.height = `${G - Math.max(H, 0)}px` : f.current.style.height = `${Math.max(j, x - Q)}px`;
703
- } else Ce() || (f.current.style.height = `${bt.current}px`);
704
- a && a.length > 0 && !et.current ? f.current.style.bottom = "0px" : f.current.style.bottom = `${Math.max(H, 0)}px`;
705
1017
  }
706
1018
  }
707
- return (l = window.visualViewport) == null || l.addEventListener("resize", R), () => {
708
- var T;
709
- return (T = window.visualViewport) == null ? void 0 : T.removeEventListener("resize", R);
1019
+ (_window_visualViewport = window.visualViewport) == null ? void 0 : _window_visualViewport.addEventListener("resize", onVisualViewportChange);
1020
+ return () => {
1021
+ var _window_visualViewport2;
1022
+ return (_window_visualViewport2 = window.visualViewport) == null ? void 0 : _window_visualViewport2.removeEventListener("resize", onVisualViewportChange);
710
1023
  };
711
1024
  }, [
712
- nt,
713
- a,
714
- lt
1025
+ activeSnapPointIndex,
1026
+ snapPoints,
1027
+ snapPointsOffset
715
1028
  ]);
716
- function st(l) {
717
- ce(), w == null || w(), l || z(!1), setTimeout(() => {
718
- a && It(a[0]);
719
- }, O.DURATION * 1e3);
1029
+ function closeDrawer(fromWithin) {
1030
+ cancelDrag();
1031
+ onClose == null ? void 0 : onClose();
1032
+ if (!fromWithin) {
1033
+ setIsOpen(false);
1034
+ }
1035
+ setTimeout(() => {
1036
+ if (snapPoints) {
1037
+ setActiveSnapPoint(snapPoints[0]);
1038
+ }
1039
+ }, TRANSITIONS.DURATION * 1e3);
720
1040
  }
721
- function Ht() {
722
- if (!f.current) return;
723
- const l = document.querySelector("[data-vaul-drawer-wrapper]"), R = wt(f.current, d);
724
- $(f.current, {
1041
+ function resetDrawer() {
1042
+ if (!drawerRef.current) return;
1043
+ const wrapper = document.querySelector("[data-vaul-drawer-wrapper]");
1044
+ const currentSwipeAmount = getTranslate(drawerRef.current, direction);
1045
+ set(drawerRef.current, {
725
1046
  transform: "translate3d(0, 0, 0)",
726
- transition: `transform ${O.DURATION}s cubic-bezier(${O.EASE.join(",")})`
727
- }), $(tt.current, {
728
- transition: `opacity ${O.DURATION}s cubic-bezier(${O.EASE.join(",")})`,
1047
+ transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`
1048
+ });
1049
+ set(overlayRef.current, {
1050
+ transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`,
729
1051
  opacity: "1"
730
- }), g && R && R > 0 && _ && $(l, {
731
- borderRadius: `${Xt}px`,
732
- overflow: "hidden",
733
- ...C(d) ? {
734
- transform: `scale(${ft()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,
735
- transformOrigin: "top"
736
- } : {
737
- transform: `scale(${ft()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,
738
- transformOrigin: "left"
739
- },
740
- transitionProperty: "transform, border-radius",
741
- transitionDuration: `${O.DURATION}s`,
742
- transitionTimingFunction: `cubic-bezier(${O.EASE.join(",")})`
743
- }, !0);
1052
+ });
1053
+ if (shouldScaleBackground && currentSwipeAmount && currentSwipeAmount > 0 && isOpen) {
1054
+ set(wrapper, {
1055
+ borderRadius: `${BORDER_RADIUS}px`,
1056
+ overflow: "hidden",
1057
+ ...isVertical(direction) ? {
1058
+ transform: `scale(${getScale()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,
1059
+ transformOrigin: "top"
1060
+ } : {
1061
+ transform: `scale(${getScale()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,
1062
+ transformOrigin: "left"
1063
+ },
1064
+ transitionProperty: "transform, border-radius",
1065
+ transitionDuration: `${TRANSITIONS.DURATION}s`,
1066
+ transitionTimingFunction: `cubic-bezier(${TRANSITIONS.EASE.join(",")})`
1067
+ }, true);
1068
+ }
744
1069
  }
745
- function ce() {
746
- !X || !f.current || (f.current.classList.remove(Et), it.current = !1, at(!1), gt.current = /* @__PURE__ */ new Date());
1070
+ function cancelDrag() {
1071
+ if (!isDragging || !drawerRef.current) return;
1072
+ drawerRef.current.classList.remove(DRAG_CLASS);
1073
+ isAllowedToDrag.current = false;
1074
+ setIsDragging(false);
1075
+ dragEndTime.current = /* @__PURE__ */ new Date();
747
1076
  }
748
- function de(l) {
749
- if (!X || !f.current) return;
750
- f.current.classList.remove(Et), it.current = !1, at(!1), gt.current = /* @__PURE__ */ new Date();
751
- const R = wt(f.current, d);
752
- if (!l || !_t(l.target, !1) || !R || Number.isNaN(R) || ht.current === null) return;
753
- const T = gt.current.getTime() - ht.current.getTime(), v = yt.current - (C(d) ? l.pageY : l.pageX), x = Math.abs(v) / T;
754
- if (x > 0.05 && (Ct(!0), setTimeout(() => {
755
- Ct(!1);
756
- }, 200)), a) {
757
- ae({
758
- draggedDistance: v * (d === "bottom" || d === "right" ? 1 : -1),
759
- closeDrawer: st,
760
- velocity: x,
761
- dismissible: h
762
- }), i == null || i(l, !0);
1077
+ function onRelease(event) {
1078
+ if (!isDragging || !drawerRef.current) return;
1079
+ drawerRef.current.classList.remove(DRAG_CLASS);
1080
+ isAllowedToDrag.current = false;
1081
+ setIsDragging(false);
1082
+ dragEndTime.current = /* @__PURE__ */ new Date();
1083
+ const swipeAmount = getTranslate(drawerRef.current, direction);
1084
+ if (!event || !shouldDrag(event.target, false) || !swipeAmount || Number.isNaN(swipeAmount)) return;
1085
+ if (dragStartTime.current === null) return;
1086
+ const timeTaken = dragEndTime.current.getTime() - dragStartTime.current.getTime();
1087
+ const distMoved = pointerStart.current - (isVertical(direction) ? event.pageY : event.pageX);
1088
+ const velocity = Math.abs(distMoved) / timeTaken;
1089
+ if (velocity > 0.05) {
1090
+ setJustReleased(true);
1091
+ setTimeout(() => {
1092
+ setJustReleased(false);
1093
+ }, 200);
1094
+ }
1095
+ if (snapPoints) {
1096
+ const directionMultiplier = direction === "bottom" || direction === "right" ? 1 : -1;
1097
+ onReleaseSnapPoints({
1098
+ draggedDistance: distMoved * directionMultiplier,
1099
+ closeDrawer,
1100
+ velocity,
1101
+ dismissible
1102
+ });
1103
+ onReleaseProp == null ? void 0 : onReleaseProp(event, true);
763
1104
  return;
764
1105
  }
765
- if (d === "bottom" || d === "right" ? v > 0 : v < 0) {
766
- Ht(), i == null || i(l, !0);
1106
+ if (direction === "bottom" || direction === "right" ? distMoved > 0 : distMoved < 0) {
1107
+ resetDrawer();
1108
+ onReleaseProp == null ? void 0 : onReleaseProp(event, true);
767
1109
  return;
768
1110
  }
769
- if (x > qt) {
770
- st(), i == null || i(l, !1);
1111
+ if (velocity > VELOCITY_THRESHOLD) {
1112
+ closeDrawer();
1113
+ onReleaseProp == null ? void 0 : onReleaseProp(event, false);
771
1114
  return;
772
1115
  }
773
- var k;
774
- const H = Math.min((k = f.current.getBoundingClientRect().height) != null ? k : 0, window.innerHeight);
775
- var K;
776
- const V = Math.min((K = f.current.getBoundingClientRect().width) != null ? K : 0, window.innerWidth), Q = d === "left" || d === "right";
777
- if (Math.abs(R) >= (Q ? V : H) * b) {
778
- st(), i == null || i(l, !1);
1116
+ var _drawerRef_current_getBoundingClientRect_height;
1117
+ const visibleDrawerHeight = Math.min((_drawerRef_current_getBoundingClientRect_height = drawerRef.current.getBoundingClientRect().height) != null ? _drawerRef_current_getBoundingClientRect_height : 0, window.innerHeight);
1118
+ var _drawerRef_current_getBoundingClientRect_width;
1119
+ const visibleDrawerWidth = Math.min((_drawerRef_current_getBoundingClientRect_width = drawerRef.current.getBoundingClientRect().width) != null ? _drawerRef_current_getBoundingClientRect_width : 0, window.innerWidth);
1120
+ const isHorizontalSwipe = direction === "left" || direction === "right";
1121
+ if (Math.abs(swipeAmount) >= (isHorizontalSwipe ? visibleDrawerWidth : visibleDrawerHeight) * closeThreshold) {
1122
+ closeDrawer();
1123
+ onReleaseProp == null ? void 0 : onReleaseProp(event, false);
779
1124
  return;
780
1125
  }
781
- i == null || i(l, !0), Ht();
1126
+ onReleaseProp == null ? void 0 : onReleaseProp(event, true);
1127
+ resetDrawer();
782
1128
  }
783
- r.useEffect(() => (_ && ($(document.documentElement, {
784
- scrollBehavior: "auto"
785
- }), dt.current = /* @__PURE__ */ new Date()), () => {
786
- Ue(document.documentElement, "scrollBehavior");
787
- }), [
788
- _
789
- ]);
790
- function fe(l) {
791
- const R = l ? (window.innerWidth - Z) / window.innerWidth : 1, T = l ? -Z : 0;
792
- vt.current && window.clearTimeout(vt.current), $(f.current, {
793
- transition: `transform ${O.DURATION}s cubic-bezier(${O.EASE.join(",")})`,
794
- transform: C(d) ? `scale(${R}) translate3d(0, ${T}px, 0)` : `scale(${R}) translate3d(${T}px, 0, 0)`
795
- }), !l && f.current && (vt.current = setTimeout(() => {
796
- const v = wt(f.current, d);
797
- $(f.current, {
798
- transition: "none",
799
- transform: C(d) ? `translate3d(0, ${v}px, 0)` : `translate3d(${v}px, 0, 0)`
1129
+ React__default.useEffect(() => {
1130
+ if (isOpen) {
1131
+ set(document.documentElement, {
1132
+ scrollBehavior: "auto"
800
1133
  });
801
- }, 500));
1134
+ openTime.current = /* @__PURE__ */ new Date();
1135
+ }
1136
+ return () => {
1137
+ reset(document.documentElement, "scrollBehavior");
1138
+ };
1139
+ }, [
1140
+ isOpen
1141
+ ]);
1142
+ function onNestedOpenChange(o) {
1143
+ const scale = o ? (window.innerWidth - NESTED_DISPLACEMENT) / window.innerWidth : 1;
1144
+ const initialTranslate = o ? -NESTED_DISPLACEMENT : 0;
1145
+ if (nestedOpenChangeTimer.current) {
1146
+ window.clearTimeout(nestedOpenChangeTimer.current);
1147
+ }
1148
+ set(drawerRef.current, {
1149
+ transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`,
1150
+ transform: isVertical(direction) ? `scale(${scale}) translate3d(0, ${initialTranslate}px, 0)` : `scale(${scale}) translate3d(${initialTranslate}px, 0, 0)`
1151
+ });
1152
+ if (!o && drawerRef.current) {
1153
+ nestedOpenChangeTimer.current = setTimeout(() => {
1154
+ const translateValue = getTranslate(drawerRef.current, direction);
1155
+ set(drawerRef.current, {
1156
+ transition: "none",
1157
+ transform: isVertical(direction) ? `translate3d(0, ${translateValue}px, 0)` : `translate3d(${translateValue}px, 0, 0)`
1158
+ });
1159
+ }, 500);
1160
+ }
802
1161
  }
803
- function me(l, R) {
804
- if (R < 0) return;
805
- const T = (window.innerWidth - Z) / window.innerWidth, v = T + R * (1 - T), x = -Z + R * Z;
806
- $(f.current, {
807
- transform: C(d) ? `scale(${v}) translate3d(0, ${x}px, 0)` : `scale(${v}) translate3d(${x}px, 0, 0)`,
1162
+ function onNestedDrag(_event, percentageDragged) {
1163
+ if (percentageDragged < 0) return;
1164
+ const initialScale = (window.innerWidth - NESTED_DISPLACEMENT) / window.innerWidth;
1165
+ const newScale = initialScale + percentageDragged * (1 - initialScale);
1166
+ const newTranslate = -NESTED_DISPLACEMENT + percentageDragged * NESTED_DISPLACEMENT;
1167
+ set(drawerRef.current, {
1168
+ transform: isVertical(direction) ? `scale(${newScale}) translate3d(0, ${newTranslate}px, 0)` : `scale(${newScale}) translate3d(${newTranslate}px, 0, 0)`,
808
1169
  transition: "none"
809
1170
  });
810
1171
  }
811
- function pe(l, R) {
812
- const T = C(d) ? window.innerHeight : window.innerWidth, v = R ? (T - Z) / T : 1, x = R ? -Z : 0;
813
- R && $(f.current, {
814
- transition: `transform ${O.DURATION}s cubic-bezier(${O.EASE.join(",")})`,
815
- transform: C(d) ? `scale(${v}) translate3d(0, ${x}px, 0)` : `scale(${v}) translate3d(${x}px, 0, 0)`
816
- });
1172
+ function onNestedRelease(_event, o) {
1173
+ const dim = isVertical(direction) ? window.innerHeight : window.innerWidth;
1174
+ const scale = o ? (dim - NESTED_DISPLACEMENT) / dim : 1;
1175
+ const translate = o ? -NESTED_DISPLACEMENT : 0;
1176
+ if (o) {
1177
+ set(drawerRef.current, {
1178
+ transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`,
1179
+ transform: isVertical(direction) ? `scale(${scale}) translate3d(0, ${translate}px, 0)` : `scale(${scale}) translate3d(${translate}px, 0, 0)`
1180
+ });
1181
+ }
817
1182
  }
818
- return r.useEffect(() => {
819
- U || window.requestAnimationFrame(() => {
820
- document.body.style.pointerEvents = "auto";
821
- });
1183
+ React__default.useEffect(() => {
1184
+ if (!modal) {
1185
+ window.requestAnimationFrame(() => {
1186
+ document.body.style.pointerEvents = "auto";
1187
+ });
1188
+ }
822
1189
  }, [
823
- U
824
- ]), /* @__PURE__ */ r.createElement(Se, {
825
- defaultOpen: Y,
826
- onOpenChange: (l) => {
827
- !h && !l || (l ? q(!0) : st(!0), z(l));
1190
+ modal
1191
+ ]);
1192
+ return /* @__PURE__ */ React__default.createElement(Root$1, {
1193
+ defaultOpen,
1194
+ onOpenChange: (open) => {
1195
+ if (!dismissible && !open) return;
1196
+ if (open) {
1197
+ setHasBeenOpened(true);
1198
+ } else {
1199
+ closeDrawer(true);
1200
+ }
1201
+ setIsOpen(open);
828
1202
  },
829
- open: _
830
- }, /* @__PURE__ */ r.createElement(Wt.Provider, {
1203
+ open: isOpen
1204
+ }, /* @__PURE__ */ React__default.createElement(DrawerContext.Provider, {
831
1205
  value: {
832
- activeSnapPoint: re,
833
- snapPoints: a,
834
- setActiveSnapPoint: It,
835
- drawerRef: f,
836
- overlayRef: tt,
837
- onOpenChange: n,
838
- onPress: se,
839
- onRelease: de,
840
- onDrag: ue,
841
- dismissible: h,
842
- shouldAnimate: $t,
843
- handleOnly: m,
844
- isOpen: _,
845
- isDragging: X,
846
- shouldFade: Nt,
847
- closeDrawer: st,
848
- onNestedDrag: me,
849
- onNestedOpenChange: fe,
850
- onNestedRelease: pe,
851
- keyboardIsOpen: et,
852
- modal: U,
853
- snapPointsOffset: lt,
854
- activeSnapPointIndex: nt,
855
- direction: d,
856
- shouldScaleBackground: g,
857
- setBackgroundColorOnScale: u,
858
- noBodyStyles: A,
859
- container: P,
860
- autoFocus: W
861
- }
862
- }, e));
1206
+ activeSnapPoint,
1207
+ snapPoints,
1208
+ setActiveSnapPoint,
1209
+ drawerRef,
1210
+ overlayRef,
1211
+ onOpenChange,
1212
+ onPress,
1213
+ onRelease,
1214
+ onDrag,
1215
+ dismissible,
1216
+ shouldAnimate,
1217
+ handleOnly,
1218
+ isOpen,
1219
+ isDragging,
1220
+ shouldFade,
1221
+ closeDrawer,
1222
+ onNestedDrag,
1223
+ onNestedOpenChange,
1224
+ onNestedRelease,
1225
+ keyboardIsOpen,
1226
+ modal,
1227
+ snapPointsOffset,
1228
+ activeSnapPointIndex,
1229
+ direction,
1230
+ shouldScaleBackground,
1231
+ setBackgroundColorOnScale,
1232
+ noBodyStyles,
1233
+ container,
1234
+ autoFocus
1235
+ }
1236
+ }, children));
863
1237
  }
864
- const Qt = /* @__PURE__ */ r.forwardRef(function({ ...t }, n) {
865
- const { overlayRef: e, snapPoints: o, onRelease: i, shouldFade: a, isOpen: g, modal: u, shouldAnimate: b } = rt(), E = Yt(n, e), h = o && o.length > 0;
866
- if (!u)
1238
+ const Overlay = /* @__PURE__ */ React__default.forwardRef(function({ ...rest }, ref) {
1239
+ const { overlayRef, snapPoints, onRelease, shouldFade, isOpen, modal, shouldAnimate } = useDrawerContext();
1240
+ const composedRef = useComposedRefs(ref, overlayRef);
1241
+ const hasSnapPoints = snapPoints && snapPoints.length > 0;
1242
+ if (!modal) {
867
1243
  return null;
868
- const m = r.useCallback((p) => i(p), [
869
- i
1244
+ }
1245
+ const onMouseUp = React__default.useCallback((event) => onRelease(event), [
1246
+ onRelease
870
1247
  ]);
871
- return /* @__PURE__ */ r.createElement(we, {
872
- onMouseUp: m,
873
- ref: E,
1248
+ return /* @__PURE__ */ React__default.createElement(Overlay$1, {
1249
+ onMouseUp,
1250
+ ref: composedRef,
874
1251
  "data-vaul-overlay": "",
875
- "data-vaul-snap-points": g && h ? "true" : "false",
876
- "data-vaul-snap-points-overlay": g && a ? "true" : "false",
877
- "data-vaul-animate": b != null && b.current ? "true" : "false",
878
- ...t
1252
+ "data-vaul-snap-points": isOpen && hasSnapPoints ? "true" : "false",
1253
+ "data-vaul-snap-points-overlay": isOpen && shouldFade ? "true" : "false",
1254
+ "data-vaul-animate": (shouldAnimate == null ? void 0 : shouldAnimate.current) ? "true" : "false",
1255
+ ...rest
879
1256
  });
880
1257
  });
881
- Qt.displayName = "Drawer.Overlay";
882
- const Zt = /* @__PURE__ */ r.forwardRef(function({ onPointerDownOutside: t, style: n, onOpenAutoFocus: e, ...o }, i) {
883
- const { drawerRef: a, onPress: g, onRelease: u, onDrag: b, keyboardIsOpen: E, snapPointsOffset: h, activeSnapPointIndex: m, modal: p, isOpen: B, direction: L, snapPoints: D, container: U, handleOnly: w, shouldAnimate: M, autoFocus: A } = rt(), [d, Y] = r.useState(!1), J = Yt(i, a), c = r.useRef(null), S = r.useRef(null), y = r.useRef(!1), N = D && D.length > 0;
884
- Xe();
885
- const P = (s, F, _ = 0) => {
886
- if (y.current) return !0;
887
- const z = Math.abs(s.y), I = Math.abs(s.x), q = I > z, X = [
1258
+ Overlay.displayName = "Drawer.Overlay";
1259
+ const Content = /* @__PURE__ */ React__default.forwardRef(function({ onPointerDownOutside, style, onOpenAutoFocus, ...rest }, ref) {
1260
+ const { drawerRef, onPress, onRelease, onDrag, keyboardIsOpen, snapPointsOffset, activeSnapPointIndex, modal, isOpen, direction, snapPoints, container, handleOnly, shouldAnimate, autoFocus } = useDrawerContext();
1261
+ const [delayedSnapPoints, setDelayedSnapPoints] = React__default.useState(false);
1262
+ const composedRef = useComposedRefs(ref, drawerRef);
1263
+ const pointerStartRef = React__default.useRef(null);
1264
+ const lastKnownPointerEventRef = React__default.useRef(null);
1265
+ const wasBeyondThePointRef = React__default.useRef(false);
1266
+ const hasSnapPoints = snapPoints && snapPoints.length > 0;
1267
+ useScaleBackground();
1268
+ const isDeltaInDirection = (delta, direction2, threshold = 0) => {
1269
+ if (wasBeyondThePointRef.current) return true;
1270
+ const deltaY = Math.abs(delta.y);
1271
+ const deltaX = Math.abs(delta.x);
1272
+ const isDeltaX = deltaX > deltaY;
1273
+ const dFactor = [
888
1274
  "bottom",
889
1275
  "right"
890
- ].includes(F) ? 1 : -1;
891
- if (F === "left" || F === "right") {
892
- if (!(s.x * X < 0) && I >= 0 && I <= _)
893
- return q;
894
- } else if (!(s.y * X < 0) && z >= 0 && z <= _)
895
- return !q;
896
- return y.current = !0, !0;
1276
+ ].includes(direction2) ? 1 : -1;
1277
+ if (direction2 === "left" || direction2 === "right") {
1278
+ const isReverseDirection = delta.x * dFactor < 0;
1279
+ if (!isReverseDirection && deltaX >= 0 && deltaX <= threshold) {
1280
+ return isDeltaX;
1281
+ }
1282
+ } else {
1283
+ const isReverseDirection = delta.y * dFactor < 0;
1284
+ if (!isReverseDirection && deltaY >= 0 && deltaY <= threshold) {
1285
+ return !isDeltaX;
1286
+ }
1287
+ }
1288
+ wasBeyondThePointRef.current = true;
1289
+ return true;
897
1290
  };
898
- r.useEffect(() => {
899
- N && window.requestAnimationFrame(() => {
900
- Y(!0);
901
- });
1291
+ React__default.useEffect(() => {
1292
+ if (hasSnapPoints) {
1293
+ window.requestAnimationFrame(() => {
1294
+ setDelayedSnapPoints(true);
1295
+ });
1296
+ }
902
1297
  }, []);
903
- function W(s) {
904
- c.current = null, y.current = !1, u(s);
1298
+ function handleOnPointerUp(event) {
1299
+ pointerStartRef.current = null;
1300
+ wasBeyondThePointRef.current = false;
1301
+ onRelease(event);
905
1302
  }
906
- return /* @__PURE__ */ r.createElement(he, {
907
- "data-vaul-drawer-direction": L,
1303
+ return /* @__PURE__ */ React__default.createElement(Content$1, {
1304
+ "data-vaul-drawer-direction": direction,
908
1305
  "data-vaul-drawer": "",
909
- "data-vaul-delayed-snap-points": d ? "true" : "false",
910
- "data-vaul-snap-points": B && N ? "true" : "false",
911
- "data-vaul-custom-container": U ? "true" : "false",
912
- "data-vaul-animate": M != null && M.current ? "true" : "false",
913
- ...o,
914
- ref: J,
915
- style: h && h.length > 0 ? {
916
- "--snap-point-height": `${h[m ?? 0]}px`,
917
- ...n
918
- } : n,
919
- onPointerDown: (s) => {
920
- w || (o.onPointerDown == null || o.onPointerDown.call(o, s), c.current = {
921
- x: s.pageX,
922
- y: s.pageY
923
- }, g(s));
1306
+ "data-vaul-delayed-snap-points": delayedSnapPoints ? "true" : "false",
1307
+ "data-vaul-snap-points": isOpen && hasSnapPoints ? "true" : "false",
1308
+ "data-vaul-custom-container": container ? "true" : "false",
1309
+ "data-vaul-animate": (shouldAnimate == null ? void 0 : shouldAnimate.current) ? "true" : "false",
1310
+ ...rest,
1311
+ ref: composedRef,
1312
+ style: snapPointsOffset && snapPointsOffset.length > 0 ? {
1313
+ "--snap-point-height": `${snapPointsOffset[activeSnapPointIndex != null ? activeSnapPointIndex : 0]}px`,
1314
+ ...style
1315
+ } : style,
1316
+ onPointerDown: (event) => {
1317
+ if (handleOnly) return;
1318
+ rest.onPointerDown == null ? void 0 : rest.onPointerDown.call(rest, event);
1319
+ pointerStartRef.current = {
1320
+ x: event.pageX,
1321
+ y: event.pageY
1322
+ };
1323
+ onPress(event);
924
1324
  },
925
- onOpenAutoFocus: (s) => {
926
- e == null || e(s), A || s.preventDefault();
1325
+ onOpenAutoFocus: (e) => {
1326
+ onOpenAutoFocus == null ? void 0 : onOpenAutoFocus(e);
1327
+ if (!autoFocus) {
1328
+ e.preventDefault();
1329
+ }
927
1330
  },
928
- onPointerDownOutside: (s) => {
929
- if (t == null || t(s), !p || s.defaultPrevented) {
930
- s.preventDefault();
1331
+ onPointerDownOutside: (e) => {
1332
+ onPointerDownOutside == null ? void 0 : onPointerDownOutside(e);
1333
+ if (!modal || e.defaultPrevented) {
1334
+ e.preventDefault();
931
1335
  return;
932
1336
  }
933
- E.current && (E.current = !1);
1337
+ if (keyboardIsOpen.current) {
1338
+ keyboardIsOpen.current = false;
1339
+ }
934
1340
  },
935
- onFocusOutside: (s) => {
936
- if (!p) {
937
- s.preventDefault();
1341
+ onFocusOutside: (e) => {
1342
+ if (!modal) {
1343
+ e.preventDefault();
938
1344
  return;
939
1345
  }
940
1346
  },
941
- onPointerMove: (s) => {
942
- if (S.current = s, w || (o.onPointerMove == null || o.onPointerMove.call(o, s), !c.current)) return;
943
- const F = s.pageY - c.current.y, _ = s.pageX - c.current.x, z = s.pointerType === "touch" ? 10 : 2;
944
- P({
945
- x: _,
946
- y: F
947
- }, L, z) ? b(s) : (Math.abs(_) > z || Math.abs(F) > z) && (c.current = null);
1347
+ onPointerMove: (event) => {
1348
+ lastKnownPointerEventRef.current = event;
1349
+ if (handleOnly) return;
1350
+ rest.onPointerMove == null ? void 0 : rest.onPointerMove.call(rest, event);
1351
+ if (!pointerStartRef.current) return;
1352
+ const yPosition = event.pageY - pointerStartRef.current.y;
1353
+ const xPosition = event.pageX - pointerStartRef.current.x;
1354
+ const swipeStartThreshold = event.pointerType === "touch" ? 10 : 2;
1355
+ const delta = {
1356
+ x: xPosition,
1357
+ y: yPosition
1358
+ };
1359
+ const isAllowedToSwipe = isDeltaInDirection(delta, direction, swipeStartThreshold);
1360
+ if (isAllowedToSwipe) onDrag(event);
1361
+ else if (Math.abs(xPosition) > swipeStartThreshold || Math.abs(yPosition) > swipeStartThreshold) {
1362
+ pointerStartRef.current = null;
1363
+ }
948
1364
  },
949
- onPointerUp: (s) => {
950
- o.onPointerUp == null || o.onPointerUp.call(o, s), c.current = null, y.current = !1, u(s);
1365
+ onPointerUp: (event) => {
1366
+ rest.onPointerUp == null ? void 0 : rest.onPointerUp.call(rest, event);
1367
+ pointerStartRef.current = null;
1368
+ wasBeyondThePointRef.current = false;
1369
+ onRelease(event);
951
1370
  },
952
- onPointerOut: (s) => {
953
- o.onPointerOut == null || o.onPointerOut.call(o, s), W(S.current);
1371
+ onPointerOut: (event) => {
1372
+ rest.onPointerOut == null ? void 0 : rest.onPointerOut.call(rest, event);
1373
+ handleOnPointerUp(lastKnownPointerEventRef.current);
954
1374
  },
955
- onContextMenu: (s) => {
956
- o.onContextMenu == null || o.onContextMenu.call(o, s), S.current && W(S.current);
1375
+ onContextMenu: (event) => {
1376
+ rest.onContextMenu == null ? void 0 : rest.onContextMenu.call(rest, event);
1377
+ if (lastKnownPointerEventRef.current) {
1378
+ handleOnPointerUp(lastKnownPointerEventRef.current);
1379
+ }
957
1380
  }
958
1381
  });
959
1382
  });
960
- Zt.displayName = "Drawer.Content";
961
- const Ge = 250, Je = 120, te = /* @__PURE__ */ r.forwardRef(function({ preventCycle: t = !1, children: n, ...e }, o) {
962
- const { closeDrawer: i, isDragging: a, snapPoints: g, activeSnapPoint: u, setActiveSnapPoint: b, dismissible: E, handleOnly: h, isOpen: m, onPress: p, onDrag: B } = rt(), L = r.useRef(null), D = r.useRef(!1);
963
- function U() {
964
- if (D.current) {
965
- A();
1383
+ Content.displayName = "Drawer.Content";
1384
+ const LONG_HANDLE_PRESS_TIMEOUT = 250;
1385
+ const DOUBLE_TAP_TIMEOUT = 120;
1386
+ const Handle = /* @__PURE__ */ React__default.forwardRef(function({ preventCycle = false, children, ...rest }, ref) {
1387
+ const { closeDrawer, isDragging, snapPoints, activeSnapPoint, setActiveSnapPoint, dismissible, handleOnly, isOpen, onPress, onDrag } = useDrawerContext();
1388
+ const closeTimeoutIdRef = React__default.useRef(null);
1389
+ const shouldCancelInteractionRef = React__default.useRef(false);
1390
+ function handleStartCycle() {
1391
+ if (shouldCancelInteractionRef.current) {
1392
+ handleCancelInteraction();
966
1393
  return;
967
1394
  }
968
1395
  window.setTimeout(() => {
969
- w();
970
- }, Je);
1396
+ handleCycleSnapPoints();
1397
+ }, DOUBLE_TAP_TIMEOUT);
971
1398
  }
972
- function w() {
973
- if (a || t || D.current) {
974
- A();
1399
+ function handleCycleSnapPoints() {
1400
+ if (isDragging || preventCycle || shouldCancelInteractionRef.current) {
1401
+ handleCancelInteraction();
975
1402
  return;
976
1403
  }
977
- if (A(), !g || g.length === 0) {
978
- E || i();
1404
+ handleCancelInteraction();
1405
+ if (!snapPoints || snapPoints.length === 0) {
1406
+ if (!dismissible) {
1407
+ closeDrawer();
1408
+ }
979
1409
  return;
980
1410
  }
981
- if (u === g[g.length - 1] && E) {
982
- i();
1411
+ const isLastSnapPoint = activeSnapPoint === snapPoints[snapPoints.length - 1];
1412
+ if (isLastSnapPoint && dismissible) {
1413
+ closeDrawer();
983
1414
  return;
984
1415
  }
985
- const Y = g.findIndex((c) => c === u);
986
- if (Y === -1) return;
987
- const J = g[Y + 1];
988
- b(J);
1416
+ const currentSnapIndex = snapPoints.findIndex((point) => point === activeSnapPoint);
1417
+ if (currentSnapIndex === -1) return;
1418
+ const nextSnapPoint = snapPoints[currentSnapIndex + 1];
1419
+ setActiveSnapPoint(nextSnapPoint);
989
1420
  }
990
- function M() {
991
- L.current = window.setTimeout(() => {
992
- D.current = !0;
993
- }, Ge);
1421
+ function handleStartInteraction() {
1422
+ closeTimeoutIdRef.current = window.setTimeout(() => {
1423
+ shouldCancelInteractionRef.current = true;
1424
+ }, LONG_HANDLE_PRESS_TIMEOUT);
994
1425
  }
995
- function A() {
996
- L.current && window.clearTimeout(L.current), D.current = !1;
1426
+ function handleCancelInteraction() {
1427
+ if (closeTimeoutIdRef.current) {
1428
+ window.clearTimeout(closeTimeoutIdRef.current);
1429
+ }
1430
+ shouldCancelInteractionRef.current = false;
997
1431
  }
998
- return /* @__PURE__ */ r.createElement("div", {
999
- onClick: U,
1000
- onPointerCancel: A,
1001
- onPointerDown: (d) => {
1002
- h && p(d), M();
1432
+ return /* @__PURE__ */ React__default.createElement("div", {
1433
+ onClick: handleStartCycle,
1434
+ onPointerCancel: handleCancelInteraction,
1435
+ onPointerDown: (e) => {
1436
+ if (handleOnly) onPress(e);
1437
+ handleStartInteraction();
1003
1438
  },
1004
- onPointerMove: (d) => {
1005
- h && B(d);
1439
+ onPointerMove: (e) => {
1440
+ if (handleOnly) onDrag(e);
1006
1441
  },
1007
1442
  // onPointerUp is already handled by the content component
1008
- ref: o,
1009
- "data-vaul-drawer-visible": m ? "true" : "false",
1443
+ ref,
1444
+ "data-vaul-drawer-visible": isOpen ? "true" : "false",
1010
1445
  "data-vaul-handle": "",
1011
1446
  "aria-hidden": "true",
1012
- ...e
1013
- }, /* @__PURE__ */ r.createElement("span", {
1447
+ ...rest
1448
+ }, /* @__PURE__ */ React__default.createElement("span", {
1014
1449
  "data-vaul-handle-hitarea": "",
1015
1450
  "aria-hidden": "true"
1016
- }, n));
1451
+ }, children));
1017
1452
  });
1018
- te.displayName = "Drawer.Handle";
1019
- function Qe({ onDrag: t, onOpenChange: n, open: e, ...o }) {
1020
- const { onNestedDrag: i, onNestedOpenChange: a, onNestedRelease: g } = rt();
1021
- if (!i)
1453
+ Handle.displayName = "Drawer.Handle";
1454
+ function NestedRoot({ onDrag, onOpenChange, open: nestedIsOpen, ...rest }) {
1455
+ const { onNestedDrag, onNestedOpenChange, onNestedRelease } = useDrawerContext();
1456
+ if (!onNestedDrag) {
1022
1457
  throw new Error("Drawer.NestedRoot must be placed in another drawer");
1023
- return /* @__PURE__ */ r.createElement(Jt, {
1024
- nested: !0,
1025
- open: e,
1458
+ }
1459
+ return /* @__PURE__ */ React__default.createElement(Root, {
1460
+ nested: true,
1461
+ open: nestedIsOpen,
1026
1462
  onClose: () => {
1027
- a(!1);
1463
+ onNestedOpenChange(false);
1028
1464
  },
1029
- onDrag: (u, b) => {
1030
- i(u, b), t == null || t(u, b);
1465
+ onDrag: (e, p) => {
1466
+ onNestedDrag(e, p);
1467
+ onDrag == null ? void 0 : onDrag(e, p);
1031
1468
  },
1032
- onOpenChange: (u) => {
1033
- u && a(u), n == null || n(u);
1469
+ onOpenChange: (o) => {
1470
+ if (o) {
1471
+ onNestedOpenChange(o);
1472
+ }
1473
+ onOpenChange == null ? void 0 : onOpenChange(o);
1034
1474
  },
1035
- onRelease: g,
1036
- ...o
1475
+ onRelease: onNestedRelease,
1476
+ ...rest
1037
1477
  });
1038
1478
  }
1039
- function Ze(t) {
1040
- const n = rt(), { container: e = n.container, ...o } = t;
1041
- return /* @__PURE__ */ r.createElement(Re, {
1042
- container: e,
1043
- ...o
1479
+ function Portal(props) {
1480
+ const context = useDrawerContext();
1481
+ const { container = context.container, ...portalProps } = props;
1482
+ return /* @__PURE__ */ React__default.createElement(Portal$1, {
1483
+ container,
1484
+ ...portalProps
1044
1485
  });
1045
1486
  }
1046
- const nn = {
1047
- Root: Jt,
1048
- NestedRoot: Qe,
1049
- Content: Zt,
1050
- Overlay: Qt,
1051
- Trigger: ge,
1052
- Portal: Ze,
1053
- Handle: te,
1054
- Close: ve,
1055
- Title: ye,
1056
- Description: be
1487
+ const Drawer = {
1488
+ Root,
1489
+ NestedRoot,
1490
+ Content,
1491
+ Overlay,
1492
+ Trigger,
1493
+ Portal,
1494
+ Handle,
1495
+ Close,
1496
+ Title,
1497
+ Description
1057
1498
  };
1058
1499
  export {
1059
- Zt as Content,
1060
- nn as Drawer,
1061
- te as Handle,
1062
- Qe as NestedRoot,
1063
- Qt as Overlay,
1064
- Ze as Portal,
1065
- Jt as Root
1500
+ Content,
1501
+ Drawer,
1502
+ Handle,
1503
+ NestedRoot,
1504
+ Overlay,
1505
+ Portal,
1506
+ Root
1066
1507
  };