@epic-web/workshop-app 5.1.0 โ†’ 5.1.2

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 (2187) hide show
  1. package/build/client/assets/_-CWSCXcBv.js +2 -0
  2. package/build/client/assets/_-CWSCXcBv.js.map +1 -0
  3. package/build/client/assets/_exerciseNumber-DarnXgbX.js +2 -0
  4. package/build/client/assets/_exerciseNumber-DarnXgbX.js.map +1 -0
  5. package/build/client/assets/_exerciseNumber_._stepNumber-BA2Xhzqs.js +2 -0
  6. package/build/client/assets/_exerciseNumber_._stepNumber-BA2Xhzqs.js.map +1 -0
  7. package/build/client/assets/_exerciseNumber_.finished-DEzaS_Ji.js +2 -0
  8. package/build/client/assets/_exerciseNumber_.finished-DEzaS_Ji.js.map +1 -0
  9. package/build/client/assets/_layout-88n0To1b.js +2 -0
  10. package/build/client/assets/_layout-88n0To1b.js.map +1 -0
  11. package/build/client/assets/_layout-BTrPWpBz.js +2 -0
  12. package/build/client/assets/_layout-BTrPWpBz.js.map +1 -0
  13. package/build/client/assets/_layout-T2hZtl0D.js +6 -0
  14. package/build/client/assets/_layout-T2hZtl0D.js.map +1 -0
  15. package/build/client/assets/_layout-gyrNluke.js +2 -0
  16. package/build/client/assets/_layout-gyrNluke.js.map +1 -0
  17. package/build/client/assets/accordion-DC885Li1.js +2 -0
  18. package/build/client/assets/accordion-DC885Li1.js.map +1 -0
  19. package/build/client/assets/account-CPFwPYf1.js +2 -0
  20. package/build/client/assets/account-CPFwPYf1.js.map +1 -0
  21. package/build/client/assets/app-CM8yuYni.js +2 -0
  22. package/build/client/assets/app-CM8yuYni.js.map +1 -0
  23. package/build/client/assets/button-DQ001ob0.js +2 -0
  24. package/build/client/assets/button-DQ001ob0.js.map +1 -0
  25. package/build/client/assets/components-9EGYHTc_.js +158 -0
  26. package/build/client/assets/components-9EGYHTc_.js.map +1 -0
  27. package/build/client/assets/diff-assn_bSK.js +2 -0
  28. package/build/client/assets/diff-assn_bSK.js.map +1 -0
  29. package/build/client/assets/diff-jlCv3hv0.js +2 -0
  30. package/build/client/assets/diff-jlCv3hv0.js.map +1 -0
  31. package/build/client/assets/discord-CHsbqaqM.js +2 -0
  32. package/build/client/assets/discord-CHsbqaqM.js.map +1 -0
  33. package/build/client/assets/discord-DoeazikD.js +2 -0
  34. package/build/client/assets/discord-DoeazikD.js.map +1 -0
  35. package/build/client/assets/entry.client-BTYTUpFV.js +44 -0
  36. package/build/client/assets/entry.client-BTYTUpFV.js.map +1 -0
  37. package/build/client/assets/epic-video-GDpD7_Qt.js +3053 -0
  38. package/build/client/assets/epic-video-GDpD7_Qt.js.map +1 -0
  39. package/build/client/assets/error-boundary-1-dmC941.js +2 -0
  40. package/build/client/assets/error-boundary-1-dmC941.js.map +1 -0
  41. package/build/client/assets/finished-DVV0zwmP.js +2 -0
  42. package/build/client/assets/finished-DVV0zwmP.js.map +1 -0
  43. package/build/client/assets/index-BCxBKsqT.js +2 -0
  44. package/build/client/assets/index-BCxBKsqT.js.map +1 -0
  45. package/build/client/assets/index-BFGhCX_U.js +38 -0
  46. package/build/client/assets/index-BFGhCX_U.js.map +1 -0
  47. package/build/client/assets/index-BuA_RWlU.js +2 -0
  48. package/build/client/assets/index-BuA_RWlU.js.map +1 -0
  49. package/build/client/assets/index-BuoaxPEj.js +42 -0
  50. package/build/client/assets/index-BuoaxPEj.js.map +1 -0
  51. package/build/client/assets/index-DJF1fiZI.js +2 -0
  52. package/build/client/assets/index-DJF1fiZI.js.map +1 -0
  53. package/build/client/assets/index-DRH72MzK.js +3 -0
  54. package/build/client/assets/index-DRH72MzK.js.map +1 -0
  55. package/build/client/assets/index-KgMLc41c.js +2 -0
  56. package/build/client/assets/index-KgMLc41c.js.map +1 -0
  57. package/build/client/assets/index-_J-F_Dnc.js +36 -0
  58. package/build/client/assets/index-_J-F_Dnc.js.map +1 -0
  59. package/build/client/assets/loading-Dk0n07O3.js +2 -0
  60. package/build/client/assets/loading-Dk0n07O3.js.map +1 -0
  61. package/build/client/assets/login-pZYDEC_l.js +2 -0
  62. package/build/client/assets/login-pZYDEC_l.js.map +1 -0
  63. package/build/client/assets/manifest-3338a6ab.js +1 -0
  64. package/build/client/assets/mdx-hW1uYjc1.js +2 -0
  65. package/build/client/assets/mdx-hW1uYjc1.js.map +1 -0
  66. package/build/client/assets/misc-BJtHv_Jh.js +2 -0
  67. package/build/client/assets/misc-BJtHv_Jh.js.map +1 -0
  68. package/build/client/assets/nav-chevrons-CgbSMLeb.js +2 -0
  69. package/build/client/assets/nav-chevrons-CgbSMLeb.js.map +1 -0
  70. package/build/client/assets/onboarding-DCuSqnkZ.js +2 -0
  71. package/build/client/assets/onboarding-DCuSqnkZ.js.map +1 -0
  72. package/build/client/assets/pe-ChIwTk8v.js +2 -0
  73. package/build/client/assets/pe-ChIwTk8v.js.map +1 -0
  74. package/build/client/assets/presence-CdyMdOKk.js +28 -0
  75. package/build/client/assets/presence-CdyMdOKk.js.map +1 -0
  76. package/build/client/assets/preview-CW_12I0i.js +2 -0
  77. package/build/client/assets/preview-CW_12I0i.js.map +1 -0
  78. package/build/client/assets/product-C1ynnrN_.js +2 -0
  79. package/build/client/assets/product-C1ynnrN_.js.map +1 -0
  80. package/build/client/assets/progress-DAB3nDa2.js +2 -0
  81. package/build/client/assets/progress-DAB3nDa2.js.map +1 -0
  82. package/build/client/assets/progress-bar-Cj5R4Zk7.js +2 -0
  83. package/build/client/assets/progress-bar-Cj5R4Zk7.js.map +1 -0
  84. package/build/client/assets/request-info-DCIQLE6H.js +2 -0
  85. package/build/client/assets/request-info-DCIQLE6H.js.map +1 -0
  86. package/build/client/assets/revalidation-ws-DU-PzW-_.js +2 -0
  87. package/build/client/assets/revalidation-ws-DU-PzW-_.js.map +1 -0
  88. package/build/client/assets/root-DojjHZlY.js +11 -0
  89. package/build/client/assets/root-DojjHZlY.js.map +1 -0
  90. package/build/client/assets/set-playground-DgnOJqFN.js +2 -0
  91. package/build/client/assets/set-playground-DgnOJqFN.js.map +1 -0
  92. package/build/client/assets/support-BNS-kEhc.js +2 -0
  93. package/build/client/assets/support-BNS-kEhc.js.map +1 -0
  94. package/build/client/assets/tailwind-B5AAMtGC.css +1 -0
  95. package/build/client/assets/test-DJ7oeeeg.js +2 -0
  96. package/build/client/assets/test-DJ7oeeeg.js.map +1 -0
  97. package/build/client/assets/tests-Bw1rCopV.js +4 -0
  98. package/build/client/assets/tests-Bw1rCopV.js.map +1 -0
  99. package/build/client/assets/tooltip-BgynKV2c.js +2 -0
  100. package/build/client/assets/tooltip-BgynKV2c.js.map +1 -0
  101. package/build/client/assets/use-event-source-x59d4R2Z.js +2 -0
  102. package/build/client/assets/use-event-source-x59d4R2Z.js.map +1 -0
  103. package/build/client/assets/user-BBryXlM_.js +2 -0
  104. package/build/client/assets/user-BBryXlM_.js.map +1 -0
  105. package/build/client/assets/workshop-config-DJY2cXU_.js +2 -0
  106. package/build/client/assets/workshop-config-DJY2cXU_.js.map +1 -0
  107. package/build/server/index.js +110 -2346
  108. package/build/server/index.js.map +1 -1
  109. package/dist/server/index.js +7 -12
  110. package/package.json +68 -95
  111. package/build/client/assets/_-ZHCWB__B.js +0 -2
  112. package/build/client/assets/_-ZHCWB__B.js.map +0 -1
  113. package/build/client/assets/_exerciseNumber-BFTlBdr4.js +0 -2
  114. package/build/client/assets/_exerciseNumber-BFTlBdr4.js.map +0 -1
  115. package/build/client/assets/_exerciseNumber_._stepNumber-_687iGFh.js +0 -2
  116. package/build/client/assets/_exerciseNumber_._stepNumber-_687iGFh.js.map +0 -1
  117. package/build/client/assets/_exerciseNumber_.finished-BEfn-nJi.js +0 -2
  118. package/build/client/assets/_exerciseNumber_.finished-BEfn-nJi.js.map +0 -1
  119. package/build/client/assets/_layout-BLJr2x2F.js +0 -2
  120. package/build/client/assets/_layout-BLJr2x2F.js.map +0 -1
  121. package/build/client/assets/_layout-BriOqd2R.js +0 -2
  122. package/build/client/assets/_layout-BriOqd2R.js.map +0 -1
  123. package/build/client/assets/_layout-Cfbi6StB.js +0 -2
  124. package/build/client/assets/_layout-Cfbi6StB.js.map +0 -1
  125. package/build/client/assets/_layout-frPHZWgR.js +0 -6
  126. package/build/client/assets/_layout-frPHZWgR.js.map +0 -1
  127. package/build/client/assets/accordion-DuE9VejZ.js +0 -2
  128. package/build/client/assets/accordion-DuE9VejZ.js.map +0 -1
  129. package/build/client/assets/account-DDuV9rZX.js +0 -2
  130. package/build/client/assets/account-DDuV9rZX.js.map +0 -1
  131. package/build/client/assets/app-wbMCZEiv.js +0 -2
  132. package/build/client/assets/app-wbMCZEiv.js.map +0 -1
  133. package/build/client/assets/button-CMkJ8p0a.js +0 -2
  134. package/build/client/assets/button-CMkJ8p0a.js.map +0 -1
  135. package/build/client/assets/components-DZ8XIeZ3.js +0 -166
  136. package/build/client/assets/components-DZ8XIeZ3.js.map +0 -1
  137. package/build/client/assets/diff-B6thd_Sf.js +0 -2
  138. package/build/client/assets/diff-B6thd_Sf.js.map +0 -1
  139. package/build/client/assets/diff-BEk79KPK.js +0 -2
  140. package/build/client/assets/diff-BEk79KPK.js.map +0 -1
  141. package/build/client/assets/discord-C9bVfiZ6.js +0 -2
  142. package/build/client/assets/discord-C9bVfiZ6.js.map +0 -1
  143. package/build/client/assets/discord-DYeU0QX6.js +0 -2
  144. package/build/client/assets/discord-DYeU0QX6.js.map +0 -1
  145. package/build/client/assets/entry.client-CW5CUf_W.js +0 -43
  146. package/build/client/assets/entry.client-CW5CUf_W.js.map +0 -1
  147. package/build/client/assets/epic-video-bs7WmhbC.js +0 -2988
  148. package/build/client/assets/epic-video-bs7WmhbC.js.map +0 -1
  149. package/build/client/assets/error-boundary-BcGxKpte.js +0 -2
  150. package/build/client/assets/error-boundary-BcGxKpte.js.map +0 -1
  151. package/build/client/assets/finished-C2dgX1d-.js +0 -2
  152. package/build/client/assets/finished-C2dgX1d-.js.map +0 -1
  153. package/build/client/assets/index-BczhSZ3e.js +0 -2
  154. package/build/client/assets/index-BczhSZ3e.js.map +0 -1
  155. package/build/client/assets/index-BjNhezSK.js +0 -42
  156. package/build/client/assets/index-BjNhezSK.js.map +0 -1
  157. package/build/client/assets/index-BvihEwfB.js +0 -36
  158. package/build/client/assets/index-BvihEwfB.js.map +0 -1
  159. package/build/client/assets/index-C2yr7Uiu.js +0 -2
  160. package/build/client/assets/index-C2yr7Uiu.js.map +0 -1
  161. package/build/client/assets/index-CuV1bRbu.js +0 -2
  162. package/build/client/assets/index-CuV1bRbu.js.map +0 -1
  163. package/build/client/assets/index-DBrRQJxF.js +0 -2
  164. package/build/client/assets/index-DBrRQJxF.js.map +0 -1
  165. package/build/client/assets/index-DF_XBInP.js +0 -37
  166. package/build/client/assets/index-DF_XBInP.js.map +0 -1
  167. package/build/client/assets/index-YtpQLUzj.js +0 -3
  168. package/build/client/assets/index-YtpQLUzj.js.map +0 -1
  169. package/build/client/assets/loading-Br41_Pbf.js +0 -2
  170. package/build/client/assets/loading-Br41_Pbf.js.map +0 -1
  171. package/build/client/assets/login-kjV7hrVt.js +0 -2
  172. package/build/client/assets/login-kjV7hrVt.js.map +0 -1
  173. package/build/client/assets/manifest-77ab30ae.js +0 -1
  174. package/build/client/assets/mdx-CRxPouxB.js +0 -2
  175. package/build/client/assets/mdx-CRxPouxB.js.map +0 -1
  176. package/build/client/assets/misc-BE75ioh8.js +0 -2
  177. package/build/client/assets/misc-BE75ioh8.js.map +0 -1
  178. package/build/client/assets/nav-chevrons-DYiI8EMU.js +0 -2
  179. package/build/client/assets/nav-chevrons-DYiI8EMU.js.map +0 -1
  180. package/build/client/assets/onboarding-B4Z_yevk.js +0 -2
  181. package/build/client/assets/onboarding-B4Z_yevk.js.map +0 -1
  182. package/build/client/assets/pe-CvPIToj6.js +0 -2
  183. package/build/client/assets/pe-CvPIToj6.js.map +0 -1
  184. package/build/client/assets/presence-Dd98AJ_5.js +0 -28
  185. package/build/client/assets/presence-Dd98AJ_5.js.map +0 -1
  186. package/build/client/assets/preview-DZcdG4kw.js +0 -2
  187. package/build/client/assets/preview-DZcdG4kw.js.map +0 -1
  188. package/build/client/assets/product-mjsTrqXs.js +0 -2
  189. package/build/client/assets/product-mjsTrqXs.js.map +0 -1
  190. package/build/client/assets/progress-Co-59mG2.js +0 -2
  191. package/build/client/assets/progress-Co-59mG2.js.map +0 -1
  192. package/build/client/assets/progress-bar-F8_2mvYp.js +0 -2
  193. package/build/client/assets/progress-bar-F8_2mvYp.js.map +0 -1
  194. package/build/client/assets/request-info-DGnmXtfj.js +0 -2
  195. package/build/client/assets/request-info-DGnmXtfj.js.map +0 -1
  196. package/build/client/assets/revalidation-ws-DcvYvzyj.js +0 -2
  197. package/build/client/assets/revalidation-ws-DcvYvzyj.js.map +0 -1
  198. package/build/client/assets/root-Cl86OUog.js +0 -11
  199. package/build/client/assets/root-Cl86OUog.js.map +0 -1
  200. package/build/client/assets/set-playground-pMKmtPtz.js +0 -2
  201. package/build/client/assets/set-playground-pMKmtPtz.js.map +0 -1
  202. package/build/client/assets/support-B0E_F4Zh.js +0 -2
  203. package/build/client/assets/support-B0E_F4Zh.js.map +0 -1
  204. package/build/client/assets/tailwind-B9pSujyx.css +0 -1
  205. package/build/client/assets/test-B6zIK2V6.js +0 -2
  206. package/build/client/assets/test-B6zIK2V6.js.map +0 -1
  207. package/build/client/assets/tests-BeAEgPAw.js +0 -4
  208. package/build/client/assets/tests-BeAEgPAw.js.map +0 -1
  209. package/build/client/assets/tooltip-6-WS-Xux.js +0 -2
  210. package/build/client/assets/tooltip-6-WS-Xux.js.map +0 -1
  211. package/build/client/assets/use-event-source-CCGBLG92.js +0 -2
  212. package/build/client/assets/use-event-source-CCGBLG92.js.map +0 -1
  213. package/build/client/assets/user-Boua6jiU.js +0 -2
  214. package/build/client/assets/user-Boua6jiU.js.map +0 -1
  215. package/build/client/assets/workshop-config-Ce9sSc3I.js +0 -2
  216. package/build/client/assets/workshop-config-Ce9sSc3I.js.map +0 -1
  217. package/node_modules/@babel/runtime/LICENSE +0 -22
  218. package/node_modules/@babel/runtime/README.md +0 -19
  219. package/node_modules/@babel/runtime/helpers/AwaitValue.js +0 -4
  220. package/node_modules/@babel/runtime/helpers/OverloadYield.js +0 -4
  221. package/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js +0 -9
  222. package/node_modules/@babel/runtime/helpers/applyDecs.js +0 -236
  223. package/node_modules/@babel/runtime/helpers/applyDecs2203.js +0 -184
  224. package/node_modules/@babel/runtime/helpers/applyDecs2203R.js +0 -191
  225. package/node_modules/@babel/runtime/helpers/applyDecs2301.js +0 -222
  226. package/node_modules/@babel/runtime/helpers/applyDecs2305.js +0 -133
  227. package/node_modules/@babel/runtime/helpers/applyDecs2311.js +0 -124
  228. package/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +0 -6
  229. package/node_modules/@babel/runtime/helpers/arrayWithHoles.js +0 -4
  230. package/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +0 -5
  231. package/node_modules/@babel/runtime/helpers/assertClassBrand.js +0 -5
  232. package/node_modules/@babel/runtime/helpers/assertThisInitialized.js +0 -5
  233. package/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js +0 -24
  234. package/node_modules/@babel/runtime/helpers/asyncIterator.js +0 -45
  235. package/node_modules/@babel/runtime/helpers/asyncToGenerator.js +0 -26
  236. package/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js +0 -5
  237. package/node_modules/@babel/runtime/helpers/callSuper.js +0 -7
  238. package/node_modules/@babel/runtime/helpers/checkInRHS.js +0 -6
  239. package/node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js +0 -4
  240. package/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js +0 -10
  241. package/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js +0 -4
  242. package/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js +0 -7
  243. package/node_modules/@babel/runtime/helpers/classCallCheck.js +0 -4
  244. package/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js +0 -5
  245. package/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js +0 -4
  246. package/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js +0 -5
  247. package/node_modules/@babel/runtime/helpers/classNameTDZError.js +0 -4
  248. package/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js +0 -7
  249. package/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js +0 -7
  250. package/node_modules/@babel/runtime/helpers/classPrivateFieldGet2.js +0 -5
  251. package/node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js +0 -5
  252. package/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js +0 -5
  253. package/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js +0 -5
  254. package/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js +0 -7
  255. package/node_modules/@babel/runtime/helpers/classPrivateFieldSet2.js +0 -5
  256. package/node_modules/@babel/runtime/helpers/classPrivateGetter.js +0 -5
  257. package/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js +0 -5
  258. package/node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js +0 -5
  259. package/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js +0 -4
  260. package/node_modules/@babel/runtime/helpers/classPrivateSetter.js +0 -5
  261. package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js +0 -7
  262. package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js +0 -7
  263. package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js +0 -7
  264. package/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js +0 -5
  265. package/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js +0 -4
  266. package/node_modules/@babel/runtime/helpers/construct.js +0 -10
  267. package/node_modules/@babel/runtime/helpers/createClass.js +0 -13
  268. package/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js +0 -50
  269. package/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js +0 -19
  270. package/node_modules/@babel/runtime/helpers/createSuper.js +0 -16
  271. package/node_modules/@babel/runtime/helpers/decorate.js +0 -250
  272. package/node_modules/@babel/runtime/helpers/defaults.js +0 -9
  273. package/node_modules/@babel/runtime/helpers/defineAccessor.js +0 -8
  274. package/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js +0 -12
  275. package/node_modules/@babel/runtime/helpers/defineProperty.js +0 -10
  276. package/node_modules/@babel/runtime/helpers/dispose.js +0 -28
  277. package/node_modules/@babel/runtime/helpers/esm/AwaitValue.js +0 -4
  278. package/node_modules/@babel/runtime/helpers/esm/OverloadYield.js +0 -4
  279. package/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js +0 -9
  280. package/node_modules/@babel/runtime/helpers/esm/applyDecs.js +0 -236
  281. package/node_modules/@babel/runtime/helpers/esm/applyDecs2203.js +0 -184
  282. package/node_modules/@babel/runtime/helpers/esm/applyDecs2203R.js +0 -191
  283. package/node_modules/@babel/runtime/helpers/esm/applyDecs2301.js +0 -222
  284. package/node_modules/@babel/runtime/helpers/esm/applyDecs2305.js +0 -133
  285. package/node_modules/@babel/runtime/helpers/esm/applyDecs2311.js +0 -124
  286. package/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +0 -6
  287. package/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +0 -4
  288. package/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +0 -5
  289. package/node_modules/@babel/runtime/helpers/esm/assertClassBrand.js +0 -5
  290. package/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +0 -5
  291. package/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js +0 -24
  292. package/node_modules/@babel/runtime/helpers/esm/asyncIterator.js +0 -45
  293. package/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js +0 -26
  294. package/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js +0 -5
  295. package/node_modules/@babel/runtime/helpers/esm/callSuper.js +0 -7
  296. package/node_modules/@babel/runtime/helpers/esm/checkInRHS.js +0 -6
  297. package/node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js +0 -4
  298. package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js +0 -10
  299. package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js +0 -4
  300. package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js +0 -7
  301. package/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -4
  302. package/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js +0 -5
  303. package/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js +0 -4
  304. package/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js +0 -5
  305. package/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js +0 -4
  306. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js +0 -7
  307. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js +0 -7
  308. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js +0 -5
  309. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js +0 -5
  310. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js +0 -5
  311. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js +0 -5
  312. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js +0 -7
  313. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js +0 -5
  314. package/node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js +0 -5
  315. package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js +0 -5
  316. package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js +0 -5
  317. package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js +0 -4
  318. package/node_modules/@babel/runtime/helpers/esm/classPrivateSetter.js +0 -5
  319. package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js +0 -7
  320. package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js +0 -7
  321. package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js +0 -7
  322. package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js +0 -5
  323. package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js +0 -4
  324. package/node_modules/@babel/runtime/helpers/esm/construct.js +0 -10
  325. package/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -13
  326. package/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js +0 -50
  327. package/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js +0 -19
  328. package/node_modules/@babel/runtime/helpers/esm/createSuper.js +0 -16
  329. package/node_modules/@babel/runtime/helpers/esm/decorate.js +0 -250
  330. package/node_modules/@babel/runtime/helpers/esm/defaults.js +0 -9
  331. package/node_modules/@babel/runtime/helpers/esm/defineAccessor.js +0 -8
  332. package/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js +0 -12
  333. package/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -10
  334. package/node_modules/@babel/runtime/helpers/esm/dispose.js +0 -28
  335. package/node_modules/@babel/runtime/helpers/esm/extends.js +0 -10
  336. package/node_modules/@babel/runtime/helpers/esm/get.js +0 -11
  337. package/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js +0 -6
  338. package/node_modules/@babel/runtime/helpers/esm/identity.js +0 -4
  339. package/node_modules/@babel/runtime/helpers/esm/importDeferProxy.js +0 -27
  340. package/node_modules/@babel/runtime/helpers/esm/inherits.js +0 -14
  341. package/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +0 -5
  342. package/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js +0 -9
  343. package/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js +0 -4
  344. package/node_modules/@babel/runtime/helpers/esm/instanceof.js +0 -4
  345. package/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js +0 -6
  346. package/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js +0 -27
  347. package/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js +0 -8
  348. package/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js +0 -9
  349. package/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +0 -4
  350. package/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +0 -28
  351. package/node_modules/@babel/runtime/helpers/esm/jsx.js +0 -22
  352. package/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js +0 -9
  353. package/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js +0 -4
  354. package/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +0 -4
  355. package/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +0 -4
  356. package/node_modules/@babel/runtime/helpers/esm/nullishReceiverError.js +0 -4
  357. package/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js +0 -4
  358. package/node_modules/@babel/runtime/helpers/esm/objectSpread.js +0 -14
  359. package/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +0 -23
  360. package/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +0 -13
  361. package/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -10
  362. package/node_modules/@babel/runtime/helpers/esm/package.json +0 -3
  363. package/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js +0 -8
  364. package/node_modules/@babel/runtime/helpers/esm/readOnlyError.js +0 -4
  365. package/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js +0 -304
  366. package/node_modules/@babel/runtime/helpers/esm/set.js +0 -22
  367. package/node_modules/@babel/runtime/helpers/esm/setFunctionName.js +0 -12
  368. package/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +0 -6
  369. package/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js +0 -7
  370. package/node_modules/@babel/runtime/helpers/esm/slicedToArray.js +0 -8
  371. package/node_modules/@babel/runtime/helpers/esm/superPropBase.js +0 -6
  372. package/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js +0 -8
  373. package/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js +0 -4
  374. package/node_modules/@babel/runtime/helpers/esm/tdz.js +0 -4
  375. package/node_modules/@babel/runtime/helpers/esm/temporalRef.js +0 -6
  376. package/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js +0 -2
  377. package/node_modules/@babel/runtime/helpers/esm/toArray.js +0 -8
  378. package/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +0 -8
  379. package/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -12
  380. package/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -7
  381. package/node_modules/@babel/runtime/helpers/esm/toSetter.js +0 -10
  382. package/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -10
  383. package/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +0 -9
  384. package/node_modules/@babel/runtime/helpers/esm/using.js +0 -12
  385. package/node_modules/@babel/runtime/helpers/esm/usingCtx.js +0 -47
  386. package/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js +0 -69
  387. package/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js +0 -27
  388. package/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js +0 -51
  389. package/node_modules/@babel/runtime/helpers/esm/writeOnlyError.js +0 -4
  390. package/node_modules/@babel/runtime/helpers/extends.js +0 -10
  391. package/node_modules/@babel/runtime/helpers/get.js +0 -11
  392. package/node_modules/@babel/runtime/helpers/getPrototypeOf.js +0 -6
  393. package/node_modules/@babel/runtime/helpers/identity.js +0 -4
  394. package/node_modules/@babel/runtime/helpers/importDeferProxy.js +0 -27
  395. package/node_modules/@babel/runtime/helpers/inherits.js +0 -14
  396. package/node_modules/@babel/runtime/helpers/inheritsLoose.js +0 -5
  397. package/node_modules/@babel/runtime/helpers/initializerDefineProperty.js +0 -9
  398. package/node_modules/@babel/runtime/helpers/initializerWarningHelper.js +0 -4
  399. package/node_modules/@babel/runtime/helpers/instanceof.js +0 -4
  400. package/node_modules/@babel/runtime/helpers/interopRequireDefault.js +0 -6
  401. package/node_modules/@babel/runtime/helpers/interopRequireWildcard.js +0 -27
  402. package/node_modules/@babel/runtime/helpers/isNativeFunction.js +0 -8
  403. package/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js +0 -9
  404. package/node_modules/@babel/runtime/helpers/iterableToArray.js +0 -4
  405. package/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +0 -28
  406. package/node_modules/@babel/runtime/helpers/jsx.js +0 -22
  407. package/node_modules/@babel/runtime/helpers/maybeArrayLike.js +0 -9
  408. package/node_modules/@babel/runtime/helpers/newArrowCheck.js +0 -4
  409. package/node_modules/@babel/runtime/helpers/nonIterableRest.js +0 -4
  410. package/node_modules/@babel/runtime/helpers/nonIterableSpread.js +0 -4
  411. package/node_modules/@babel/runtime/helpers/nullishReceiverError.js +0 -4
  412. package/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js +0 -4
  413. package/node_modules/@babel/runtime/helpers/objectSpread.js +0 -14
  414. package/node_modules/@babel/runtime/helpers/objectSpread2.js +0 -23
  415. package/node_modules/@babel/runtime/helpers/objectWithoutProperties.js +0 -13
  416. package/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +0 -10
  417. package/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js +0 -8
  418. package/node_modules/@babel/runtime/helpers/readOnlyError.js +0 -4
  419. package/node_modules/@babel/runtime/helpers/regeneratorRuntime.js +0 -304
  420. package/node_modules/@babel/runtime/helpers/set.js +0 -22
  421. package/node_modules/@babel/runtime/helpers/setFunctionName.js +0 -12
  422. package/node_modules/@babel/runtime/helpers/setPrototypeOf.js +0 -6
  423. package/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js +0 -7
  424. package/node_modules/@babel/runtime/helpers/slicedToArray.js +0 -8
  425. package/node_modules/@babel/runtime/helpers/superPropBase.js +0 -6
  426. package/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js +0 -8
  427. package/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js +0 -4
  428. package/node_modules/@babel/runtime/helpers/tdz.js +0 -4
  429. package/node_modules/@babel/runtime/helpers/temporalRef.js +0 -6
  430. package/node_modules/@babel/runtime/helpers/temporalUndefined.js +0 -2
  431. package/node_modules/@babel/runtime/helpers/toArray.js +0 -8
  432. package/node_modules/@babel/runtime/helpers/toConsumableArray.js +0 -8
  433. package/node_modules/@babel/runtime/helpers/toPrimitive.js +0 -12
  434. package/node_modules/@babel/runtime/helpers/toPropertyKey.js +0 -7
  435. package/node_modules/@babel/runtime/helpers/toSetter.js +0 -10
  436. package/node_modules/@babel/runtime/helpers/typeof.js +0 -10
  437. package/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +0 -9
  438. package/node_modules/@babel/runtime/helpers/using.js +0 -12
  439. package/node_modules/@babel/runtime/helpers/usingCtx.js +0 -47
  440. package/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js +0 -69
  441. package/node_modules/@babel/runtime/helpers/wrapNativeSuper.js +0 -27
  442. package/node_modules/@babel/runtime/helpers/wrapRegExp.js +0 -51
  443. package/node_modules/@babel/runtime/helpers/writeOnlyError.js +0 -4
  444. package/node_modules/@babel/runtime/package.json +0 -1038
  445. package/node_modules/@babel/runtime/regenerator/index.js +0 -15
  446. package/node_modules/@conform-to/dom/LICENSE +0 -21
  447. package/node_modules/@conform-to/dom/README +0 -37
  448. package/node_modules/@conform-to/dom/_virtual/_rollupPluginBabelHelpers.js +0 -58
  449. package/node_modules/@conform-to/dom/_virtual/_rollupPluginBabelHelpers.mjs +0 -51
  450. package/node_modules/@conform-to/dom/dom.d.ts +0 -55
  451. package/node_modules/@conform-to/dom/dom.js +0 -104
  452. package/node_modules/@conform-to/dom/dom.mjs +0 -95
  453. package/node_modules/@conform-to/dom/form.d.ts +0 -246
  454. package/node_modules/@conform-to/dom/form.js +0 -582
  455. package/node_modules/@conform-to/dom/form.mjs +0 -578
  456. package/node_modules/@conform-to/dom/formdata.d.ts +0 -61
  457. package/node_modules/@conform-to/dom/formdata.js +0 -214
  458. package/node_modules/@conform-to/dom/formdata.mjs +0 -200
  459. package/node_modules/@conform-to/dom/index.d.ts +0 -26
  460. package/node_modules/@conform-to/dom/index.js +0 -20
  461. package/node_modules/@conform-to/dom/index.mjs +0 -4
  462. package/node_modules/@conform-to/dom/intent.d.ts +0 -114
  463. package/node_modules/@conform-to/dom/intent.js +0 -136
  464. package/node_modules/@conform-to/dom/intent.mjs +0 -126
  465. package/node_modules/@conform-to/dom/package.json +0 -59
  466. package/node_modules/@conform-to/dom/parse.d.ts +0 -50
  467. package/node_modules/@conform-to/dom/parse.js +0 -43
  468. package/node_modules/@conform-to/dom/parse.mjs +0 -37
  469. package/node_modules/@conform-to/dom/submission.d.ts +0 -135
  470. package/node_modules/@conform-to/dom/submission.js +0 -305
  471. package/node_modules/@conform-to/dom/submission.mjs +0 -288
  472. package/node_modules/@conform-to/dom/types.d.ts +0 -23
  473. package/node_modules/@conform-to/dom/util.d.ts +0 -6
  474. package/node_modules/@conform-to/dom/util.js +0 -19
  475. package/node_modules/@conform-to/dom/util.mjs +0 -13
  476. package/node_modules/@conform-to/react/LICENSE +0 -21
  477. package/node_modules/@conform-to/react/README +0 -37
  478. package/node_modules/@conform-to/react/_virtual/_rollupPluginBabelHelpers.js +0 -87
  479. package/node_modules/@conform-to/react/_virtual/_rollupPluginBabelHelpers.mjs +0 -78
  480. package/node_modules/@conform-to/react/context.d.ts +0 -200
  481. package/node_modules/@conform-to/react/context.js +0 -256
  482. package/node_modules/@conform-to/react/context.mjs +0 -241
  483. package/node_modules/@conform-to/react/experimental.d.ts +0 -0
  484. package/node_modules/@conform-to/react/helpers.d.ts +0 -208
  485. package/node_modules/@conform-to/react/helpers.js +0 -222
  486. package/node_modules/@conform-to/react/helpers.mjs +0 -211
  487. package/node_modules/@conform-to/react/hooks.d.ts +0 -63
  488. package/node_modules/@conform-to/react/hooks.js +0 -88
  489. package/node_modules/@conform-to/react/hooks.mjs +0 -79
  490. package/node_modules/@conform-to/react/index.d.ts +0 -29
  491. package/node_modules/@conform-to/react/index.js +0 -30
  492. package/node_modules/@conform-to/react/index.mjs +0 -5
  493. package/node_modules/@conform-to/react/integrations.d.ts +0 -45
  494. package/node_modules/@conform-to/react/integrations.js +0 -298
  495. package/node_modules/@conform-to/react/integrations.mjs +0 -284
  496. package/node_modules/@conform-to/react/package.json +0 -69
  497. package/node_modules/@conform-to/zod/LICENSE +0 -21
  498. package/node_modules/@conform-to/zod/README +0 -37
  499. package/node_modules/@conform-to/zod/_virtual/_rollupPluginBabelHelpers.js +0 -58
  500. package/node_modules/@conform-to/zod/_virtual/_rollupPluginBabelHelpers.mjs +0 -51
  501. package/node_modules/@conform-to/zod/coercion.d.ts +0 -37
  502. package/node_modules/@conform-to/zod/coercion.js +0 -171
  503. package/node_modules/@conform-to/zod/coercion.mjs +0 -164
  504. package/node_modules/@conform-to/zod/constraint.d.ts +0 -5
  505. package/node_modules/@conform-to/zod/constraint.js +0 -103
  506. package/node_modules/@conform-to/zod/constraint.mjs +0 -99
  507. package/node_modules/@conform-to/zod/index.d.ts +0 -2
  508. package/node_modules/@conform-to/zod/index.js +0 -12
  509. package/node_modules/@conform-to/zod/index.mjs +0 -2
  510. package/node_modules/@conform-to/zod/package.json +0 -61
  511. package/node_modules/@conform-to/zod/parse.d.ts +0 -46
  512. package/node_modules/@conform-to/zod/parse.js +0 -64
  513. package/node_modules/@conform-to/zod/parse.mjs +0 -59
  514. package/node_modules/@epic-web/client-hints/README.md +0 -221
  515. package/node_modules/@epic-web/client-hints/dist/color-scheme.d.ts +0 -12
  516. package/node_modules/@epic-web/client-hints/dist/color-scheme.js +0 -25
  517. package/node_modules/@epic-web/client-hints/dist/index.d.ts +0 -6
  518. package/node_modules/@epic-web/client-hints/dist/index.js +0 -79
  519. package/node_modules/@epic-web/client-hints/dist/reduced-motion.d.ts +0 -12
  520. package/node_modules/@epic-web/client-hints/dist/reduced-motion.js +0 -25
  521. package/node_modules/@epic-web/client-hints/dist/time-zone.d.ts +0 -5
  522. package/node_modules/@epic-web/client-hints/dist/time-zone.js +0 -5
  523. package/node_modules/@epic-web/client-hints/dist/utils.d.ts +0 -9
  524. package/node_modules/@epic-web/client-hints/dist/utils.js +0 -1
  525. package/node_modules/@epic-web/client-hints/package.json +0 -71
  526. package/node_modules/@epic-web/restore-scroll/README.md +0 -108
  527. package/node_modules/@epic-web/restore-scroll/dist/index.d.ts +0 -7
  528. package/node_modules/@epic-web/restore-scroll/dist/index.js +0 -85
  529. package/node_modules/@epic-web/restore-scroll/package.json +0 -64
  530. package/node_modules/@floating-ui/core/LICENSE +0 -20
  531. package/node_modules/@floating-ui/core/README.md +0 -4
  532. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs +0 -1
  533. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.mjs +0 -1164
  534. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts +0 -521
  535. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.ts +0 -521
  536. package/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js +0 -1036
  537. package/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +0 -1036
  538. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.js +0 -1183
  539. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.min.js +0 -1
  540. package/node_modules/@floating-ui/core/package.json +0 -63
  541. package/node_modules/@floating-ui/dom/LICENSE +0 -20
  542. package/node_modules/@floating-ui/dom/README.md +0 -4
  543. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs +0 -1
  544. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.mjs +0 -853
  545. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts +0 -356
  546. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts +0 -356
  547. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js +0 -704
  548. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +0 -704
  549. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js +0 -872
  550. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.min.js +0 -1
  551. package/node_modules/@floating-ui/dom/package.json +0 -71
  552. package/node_modules/@floating-ui/react-dom/LICENSE +0 -20
  553. package/node_modules/@floating-ui/react-dom/README.md +0 -3
  554. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.mts +0 -307
  555. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.ts +0 -307
  556. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.js +0 -363
  557. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs +0 -363
  558. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js +0 -414
  559. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.min.js +0 -1
  560. package/node_modules/@floating-ui/react-dom/package.json +0 -77
  561. package/node_modules/@floating-ui/utils/LICENSE +0 -20
  562. package/node_modules/@floating-ui/utils/README.md +0 -4
  563. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts +0 -103
  564. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.ts +0 -103
  565. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts +0 -45
  566. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.ts +0 -45
  567. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.esm.js +0 -139
  568. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs +0 -139
  569. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.js +0 -165
  570. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.min.js +0 -1
  571. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.esm.js +0 -138
  572. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs +0 -138
  573. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.js +0 -169
  574. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.min.js +0 -1
  575. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.d.ts +0 -45
  576. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.esm.js +0 -139
  577. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js +0 -165
  578. package/node_modules/@floating-ui/utils/dom/package.json +0 -6
  579. package/node_modules/@floating-ui/utils/package.json +0 -70
  580. package/node_modules/@radix-ui/number/README.md +0 -13
  581. package/node_modules/@radix-ui/number/dist/index.d.mts +0 -3
  582. package/node_modules/@radix-ui/number/dist/index.d.ts +0 -3
  583. package/node_modules/@radix-ui/number/dist/index.js +0 -31
  584. package/node_modules/@radix-ui/number/dist/index.js.map +0 -7
  585. package/node_modules/@radix-ui/number/dist/index.mjs +0 -8
  586. package/node_modules/@radix-ui/number/dist/index.mjs.map +0 -7
  587. package/node_modules/@radix-ui/number/package.json +0 -38
  588. package/node_modules/@radix-ui/primitive/README.md +0 -13
  589. package/node_modules/@radix-ui/primitive/dist/index.d.mts +0 -5
  590. package/node_modules/@radix-ui/primitive/dist/index.d.ts +0 -5
  591. package/node_modules/@radix-ui/primitive/dist/index.js +0 -36
  592. package/node_modules/@radix-ui/primitive/dist/index.js.map +0 -7
  593. package/node_modules/@radix-ui/primitive/dist/index.mjs +0 -13
  594. package/node_modules/@radix-ui/primitive/dist/index.mjs.map +0 -7
  595. package/node_modules/@radix-ui/primitive/package.json +0 -38
  596. package/node_modules/@radix-ui/react-accordion/README.md +0 -13
  597. package/node_modules/@radix-ui/react-accordion/dist/index.d.mts +0 -125
  598. package/node_modules/@radix-ui/react-accordion/dist/index.d.ts +0 -125
  599. package/node_modules/@radix-ui/react-accordion/dist/index.js +0 -350
  600. package/node_modules/@radix-ui/react-accordion/dist/index.js.map +0 -7
  601. package/node_modules/@radix-ui/react-accordion/dist/index.mjs +0 -318
  602. package/node_modules/@radix-ui/react-accordion/dist/index.mjs.map +0 -7
  603. package/node_modules/@radix-ui/react-accordion/package.json +0 -63
  604. package/node_modules/@radix-ui/react-arrow/README.md +0 -13
  605. package/node_modules/@radix-ui/react-arrow/dist/index.d.mts +0 -10
  606. package/node_modules/@radix-ui/react-arrow/dist/index.d.ts +0 -10
  607. package/node_modules/@radix-ui/react-arrow/dist/index.js +0 -60
  608. package/node_modules/@radix-ui/react-arrow/dist/index.js.map +0 -7
  609. package/node_modules/@radix-ui/react-arrow/dist/index.mjs +0 -27
  610. package/node_modules/@radix-ui/react-arrow/dist/index.mjs.map +0 -7
  611. package/node_modules/@radix-ui/react-arrow/package.json +0 -55
  612. package/node_modules/@radix-ui/react-collapsible/README.md +0 -13
  613. package/node_modules/@radix-ui/react-collapsible/dist/index.d.mts +0 -43
  614. package/node_modules/@radix-ui/react-collapsible/dist/index.d.ts +0 -43
  615. package/node_modules/@radix-ui/react-collapsible/dist/index.js +0 -186
  616. package/node_modules/@radix-ui/react-collapsible/dist/index.js.map +0 -7
  617. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs +0 -154
  618. package/node_modules/@radix-ui/react-collapsible/dist/index.mjs.map +0 -7
  619. package/node_modules/@radix-ui/react-collapsible/package.json +0 -62
  620. package/node_modules/@radix-ui/react-collection/README.md +0 -13
  621. package/node_modules/@radix-ui/react-collection/dist/index.d.mts +0 -34
  622. package/node_modules/@radix-ui/react-collection/dist/index.d.ts +0 -34
  623. package/node_modules/@radix-ui/react-collection/dist/index.js +0 -104
  624. package/node_modules/@radix-ui/react-collection/dist/index.js.map +0 -7
  625. package/node_modules/@radix-ui/react-collection/dist/index.mjs +0 -72
  626. package/node_modules/@radix-ui/react-collection/dist/index.mjs.map +0 -7
  627. package/node_modules/@radix-ui/react-collection/package.json +0 -58
  628. package/node_modules/@radix-ui/react-compose-refs/README.md +0 -13
  629. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.mts +0 -15
  630. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts +0 -15
  631. package/node_modules/@radix-ui/react-compose-refs/dist/index.js +0 -53
  632. package/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +0 -7
  633. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +0 -20
  634. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +0 -7
  635. package/node_modules/@radix-ui/react-compose-refs/package.json +0 -47
  636. package/node_modules/@radix-ui/react-context/README.md +0 -13
  637. package/node_modules/@radix-ui/react-context/dist/index.d.mts +0 -28
  638. package/node_modules/@radix-ui/react-context/dist/index.d.ts +0 -28
  639. package/node_modules/@radix-ui/react-context/dist/index.js +0 -114
  640. package/node_modules/@radix-ui/react-context/dist/index.js.map +0 -7
  641. package/node_modules/@radix-ui/react-context/dist/index.mjs +0 -81
  642. package/node_modules/@radix-ui/react-context/dist/index.mjs.map +0 -7
  643. package/node_modules/@radix-ui/react-context/package.json +0 -47
  644. package/node_modules/@radix-ui/react-direction/README.md +0 -13
  645. package/node_modules/@radix-ui/react-direction/dist/index.d.mts +0 -12
  646. package/node_modules/@radix-ui/react-direction/dist/index.d.ts +0 -12
  647. package/node_modules/@radix-ui/react-direction/dist/index.js +0 -52
  648. package/node_modules/@radix-ui/react-direction/dist/index.js.map +0 -7
  649. package/node_modules/@radix-ui/react-direction/dist/index.mjs +0 -19
  650. package/node_modules/@radix-ui/react-direction/dist/index.mjs.map +0 -7
  651. package/node_modules/@radix-ui/react-direction/package.json +0 -47
  652. package/node_modules/@radix-ui/react-dismissable-layer/README.md +0 -13
  653. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts +0 -51
  654. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts +0 -51
  655. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +0 -253
  656. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +0 -7
  657. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs +0 -221
  658. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.map +0 -7
  659. package/node_modules/@radix-ui/react-dismissable-layer/package.json +0 -62
  660. package/node_modules/@radix-ui/react-focus-guards/README.md +0 -13
  661. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.mts +0 -9
  662. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.ts +0 -9
  663. package/node_modules/@radix-ui/react-focus-guards/dist/index.js +0 -69
  664. package/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +0 -7
  665. package/node_modules/@radix-ui/react-focus-guards/dist/index.mjs +0 -37
  666. package/node_modules/@radix-ui/react-focus-guards/dist/index.mjs.map +0 -7
  667. package/node_modules/@radix-ui/react-focus-guards/package.json +0 -47
  668. package/node_modules/@radix-ui/react-focus-scope/README.md +0 -13
  669. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.mts +0 -32
  670. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.ts +0 -32
  671. package/node_modules/@radix-ui/react-focus-scope/dist/index.js +0 -246
  672. package/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +0 -7
  673. package/node_modules/@radix-ui/react-focus-scope/dist/index.mjs +0 -214
  674. package/node_modules/@radix-ui/react-focus-scope/dist/index.mjs.map +0 -7
  675. package/node_modules/@radix-ui/react-focus-scope/package.json +0 -57
  676. package/node_modules/@radix-ui/react-id/README.md +0 -13
  677. package/node_modules/@radix-ui/react-id/dist/index.d.mts +0 -3
  678. package/node_modules/@radix-ui/react-id/dist/index.d.ts +0 -3
  679. package/node_modules/@radix-ui/react-id/dist/index.js +0 -49
  680. package/node_modules/@radix-ui/react-id/dist/index.js.map +0 -7
  681. package/node_modules/@radix-ui/react-id/dist/index.mjs +0 -16
  682. package/node_modules/@radix-ui/react-id/dist/index.mjs.map +0 -7
  683. package/node_modules/@radix-ui/react-id/package.json +0 -50
  684. package/node_modules/@radix-ui/react-popover/README.md +0 -13
  685. package/node_modules/@radix-ui/react-popover/dist/index.d.mts +0 -95
  686. package/node_modules/@radix-ui/react-popover/dist/index.d.ts +0 -95
  687. package/node_modules/@radix-ui/react-popover/dist/index.js +0 -350
  688. package/node_modules/@radix-ui/react-popover/dist/index.js.map +0 -7
  689. package/node_modules/@radix-ui/react-popover/dist/index.mjs +0 -318
  690. package/node_modules/@radix-ui/react-popover/dist/index.mjs.map +0 -7
  691. package/node_modules/@radix-ui/react-popover/package.json +0 -69
  692. package/node_modules/@radix-ui/react-popper/README.md +0 -13
  693. package/node_modules/@radix-ui/react-popper/dist/index.d.mts +0 -56
  694. package/node_modules/@radix-ui/react-popper/dist/index.d.ts +0 -56
  695. package/node_modules/@radix-ui/react-popper/dist/index.js +0 -325
  696. package/node_modules/@radix-ui/react-popper/dist/index.js.map +0 -7
  697. package/node_modules/@radix-ui/react-popper/dist/index.mjs +0 -303
  698. package/node_modules/@radix-ui/react-popper/dist/index.mjs.map +0 -7
  699. package/node_modules/@radix-ui/react-popper/package.json +0 -64
  700. package/node_modules/@radix-ui/react-portal/README.md +0 -13
  701. package/node_modules/@radix-ui/react-portal/dist/index.d.mts +0 -14
  702. package/node_modules/@radix-ui/react-portal/dist/index.d.ts +0 -14
  703. package/node_modules/@radix-ui/react-portal/dist/index.js +0 -55
  704. package/node_modules/@radix-ui/react-portal/dist/index.js.map +0 -7
  705. package/node_modules/@radix-ui/react-portal/dist/index.mjs +0 -23
  706. package/node_modules/@radix-ui/react-portal/dist/index.mjs.map +0 -7
  707. package/node_modules/@radix-ui/react-portal/package.json +0 -56
  708. package/node_modules/@radix-ui/react-presence/README.md +0 -13
  709. package/node_modules/@radix-ui/react-presence/dist/index.d.mts +0 -11
  710. package/node_modules/@radix-ui/react-presence/dist/index.d.ts +0 -11
  711. package/node_modules/@radix-ui/react-presence/dist/index.js +0 -158
  712. package/node_modules/@radix-ui/react-presence/dist/index.js.map +0 -7
  713. package/node_modules/@radix-ui/react-presence/dist/index.mjs +0 -126
  714. package/node_modules/@radix-ui/react-presence/dist/index.mjs.map +0 -7
  715. package/node_modules/@radix-ui/react-presence/package.json +0 -56
  716. package/node_modules/@radix-ui/react-primitive/README.md +0 -13
  717. package/node_modules/@radix-ui/react-primitive/dist/index.d.mts +0 -52
  718. package/node_modules/@radix-ui/react-primitive/dist/index.d.ts +0 -52
  719. package/node_modules/@radix-ui/react-primitive/dist/index.js +0 -78
  720. package/node_modules/@radix-ui/react-primitive/dist/index.js.map +0 -7
  721. package/node_modules/@radix-ui/react-primitive/dist/index.mjs +0 -45
  722. package/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +0 -7
  723. package/node_modules/@radix-ui/react-primitive/package.json +0 -58
  724. package/node_modules/@radix-ui/react-roving-focus/README.md +0 -13
  725. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.mts +0 -55
  726. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.ts +0 -55
  727. package/node_modules/@radix-ui/react-roving-focus/dist/index.js +0 -260
  728. package/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +0 -7
  729. package/node_modules/@radix-ui/react-roving-focus/dist/index.mjs +0 -228
  730. package/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.map +0 -7
  731. package/node_modules/@radix-ui/react-roving-focus/package.json +0 -63
  732. package/node_modules/@radix-ui/react-select/README.md +0 -13
  733. package/node_modules/@radix-ui/react-select/dist/index.d.mts +0 -144
  734. package/node_modules/@radix-ui/react-select/dist/index.d.ts +0 -144
  735. package/node_modules/@radix-ui/react-select/dist/index.js +0 -1182
  736. package/node_modules/@radix-ui/react-select/dist/index.js.map +0 -7
  737. package/node_modules/@radix-ui/react-select/dist/index.mjs +0 -1150
  738. package/node_modules/@radix-ui/react-select/dist/index.mjs.map +0 -7
  739. package/node_modules/@radix-ui/react-select/package.json +0 -75
  740. package/node_modules/@radix-ui/react-slot/README.md +0 -13
  741. package/node_modules/@radix-ui/react-slot/dist/index.d.mts +0 -13
  742. package/node_modules/@radix-ui/react-slot/dist/index.d.ts +0 -13
  743. package/node_modules/@radix-ui/react-slot/dist/index.js +0 -118
  744. package/node_modules/@radix-ui/react-slot/dist/index.js.map +0 -7
  745. package/node_modules/@radix-ui/react-slot/dist/index.mjs +0 -85
  746. package/node_modules/@radix-ui/react-slot/dist/index.mjs.map +0 -7
  747. package/node_modules/@radix-ui/react-slot/package.json +0 -50
  748. package/node_modules/@radix-ui/react-tabs/README.md +0 -13
  749. package/node_modules/@radix-ui/react-tabs/dist/index.d.mts +0 -66
  750. package/node_modules/@radix-ui/react-tabs/dist/index.d.ts +0 -66
  751. package/node_modules/@radix-ui/react-tabs/dist/index.js +0 -231
  752. package/node_modules/@radix-ui/react-tabs/dist/index.js.map +0 -7
  753. package/node_modules/@radix-ui/react-tabs/dist/index.mjs +0 -199
  754. package/node_modules/@radix-ui/react-tabs/dist/index.mjs.map +0 -7
  755. package/node_modules/@radix-ui/react-tabs/package.json +0 -62
  756. package/node_modules/@radix-ui/react-toast/README.md +0 -13
  757. package/node_modules/@radix-ui/react-toast/dist/index.d.mts +0 -130
  758. package/node_modules/@radix-ui/react-toast/dist/index.d.ts +0 -130
  759. package/node_modules/@radix-ui/react-toast/dist/index.js +0 -681
  760. package/node_modules/@radix-ui/react-toast/dist/index.js.map +0 -7
  761. package/node_modules/@radix-ui/react-toast/dist/index.mjs +0 -649
  762. package/node_modules/@radix-ui/react-toast/dist/index.mjs.map +0 -7
  763. package/node_modules/@radix-ui/react-toast/package.json +0 -66
  764. package/node_modules/@radix-ui/react-use-callback-ref/README.md +0 -13
  765. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.mts +0 -7
  766. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.ts +0 -7
  767. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +0 -46
  768. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +0 -7
  769. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs +0 -13
  770. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.map +0 -7
  771. package/node_modules/@radix-ui/react-use-callback-ref/package.json +0 -47
  772. package/node_modules/@radix-ui/react-use-controllable-state/README.md +0 -13
  773. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.mts +0 -10
  774. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts +0 -10
  775. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +0 -80
  776. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +0 -7
  777. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +0 -47
  778. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +0 -7
  779. package/node_modules/@radix-ui/react-use-controllable-state/package.json +0 -50
  780. package/node_modules/@radix-ui/react-use-escape-keydown/README.md +0 -13
  781. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.mts +0 -6
  782. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.ts +0 -6
  783. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +0 -52
  784. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +0 -7
  785. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs +0 -19
  786. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs.map +0 -7
  787. package/node_modules/@radix-ui/react-use-escape-keydown/package.json +0 -50
  788. package/node_modules/@radix-ui/react-use-layout-effect/README.md +0 -13
  789. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.mts +0 -12
  790. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts +0 -12
  791. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +0 -41
  792. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +0 -7
  793. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +0 -8
  794. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +0 -7
  795. package/node_modules/@radix-ui/react-use-layout-effect/package.json +0 -47
  796. package/node_modules/@radix-ui/react-use-previous/README.md +0 -13
  797. package/node_modules/@radix-ui/react-use-previous/dist/index.d.mts +0 -3
  798. package/node_modules/@radix-ui/react-use-previous/dist/index.d.ts +0 -3
  799. package/node_modules/@radix-ui/react-use-previous/dist/index.js +0 -49
  800. package/node_modules/@radix-ui/react-use-previous/dist/index.js.map +0 -7
  801. package/node_modules/@radix-ui/react-use-previous/dist/index.mjs +0 -16
  802. package/node_modules/@radix-ui/react-use-previous/dist/index.mjs.map +0 -7
  803. package/node_modules/@radix-ui/react-use-previous/package.json +0 -47
  804. package/node_modules/@radix-ui/react-use-rect/README.md +0 -13
  805. package/node_modules/@radix-ui/react-use-rect/dist/index.d.mts +0 -9
  806. package/node_modules/@radix-ui/react-use-rect/dist/index.d.ts +0 -9
  807. package/node_modules/@radix-ui/react-use-rect/dist/index.js +0 -54
  808. package/node_modules/@radix-ui/react-use-rect/dist/index.js.map +0 -7
  809. package/node_modules/@radix-ui/react-use-rect/dist/index.mjs +0 -21
  810. package/node_modules/@radix-ui/react-use-rect/dist/index.mjs.map +0 -7
  811. package/node_modules/@radix-ui/react-use-rect/package.json +0 -50
  812. package/node_modules/@radix-ui/react-use-size/README.md +0 -13
  813. package/node_modules/@radix-ui/react-use-size/dist/index.d.mts +0 -6
  814. package/node_modules/@radix-ui/react-use-size/dist/index.d.ts +0 -6
  815. package/node_modules/@radix-ui/react-use-size/dist/index.js +0 -74
  816. package/node_modules/@radix-ui/react-use-size/dist/index.js.map +0 -7
  817. package/node_modules/@radix-ui/react-use-size/dist/index.mjs +0 -41
  818. package/node_modules/@radix-ui/react-use-size/dist/index.mjs.map +0 -7
  819. package/node_modules/@radix-ui/react-use-size/package.json +0 -53
  820. package/node_modules/@radix-ui/react-visually-hidden/README.md +0 -13
  821. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.mts +0 -10
  822. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.ts +0 -10
  823. package/node_modules/@radix-ui/react-visually-hidden/dist/index.js +0 -70
  824. package/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +0 -7
  825. package/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs +0 -37
  826. package/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs.map +0 -7
  827. package/node_modules/@radix-ui/react-visually-hidden/package.json +0 -55
  828. package/node_modules/@radix-ui/rect/README.md +0 -13
  829. package/node_modules/@radix-ui/rect/dist/index.d.mts +0 -16
  830. package/node_modules/@radix-ui/rect/dist/index.d.ts +0 -16
  831. package/node_modules/@radix-ui/rect/dist/index.js +0 -73
  832. package/node_modules/@radix-ui/rect/dist/index.js.map +0 -7
  833. package/node_modules/@radix-ui/rect/dist/index.mjs +0 -50
  834. package/node_modules/@radix-ui/rect/dist/index.mjs.map +0 -7
  835. package/node_modules/@radix-ui/rect/package.json +0 -38
  836. package/node_modules/@remix-run/react/CHANGELOG.md +0 -964
  837. package/node_modules/@remix-run/react/LICENSE.md +0 -22
  838. package/node_modules/@remix-run/react/README.md +0 -13
  839. package/node_modules/@remix-run/react/dist/_virtual/_rollupPluginBabelHelpers.js +0 -30
  840. package/node_modules/@remix-run/react/dist/browser.d.ts +0 -37
  841. package/node_modules/@remix-run/react/dist/browser.js +0 -268
  842. package/node_modules/@remix-run/react/dist/components.d.ts +0 -137
  843. package/node_modules/@remix-run/react/dist/components.js +0 -911
  844. package/node_modules/@remix-run/react/dist/data.d.ts +0 -15
  845. package/node_modules/@remix-run/react/dist/data.js +0 -280
  846. package/node_modules/@remix-run/react/dist/entry.d.ts +0 -51
  847. package/node_modules/@remix-run/react/dist/errorBoundaries.d.ts +0 -36
  848. package/node_modules/@remix-run/react/dist/errorBoundaries.js +0 -186
  849. package/node_modules/@remix-run/react/dist/errors.d.ts +0 -2
  850. package/node_modules/@remix-run/react/dist/errors.js +0 -53
  851. package/node_modules/@remix-run/react/dist/esm/_virtual/_rollupPluginBabelHelpers.js +0 -26
  852. package/node_modules/@remix-run/react/dist/esm/browser.js +0 -308
  853. package/node_modules/@remix-run/react/dist/esm/components.js +0 -878
  854. package/node_modules/@remix-run/react/dist/esm/data.js +0 -267
  855. package/node_modules/@remix-run/react/dist/esm/errorBoundaries.js +0 -160
  856. package/node_modules/@remix-run/react/dist/esm/errors.js +0 -49
  857. package/node_modules/@remix-run/react/dist/esm/fallback.js +0 -35
  858. package/node_modules/@remix-run/react/dist/esm/fog-of-war.js +0 -226
  859. package/node_modules/@remix-run/react/dist/esm/index.js +0 -17
  860. package/node_modules/@remix-run/react/dist/esm/invariant.js +0 -17
  861. package/node_modules/@remix-run/react/dist/esm/links.js +0 -258
  862. package/node_modules/@remix-run/react/dist/esm/markup.js +0 -34
  863. package/node_modules/@remix-run/react/dist/esm/routeModules.js +0 -89
  864. package/node_modules/@remix-run/react/dist/esm/routes.js +0 -411
  865. package/node_modules/@remix-run/react/dist/esm/scroll-restoration.js +0 -84
  866. package/node_modules/@remix-run/react/dist/esm/server.js +0 -93
  867. package/node_modules/@remix-run/react/dist/esm/single-fetch.js +0 -309
  868. package/node_modules/@remix-run/react/dist/fallback.d.ts +0 -2
  869. package/node_modules/@remix-run/react/dist/fallback.js +0 -59
  870. package/node_modules/@remix-run/react/dist/fog-of-war.d.ts +0 -37
  871. package/node_modules/@remix-run/react/dist/fog-of-war.js +0 -254
  872. package/node_modules/@remix-run/react/dist/index.d.ts +0 -16
  873. package/node_modules/@remix-run/react/dist/index.js +0 -227
  874. package/node_modules/@remix-run/react/dist/invariant.d.ts +0 -2
  875. package/node_modules/@remix-run/react/dist/invariant.js +0 -19
  876. package/node_modules/@remix-run/react/dist/links.d.ts +0 -128
  877. package/node_modules/@remix-run/react/dist/links.js +0 -268
  878. package/node_modules/@remix-run/react/dist/markup.d.ts +0 -5
  879. package/node_modules/@remix-run/react/dist/markup.js +0 -39
  880. package/node_modules/@remix-run/react/dist/routeModules.d.ts +0 -132
  881. package/node_modules/@remix-run/react/dist/routeModules.js +0 -111
  882. package/node_modules/@remix-run/react/dist/routes.d.ts +0 -32
  883. package/node_modules/@remix-run/react/dist/routes.js +0 -438
  884. package/node_modules/@remix-run/react/dist/scroll-restoration.d.ts +0 -12
  885. package/node_modules/@remix-run/react/dist/scroll-restoration.js +0 -108
  886. package/node_modules/@remix-run/react/dist/server.d.ts +0 -14
  887. package/node_modules/@remix-run/react/dist/server.js +0 -117
  888. package/node_modules/@remix-run/react/dist/single-fetch.d.ts +0 -34
  889. package/node_modules/@remix-run/react/dist/single-fetch.js +0 -339
  890. package/node_modules/@remix-run/react/dist/warnings.d.ts +0 -1
  891. package/node_modules/@remix-run/react/future/single-fetch.d.ts +0 -73
  892. package/node_modules/@remix-run/react/package.json +0 -59
  893. package/node_modules/@remix-run/router/CHANGELOG.md +0 -747
  894. package/node_modules/@remix-run/router/LICENSE.md +0 -23
  895. package/node_modules/@remix-run/router/README.md +0 -135
  896. package/node_modules/@remix-run/router/dist/history.d.ts +0 -250
  897. package/node_modules/@remix-run/router/dist/index.d.ts +0 -9
  898. package/node_modules/@remix-run/router/dist/router.cjs.js +0 -5407
  899. package/node_modules/@remix-run/router/dist/router.cjs.js.map +0 -1
  900. package/node_modules/@remix-run/router/dist/router.d.ts +0 -523
  901. package/node_modules/@remix-run/router/dist/router.js +0 -4856
  902. package/node_modules/@remix-run/router/dist/router.js.map +0 -1
  903. package/node_modules/@remix-run/router/dist/router.umd.js +0 -5413
  904. package/node_modules/@remix-run/router/dist/router.umd.js.map +0 -1
  905. package/node_modules/@remix-run/router/dist/router.umd.min.js +0 -12
  906. package/node_modules/@remix-run/router/dist/router.umd.min.js.map +0 -1
  907. package/node_modules/@remix-run/router/dist/utils.d.ts +0 -528
  908. package/node_modules/@remix-run/router/history.ts +0 -746
  909. package/node_modules/@remix-run/router/index.ts +0 -101
  910. package/node_modules/@remix-run/router/package.json +0 -33
  911. package/node_modules/@remix-run/router/router.ts +0 -5760
  912. package/node_modules/@remix-run/router/utils.ts +0 -1673
  913. package/node_modules/@remix-run/server-runtime/CHANGELOG.md +0 -1023
  914. package/node_modules/@remix-run/server-runtime/LICENSE.md +0 -22
  915. package/node_modules/@remix-run/server-runtime/README.md +0 -26
  916. package/node_modules/@remix-run/server-runtime/dist/build.d.ts +0 -39
  917. package/node_modules/@remix-run/server-runtime/dist/cookies.d.ts +0 -69
  918. package/node_modules/@remix-run/server-runtime/dist/cookies.js +0 -173
  919. package/node_modules/@remix-run/server-runtime/dist/crypto.d.ts +0 -2
  920. package/node_modules/@remix-run/server-runtime/dist/data.d.ts +0 -33
  921. package/node_modules/@remix-run/server-runtime/dist/data.js +0 -138
  922. package/node_modules/@remix-run/server-runtime/dist/deprecations.d.ts +0 -1
  923. package/node_modules/@remix-run/server-runtime/dist/deprecations.js +0 -19
  924. package/node_modules/@remix-run/server-runtime/dist/dev.d.ts +0 -10
  925. package/node_modules/@remix-run/server-runtime/dist/dev.js +0 -53
  926. package/node_modules/@remix-run/server-runtime/dist/entry.d.ts +0 -43
  927. package/node_modules/@remix-run/server-runtime/dist/entry.js +0 -22
  928. package/node_modules/@remix-run/server-runtime/dist/errors.d.ts +0 -51
  929. package/node_modules/@remix-run/server-runtime/dist/errors.js +0 -122
  930. package/node_modules/@remix-run/server-runtime/dist/esm/cookies.js +0 -168
  931. package/node_modules/@remix-run/server-runtime/dist/esm/data.js +0 -133
  932. package/node_modules/@remix-run/server-runtime/dist/esm/deprecations.js +0 -15
  933. package/node_modules/@remix-run/server-runtime/dist/esm/dev.js +0 -46
  934. package/node_modules/@remix-run/server-runtime/dist/esm/entry.js +0 -18
  935. package/node_modules/@remix-run/server-runtime/dist/esm/errors.js +0 -115
  936. package/node_modules/@remix-run/server-runtime/dist/esm/formData.js +0 -55
  937. package/node_modules/@remix-run/server-runtime/dist/esm/headers.js +0 -90
  938. package/node_modules/@remix-run/server-runtime/dist/esm/index.js +0 -21
  939. package/node_modules/@remix-run/server-runtime/dist/esm/invariant.js +0 -18
  940. package/node_modules/@remix-run/server-runtime/dist/esm/markup.js +0 -29
  941. package/node_modules/@remix-run/server-runtime/dist/esm/mode.js +0 -24
  942. package/node_modules/@remix-run/server-runtime/dist/esm/responses.js +0 -123
  943. package/node_modules/@remix-run/server-runtime/dist/esm/routeMatching.js +0 -23
  944. package/node_modules/@remix-run/server-runtime/dist/esm/routes.js +0 -81
  945. package/node_modules/@remix-run/server-runtime/dist/esm/server.js +0 -524
  946. package/node_modules/@remix-run/server-runtime/dist/esm/serverHandoff.js +0 -20
  947. package/node_modules/@remix-run/server-runtime/dist/esm/sessions/cookieStorage.js +0 -51
  948. package/node_modules/@remix-run/server-runtime/dist/esm/sessions/memoryStorage.js +0 -61
  949. package/node_modules/@remix-run/server-runtime/dist/esm/sessions.js +0 -145
  950. package/node_modules/@remix-run/server-runtime/dist/esm/single-fetch.js +0 -450
  951. package/node_modules/@remix-run/server-runtime/dist/esm/upload/errors.js +0 -19
  952. package/node_modules/@remix-run/server-runtime/dist/esm/upload/memoryUploadHandler.js +0 -50
  953. package/node_modules/@remix-run/server-runtime/dist/esm/warnings.js +0 -19
  954. package/node_modules/@remix-run/server-runtime/dist/formData.d.ts +0 -15
  955. package/node_modules/@remix-run/server-runtime/dist/formData.js +0 -60
  956. package/node_modules/@remix-run/server-runtime/dist/headers.d.ts +0 -3
  957. package/node_modules/@remix-run/server-runtime/dist/headers.js +0 -94
  958. package/node_modules/@remix-run/server-runtime/dist/index.d.ts +0 -14
  959. package/node_modules/@remix-run/server-runtime/dist/index.js +0 -50
  960. package/node_modules/@remix-run/server-runtime/dist/interface.d.ts +0 -6
  961. package/node_modules/@remix-run/server-runtime/dist/invariant.d.ts +0 -2
  962. package/node_modules/@remix-run/server-runtime/dist/invariant.js +0 -22
  963. package/node_modules/@remix-run/server-runtime/dist/jsonify.d.ts +0 -33
  964. package/node_modules/@remix-run/server-runtime/dist/links.d.ts +0 -104
  965. package/node_modules/@remix-run/server-runtime/dist/markup.d.ts +0 -1
  966. package/node_modules/@remix-run/server-runtime/dist/markup.js +0 -33
  967. package/node_modules/@remix-run/server-runtime/dist/mode.d.ts +0 -9
  968. package/node_modules/@remix-run/server-runtime/dist/mode.js +0 -29
  969. package/node_modules/@remix-run/server-runtime/dist/reexport.d.ts +0 -14
  970. package/node_modules/@remix-run/server-runtime/dist/responses.d.ts +0 -47
  971. package/node_modules/@remix-run/server-runtime/dist/responses.js +0 -135
  972. package/node_modules/@remix-run/server-runtime/dist/routeMatching.d.ts +0 -8
  973. package/node_modules/@remix-run/server-runtime/dist/routeMatching.js +0 -27
  974. package/node_modules/@remix-run/server-runtime/dist/routeModules.d.ts +0 -214
  975. package/node_modules/@remix-run/server-runtime/dist/routes.d.ts +0 -31
  976. package/node_modules/@remix-run/server-runtime/dist/routes.js +0 -86
  977. package/node_modules/@remix-run/server-runtime/dist/serialize.d.ts +0 -25
  978. package/node_modules/@remix-run/server-runtime/dist/server.d.ts +0 -5
  979. package/node_modules/@remix-run/server-runtime/dist/server.js +0 -528
  980. package/node_modules/@remix-run/server-runtime/dist/serverHandoff.d.ts +0 -12
  981. package/node_modules/@remix-run/server-runtime/dist/serverHandoff.js +0 -24
  982. package/node_modules/@remix-run/server-runtime/dist/sessions/cookieStorage.d.ts +0 -23
  983. package/node_modules/@remix-run/server-runtime/dist/sessions/cookieStorage.js +0 -55
  984. package/node_modules/@remix-run/server-runtime/dist/sessions/memoryStorage.d.ts +0 -20
  985. package/node_modules/@remix-run/server-runtime/dist/sessions/memoryStorage.js +0 -65
  986. package/node_modules/@remix-run/server-runtime/dist/sessions.d.ts +0 -143
  987. package/node_modules/@remix-run/server-runtime/dist/sessions.js +0 -152
  988. package/node_modules/@remix-run/server-runtime/dist/single-fetch.d.ts +0 -90
  989. package/node_modules/@remix-run/server-runtime/dist/single-fetch.js +0 -468
  990. package/node_modules/@remix-run/server-runtime/dist/typecheck.d.ts +0 -4
  991. package/node_modules/@remix-run/server-runtime/dist/upload/errors.d.ts +0 -5
  992. package/node_modules/@remix-run/server-runtime/dist/upload/errors.js +0 -23
  993. package/node_modules/@remix-run/server-runtime/dist/upload/memoryUploadHandler.d.ts +0 -21
  994. package/node_modules/@remix-run/server-runtime/dist/upload/memoryUploadHandler.js +0 -54
  995. package/node_modules/@remix-run/server-runtime/dist/warnings.d.ts +0 -1
  996. package/node_modules/@remix-run/server-runtime/dist/warnings.js +0 -23
  997. package/node_modules/@remix-run/server-runtime/package.json +0 -51
  998. package/node_modules/@types/cookie/LICENSE +0 -21
  999. package/node_modules/@types/cookie/README.md +0 -15
  1000. package/node_modules/@types/cookie/index.d.ts +0 -154
  1001. package/node_modules/@types/cookie/package.json +0 -30
  1002. package/node_modules/@web3-storage/multipart-parser/README.md +0 -37
  1003. package/node_modules/@web3-storage/multipart-parser/cjs/src/index.js +0 -218
  1004. package/node_modules/@web3-storage/multipart-parser/cjs/src/search.js +0 -269
  1005. package/node_modules/@web3-storage/multipart-parser/cjs/src/utils.js +0 -37
  1006. package/node_modules/@web3-storage/multipart-parser/esm/package.json +0 -4
  1007. package/node_modules/@web3-storage/multipart-parser/esm/src/index.js +0 -219
  1008. package/node_modules/@web3-storage/multipart-parser/esm/src/search.js +0 -269
  1009. package/node_modules/@web3-storage/multipart-parser/esm/src/utils.js +0 -28
  1010. package/node_modules/@web3-storage/multipart-parser/index.js +0 -1
  1011. package/node_modules/@web3-storage/multipart-parser/package.json +0 -44
  1012. package/node_modules/@web3-storage/multipart-parser/src/index.js +0 -257
  1013. package/node_modules/@web3-storage/multipart-parser/src/search.js +0 -329
  1014. package/node_modules/@web3-storage/multipart-parser/src/utils.js +0 -43
  1015. package/node_modules/@web3-storage/multipart-parser/test/test.spec.js +0 -65
  1016. package/node_modules/@web3-storage/multipart-parser/tsconfig.json +0 -41
  1017. package/node_modules/@web3-storage/multipart-parser/types/index.d.ts +0 -15
  1018. package/node_modules/@web3-storage/multipart-parser/types/index.d.ts.map +0 -1
  1019. package/node_modules/@web3-storage/multipart-parser/types/search.d.ts +0 -36
  1020. package/node_modules/@web3-storage/multipart-parser/types/search.d.ts.map +0 -1
  1021. package/node_modules/@web3-storage/multipart-parser/types/utils.d.ts +0 -18
  1022. package/node_modules/@web3-storage/multipart-parser/types/utils.d.ts.map +0 -1
  1023. package/node_modules/aria-hidden/LICENSE +0 -21
  1024. package/node_modules/aria-hidden/README.md +0 -99
  1025. package/node_modules/aria-hidden/dist/es2015/index.d.ts +0 -29
  1026. package/node_modules/aria-hidden/dist/es2015/index.js +0 -166
  1027. package/node_modules/aria-hidden/dist/es2019/index.d.ts +0 -29
  1028. package/node_modules/aria-hidden/dist/es2019/index.js +0 -155
  1029. package/node_modules/aria-hidden/dist/es5/index.d.ts +0 -29
  1030. package/node_modules/aria-hidden/dist/es5/index.js +0 -173
  1031. package/node_modules/aria-hidden/package.json +0 -70
  1032. package/node_modules/assertion-error/LICENSE +0 -21
  1033. package/node_modules/assertion-error/README.md +0 -68
  1034. package/node_modules/assertion-error/index.d.ts +0 -27
  1035. package/node_modules/assertion-error/index.js +0 -60
  1036. package/node_modules/assertion-error/package.json +0 -32
  1037. package/node_modules/chai/CODEOWNERS +0 -1
  1038. package/node_modules/chai/CODE_OF_CONDUCT.md +0 -58
  1039. package/node_modules/chai/CONTRIBUTING.md +0 -218
  1040. package/node_modules/chai/History.md +0 -1059
  1041. package/node_modules/chai/LICENSE +0 -21
  1042. package/node_modules/chai/README.md +0 -154
  1043. package/node_modules/chai/ReleaseNotes.md +0 -737
  1044. package/node_modules/chai/chai.js +0 -4018
  1045. package/node_modules/chai/eslint.config.js +0 -12
  1046. package/node_modules/chai/index.js +0 -1
  1047. package/node_modules/chai/lib/chai/assertion.js +0 -164
  1048. package/node_modules/chai/lib/chai/config.js +0 -114
  1049. package/node_modules/chai/lib/chai/core/assertions.js +0 -3933
  1050. package/node_modules/chai/lib/chai/interface/assert.js +0 -3012
  1051. package/node_modules/chai/lib/chai/interface/expect.js +0 -55
  1052. package/node_modules/chai/lib/chai/interface/should.js +0 -221
  1053. package/node_modules/chai/lib/chai/utils/addChainableMethod.js +0 -147
  1054. package/node_modules/chai/lib/chai/utils/addLengthGuard.js +0 -60
  1055. package/node_modules/chai/lib/chai/utils/addMethod.js +0 -67
  1056. package/node_modules/chai/lib/chai/utils/addProperty.js +0 -71
  1057. package/node_modules/chai/lib/chai/utils/compareByInspect.js +0 -26
  1058. package/node_modules/chai/lib/chai/utils/expectTypes.js +0 -50
  1059. package/node_modules/chai/lib/chai/utils/flag.js +0 -33
  1060. package/node_modules/chai/lib/chai/utils/getActual.js +0 -20
  1061. package/node_modules/chai/lib/chai/utils/getEnumerableProperties.js +0 -25
  1062. package/node_modules/chai/lib/chai/utils/getMessage.js +0 -46
  1063. package/node_modules/chai/lib/chai/utils/getOperator.js +0 -58
  1064. package/node_modules/chai/lib/chai/utils/getOwnEnumerableProperties.js +0 -24
  1065. package/node_modules/chai/lib/chai/utils/getOwnEnumerablePropertySymbols.js +0 -26
  1066. package/node_modules/chai/lib/chai/utils/getProperties.js +0 -38
  1067. package/node_modules/chai/lib/chai/utils/index.js +0 -107
  1068. package/node_modules/chai/lib/chai/utils/inspect.js +0 -31
  1069. package/node_modules/chai/lib/chai/utils/isNaN.js +0 -26
  1070. package/node_modules/chai/lib/chai/utils/isProxyEnabled.js +0 -24
  1071. package/node_modules/chai/lib/chai/utils/objDisplay.js +0 -46
  1072. package/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js +0 -68
  1073. package/node_modules/chai/lib/chai/utils/overwriteMethod.js +0 -91
  1074. package/node_modules/chai/lib/chai/utils/overwriteProperty.js +0 -90
  1075. package/node_modules/chai/lib/chai/utils/proxify.js +0 -147
  1076. package/node_modules/chai/lib/chai/utils/test.js +0 -24
  1077. package/node_modules/chai/lib/chai/utils/transferFlags.js +0 -43
  1078. package/node_modules/chai/lib/chai/utils/type-detect.js +0 -20
  1079. package/node_modules/chai/lib/chai.js +0 -65
  1080. package/node_modules/chai/package.json +0 -61
  1081. package/node_modules/chai/register-assert.cjs +0 -3
  1082. package/node_modules/chai/register-assert.js +0 -3
  1083. package/node_modules/chai/register-expect.cjs +0 -3
  1084. package/node_modules/chai/register-expect.js +0 -3
  1085. package/node_modules/chai/register-should.cjs +0 -3
  1086. package/node_modules/chai/register-should.js +0 -3
  1087. package/node_modules/chai/web-test-runner.config.js +0 -20
  1088. package/node_modules/chai-dom/.eslintrc +0 -22
  1089. package/node_modules/chai-dom/.travis.yml +0 -15
  1090. package/node_modules/chai-dom/LICENSE +0 -24
  1091. package/node_modules/chai-dom/README.md +0 -267
  1092. package/node_modules/chai-dom/bower.json +0 -31
  1093. package/node_modules/chai-dom/chai-dom.js +0 -429
  1094. package/node_modules/chai-dom/package.json +0 -44
  1095. package/node_modules/chai-dom/test/.eslintrc +0 -12
  1096. package/node_modules/chai-dom/test/index.html +0 -27
  1097. package/node_modules/chai-dom/test/tests.js +0 -1124
  1098. package/node_modules/chai-dom/testem.js +0 -31
  1099. package/node_modules/check-error/LICENSE +0 -19
  1100. package/node_modules/check-error/README.md +0 -144
  1101. package/node_modules/check-error/index.js +0 -135
  1102. package/node_modules/check-error/package.json +0 -66
  1103. package/node_modules/clsx/clsx.d.mts +0 -6
  1104. package/node_modules/clsx/clsx.d.ts +0 -10
  1105. package/node_modules/clsx/dist/clsx.js +0 -1
  1106. package/node_modules/clsx/dist/clsx.min.js +0 -1
  1107. package/node_modules/clsx/dist/clsx.mjs +0 -1
  1108. package/node_modules/clsx/dist/lite.js +0 -1
  1109. package/node_modules/clsx/dist/lite.mjs +0 -1
  1110. package/node_modules/clsx/license +0 -9
  1111. package/node_modules/clsx/package.json +0 -60
  1112. package/node_modules/clsx/readme.md +0 -154
  1113. package/node_modules/cookie/HISTORY.md +0 -147
  1114. package/node_modules/cookie/LICENSE +0 -24
  1115. package/node_modules/cookie/README.md +0 -317
  1116. package/node_modules/cookie/SECURITY.md +0 -25
  1117. package/node_modules/cookie/index.js +0 -274
  1118. package/node_modules/cookie/package.json +0 -44
  1119. package/node_modules/deep-eql/LICENSE +0 -19
  1120. package/node_modules/deep-eql/README.md +0 -93
  1121. package/node_modules/deep-eql/index.js +0 -513
  1122. package/node_modules/deep-eql/package.json +0 -73
  1123. package/node_modules/detect-node-es/LICENSE +0 -21
  1124. package/node_modules/detect-node-es/Readme.md +0 -39
  1125. package/node_modules/detect-node-es/es5/browser.js +0 -2
  1126. package/node_modules/detect-node-es/es5/node.d.ts +0 -4
  1127. package/node_modules/detect-node-es/es5/node.js +0 -2
  1128. package/node_modules/detect-node-es/esm/browser.js +0 -2
  1129. package/node_modules/detect-node-es/esm/node.js +0 -2
  1130. package/node_modules/detect-node-es/package.json +0 -29
  1131. package/node_modules/framer-motion/LICENSE.md +0 -21
  1132. package/node_modules/framer-motion/README.md +0 -105
  1133. package/node_modules/framer-motion/dist/cjs/dom-entry-GDJJhIpT.js +0 -5959
  1134. package/node_modules/framer-motion/dist/cjs/dom-entry.js +0 -53
  1135. package/node_modules/framer-motion/dist/cjs/index.js +0 -6566
  1136. package/node_modules/framer-motion/dist/dom-entry.d.ts +0 -964
  1137. package/node_modules/framer-motion/dist/dom.js +0 -1
  1138. package/node_modules/framer-motion/dist/es/animation/GroupPlaybackControls.mjs +0 -80
  1139. package/node_modules/framer-motion/dist/es/animation/animate.mjs +0 -83
  1140. package/node_modules/framer-motion/dist/es/animation/animators/AcceleratedAnimation.mjs +0 -295
  1141. package/node_modules/framer-motion/dist/es/animation/animators/BaseAnimation.mjs +0 -84
  1142. package/node_modules/framer-motion/dist/es/animation/animators/MainThreadAnimation.mjs +0 -382
  1143. package/node_modules/framer-motion/dist/es/animation/animators/drivers/driver-frameloop.mjs +0 -17
  1144. package/node_modules/framer-motion/dist/es/animation/animators/utils/can-animate.mjs +0 -40
  1145. package/node_modules/framer-motion/dist/es/animation/animators/waapi/easing.mjs +0 -40
  1146. package/node_modules/framer-motion/dist/es/animation/animators/waapi/index.mjs +0 -23
  1147. package/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs +0 -12
  1148. package/node_modules/framer-motion/dist/es/animation/generators/inertia.mjs +0 -87
  1149. package/node_modules/framer-motion/dist/es/animation/generators/keyframes.mjs +0 -51
  1150. package/node_modules/framer-motion/dist/es/animation/generators/spring/find.mjs +0 -89
  1151. package/node_modules/framer-motion/dist/es/animation/generators/spring/index.mjs +0 -131
  1152. package/node_modules/framer-motion/dist/es/animation/generators/utils/calc-duration.mjs +0 -17
  1153. package/node_modules/framer-motion/dist/es/animation/generators/utils/velocity.mjs +0 -9
  1154. package/node_modules/framer-motion/dist/es/animation/hooks/animation-controls.mjs +0 -80
  1155. package/node_modules/framer-motion/dist/es/animation/hooks/use-animate.mjs +0 -17
  1156. package/node_modules/framer-motion/dist/es/animation/hooks/use-animated-state.mjs +0 -62
  1157. package/node_modules/framer-motion/dist/es/animation/hooks/use-animation.mjs +0 -41
  1158. package/node_modules/framer-motion/dist/es/animation/interfaces/motion-value.mjs +0 -112
  1159. package/node_modules/framer-motion/dist/es/animation/interfaces/single-value.mjs +0 -11
  1160. package/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs +0 -80
  1161. package/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-variant.mjs +0 -66
  1162. package/node_modules/framer-motion/dist/es/animation/interfaces/visual-element.mjs +0 -29
  1163. package/node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs +0 -6
  1164. package/node_modules/framer-motion/dist/es/animation/optimized-appear/get-appear-id.mjs +0 -7
  1165. package/node_modules/framer-motion/dist/es/animation/optimized-appear/handoff.mjs +0 -83
  1166. package/node_modules/framer-motion/dist/es/animation/optimized-appear/start.mjs +0 -80
  1167. package/node_modules/framer-motion/dist/es/animation/optimized-appear/store-id.mjs +0 -3
  1168. package/node_modules/framer-motion/dist/es/animation/optimized-appear/store.mjs +0 -3
  1169. package/node_modules/framer-motion/dist/es/animation/sequence/create.mjs +0 -230
  1170. package/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs +0 -21
  1171. package/node_modules/framer-motion/dist/es/animation/sequence/utils/edit.mjs +0 -31
  1172. package/node_modules/framer-motion/dist/es/animation/sequence/utils/sort.mjs +0 -14
  1173. package/node_modules/framer-motion/dist/es/animation/utils/create-visual-element.mjs +0 -32
  1174. package/node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs +0 -40
  1175. package/node_modules/framer-motion/dist/es/animation/utils/is-animatable.mjs +0 -30
  1176. package/node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs +0 -7
  1177. package/node_modules/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs +0 -5
  1178. package/node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs +0 -5
  1179. package/node_modules/framer-motion/dist/es/animation/utils/is-none.mjs +0 -15
  1180. package/node_modules/framer-motion/dist/es/animation/utils/stagger.mjs +0 -26
  1181. package/node_modules/framer-motion/dist/es/animation/utils/transitions.mjs +0 -15
  1182. package/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs +0 -76
  1183. package/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs +0 -57
  1184. package/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs +0 -169
  1185. package/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs +0 -66
  1186. package/node_modules/framer-motion/dist/es/components/AnimateSharedLayout.mjs +0 -15
  1187. package/node_modules/framer-motion/dist/es/components/LayoutGroup/index.mjs +0 -31
  1188. package/node_modules/framer-motion/dist/es/components/LazyMotion/index.mjs +0 -67
  1189. package/node_modules/framer-motion/dist/es/components/MotionConfig/index.mjs +0 -43
  1190. package/node_modules/framer-motion/dist/es/components/Reorder/Group.mjs +0 -52
  1191. package/node_modules/framer-motion/dist/es/components/Reorder/Item.mjs +0 -33
  1192. package/node_modules/framer-motion/dist/es/components/Reorder/index.mjs +0 -9
  1193. package/node_modules/framer-motion/dist/es/components/Reorder/utils/check-reorder.mjs +0 -24
  1194. package/node_modules/framer-motion/dist/es/context/DeprecatedLayoutGroupContext.mjs +0 -10
  1195. package/node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs +0 -5
  1196. package/node_modules/framer-motion/dist/es/context/LazyContext.mjs +0 -5
  1197. package/node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs +0 -12
  1198. package/node_modules/framer-motion/dist/es/context/MotionContext/create.mjs +0 -13
  1199. package/node_modules/framer-motion/dist/es/context/MotionContext/index.mjs +0 -5
  1200. package/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs +0 -17
  1201. package/node_modules/framer-motion/dist/es/context/PresenceContext.mjs +0 -8
  1202. package/node_modules/framer-motion/dist/es/context/ReorderContext.mjs +0 -5
  1203. package/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs +0 -8
  1204. package/node_modules/framer-motion/dist/es/debug/record.mjs +0 -7
  1205. package/node_modules/framer-motion/dist/es/dom-entry.mjs +0 -25
  1206. package/node_modules/framer-motion/dist/es/easing/anticipate.mjs +0 -5
  1207. package/node_modules/framer-motion/dist/es/easing/back.mjs +0 -9
  1208. package/node_modules/framer-motion/dist/es/easing/circ.mjs +0 -8
  1209. package/node_modules/framer-motion/dist/es/easing/cubic-bezier.mjs +0 -51
  1210. package/node_modules/framer-motion/dist/es/easing/ease.mjs +0 -7
  1211. package/node_modules/framer-motion/dist/es/easing/modifiers/mirror.mjs +0 -5
  1212. package/node_modules/framer-motion/dist/es/easing/modifiers/reverse.mjs +0 -5
  1213. package/node_modules/framer-motion/dist/es/easing/utils/create-generator-easing.mjs +0 -18
  1214. package/node_modules/framer-motion/dist/es/easing/utils/get-easing-for-segment.mjs +0 -8
  1215. package/node_modules/framer-motion/dist/es/easing/utils/is-bezier-definition.mjs +0 -3
  1216. package/node_modules/framer-motion/dist/es/easing/utils/is-easing-array.mjs +0 -5
  1217. package/node_modules/framer-motion/dist/es/easing/utils/map.mjs +0 -37
  1218. package/node_modules/framer-motion/dist/es/events/add-dom-event.mjs +0 -6
  1219. package/node_modules/framer-motion/dist/es/events/add-pointer-event.mjs +0 -8
  1220. package/node_modules/framer-motion/dist/es/events/event-info.mjs +0 -15
  1221. package/node_modules/framer-motion/dist/es/events/use-dom-event.mjs +0 -34
  1222. package/node_modules/framer-motion/dist/es/events/utils/is-primary-pointer.mjs +0 -18
  1223. package/node_modules/framer-motion/dist/es/frameloop/batcher.mjs +0 -65
  1224. package/node_modules/framer-motion/dist/es/frameloop/frame.mjs +0 -6
  1225. package/node_modules/framer-motion/dist/es/frameloop/index-legacy.mjs +0 -20
  1226. package/node_modules/framer-motion/dist/es/frameloop/microtask.mjs +0 -5
  1227. package/node_modules/framer-motion/dist/es/frameloop/render-step.mjs +0 -104
  1228. package/node_modules/framer-motion/dist/es/frameloop/sync-time.mjs +0 -31
  1229. package/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs +0 -484
  1230. package/node_modules/framer-motion/dist/es/gestures/drag/index.mjs +0 -27
  1231. package/node_modules/framer-motion/dist/es/gestures/drag/use-drag-controls.mjs +0 -88
  1232. package/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs +0 -129
  1233. package/node_modules/framer-motion/dist/es/gestures/drag/utils/lock.mjs +0 -53
  1234. package/node_modules/framer-motion/dist/es/gestures/focus.mjs +0 -41
  1235. package/node_modules/framer-motion/dist/es/gestures/hover.mjs +0 -33
  1236. package/node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs +0 -156
  1237. package/node_modules/framer-motion/dist/es/gestures/pan/index.mjs +0 -50
  1238. package/node_modules/framer-motion/dist/es/gestures/press.mjs +0 -130
  1239. package/node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.mjs +0 -20
  1240. package/node_modules/framer-motion/dist/es/index.mjs +0 -101
  1241. package/node_modules/framer-motion/dist/es/motion/features/Feature.mjs +0 -9
  1242. package/node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs +0 -31
  1243. package/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs +0 -41
  1244. package/node_modules/framer-motion/dist/es/motion/features/animations.mjs +0 -13
  1245. package/node_modules/framer-motion/dist/es/motion/features/definitions.mjs +0 -28
  1246. package/node_modules/framer-motion/dist/es/motion/features/drag.mjs +0 -17
  1247. package/node_modules/framer-motion/dist/es/motion/features/gestures.mjs +0 -21
  1248. package/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs +0 -133
  1249. package/node_modules/framer-motion/dist/es/motion/features/layout.mjs +0 -11
  1250. package/node_modules/framer-motion/dist/es/motion/features/load-features.mjs +0 -12
  1251. package/node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs +0 -72
  1252. package/node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs +0 -49
  1253. package/node_modules/framer-motion/dist/es/motion/index.mjs +0 -97
  1254. package/node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs +0 -11
  1255. package/node_modules/framer-motion/dist/es/motion/utils/is-motion-component.mjs +0 -12
  1256. package/node_modules/framer-motion/dist/es/motion/utils/symbol.mjs +0 -3
  1257. package/node_modules/framer-motion/dist/es/motion/utils/unwrap-motion-component.mjs +0 -17
  1258. package/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs +0 -36
  1259. package/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs +0 -127
  1260. package/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs +0 -81
  1261. package/node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs +0 -57
  1262. package/node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs +0 -93
  1263. package/node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs +0 -33
  1264. package/node_modules/framer-motion/dist/es/projection/geometry/copy.mjs +0 -20
  1265. package/node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs +0 -122
  1266. package/node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs +0 -41
  1267. package/node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs +0 -54
  1268. package/node_modules/framer-motion/dist/es/projection/geometry/models.mjs +0 -17
  1269. package/node_modules/framer-motion/dist/es/projection/geometry/utils.mjs +0 -25
  1270. package/node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs +0 -13
  1271. package/node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs +0 -27
  1272. package/node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs +0 -1562
  1273. package/node_modules/framer-motion/dist/es/projection/node/group.mjs +0 -24
  1274. package/node_modules/framer-motion/dist/es/projection/node/state.mjs +0 -19
  1275. package/node_modules/framer-motion/dist/es/projection/shared/stack.mjs +0 -112
  1276. package/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs +0 -41
  1277. package/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs +0 -35
  1278. package/node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs +0 -6
  1279. package/node_modules/framer-motion/dist/es/projection/styles/transform.mjs +0 -49
  1280. package/node_modules/framer-motion/dist/es/projection/use-instant-layout-transition.mjs +0 -14
  1281. package/node_modules/framer-motion/dist/es/projection/use-reset-projection.mjs +0 -14
  1282. package/node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs +0 -5
  1283. package/node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs +0 -26
  1284. package/node_modules/framer-motion/dist/es/projection/utils/measure.mjs +0 -17
  1285. package/node_modules/framer-motion/dist/es/projection-entry.mjs +0 -11
  1286. package/node_modules/framer-motion/dist/es/render/VisualElement.mjs +0 -496
  1287. package/node_modules/framer-motion/dist/es/render/dom/DOMKeyframesResolver.mjs +0 -130
  1288. package/node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs +0 -28
  1289. package/node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs +0 -15
  1290. package/node_modules/framer-motion/dist/es/render/dom/features-animation.mjs +0 -14
  1291. package/node_modules/framer-motion/dist/es/render/dom/features-max.mjs +0 -14
  1292. package/node_modules/framer-motion/dist/es/render/dom/motion-minimal.mjs +0 -9
  1293. package/node_modules/framer-motion/dist/es/render/dom/motion-proxy.mjs +0 -47
  1294. package/node_modules/framer-motion/dist/es/render/dom/motion.mjs +0 -42
  1295. package/node_modules/framer-motion/dist/es/render/dom/resize/handle-element.mjs +0 -64
  1296. package/node_modules/framer-motion/dist/es/render/dom/resize/handle-window.mjs +0 -30
  1297. package/node_modules/framer-motion/dist/es/render/dom/resize/index.mjs +0 -8
  1298. package/node_modules/framer-motion/dist/es/render/dom/scroll/index.mjs +0 -36
  1299. package/node_modules/framer-motion/dist/es/render/dom/scroll/info.mjs +0 -56
  1300. package/node_modules/framer-motion/dist/es/render/dom/scroll/observe.mjs +0 -18
  1301. package/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs +0 -45
  1302. package/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs +0 -59
  1303. package/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs +0 -45
  1304. package/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs +0 -35
  1305. package/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs +0 -20
  1306. package/node_modules/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs +0 -48
  1307. package/node_modules/framer-motion/dist/es/render/dom/scroll/supports.mjs +0 -5
  1308. package/node_modules/framer-motion/dist/es/render/dom/scroll/track.mjs +0 -84
  1309. package/node_modules/framer-motion/dist/es/render/dom/use-render.mjs +0 -33
  1310. package/node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs +0 -6
  1311. package/node_modules/framer-motion/dist/es/render/dom/utils/create-config.mjs +0 -19
  1312. package/node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs +0 -42
  1313. package/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs +0 -59
  1314. package/node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs +0 -13
  1315. package/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs +0 -30
  1316. package/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs +0 -5
  1317. package/node_modules/framer-motion/dist/es/render/dom/utils/resolve-element.mjs +0 -28
  1318. package/node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs +0 -65
  1319. package/node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs +0 -15
  1320. package/node_modules/framer-motion/dist/es/render/dom/value-types/defaults.mjs +0 -30
  1321. package/node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.mjs +0 -15
  1322. package/node_modules/framer-motion/dist/es/render/dom/value-types/find.mjs +0 -15
  1323. package/node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs +0 -10
  1324. package/node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs +0 -74
  1325. package/node_modules/framer-motion/dist/es/render/dom/value-types/test.mjs +0 -6
  1326. package/node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.mjs +0 -9
  1327. package/node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs +0 -8
  1328. package/node_modules/framer-motion/dist/es/render/dom/viewport/index.mjs +0 -43
  1329. package/node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs +0 -59
  1330. package/node_modules/framer-motion/dist/es/render/html/config-motion.mjs +0 -12
  1331. package/node_modules/framer-motion/dist/es/render/html/use-props.mjs +0 -57
  1332. package/node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs +0 -74
  1333. package/node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs +0 -45
  1334. package/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs +0 -8
  1335. package/node_modules/framer-motion/dist/es/render/html/utils/make-none-animatable.mjs +0 -30
  1336. package/node_modules/framer-motion/dist/es/render/html/utils/render.mjs +0 -9
  1337. package/node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs +0 -20
  1338. package/node_modules/framer-motion/dist/es/render/html/utils/transform.mjs +0 -28
  1339. package/node_modules/framer-motion/dist/es/render/store.mjs +0 -3
  1340. package/node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs +0 -47
  1341. package/node_modules/framer-motion/dist/es/render/svg/config-motion.mjs +0 -40
  1342. package/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs +0 -33
  1343. package/node_modules/framer-motion/dist/es/render/svg/use-props.mjs +0 -24
  1344. package/node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs +0 -52
  1345. package/node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs +0 -30
  1346. package/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs +0 -8
  1347. package/node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs +0 -3
  1348. package/node_modules/framer-motion/dist/es/render/svg/utils/path.mjs +0 -32
  1349. package/node_modules/framer-motion/dist/es/render/svg/utils/render.mjs +0 -12
  1350. package/node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs +0 -19
  1351. package/node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs +0 -18
  1352. package/node_modules/framer-motion/dist/es/render/utils/KeyframesResolver.mjs +0 -164
  1353. package/node_modules/framer-motion/dist/es/render/utils/animation-state.mjs +0 -328
  1354. package/node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs +0 -3
  1355. package/node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs +0 -24
  1356. package/node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs +0 -13
  1357. package/node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs +0 -8
  1358. package/node_modules/framer-motion/dist/es/render/utils/motion-values.mjs +0 -67
  1359. package/node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs +0 -8
  1360. package/node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs +0 -36
  1361. package/node_modules/framer-motion/dist/es/render/utils/setters.mjs +0 -27
  1362. package/node_modules/framer-motion/dist/es/render/utils/variant-props.mjs +0 -12
  1363. package/node_modules/framer-motion/dist/es/utils/GlobalConfig.mjs +0 -6
  1364. package/node_modules/framer-motion/dist/es/utils/array.mjs +0 -21
  1365. package/node_modules/framer-motion/dist/es/utils/clamp.mjs +0 -9
  1366. package/node_modules/framer-motion/dist/es/utils/delay.mjs +0 -20
  1367. package/node_modules/framer-motion/dist/es/utils/distance.mjs +0 -9
  1368. package/node_modules/framer-motion/dist/es/utils/errors.mjs +0 -18
  1369. package/node_modules/framer-motion/dist/es/utils/get-context-window.mjs +0 -6
  1370. package/node_modules/framer-motion/dist/es/utils/hsla-to-rgba.mjs +0 -42
  1371. package/node_modules/framer-motion/dist/es/utils/interpolate.mjs +0 -75
  1372. package/node_modules/framer-motion/dist/es/utils/is-browser.mjs +0 -3
  1373. package/node_modules/framer-motion/dist/es/utils/is-numerical-string.mjs +0 -6
  1374. package/node_modules/framer-motion/dist/es/utils/is-ref-object.mjs +0 -7
  1375. package/node_modules/framer-motion/dist/es/utils/is-zero-value-string.mjs +0 -6
  1376. package/node_modules/framer-motion/dist/es/utils/memo.mjs +0 -10
  1377. package/node_modules/framer-motion/dist/es/utils/mix/color.mjs +0 -47
  1378. package/node_modules/framer-motion/dist/es/utils/mix/complex.mjs +0 -94
  1379. package/node_modules/framer-motion/dist/es/utils/mix/immediate.mjs +0 -5
  1380. package/node_modules/framer-motion/dist/es/utils/mix/index.mjs +0 -14
  1381. package/node_modules/framer-motion/dist/es/utils/mix/number.mjs +0 -26
  1382. package/node_modules/framer-motion/dist/es/utils/mix/visibility.mjs +0 -16
  1383. package/node_modules/framer-motion/dist/es/utils/noop.mjs +0 -3
  1384. package/node_modules/framer-motion/dist/es/utils/offsets/default.mjs +0 -9
  1385. package/node_modules/framer-motion/dist/es/utils/offsets/fill.mjs +0 -12
  1386. package/node_modules/framer-motion/dist/es/utils/offsets/time.mjs +0 -5
  1387. package/node_modules/framer-motion/dist/es/utils/pipe.mjs +0 -11
  1388. package/node_modules/framer-motion/dist/es/utils/progress.mjs +0 -18
  1389. package/node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs +0 -19
  1390. package/node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs +0 -5
  1391. package/node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion-config.mjs +0 -19
  1392. package/node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs +0 -47
  1393. package/node_modules/framer-motion/dist/es/utils/resolve-value.mjs +0 -11
  1394. package/node_modules/framer-motion/dist/es/utils/shallow-compare.mjs +0 -14
  1395. package/node_modules/framer-motion/dist/es/utils/subscription-manager.mjs +0 -40
  1396. package/node_modules/framer-motion/dist/es/utils/time-conversion.mjs +0 -10
  1397. package/node_modules/framer-motion/dist/es/utils/transform.mjs +0 -21
  1398. package/node_modules/framer-motion/dist/es/utils/use-animation-frame.mjs +0 -21
  1399. package/node_modules/framer-motion/dist/es/utils/use-constant.mjs +0 -18
  1400. package/node_modules/framer-motion/dist/es/utils/use-cycle.mjs +0 -47
  1401. package/node_modules/framer-motion/dist/es/utils/use-force-update.mjs +0 -19
  1402. package/node_modules/framer-motion/dist/es/utils/use-in-view.mjs +0 -23
  1403. package/node_modules/framer-motion/dist/es/utils/use-instant-transition-state.mjs +0 -5
  1404. package/node_modules/framer-motion/dist/es/utils/use-instant-transition.mjs +0 -41
  1405. package/node_modules/framer-motion/dist/es/utils/use-is-mounted.mjs +0 -15
  1406. package/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs +0 -6
  1407. package/node_modules/framer-motion/dist/es/utils/use-motion-value-event.mjs +0 -13
  1408. package/node_modules/framer-motion/dist/es/utils/use-unmount-effect.mjs +0 -7
  1409. package/node_modules/framer-motion/dist/es/utils/velocity-per-second.mjs +0 -11
  1410. package/node_modules/framer-motion/dist/es/utils/warn-once.mjs +0 -11
  1411. package/node_modules/framer-motion/dist/es/utils/wrap.mjs +0 -6
  1412. package/node_modules/framer-motion/dist/es/value/index.mjs +0 -319
  1413. package/node_modules/framer-motion/dist/es/value/scroll/use-element-scroll.mjs +0 -14
  1414. package/node_modules/framer-motion/dist/es/value/scroll/use-viewport-scroll.mjs +0 -14
  1415. package/node_modules/framer-motion/dist/es/value/types/color/hex.mjs +0 -40
  1416. package/node_modules/framer-motion/dist/es/value/types/color/hsla.mjs +0 -22
  1417. package/node_modules/framer-motion/dist/es/value/types/color/index.mjs +0 -28
  1418. package/node_modules/framer-motion/dist/es/value/types/color/rgba.mjs +0 -25
  1419. package/node_modules/framer-motion/dist/es/value/types/color/utils.mjs +0 -23
  1420. package/node_modules/framer-motion/dist/es/value/types/complex/filter.mjs +0 -30
  1421. package/node_modules/framer-motion/dist/es/value/types/complex/index.mjs +0 -90
  1422. package/node_modules/framer-motion/dist/es/value/types/numbers/index.mjs +0 -17
  1423. package/node_modules/framer-motion/dist/es/value/types/numbers/units.mjs +0 -19
  1424. package/node_modules/framer-motion/dist/es/value/types/utils.mjs +0 -15
  1425. package/node_modules/framer-motion/dist/es/value/use-combine-values.mjs +0 -37
  1426. package/node_modules/framer-motion/dist/es/value/use-computed.mjs +0 -19
  1427. package/node_modules/framer-motion/dist/es/value/use-inverted-scale.mjs +0 -52
  1428. package/node_modules/framer-motion/dist/es/value/use-motion-template.mjs +0 -45
  1429. package/node_modules/framer-motion/dist/es/value/use-motion-value.mjs +0 -38
  1430. package/node_modules/framer-motion/dist/es/value/use-scroll.mjs +0 -39
  1431. package/node_modules/framer-motion/dist/es/value/use-spring.mjs +0 -80
  1432. package/node_modules/framer-motion/dist/es/value/use-time.mjs +0 -10
  1433. package/node_modules/framer-motion/dist/es/value/use-transform.mjs +0 -29
  1434. package/node_modules/framer-motion/dist/es/value/use-velocity.mjs +0 -35
  1435. package/node_modules/framer-motion/dist/es/value/use-will-change/index.mjs +0 -50
  1436. package/node_modules/framer-motion/dist/es/value/use-will-change/is.mjs +0 -7
  1437. package/node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs +0 -3
  1438. package/node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs +0 -16
  1439. package/node_modules/framer-motion/dist/framer-motion.dev.js +0 -12433
  1440. package/node_modules/framer-motion/dist/framer-motion.js +0 -1
  1441. package/node_modules/framer-motion/dist/index.d.ts +0 -5278
  1442. package/node_modules/framer-motion/dist/three-entry.d.ts +0 -2954
  1443. package/node_modules/framer-motion/dom/README.md +0 -1
  1444. package/node_modules/framer-motion/dom/package.json +0 -6
  1445. package/node_modules/framer-motion/package.json +0 -108
  1446. package/node_modules/get-func-name/LICENSE +0 -19
  1447. package/node_modules/get-func-name/README.md +0 -123
  1448. package/node_modules/get-func-name/get-func-name.js +0 -1
  1449. package/node_modules/get-func-name/index.js +0 -52
  1450. package/node_modules/get-func-name/package.json +0 -85
  1451. package/node_modules/get-nonce/LICENSE +0 -21
  1452. package/node_modules/get-nonce/README.md +0 -54
  1453. package/node_modules/get-nonce/dist/es2015/index.d.ts +0 -2
  1454. package/node_modules/get-nonce/dist/es2015/index.js +0 -13
  1455. package/node_modules/get-nonce/dist/es5/index.d.ts +0 -2
  1456. package/node_modules/get-nonce/dist/es5/index.js +0 -15
  1457. package/node_modules/get-nonce/package.json +0 -68
  1458. package/node_modules/invariant/LICENSE +0 -21
  1459. package/node_modules/invariant/README.md +0 -37
  1460. package/node_modules/invariant/browser.js +0 -49
  1461. package/node_modules/invariant/invariant.js +0 -51
  1462. package/node_modules/invariant/invariant.js.flow +0 -7
  1463. package/node_modules/invariant/package.json +0 -35
  1464. package/node_modules/js-tokens/LICENSE +0 -21
  1465. package/node_modules/js-tokens/README.md +0 -240
  1466. package/node_modules/js-tokens/index.js +0 -23
  1467. package/node_modules/js-tokens/package.json +0 -30
  1468. package/node_modules/loose-envify/LICENSE +0 -21
  1469. package/node_modules/loose-envify/README.md +0 -45
  1470. package/node_modules/loose-envify/cli.js +0 -16
  1471. package/node_modules/loose-envify/custom.js +0 -4
  1472. package/node_modules/loose-envify/index.js +0 -3
  1473. package/node_modules/loose-envify/loose-envify.js +0 -36
  1474. package/node_modules/loose-envify/package.json +0 -36
  1475. package/node_modules/loose-envify/replace.js +0 -65
  1476. package/node_modules/loupe/LICENSE +0 -9
  1477. package/node_modules/loupe/README.md +0 -63
  1478. package/node_modules/loupe/lib/arguments.d.ts +0 -3
  1479. package/node_modules/loupe/lib/arguments.d.ts.map +0 -1
  1480. package/node_modules/loupe/lib/arguments.js +0 -7
  1481. package/node_modules/loupe/lib/array.d.ts +0 -3
  1482. package/node_modules/loupe/lib/array.d.ts.map +0 -1
  1483. package/node_modules/loupe/lib/array.js +0 -16
  1484. package/node_modules/loupe/lib/bigint.d.ts +0 -3
  1485. package/node_modules/loupe/lib/bigint.d.ts.map +0 -1
  1486. package/node_modules/loupe/lib/bigint.js +0 -7
  1487. package/node_modules/loupe/lib/class.d.ts +0 -5
  1488. package/node_modules/loupe/lib/class.d.ts.map +0 -1
  1489. package/node_modules/loupe/lib/class.js +0 -15
  1490. package/node_modules/loupe/lib/date.d.ts +0 -3
  1491. package/node_modules/loupe/lib/date.d.ts.map +0 -1
  1492. package/node_modules/loupe/lib/date.js +0 -11
  1493. package/node_modules/loupe/lib/error.d.ts +0 -3
  1494. package/node_modules/loupe/lib/error.d.ts.map +0 -1
  1495. package/node_modules/loupe/lib/error.js +0 -29
  1496. package/node_modules/loupe/lib/function.d.ts +0 -7
  1497. package/node_modules/loupe/lib/function.d.ts.map +0 -1
  1498. package/node_modules/loupe/lib/function.js +0 -9
  1499. package/node_modules/loupe/lib/helpers.d.ts +0 -7
  1500. package/node_modules/loupe/lib/helpers.d.ts.map +0 -1
  1501. package/node_modules/loupe/lib/helpers.js +0 -159
  1502. package/node_modules/loupe/lib/html.d.ts +0 -5
  1503. package/node_modules/loupe/lib/html.d.ts.map +0 -1
  1504. package/node_modules/loupe/lib/html.js +0 -34
  1505. package/node_modules/loupe/lib/index.d.ts +0 -7
  1506. package/node_modules/loupe/lib/index.d.ts.map +0 -1
  1507. package/node_modules/loupe/lib/index.js +0 -161
  1508. package/node_modules/loupe/lib/map.d.ts +0 -3
  1509. package/node_modules/loupe/lib/map.d.ts.map +0 -1
  1510. package/node_modules/loupe/lib/map.js +0 -24
  1511. package/node_modules/loupe/lib/number.d.ts +0 -3
  1512. package/node_modules/loupe/lib/number.d.ts.map +0 -1
  1513. package/node_modules/loupe/lib/number.js +0 -17
  1514. package/node_modules/loupe/lib/object.d.ts +0 -3
  1515. package/node_modules/loupe/lib/object.d.ts.map +0 -1
  1516. package/node_modules/loupe/lib/object.js +0 -22
  1517. package/node_modules/loupe/lib/promise.d.ts +0 -5
  1518. package/node_modules/loupe/lib/promise.d.ts.map +0 -1
  1519. package/node_modules/loupe/lib/promise.js +0 -18
  1520. package/node_modules/loupe/lib/regexp.d.ts +0 -3
  1521. package/node_modules/loupe/lib/regexp.d.ts.map +0 -1
  1522. package/node_modules/loupe/lib/regexp.js +0 -7
  1523. package/node_modules/loupe/lib/set.d.ts +0 -3
  1524. package/node_modules/loupe/lib/set.d.ts.map +0 -1
  1525. package/node_modules/loupe/lib/set.js +0 -15
  1526. package/node_modules/loupe/lib/string.d.ts +0 -3
  1527. package/node_modules/loupe/lib/string.d.ts.map +0 -1
  1528. package/node_modules/loupe/lib/string.js +0 -24
  1529. package/node_modules/loupe/lib/symbol.d.ts +0 -2
  1530. package/node_modules/loupe/lib/symbol.d.ts.map +0 -1
  1531. package/node_modules/loupe/lib/symbol.js +0 -6
  1532. package/node_modules/loupe/lib/typedarray.d.ts +0 -5
  1533. package/node_modules/loupe/lib/typedarray.d.ts.map +0 -1
  1534. package/node_modules/loupe/lib/typedarray.js +0 -38
  1535. package/node_modules/loupe/lib/types.d.ts +0 -15
  1536. package/node_modules/loupe/lib/types.d.ts.map +0 -1
  1537. package/node_modules/loupe/lib/types.js +0 -1
  1538. package/node_modules/loupe/loupe.js +0 -644
  1539. package/node_modules/loupe/package.json +0 -126
  1540. package/node_modules/pathval/LICENSE +0 -16
  1541. package/node_modules/pathval/README.md +0 -147
  1542. package/node_modules/pathval/index.js +0 -292
  1543. package/node_modules/pathval/package.json +0 -73
  1544. package/node_modules/pathval/pathval.js +0 -1
  1545. package/node_modules/react-remove-scroll/LICENSE +0 -21
  1546. package/node_modules/react-remove-scroll/README.md +0 -152
  1547. package/node_modules/react-remove-scroll/UI/UI.d.ts +0 -1
  1548. package/node_modules/react-remove-scroll/UI/package.json +0 -8
  1549. package/node_modules/react-remove-scroll/dist/es2015/Combination.d.ts +0 -3
  1550. package/node_modules/react-remove-scroll/dist/es2015/Combination.js +0 -7
  1551. package/node_modules/react-remove-scroll/dist/es2015/SideEffect.d.ts +0 -5
  1552. package/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +0 -157
  1553. package/node_modules/react-remove-scroll/dist/es2015/UI.d.ts +0 -7
  1554. package/node_modules/react-remove-scroll/dist/es2015/UI.js +0 -36
  1555. package/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.d.ts +0 -3
  1556. package/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +0 -19
  1557. package/node_modules/react-remove-scroll/dist/es2015/handleScroll.d.ts +0 -3
  1558. package/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +0 -104
  1559. package/node_modules/react-remove-scroll/dist/es2015/index.d.ts +0 -2
  1560. package/node_modules/react-remove-scroll/dist/es2015/index.js +0 -2
  1561. package/node_modules/react-remove-scroll/dist/es2015/medium.d.ts +0 -2
  1562. package/node_modules/react-remove-scroll/dist/es2015/medium.js +0 -2
  1563. package/node_modules/react-remove-scroll/dist/es2015/pinchAndZoom.d.ts +0 -8
  1564. package/node_modules/react-remove-scroll/dist/es2015/pinchAndZoom.js +0 -33
  1565. package/node_modules/react-remove-scroll/dist/es2015/sidecar.d.ts +0 -2
  1566. package/node_modules/react-remove-scroll/dist/es2015/sidecar.js +0 -4
  1567. package/node_modules/react-remove-scroll/dist/es2015/types.d.ts +0 -98
  1568. package/node_modules/react-remove-scroll/dist/es2015/types.js +0 -1
  1569. package/node_modules/react-remove-scroll/dist/es2019/Combination.d.ts +0 -3
  1570. package/node_modules/react-remove-scroll/dist/es2019/Combination.js +0 -6
  1571. package/node_modules/react-remove-scroll/dist/es2019/SideEffect.d.ts +0 -5
  1572. package/node_modules/react-remove-scroll/dist/es2019/SideEffect.js +0 -155
  1573. package/node_modules/react-remove-scroll/dist/es2019/UI.d.ts +0 -7
  1574. package/node_modules/react-remove-scroll/dist/es2019/UI.js +0 -41
  1575. package/node_modules/react-remove-scroll/dist/es2019/aggresiveCapture.d.ts +0 -3
  1576. package/node_modules/react-remove-scroll/dist/es2019/aggresiveCapture.js +0 -19
  1577. package/node_modules/react-remove-scroll/dist/es2019/handleScroll.d.ts +0 -3
  1578. package/node_modules/react-remove-scroll/dist/es2019/handleScroll.js +0 -92
  1579. package/node_modules/react-remove-scroll/dist/es2019/index.d.ts +0 -2
  1580. package/node_modules/react-remove-scroll/dist/es2019/index.js +0 -2
  1581. package/node_modules/react-remove-scroll/dist/es2019/medium.d.ts +0 -2
  1582. package/node_modules/react-remove-scroll/dist/es2019/medium.js +0 -2
  1583. package/node_modules/react-remove-scroll/dist/es2019/pinchAndZoom.d.ts +0 -8
  1584. package/node_modules/react-remove-scroll/dist/es2019/pinchAndZoom.js +0 -33
  1585. package/node_modules/react-remove-scroll/dist/es2019/sidecar.d.ts +0 -2
  1586. package/node_modules/react-remove-scroll/dist/es2019/sidecar.js +0 -4
  1587. package/node_modules/react-remove-scroll/dist/es2019/types.d.ts +0 -98
  1588. package/node_modules/react-remove-scroll/dist/es2019/types.js +0 -1
  1589. package/node_modules/react-remove-scroll/dist/es5/Combination.d.ts +0 -3
  1590. package/node_modules/react-remove-scroll/dist/es5/Combination.js +0 -9
  1591. package/node_modules/react-remove-scroll/dist/es5/SideEffect.d.ts +0 -5
  1592. package/node_modules/react-remove-scroll/dist/es5/SideEffect.js +0 -163
  1593. package/node_modules/react-remove-scroll/dist/es5/UI.d.ts +0 -7
  1594. package/node_modules/react-remove-scroll/dist/es5/UI.js +0 -39
  1595. package/node_modules/react-remove-scroll/dist/es5/aggresiveCapture.d.ts +0 -3
  1596. package/node_modules/react-remove-scroll/dist/es5/aggresiveCapture.js +0 -22
  1597. package/node_modules/react-remove-scroll/dist/es5/handleScroll.d.ts +0 -3
  1598. package/node_modules/react-remove-scroll/dist/es5/handleScroll.js +0 -109
  1599. package/node_modules/react-remove-scroll/dist/es5/index.d.ts +0 -2
  1600. package/node_modules/react-remove-scroll/dist/es5/index.js +0 -6
  1601. package/node_modules/react-remove-scroll/dist/es5/medium.d.ts +0 -2
  1602. package/node_modules/react-remove-scroll/dist/es5/medium.js +0 -5
  1603. package/node_modules/react-remove-scroll/dist/es5/pinchAndZoom.d.ts +0 -8
  1604. package/node_modules/react-remove-scroll/dist/es5/pinchAndZoom.js +0 -37
  1605. package/node_modules/react-remove-scroll/dist/es5/sidecar.d.ts +0 -2
  1606. package/node_modules/react-remove-scroll/dist/es5/sidecar.js +0 -6
  1607. package/node_modules/react-remove-scroll/dist/es5/types.d.ts +0 -98
  1608. package/node_modules/react-remove-scroll/dist/es5/types.js +0 -2
  1609. package/node_modules/react-remove-scroll/dist/index.js +0 -93
  1610. package/node_modules/react-remove-scroll/package.json +0 -97
  1611. package/node_modules/react-remove-scroll/sidecar/package.json +0 -7
  1612. package/node_modules/react-remove-scroll/sidecar/sidecar.d.ts +0 -5
  1613. package/node_modules/react-remove-scroll-bar/README.md +0 -52
  1614. package/node_modules/react-remove-scroll-bar/constants/package.json +0 -8
  1615. package/node_modules/react-remove-scroll-bar/dist/es2015/component.d.ts +0 -13
  1616. package/node_modules/react-remove-scroll-bar/dist/es2015/component.js +0 -53
  1617. package/node_modules/react-remove-scroll-bar/dist/es2015/constants.d.ts +0 -8
  1618. package/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +0 -8
  1619. package/node_modules/react-remove-scroll-bar/dist/es2015/index.d.ts +0 -4
  1620. package/node_modules/react-remove-scroll-bar/dist/es2015/index.js +0 -4
  1621. package/node_modules/react-remove-scroll-bar/dist/es2015/utils.d.ts +0 -14
  1622. package/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +0 -29
  1623. package/node_modules/react-remove-scroll-bar/dist/es2019/component.d.ts +0 -13
  1624. package/node_modules/react-remove-scroll-bar/dist/es2019/component.js +0 -85
  1625. package/node_modules/react-remove-scroll-bar/dist/es2019/constants.d.ts +0 -8
  1626. package/node_modules/react-remove-scroll-bar/dist/es2019/constants.js +0 -8
  1627. package/node_modules/react-remove-scroll-bar/dist/es2019/index.d.ts +0 -4
  1628. package/node_modules/react-remove-scroll-bar/dist/es2019/index.js +0 -4
  1629. package/node_modules/react-remove-scroll-bar/dist/es2019/utils.d.ts +0 -14
  1630. package/node_modules/react-remove-scroll-bar/dist/es2019/utils.js +0 -28
  1631. package/node_modules/react-remove-scroll-bar/dist/es5/component.d.ts +0 -13
  1632. package/node_modules/react-remove-scroll-bar/dist/es5/component.js +0 -59
  1633. package/node_modules/react-remove-scroll-bar/dist/es5/constants.d.ts +0 -8
  1634. package/node_modules/react-remove-scroll-bar/dist/es5/constants.js +0 -11
  1635. package/node_modules/react-remove-scroll-bar/dist/es5/index.d.ts +0 -4
  1636. package/node_modules/react-remove-scroll-bar/dist/es5/index.js +0 -12
  1637. package/node_modules/react-remove-scroll-bar/dist/es5/utils.d.ts +0 -14
  1638. package/node_modules/react-remove-scroll-bar/dist/es5/utils.js +0 -33
  1639. package/node_modules/react-remove-scroll-bar/package.json +0 -85
  1640. package/node_modules/react-router/CHANGELOG.md +0 -723
  1641. package/node_modules/react-router/LICENSE.md +0 -23
  1642. package/node_modules/react-router/README.md +0 -16
  1643. package/node_modules/react-router/dist/index.d.ts +0 -29
  1644. package/node_modules/react-router/dist/index.js +0 -1456
  1645. package/node_modules/react-router/dist/index.js.map +0 -1
  1646. package/node_modules/react-router/dist/lib/components.d.ts +0 -157
  1647. package/node_modules/react-router/dist/lib/context.d.ts +0 -102
  1648. package/node_modules/react-router/dist/lib/hooks.d.ts +0 -181
  1649. package/node_modules/react-router/dist/main.js +0 -19
  1650. package/node_modules/react-router/dist/react-router.development.js +0 -1352
  1651. package/node_modules/react-router/dist/react-router.development.js.map +0 -1
  1652. package/node_modules/react-router/dist/react-router.production.min.js +0 -12
  1653. package/node_modules/react-router/dist/react-router.production.min.js.map +0 -1
  1654. package/node_modules/react-router/dist/umd/react-router.development.js +0 -1574
  1655. package/node_modules/react-router/dist/umd/react-router.development.js.map +0 -1
  1656. package/node_modules/react-router/dist/umd/react-router.production.min.js +0 -12
  1657. package/node_modules/react-router/dist/umd/react-router.production.min.js.map +0 -1
  1658. package/node_modules/react-router/package.json +0 -44
  1659. package/node_modules/react-router-dom/CHANGELOG.md +0 -866
  1660. package/node_modules/react-router-dom/LICENSE.md +0 -23
  1661. package/node_modules/react-router-dom/README.md +0 -5
  1662. package/node_modules/react-router-dom/dist/dom.d.ts +0 -117
  1663. package/node_modules/react-router-dom/dist/index.d.ts +0 -331
  1664. package/node_modules/react-router-dom/dist/index.js +0 -1447
  1665. package/node_modules/react-router-dom/dist/index.js.map +0 -1
  1666. package/node_modules/react-router-dom/dist/main.js +0 -19
  1667. package/node_modules/react-router-dom/dist/react-router-dom.development.js +0 -1514
  1668. package/node_modules/react-router-dom/dist/react-router-dom.development.js.map +0 -1
  1669. package/node_modules/react-router-dom/dist/react-router-dom.production.min.js +0 -12
  1670. package/node_modules/react-router-dom/dist/react-router-dom.production.min.js.map +0 -1
  1671. package/node_modules/react-router-dom/dist/server.d.ts +0 -31
  1672. package/node_modules/react-router-dom/dist/server.js +0 -322
  1673. package/node_modules/react-router-dom/dist/server.mjs +0 -297
  1674. package/node_modules/react-router-dom/dist/umd/react-router-dom.development.js +0 -1813
  1675. package/node_modules/react-router-dom/dist/umd/react-router-dom.development.js.map +0 -1
  1676. package/node_modules/react-router-dom/dist/umd/react-router-dom.production.min.js +0 -12
  1677. package/node_modules/react-router-dom/dist/umd/react-router-dom.production.min.js.map +0 -1
  1678. package/node_modules/react-router-dom/package.json +0 -49
  1679. package/node_modules/react-router-dom/server.d.ts +0 -31
  1680. package/node_modules/react-router-dom/server.js +0 -322
  1681. package/node_modules/react-router-dom/server.mjs +0 -297
  1682. package/node_modules/react-style-singleton/README.md +0 -41
  1683. package/node_modules/react-style-singleton/dist/es2015/component.d.ts +0 -21
  1684. package/node_modules/react-style-singleton/dist/es2015/component.js +0 -16
  1685. package/node_modules/react-style-singleton/dist/es2015/hook.d.ts +0 -23
  1686. package/node_modules/react-style-singleton/dist/es2015/hook.js +0 -22
  1687. package/node_modules/react-style-singleton/dist/es2015/index.d.ts +0 -3
  1688. package/node_modules/react-style-singleton/dist/es2015/index.js +0 -3
  1689. package/node_modules/react-style-singleton/dist/es2015/singleton.d.ts +0 -4
  1690. package/node_modules/react-style-singleton/dist/es2015/singleton.js +0 -48
  1691. package/node_modules/react-style-singleton/dist/es2019/component.d.ts +0 -21
  1692. package/node_modules/react-style-singleton/dist/es2019/component.js +0 -15
  1693. package/node_modules/react-style-singleton/dist/es2019/hook.d.ts +0 -23
  1694. package/node_modules/react-style-singleton/dist/es2019/hook.js +0 -22
  1695. package/node_modules/react-style-singleton/dist/es2019/index.d.ts +0 -3
  1696. package/node_modules/react-style-singleton/dist/es2019/index.js +0 -3
  1697. package/node_modules/react-style-singleton/dist/es2019/singleton.d.ts +0 -4
  1698. package/node_modules/react-style-singleton/dist/es2019/singleton.js +0 -48
  1699. package/node_modules/react-style-singleton/dist/es5/component.d.ts +0 -21
  1700. package/node_modules/react-style-singleton/dist/es5/component.js +0 -20
  1701. package/node_modules/react-style-singleton/dist/es5/hook.d.ts +0 -23
  1702. package/node_modules/react-style-singleton/dist/es5/hook.js +0 -27
  1703. package/node_modules/react-style-singleton/dist/es5/index.d.ts +0 -3
  1704. package/node_modules/react-style-singleton/dist/es5/index.js +0 -9
  1705. package/node_modules/react-style-singleton/dist/es5/singleton.d.ts +0 -4
  1706. package/node_modules/react-style-singleton/dist/es5/singleton.js +0 -52
  1707. package/node_modules/react-style-singleton/dist/index.js +0 -1
  1708. package/node_modules/react-style-singleton/package.json +0 -87
  1709. package/node_modules/regenerator-runtime/LICENSE +0 -21
  1710. package/node_modules/regenerator-runtime/README.md +0 -31
  1711. package/node_modules/regenerator-runtime/package.json +0 -19
  1712. package/node_modules/regenerator-runtime/path.js +0 -11
  1713. package/node_modules/regenerator-runtime/runtime.js +0 -761
  1714. package/node_modules/remix-utils/.eslintrc.cjs +0 -54
  1715. package/node_modules/remix-utils/LICENSE +0 -21
  1716. package/node_modules/remix-utils/README.md +0 -2149
  1717. package/node_modules/remix-utils/build/client/cache-assets.d.ts +0 -22
  1718. package/node_modules/remix-utils/build/client/cache-assets.js +0 -66
  1719. package/node_modules/remix-utils/build/common/promise.d.ts +0 -87
  1720. package/node_modules/remix-utils/build/common/promise.js +0 -112
  1721. package/node_modules/remix-utils/build/common/timers.d.ts +0 -27
  1722. package/node_modules/remix-utils/build/common/timers.js +0 -47
  1723. package/node_modules/remix-utils/build/react/authenticity-token.d.ts +0 -50
  1724. package/node_modules/remix-utils/build/react/authenticity-token.js +0 -54
  1725. package/node_modules/remix-utils/build/react/client-only.d.ts +0 -27
  1726. package/node_modules/remix-utils/build/react/client-only.js +0 -20
  1727. package/node_modules/remix-utils/build/react/existing-search-params.d.ts +0 -34
  1728. package/node_modules/remix-utils/build/react/existing-search-params.js +0 -32
  1729. package/node_modules/remix-utils/build/react/external-scripts.d.ts +0 -91
  1730. package/node_modules/remix-utils/build/react/external-scripts.js +0 -106
  1731. package/node_modules/remix-utils/build/react/fetcher-type.d.ts +0 -31
  1732. package/node_modules/remix-utils/build/react/fetcher-type.js +0 -53
  1733. package/node_modules/remix-utils/build/react/handle-conventions.d.ts +0 -10
  1734. package/node_modules/remix-utils/build/react/handle-conventions.js +0 -1
  1735. package/node_modules/remix-utils/build/react/honeypot.d.ts +0 -11
  1736. package/node_modules/remix-utils/build/react/honeypot.js +0 -16
  1737. package/node_modules/remix-utils/build/react/server-only.d.ts +0 -25
  1738. package/node_modules/remix-utils/build/react/server-only.js +0 -18
  1739. package/node_modules/remix-utils/build/react/use-debounce-fetcher.d.ts +0 -28
  1740. package/node_modules/remix-utils/build/react/use-debounce-fetcher.js +0 -27
  1741. package/node_modules/remix-utils/build/react/use-debounce-submit.d.ts +0 -7
  1742. package/node_modules/remix-utils/build/react/use-debounce-submit.js +0 -41
  1743. package/node_modules/remix-utils/build/react/use-delegated-anchors.d.ts +0 -6
  1744. package/node_modules/remix-utils/build/react/use-delegated-anchors.js +0 -69
  1745. package/node_modules/remix-utils/build/react/use-event-source.d.ts +0 -17
  1746. package/node_modules/remix-utils/build/react/use-event-source.js +0 -37
  1747. package/node_modules/remix-utils/build/react/use-global-navigation-state.d.ts +0 -33
  1748. package/node_modules/remix-utils/build/react/use-global-navigation-state.js +0 -67
  1749. package/node_modules/remix-utils/build/react/use-hydrated.d.ts +0 -18
  1750. package/node_modules/remix-utils/build/react/use-hydrated.js +0 -24
  1751. package/node_modules/remix-utils/build/react/use-locales.d.ts +0 -24
  1752. package/node_modules/remix-utils/build/react/use-locales.js +0 -56
  1753. package/node_modules/remix-utils/build/react/use-should-hydrate.d.ts +0 -21
  1754. package/node_modules/remix-utils/build/react/use-should-hydrate.js +0 -44
  1755. package/node_modules/remix-utils/build/server/cors.d.ts +0 -101
  1756. package/node_modules/remix-utils/build/server/cors.js +0 -179
  1757. package/node_modules/remix-utils/build/server/csrf.d.ts +0 -85
  1758. package/node_modules/remix-utils/build/server/csrf.js +0 -121
  1759. package/node_modules/remix-utils/build/server/event-stream.d.ts +0 -27
  1760. package/node_modules/remix-utils/build/server/event-stream.js +0 -44
  1761. package/node_modules/remix-utils/build/server/get-client-ip-address.d.ts +0 -29
  1762. package/node_modules/remix-utils/build/server/get-client-ip-address.js +0 -51
  1763. package/node_modules/remix-utils/build/server/get-client-locales.d.ts +0 -18
  1764. package/node_modules/remix-utils/build/server/get-client-locales.js +0 -18
  1765. package/node_modules/remix-utils/build/server/get-headers.d.ts +0 -6
  1766. package/node_modules/remix-utils/build/server/get-headers.js +0 -11
  1767. package/node_modules/remix-utils/build/server/honeypot.d.ts +0 -32
  1768. package/node_modules/remix-utils/build/server/honeypot.js +0 -96
  1769. package/node_modules/remix-utils/build/server/is-prefetch.d.ts +0 -16
  1770. package/node_modules/remix-utils/build/server/is-prefetch.js +0 -11
  1771. package/node_modules/remix-utils/build/server/json-hash.d.ts +0 -6
  1772. package/node_modules/remix-utils/build/server/json-hash.js +0 -16
  1773. package/node_modules/remix-utils/build/server/named-action.d.ts +0 -19
  1774. package/node_modules/remix-utils/build/server/named-action.js +0 -62
  1775. package/node_modules/remix-utils/build/server/parse-accept-header.d.ts +0 -12
  1776. package/node_modules/remix-utils/build/server/parse-accept-header.js +0 -17
  1777. package/node_modules/remix-utils/build/server/preload-route-assets.d.ts +0 -80
  1778. package/node_modules/remix-utils/build/server/preload-route-assets.js +0 -120
  1779. package/node_modules/remix-utils/build/server/redirect-back.d.ts +0 -18
  1780. package/node_modules/remix-utils/build/server/redirect-back.js +0 -29
  1781. package/node_modules/remix-utils/build/server/respond-to.d.ts +0 -40
  1782. package/node_modules/remix-utils/build/server/respond-to.js +0 -22
  1783. package/node_modules/remix-utils/build/server/responses.d.ts +0 -100
  1784. package/node_modules/remix-utils/build/server/responses.js +0 -167
  1785. package/node_modules/remix-utils/build/server/rolling-cookie.d.ts +0 -4
  1786. package/node_modules/remix-utils/build/server/rolling-cookie.js +0 -9
  1787. package/node_modules/remix-utils/build/server/safe-redirect.d.ts +0 -10
  1788. package/node_modules/remix-utils/build/server/safe-redirect.js +0 -22
  1789. package/node_modules/remix-utils/build/server/sec-fetch.d.ts +0 -43
  1790. package/node_modules/remix-utils/build/server/sec-fetch.js +0 -67
  1791. package/node_modules/remix-utils/build/server/typed-cookie.d.ts +0 -17
  1792. package/node_modules/remix-utils/build/server/typed-cookie.js +0 -58
  1793. package/node_modules/remix-utils/build/server/typed-session.d.ts +0 -59
  1794. package/node_modules/remix-utils/build/server/typed-session.js +0 -88
  1795. package/node_modules/remix-utils/package.json +0 -182
  1796. package/node_modules/remix-utils/scripts/check-pkg-exports.ts +0 -61
  1797. package/node_modules/set-cookie-parser/LICENSE +0 -21
  1798. package/node_modules/set-cookie-parser/README.md +0 -199
  1799. package/node_modules/set-cookie-parser/lib/set-cookie.js +0 -226
  1800. package/node_modules/set-cookie-parser/package.json +0 -43
  1801. package/node_modules/source-map/LICENSE +0 -28
  1802. package/node_modules/source-map/README.md +0 -742
  1803. package/node_modules/source-map/dist/source-map.debug.js +0 -3234
  1804. package/node_modules/source-map/dist/source-map.js +0 -3233
  1805. package/node_modules/source-map/dist/source-map.min.js +0 -2
  1806. package/node_modules/source-map/dist/source-map.min.js.map +0 -1
  1807. package/node_modules/source-map/lib/array-set.js +0 -121
  1808. package/node_modules/source-map/lib/base64-vlq.js +0 -140
  1809. package/node_modules/source-map/lib/base64.js +0 -67
  1810. package/node_modules/source-map/lib/binary-search.js +0 -111
  1811. package/node_modules/source-map/lib/mapping-list.js +0 -79
  1812. package/node_modules/source-map/lib/mappings.wasm +0 -0
  1813. package/node_modules/source-map/lib/quick-sort.js +0 -114
  1814. package/node_modules/source-map/lib/read-wasm.js +0 -49
  1815. package/node_modules/source-map/lib/source-map-consumer.js +0 -1145
  1816. package/node_modules/source-map/lib/source-map-generator.js +0 -425
  1817. package/node_modules/source-map/lib/source-node.js +0 -413
  1818. package/node_modules/source-map/lib/util.js +0 -488
  1819. package/node_modules/source-map/lib/wasm.js +0 -107
  1820. package/node_modules/source-map/package.json +0 -73
  1821. package/node_modules/source-map/source-map.d.ts +0 -98
  1822. package/node_modules/source-map/source-map.js +0 -8
  1823. package/node_modules/tailwind-merge/LICENSE.md +0 -21
  1824. package/node_modules/tailwind-merge/README.md +0 -38
  1825. package/node_modules/tailwind-merge/dist/bundle-cjs.js +0 -2595
  1826. package/node_modules/tailwind-merge/dist/bundle-cjs.js.map +0 -1
  1827. package/node_modules/tailwind-merge/dist/bundle-mjs.mjs +0 -2583
  1828. package/node_modules/tailwind-merge/dist/bundle-mjs.mjs.map +0 -1
  1829. package/node_modules/tailwind-merge/dist/es5/bundle-cjs.js +0 -2645
  1830. package/node_modules/tailwind-merge/dist/es5/bundle-cjs.js.map +0 -1
  1831. package/node_modules/tailwind-merge/dist/es5/bundle-mjs.mjs +0 -2633
  1832. package/node_modules/tailwind-merge/dist/es5/bundle-mjs.mjs.map +0 -1
  1833. package/node_modules/tailwind-merge/dist/types.d.ts +0 -2143
  1834. package/node_modules/tailwind-merge/package.json +0 -95
  1835. package/node_modules/tailwind-merge/src/index.ts +0 -14
  1836. package/node_modules/tailwind-merge/src/lib/class-utils.ts +0 -215
  1837. package/node_modules/tailwind-merge/src/lib/config-utils.ts +0 -14
  1838. package/node_modules/tailwind-merge/src/lib/create-tailwind-merge.ts +0 -50
  1839. package/node_modules/tailwind-merge/src/lib/default-config.ts +0 -1865
  1840. package/node_modules/tailwind-merge/src/lib/extend-tailwind-merge.ts +0 -26
  1841. package/node_modules/tailwind-merge/src/lib/from-theme.ts +0 -13
  1842. package/node_modules/tailwind-merge/src/lib/lru-cache.ts +0 -52
  1843. package/node_modules/tailwind-merge/src/lib/merge-classlist.ts +0 -99
  1844. package/node_modules/tailwind-merge/src/lib/merge-configs.ts +0 -72
  1845. package/node_modules/tailwind-merge/src/lib/modifier-utils.ts +0 -95
  1846. package/node_modules/tailwind-merge/src/lib/tw-join.ts +0 -50
  1847. package/node_modules/tailwind-merge/src/lib/tw-merge.ts +0 -4
  1848. package/node_modules/tailwind-merge/src/lib/types.ts +0 -412
  1849. package/node_modules/tailwind-merge/src/lib/validators.ts +0 -104
  1850. package/node_modules/tslib/CopyrightNotice.txt +0 -15
  1851. package/node_modules/tslib/LICENSE.txt +0 -12
  1852. package/node_modules/tslib/README.md +0 -164
  1853. package/node_modules/tslib/SECURITY.md +0 -41
  1854. package/node_modules/tslib/modules/index.d.ts +0 -37
  1855. package/node_modules/tslib/modules/index.js +0 -68
  1856. package/node_modules/tslib/modules/package.json +0 -3
  1857. package/node_modules/tslib/package.json +0 -47
  1858. package/node_modules/tslib/tslib.d.ts +0 -453
  1859. package/node_modules/tslib/tslib.es6.html +0 -1
  1860. package/node_modules/tslib/tslib.es6.js +0 -374
  1861. package/node_modules/tslib/tslib.es6.mjs +0 -373
  1862. package/node_modules/tslib/tslib.html +0 -1
  1863. package/node_modules/tslib/tslib.js +0 -424
  1864. package/node_modules/turbo-stream/LICENSE +0 -7
  1865. package/node_modules/turbo-stream/README.md +0 -31
  1866. package/node_modules/turbo-stream/dist/flatten.d.ts +0 -2
  1867. package/node_modules/turbo-stream/dist/flatten.js +0 -172
  1868. package/node_modules/turbo-stream/dist/turbo-stream.d.ts +0 -12
  1869. package/node_modules/turbo-stream/dist/turbo-stream.js +0 -202
  1870. package/node_modules/turbo-stream/dist/turbo-stream.mjs +0 -530
  1871. package/node_modules/turbo-stream/dist/unflatten.d.ts +0 -2
  1872. package/node_modules/turbo-stream/dist/unflatten.js +0 -127
  1873. package/node_modules/turbo-stream/dist/utils.d.ts +0 -43
  1874. package/node_modules/turbo-stream/dist/utils.js +0 -55
  1875. package/node_modules/turbo-stream/package.json +0 -50
  1876. package/node_modules/type-fest/index.d.ts +0 -160
  1877. package/node_modules/type-fest/package.json +0 -72
  1878. package/node_modules/type-fest/readme.md +0 -992
  1879. package/node_modules/type-fest/source/and.d.ts +0 -25
  1880. package/node_modules/type-fest/source/array-indices.d.ts +0 -23
  1881. package/node_modules/type-fest/source/array-slice.d.ts +0 -107
  1882. package/node_modules/type-fest/source/array-splice.d.ts +0 -97
  1883. package/node_modules/type-fest/source/array-values.d.ts +0 -22
  1884. package/node_modules/type-fest/source/async-return-type.d.ts +0 -23
  1885. package/node_modules/type-fest/source/asyncify.d.ts +0 -32
  1886. package/node_modules/type-fest/source/basic.d.ts +0 -68
  1887. package/node_modules/type-fest/source/camel-case.d.ts +0 -80
  1888. package/node_modules/type-fest/source/camel-cased-properties-deep.d.ts +0 -87
  1889. package/node_modules/type-fest/source/camel-cased-properties.d.ts +0 -36
  1890. package/node_modules/type-fest/source/conditional-except.d.ts +0 -45
  1891. package/node_modules/type-fest/source/conditional-keys.d.ts +0 -47
  1892. package/node_modules/type-fest/source/conditional-pick-deep.d.ts +0 -104
  1893. package/node_modules/type-fest/source/conditional-pick.d.ts +0 -44
  1894. package/node_modules/type-fest/source/conditional-simplify.d.ts +0 -32
  1895. package/node_modules/type-fest/source/delimiter-case.d.ts +0 -99
  1896. package/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts +0 -84
  1897. package/node_modules/type-fest/source/delimiter-cased-properties.d.ts +0 -37
  1898. package/node_modules/type-fest/source/distributed-omit.d.ts +0 -89
  1899. package/node_modules/type-fest/source/distributed-pick.d.ts +0 -85
  1900. package/node_modules/type-fest/source/empty-object.d.ts +0 -46
  1901. package/node_modules/type-fest/source/enforce-optional.d.ts +0 -47
  1902. package/node_modules/type-fest/source/entries.d.ts +0 -62
  1903. package/node_modules/type-fest/source/entry.d.ts +0 -65
  1904. package/node_modules/type-fest/source/exact.d.ts +0 -63
  1905. package/node_modules/type-fest/source/except.d.ts +0 -80
  1906. package/node_modules/type-fest/source/fixed-length-array.d.ts +0 -43
  1907. package/node_modules/type-fest/source/get.d.ts +0 -191
  1908. package/node_modules/type-fest/source/global-this.d.ts +0 -21
  1909. package/node_modules/type-fest/source/greater-than-or-equal.d.ts +0 -22
  1910. package/node_modules/type-fest/source/greater-than.d.ts +0 -51
  1911. package/node_modules/type-fest/source/has-optional-keys.d.ts +0 -21
  1912. package/node_modules/type-fest/source/has-readonly-keys.d.ts +0 -21
  1913. package/node_modules/type-fest/source/has-required-keys.d.ts +0 -59
  1914. package/node_modules/type-fest/source/has-writable-keys.d.ts +0 -21
  1915. package/node_modules/type-fest/source/if-any.d.ts +0 -24
  1916. package/node_modules/type-fest/source/if-empty-object.d.ts +0 -26
  1917. package/node_modules/type-fest/source/if-never.d.ts +0 -24
  1918. package/node_modules/type-fest/source/if-null.d.ts +0 -24
  1919. package/node_modules/type-fest/source/if-unknown.d.ts +0 -24
  1920. package/node_modules/type-fest/source/includes.d.ts +0 -22
  1921. package/node_modules/type-fest/source/int-range.d.ts +0 -53
  1922. package/node_modules/type-fest/source/internal.d.ts +0 -783
  1923. package/node_modules/type-fest/source/invariant-of.d.ts +0 -78
  1924. package/node_modules/type-fest/source/is-any.d.ts +0 -29
  1925. package/node_modules/type-fest/source/is-equal.d.ts +0 -31
  1926. package/node_modules/type-fest/source/is-float.d.ts +0 -33
  1927. package/node_modules/type-fest/source/is-integer.d.ts +0 -48
  1928. package/node_modules/type-fest/source/is-literal.d.ts +0 -258
  1929. package/node_modules/type-fest/source/is-never.d.ts +0 -42
  1930. package/node_modules/type-fest/source/is-null.d.ts +0 -20
  1931. package/node_modules/type-fest/source/is-unknown.d.ts +0 -52
  1932. package/node_modules/type-fest/source/iterable-element.d.ts +0 -54
  1933. package/node_modules/type-fest/source/join.d.ts +0 -68
  1934. package/node_modules/type-fest/source/jsonifiable.d.ts +0 -37
  1935. package/node_modules/type-fest/source/jsonify.d.ts +0 -121
  1936. package/node_modules/type-fest/source/kebab-case.d.ts +0 -38
  1937. package/node_modules/type-fest/source/kebab-cased-properties-deep.d.ts +0 -47
  1938. package/node_modules/type-fest/source/kebab-cased-properties.d.ts +0 -30
  1939. package/node_modules/type-fest/source/keys-of-union.d.ts +0 -40
  1940. package/node_modules/type-fest/source/last-array-element.d.ts +0 -38
  1941. package/node_modules/type-fest/source/less-than-or-equal.d.ts +0 -22
  1942. package/node_modules/type-fest/source/less-than.d.ts +0 -22
  1943. package/node_modules/type-fest/source/literal-to-primitive-deep.d.ts +0 -36
  1944. package/node_modules/type-fest/source/literal-to-primitive.d.ts +0 -36
  1945. package/node_modules/type-fest/source/literal-union.d.ts +0 -35
  1946. package/node_modules/type-fest/source/merge-deep.d.ts +0 -486
  1947. package/node_modules/type-fest/source/merge-exclusive.d.ts +0 -41
  1948. package/node_modules/type-fest/source/merge.d.ts +0 -48
  1949. package/node_modules/type-fest/source/multidimensional-array.d.ts +0 -44
  1950. package/node_modules/type-fest/source/multidimensional-readonly-array.d.ts +0 -48
  1951. package/node_modules/type-fest/source/non-empty-object.d.ts +0 -35
  1952. package/node_modules/type-fest/source/numeric.d.ts +0 -222
  1953. package/node_modules/type-fest/source/observable-like.d.ts +0 -63
  1954. package/node_modules/type-fest/source/omit-deep.d.ts +0 -140
  1955. package/node_modules/type-fest/source/omit-index-signature.d.ts +0 -107
  1956. package/node_modules/type-fest/source/opaque.d.ts +0 -252
  1957. package/node_modules/type-fest/source/optional-keys-of.d.ts +0 -38
  1958. package/node_modules/type-fest/source/or.d.ts +0 -25
  1959. package/node_modules/type-fest/source/override-properties.d.ts +0 -36
  1960. package/node_modules/type-fest/source/package-json.d.ts +0 -676
  1961. package/node_modules/type-fest/source/partial-deep.d.ts +0 -109
  1962. package/node_modules/type-fest/source/partial-on-undefined-deep.d.ts +0 -71
  1963. package/node_modules/type-fest/source/pascal-case.d.ts +0 -38
  1964. package/node_modules/type-fest/source/pascal-cased-properties-deep.d.ts +0 -55
  1965. package/node_modules/type-fest/source/pascal-cased-properties.d.ts +0 -35
  1966. package/node_modules/type-fest/source/paths.d.ts +0 -85
  1967. package/node_modules/type-fest/source/pick-deep.d.ts +0 -149
  1968. package/node_modules/type-fest/source/pick-index-signature.d.ts +0 -102
  1969. package/node_modules/type-fest/source/primitive.d.ts +0 -13
  1970. package/node_modules/type-fest/source/promisable.d.ts +0 -25
  1971. package/node_modules/type-fest/source/readonly-deep.d.ts +0 -81
  1972. package/node_modules/type-fest/source/readonly-keys-of.d.ts +0 -29
  1973. package/node_modules/type-fest/source/readonly-tuple.d.ts +0 -41
  1974. package/node_modules/type-fest/source/replace.d.ts +0 -67
  1975. package/node_modules/type-fest/source/require-all-or-none.d.ts +0 -42
  1976. package/node_modules/type-fest/source/require-at-least-one.d.ts +0 -34
  1977. package/node_modules/type-fest/source/require-exactly-one.d.ts +0 -34
  1978. package/node_modules/type-fest/source/require-one-or-none.d.ts +0 -37
  1979. package/node_modules/type-fest/source/required-deep.d.ts +0 -78
  1980. package/node_modules/type-fest/source/required-keys-of.d.ts +0 -29
  1981. package/node_modules/type-fest/source/schema.d.ts +0 -71
  1982. package/node_modules/type-fest/source/screaming-snake-case.d.ts +0 -33
  1983. package/node_modules/type-fest/source/set-field-type.d.ts +0 -37
  1984. package/node_modules/type-fest/source/set-non-nullable.d.ts +0 -39
  1985. package/node_modules/type-fest/source/set-optional.d.ts +0 -35
  1986. package/node_modules/type-fest/source/set-parameter-type.d.ts +0 -117
  1987. package/node_modules/type-fest/source/set-readonly.d.ts +0 -38
  1988. package/node_modules/type-fest/source/set-required.d.ts +0 -40
  1989. package/node_modules/type-fest/source/set-return-type.d.ts +0 -29
  1990. package/node_modules/type-fest/source/shared-union-fields-deep.d.ts +0 -168
  1991. package/node_modules/type-fest/source/simplify-deep.d.ts +0 -115
  1992. package/node_modules/type-fest/source/simplify.d.ts +0 -58
  1993. package/node_modules/type-fest/source/single-key-object.d.ts +0 -29
  1994. package/node_modules/type-fest/source/snake-case.d.ts +0 -38
  1995. package/node_modules/type-fest/source/snake-cased-properties-deep.d.ts +0 -47
  1996. package/node_modules/type-fest/source/snake-cased-properties.d.ts +0 -30
  1997. package/node_modules/type-fest/source/split-words.d.ts +0 -57
  1998. package/node_modules/type-fest/source/split.d.ts +0 -29
  1999. package/node_modules/type-fest/source/spread.d.ts +0 -85
  2000. package/node_modules/type-fest/source/string-key-of.d.ts +0 -25
  2001. package/node_modules/type-fest/source/string-slice.d.ts +0 -37
  2002. package/node_modules/type-fest/source/stringified.d.ts +0 -23
  2003. package/node_modules/type-fest/source/subtract.d.ts +0 -70
  2004. package/node_modules/type-fest/source/sum.d.ts +0 -70
  2005. package/node_modules/type-fest/source/tagged-union.d.ts +0 -51
  2006. package/node_modules/type-fest/source/trim.d.ts +0 -27
  2007. package/node_modules/type-fest/source/tsconfig-json.d.ts +0 -1198
  2008. package/node_modules/type-fest/source/tuple-to-union.d.ts +0 -51
  2009. package/node_modules/type-fest/source/typed-array.d.ts +0 -17
  2010. package/node_modules/type-fest/source/undefined-on-partial-deep.d.ts +0 -81
  2011. package/node_modules/type-fest/source/union-to-intersection.d.ts +0 -61
  2012. package/node_modules/type-fest/source/unknown-array.d.ts +0 -25
  2013. package/node_modules/type-fest/source/unknown-record.d.ts +0 -31
  2014. package/node_modules/type-fest/source/value-of.d.ts +0 -42
  2015. package/node_modules/type-fest/source/writable-deep.d.ts +0 -83
  2016. package/node_modules/type-fest/source/writable-keys-of.d.ts +0 -30
  2017. package/node_modules/type-fest/source/writable.d.ts +0 -68
  2018. package/node_modules/use-callback-ref/LICENSE +0 -21
  2019. package/node_modules/use-callback-ref/README.md +0 -170
  2020. package/node_modules/use-callback-ref/dist/es2015/assignRef.d.ts +0 -15
  2021. package/node_modules/use-callback-ref/dist/es2015/assignRef.js +0 -22
  2022. package/node_modules/use-callback-ref/dist/es2015/createRef.d.ts +0 -10
  2023. package/node_modules/use-callback-ref/dist/es2015/createRef.js +0 -23
  2024. package/node_modules/use-callback-ref/dist/es2015/index.d.ts +0 -8
  2025. package/node_modules/use-callback-ref/dist/es2015/index.js +0 -12
  2026. package/node_modules/use-callback-ref/dist/es2015/mergeRef.d.ts +0 -16
  2027. package/node_modules/use-callback-ref/dist/es2015/mergeRef.js +0 -18
  2028. package/node_modules/use-callback-ref/dist/es2015/refToCallback.d.ts +0 -24
  2029. package/node_modules/use-callback-ref/dist/es2015/refToCallback.js +0 -48
  2030. package/node_modules/use-callback-ref/dist/es2015/transformRef.d.ts +0 -11
  2031. package/node_modules/use-callback-ref/dist/es2015/transformRef.js +0 -14
  2032. package/node_modules/use-callback-ref/dist/es2015/types.d.ts +0 -5
  2033. package/node_modules/use-callback-ref/dist/es2015/types.js +0 -1
  2034. package/node_modules/use-callback-ref/dist/es2015/useMergeRef.d.ts +0 -17
  2035. package/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +0 -45
  2036. package/node_modules/use-callback-ref/dist/es2015/useRef.d.ts +0 -16
  2037. package/node_modules/use-callback-ref/dist/es2015/useRef.js +0 -39
  2038. package/node_modules/use-callback-ref/dist/es2015/useTransformRef.d.ts +0 -15
  2039. package/node_modules/use-callback-ref/dist/es2015/useTransformRef.js +0 -18
  2040. package/node_modules/use-callback-ref/dist/es2019/assignRef.d.ts +0 -15
  2041. package/node_modules/use-callback-ref/dist/es2019/assignRef.js +0 -22
  2042. package/node_modules/use-callback-ref/dist/es2019/createRef.d.ts +0 -10
  2043. package/node_modules/use-callback-ref/dist/es2019/createRef.js +0 -23
  2044. package/node_modules/use-callback-ref/dist/es2019/index.d.ts +0 -8
  2045. package/node_modules/use-callback-ref/dist/es2019/index.js +0 -12
  2046. package/node_modules/use-callback-ref/dist/es2019/mergeRef.d.ts +0 -16
  2047. package/node_modules/use-callback-ref/dist/es2019/mergeRef.js +0 -18
  2048. package/node_modules/use-callback-ref/dist/es2019/refToCallback.d.ts +0 -24
  2049. package/node_modules/use-callback-ref/dist/es2019/refToCallback.js +0 -48
  2050. package/node_modules/use-callback-ref/dist/es2019/transformRef.d.ts +0 -11
  2051. package/node_modules/use-callback-ref/dist/es2019/transformRef.js +0 -14
  2052. package/node_modules/use-callback-ref/dist/es2019/types.d.ts +0 -5
  2053. package/node_modules/use-callback-ref/dist/es2019/types.js +0 -1
  2054. package/node_modules/use-callback-ref/dist/es2019/useMergeRef.d.ts +0 -17
  2055. package/node_modules/use-callback-ref/dist/es2019/useMergeRef.js +0 -43
  2056. package/node_modules/use-callback-ref/dist/es2019/useRef.d.ts +0 -16
  2057. package/node_modules/use-callback-ref/dist/es2019/useRef.js +0 -39
  2058. package/node_modules/use-callback-ref/dist/es2019/useTransformRef.d.ts +0 -15
  2059. package/node_modules/use-callback-ref/dist/es2019/useTransformRef.js +0 -18
  2060. package/node_modules/use-callback-ref/dist/es5/assignRef.d.ts +0 -15
  2061. package/node_modules/use-callback-ref/dist/es5/assignRef.js +0 -26
  2062. package/node_modules/use-callback-ref/dist/es5/createRef.d.ts +0 -10
  2063. package/node_modules/use-callback-ref/dist/es5/createRef.js +0 -27
  2064. package/node_modules/use-callback-ref/dist/es5/index.d.ts +0 -8
  2065. package/node_modules/use-callback-ref/dist/es5/index.js +0 -24
  2066. package/node_modules/use-callback-ref/dist/es5/mergeRef.d.ts +0 -16
  2067. package/node_modules/use-callback-ref/dist/es5/mergeRef.js +0 -22
  2068. package/node_modules/use-callback-ref/dist/es5/refToCallback.d.ts +0 -24
  2069. package/node_modules/use-callback-ref/dist/es5/refToCallback.js +0 -53
  2070. package/node_modules/use-callback-ref/dist/es5/transformRef.d.ts +0 -11
  2071. package/node_modules/use-callback-ref/dist/es5/transformRef.js +0 -18
  2072. package/node_modules/use-callback-ref/dist/es5/types.d.ts +0 -5
  2073. package/node_modules/use-callback-ref/dist/es5/types.js +0 -2
  2074. package/node_modules/use-callback-ref/dist/es5/useMergeRef.d.ts +0 -17
  2075. package/node_modules/use-callback-ref/dist/es5/useMergeRef.js +0 -50
  2076. package/node_modules/use-callback-ref/dist/es5/useRef.d.ts +0 -16
  2077. package/node_modules/use-callback-ref/dist/es5/useRef.js +0 -43
  2078. package/node_modules/use-callback-ref/dist/es5/useTransformRef.d.ts +0 -15
  2079. package/node_modules/use-callback-ref/dist/es5/useTransformRef.js +0 -22
  2080. package/node_modules/use-callback-ref/package.json +0 -84
  2081. package/node_modules/use-sidecar/LICENSE +0 -21
  2082. package/node_modules/use-sidecar/README.md +0 -349
  2083. package/node_modules/use-sidecar/dist/es2015/config.d.ts +0 -5
  2084. package/node_modules/use-sidecar/dist/es2015/config.js +0 -6
  2085. package/node_modules/use-sidecar/dist/es2015/env.d.ts +0 -4
  2086. package/node_modules/use-sidecar/dist/es2015/env.js +0 -5
  2087. package/node_modules/use-sidecar/dist/es2015/exports.d.ts +0 -3
  2088. package/node_modules/use-sidecar/dist/es2015/exports.js +0 -18
  2089. package/node_modules/use-sidecar/dist/es2015/hoc.d.ts +0 -3
  2090. package/node_modules/use-sidecar/dist/es2015/hoc.js +0 -15
  2091. package/node_modules/use-sidecar/dist/es2015/hook.d.ts +0 -2
  2092. package/node_modules/use-sidecar/dist/es2015/hook.js +0 -41
  2093. package/node_modules/use-sidecar/dist/es2015/index.d.ts +0 -7
  2094. package/node_modules/use-sidecar/dist/es2015/index.js +0 -6
  2095. package/node_modules/use-sidecar/dist/es2015/medium.d.ts +0 -3
  2096. package/node_modules/use-sidecar/dist/es2015/medium.js +0 -78
  2097. package/node_modules/use-sidecar/dist/es2015/renderProp.d.ts +0 -8
  2098. package/node_modules/use-sidecar/dist/es2015/renderProp.js +0 -35
  2099. package/node_modules/use-sidecar/dist/es2015/types.d.ts +0 -47
  2100. package/node_modules/use-sidecar/dist/es2015/types.js +0 -1
  2101. package/node_modules/use-sidecar/dist/es2019/config.d.ts +0 -5
  2102. package/node_modules/use-sidecar/dist/es2019/config.js +0 -6
  2103. package/node_modules/use-sidecar/dist/es2019/env.d.ts +0 -4
  2104. package/node_modules/use-sidecar/dist/es2019/env.js +0 -5
  2105. package/node_modules/use-sidecar/dist/es2019/exports.d.ts +0 -3
  2106. package/node_modules/use-sidecar/dist/es2019/exports.js +0 -16
  2107. package/node_modules/use-sidecar/dist/es2019/hoc.d.ts +0 -3
  2108. package/node_modules/use-sidecar/dist/es2019/hoc.js +0 -14
  2109. package/node_modules/use-sidecar/dist/es2019/hook.d.ts +0 -2
  2110. package/node_modules/use-sidecar/dist/es2019/hook.js +0 -41
  2111. package/node_modules/use-sidecar/dist/es2019/index.d.ts +0 -7
  2112. package/node_modules/use-sidecar/dist/es2019/index.js +0 -6
  2113. package/node_modules/use-sidecar/dist/es2019/medium.d.ts +0 -3
  2114. package/node_modules/use-sidecar/dist/es2019/medium.js +0 -78
  2115. package/node_modules/use-sidecar/dist/es2019/renderProp.d.ts +0 -8
  2116. package/node_modules/use-sidecar/dist/es2019/renderProp.js +0 -28
  2117. package/node_modules/use-sidecar/dist/es2019/types.d.ts +0 -47
  2118. package/node_modules/use-sidecar/dist/es2019/types.js +0 -1
  2119. package/node_modules/use-sidecar/dist/es5/config.d.ts +0 -5
  2120. package/node_modules/use-sidecar/dist/es5/config.js +0 -10
  2121. package/node_modules/use-sidecar/dist/es5/env.d.ts +0 -4
  2122. package/node_modules/use-sidecar/dist/es5/env.js +0 -8
  2123. package/node_modules/use-sidecar/dist/es5/exports.d.ts +0 -3
  2124. package/node_modules/use-sidecar/dist/es5/exports.js +0 -22
  2125. package/node_modules/use-sidecar/dist/es5/hoc.d.ts +0 -3
  2126. package/node_modules/use-sidecar/dist/es5/hoc.js +0 -19
  2127. package/node_modules/use-sidecar/dist/es5/hook.d.ts +0 -2
  2128. package/node_modules/use-sidecar/dist/es5/hook.js +0 -45
  2129. package/node_modules/use-sidecar/dist/es5/index.d.ts +0 -7
  2130. package/node_modules/use-sidecar/dist/es5/index.js +0 -16
  2131. package/node_modules/use-sidecar/dist/es5/medium.d.ts +0 -3
  2132. package/node_modules/use-sidecar/dist/es5/medium.js +0 -83
  2133. package/node_modules/use-sidecar/dist/es5/renderProp.d.ts +0 -8
  2134. package/node_modules/use-sidecar/dist/es5/renderProp.js +0 -39
  2135. package/node_modules/use-sidecar/dist/es5/types.d.ts +0 -47
  2136. package/node_modules/use-sidecar/dist/es5/types.js +0 -2
  2137. package/node_modules/use-sidecar/package.json +0 -89
  2138. package/node_modules/zod/LICENSE +0 -21
  2139. package/node_modules/zod/README.md +0 -2876
  2140. package/node_modules/zod/index.d.ts +0 -2
  2141. package/node_modules/zod/lib/ZodError.d.ts +0 -164
  2142. package/node_modules/zod/lib/ZodError.js +0 -137
  2143. package/node_modules/zod/lib/__tests__/Mocker.d.ts +0 -17
  2144. package/node_modules/zod/lib/__tests__/Mocker.js +0 -57
  2145. package/node_modules/zod/lib/benchmarks/datetime.d.ts +0 -5
  2146. package/node_modules/zod/lib/benchmarks/datetime.js +0 -54
  2147. package/node_modules/zod/lib/benchmarks/discriminatedUnion.d.ts +0 -5
  2148. package/node_modules/zod/lib/benchmarks/discriminatedUnion.js +0 -79
  2149. package/node_modules/zod/lib/benchmarks/index.d.ts +0 -1
  2150. package/node_modules/zod/lib/benchmarks/index.js +0 -59
  2151. package/node_modules/zod/lib/benchmarks/ipv4.d.ts +0 -5
  2152. package/node_modules/zod/lib/benchmarks/ipv4.js +0 -54
  2153. package/node_modules/zod/lib/benchmarks/object.d.ts +0 -5
  2154. package/node_modules/zod/lib/benchmarks/object.js +0 -70
  2155. package/node_modules/zod/lib/benchmarks/primitives.d.ts +0 -5
  2156. package/node_modules/zod/lib/benchmarks/primitives.js +0 -170
  2157. package/node_modules/zod/lib/benchmarks/realworld.d.ts +0 -5
  2158. package/node_modules/zod/lib/benchmarks/realworld.js +0 -56
  2159. package/node_modules/zod/lib/benchmarks/string.d.ts +0 -5
  2160. package/node_modules/zod/lib/benchmarks/string.js +0 -55
  2161. package/node_modules/zod/lib/benchmarks/union.d.ts +0 -5
  2162. package/node_modules/zod/lib/benchmarks/union.js +0 -79
  2163. package/node_modules/zod/lib/errors.d.ts +0 -5
  2164. package/node_modules/zod/lib/errors.js +0 -17
  2165. package/node_modules/zod/lib/external.d.ts +0 -6
  2166. package/node_modules/zod/lib/external.js +0 -18
  2167. package/node_modules/zod/lib/helpers/enumUtil.d.ts +0 -8
  2168. package/node_modules/zod/lib/helpers/enumUtil.js +0 -2
  2169. package/node_modules/zod/lib/helpers/errorUtil.d.ts +0 -9
  2170. package/node_modules/zod/lib/helpers/errorUtil.js +0 -8
  2171. package/node_modules/zod/lib/helpers/parseUtil.d.ts +0 -78
  2172. package/node_modules/zod/lib/helpers/parseUtil.js +0 -125
  2173. package/node_modules/zod/lib/helpers/partialUtil.d.ts +0 -8
  2174. package/node_modules/zod/lib/helpers/partialUtil.js +0 -2
  2175. package/node_modules/zod/lib/helpers/typeAliases.d.ts +0 -2
  2176. package/node_modules/zod/lib/helpers/typeAliases.js +0 -2
  2177. package/node_modules/zod/lib/helpers/util.d.ts +0 -82
  2178. package/node_modules/zod/lib/helpers/util.js +0 -142
  2179. package/node_modules/zod/lib/index.d.ts +0 -4
  2180. package/node_modules/zod/lib/index.js +0 -29
  2181. package/node_modules/zod/lib/index.mjs +0 -4236
  2182. package/node_modules/zod/lib/index.umd.js +0 -4351
  2183. package/node_modules/zod/lib/locales/en.d.ts +0 -3
  2184. package/node_modules/zod/lib/locales/en.js +0 -129
  2185. package/node_modules/zod/lib/types.d.ts +0 -1127
  2186. package/node_modules/zod/lib/types.js +0 -3677
  2187. package/node_modules/zod/package.json +0 -119
@@ -1,2876 +0,0 @@
1
- <p align="center">
2
- <img src="logo.svg" width="200px" align="center" alt="Zod logo" />
3
- <h1 align="center">Zod</h1>
4
- <p align="center">
5
- โœจ <a href="https://zod.dev">https://zod.dev</a> โœจ
6
- <br/>
7
- TypeScript-first schema validation with static type inference
8
- </p>
9
- </p>
10
- <br/>
11
- <p align="center">
12
- <a href="https://github.com/colinhacks/zod/actions?query=branch%3Amaster"><img src="https://github.com/colinhacks/zod/actions/workflows/test.yml/badge.svg?event=push&branch=master" alt="Zod CI status" /></a>
13
- <a href="https://twitter.com/colinhacks" rel="nofollow"><img src="https://img.shields.io/badge/created%20by-@colinhacks-4BBAAB.svg" alt="Created by Colin McDonnell"></a>
14
- <a href="https://opensource.org/licenses/MIT" rel="nofollow"><img src="https://img.shields.io/github/license/colinhacks/zod" alt="License"></a>
15
- <a href="https://www.npmjs.com/package/zod" rel="nofollow"><img src="https://img.shields.io/npm/dw/zod.svg" alt="npm"></a>
16
- <a href="https://www.npmjs.com/package/zod" rel="nofollow"><img src="https://img.shields.io/github/stars/colinhacks/zod" alt="stars"></a>
17
- <a href="https://discord.gg/KaSRdyX2vc" rel="nofollow"><img src="https://img.shields.io/discord/893487829802418277?label=Discord&logo=discord&logoColor=white" alt="discord server"></a>
18
- </p>
19
-
20
- <div align="center">
21
- <a href="https://zod.dev">Documentation</a>
22
- <span>&nbsp;&nbsp;โ€ข&nbsp;&nbsp;</span>
23
- <a href="https://discord.gg/RcG33DQJdf">Discord</a>
24
- <span>&nbsp;&nbsp;โ€ข&nbsp;&nbsp;</span>
25
- <a href="https://www.npmjs.com/package/zod">npm</a>
26
- <span>&nbsp;&nbsp;โ€ข&nbsp;&nbsp;</span>
27
- <a href="https://deno.land/x/zod">deno</a>
28
- <span>&nbsp;&nbsp;โ€ข&nbsp;&nbsp;</span>
29
- <a href="https://github.com/colinhacks/zod/issues/new">Issues</a>
30
- <span>&nbsp;&nbsp;โ€ข&nbsp;&nbsp;</span>
31
- <a href="https://twitter.com/colinhacks">@colinhacks</a>
32
- <span>&nbsp;&nbsp;โ€ข&nbsp;&nbsp;</span>
33
- <a href="https://trpc.io">tRPC</a>
34
- <br />
35
- </div>
36
-
37
- <br/>
38
- <br/>
39
-
40
- > Zod 3.23 is out! View the [release notes](https://github.com/colinhacks/zod/releases/tag/v3.23.0).
41
-
42
- > These docs have been translated into [Chinese](./README_ZH.md).
43
-
44
- ## Table of contents
45
-
46
- <!-- The full documentation is available both on the [official documentation site](https://zod.js.org/) (recommended) and in `README.md`.
47
-
48
- #### Go to [zod.js.org](https://zod.js.org) >> -->
49
-
50
- - [Table of contents](#table-of-contents)
51
- - [Introduction](#introduction)
52
- - [Sponsors](#sponsors)
53
- - [Gold](#gold)
54
- - [Silver](#silver)
55
- - [Bronze](#bronze)
56
- - [Copper](#copper)
57
- - [Ecosystem](#ecosystem)
58
- - [Resources](#resources)
59
- - [API libraries](#api-libraries)
60
- - [Form integrations](#form-integrations)
61
- - [Zod to X](#zod-to-x)
62
- - [X to Zod](#x-to-zod)
63
- - [Mocking](#mocking)
64
- - [Powered by Zod](#powered-by-zod)
65
- - [Utilities for Zod](#utilities-for-zod)
66
- - [Installation](#installation)
67
- - [Requirements](#requirements)
68
- - [From `npm` (Node/Bun)](#from-npm-nodebun)
69
- - [From `deno.land/x` (Deno)](#from-denolandx-deno)
70
- - [Basic usage](#basic-usage)
71
- - [Primitives](#primitives)
72
- - [Coercion for primitives](#coercion-for-primitives)
73
- - [Literals](#literals)
74
- - [Strings](#strings)
75
- - [Datetimes](#datetimes)
76
- - [Dates](#dates)
77
- - [Times](#times)
78
- - [IP addresses](#ip-addresses)
79
- - [Numbers](#numbers)
80
- - [BigInts](#bigints)
81
- - [NaNs](#nans)
82
- - [Booleans](#booleans)
83
- - [Dates](#dates)
84
- - [Zod enums](#zod-enums)
85
- - [Native enums](#native-enums)
86
- - [Optionals](#optionals)
87
- - [Nullables](#nullables)
88
- - [Objects](#objects)
89
- - [`.shape`](#shape)
90
- - [`.keyof`](#keyof)
91
- - [`.extend`](#extend)
92
- - [`.merge`](#merge)
93
- - [`.pick/.omit`](#pickomit)
94
- - [`.partial`](#partial)
95
- - [`.deepPartial`](#deeppartial)
96
- - [`.required`](#required)
97
- - [`.passthrough`](#passthrough)
98
- - [`.strict`](#strict)
99
- - [`.strip`](#strip)
100
- - [`.catchall`](#catchall)
101
- - [Arrays](#arrays)
102
- - [`.element`](#element)
103
- - [`.nonempty`](#nonempty)
104
- - [`.min/.max/.length`](#minmaxlength)
105
- - [Tuples](#tuples)
106
- - [Unions](#unions)
107
- - [Discriminated unions](#discriminated-unions)
108
- - [Records](#records)
109
- - [Record key type](#record-key-type)
110
- - [Maps](#maps)
111
- - [Sets](#sets)
112
- - [Intersections](#intersections)
113
- - [Recursive types](#recursive-types)
114
- - [ZodType with ZodEffects](#zodtype-with-zodeffects)
115
- - [JSON type](#json-type)
116
- - [Cyclical objects](#cyclical-objects)
117
- - [Promises](#promises)
118
- - [Instanceof](#instanceof)
119
- - [Functions](#functions)
120
- - [Preprocess](#preprocess)
121
- - [Custom schemas](#custom-schemas)
122
- - [Schema methods](#schema-methods)
123
- - [`.parse`](#parse)
124
- - [`.parseAsync`](#parseasync)
125
- - [`.safeParse`](#safeparse)
126
- - [`.safeParseAsync`](#safeparseasync)
127
- - [`.refine`](#refine)
128
- - [Arguments](#arguments)
129
- - [Customize error path](#customize-error-path)
130
- - [Asynchronous refinements](#asynchronous-refinements)
131
- - [Relationship to transforms](#relationship-to-transforms)
132
- - [`.superRefine`](#superrefine)
133
- - [Abort early](#abort-early)
134
- - [Type refinements](#type-refinements)
135
- - [`.transform`](#transform)
136
- - [Chaining order](#chaining-order)
137
- - [Validating during transform](#validating-during-transform)
138
- - [Relationship to refinements](#relationship-to-refinements)
139
- - [Async transforms](#async-transforms)
140
- - [`.default`](#default)
141
- - [`.describe`](#describe)
142
- - [`.catch`](#catch)
143
- - [`.optional`](#optional)
144
- - [`.nullable`](#nullable)
145
- - [`.nullish`](#nullish)
146
- - [`.array`](#array)
147
- - [`.promise`](#promise)
148
- - [`.or`](#or)
149
- - [`.and`](#and)
150
- - [`.brand`](#brand)
151
- - [`.readonly`](#readonly)
152
- - [`.pipe`](#pipe)
153
- - [You can use `.pipe()` to fix common issues with `z.coerce`.](#you-can-use-pipe-to-fix-common-issues-with-zcoerce)
154
- - [Guides and concepts](#guides-and-concepts)
155
- - [Type inference](#type-inference)
156
- - [Writing generic functions](#writing-generic-functions)
157
- - [Constraining allowable inputs](#constraining-allowable-inputs)
158
- - [Error handling](#error-handling)
159
- - [Error formatting](#error-formatting)
160
- - [Comparison](#comparison)
161
- - [Joi](#joi)
162
- - [Yup](#yup)
163
- - [io-ts](#io-ts)
164
- - [Runtypes](#runtypes)
165
- - [Ow](#ow)
166
- - [Changelog](#changelog)
167
-
168
- ## Introduction
169
-
170
- Zod is a TypeScript-first schema declaration and validation library. I'm using the term "schema" to broadly refer to any data type, from a simple `string` to a complex nested object.
171
-
172
- Zod is designed to be as developer-friendly as possible. The goal is to eliminate duplicative type declarations. With Zod, you declare a validator _once_ and Zod will automatically infer the static TypeScript type. It's easy to compose simpler types into complex data structures.
173
-
174
- Some other great aspects:
175
-
176
- - Zero dependencies
177
- - Works in Node.js and all modern browsers
178
- - Tiny: 8kb minified + zipped
179
- - Immutable: methods (e.g. `.optional()`) return a new instance
180
- - Concise, chainable interface
181
- - Functional approach: [parse, don't validate](https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/)
182
- - Works with plain JavaScript too! You don't need to use TypeScript.
183
-
184
- ### Sponsors
185
-
186
- Sponsorship at any level is appreciated and encouraged. For individual developers, consider the [Cup of Coffee tier](https://github.com/sponsors/colinhacks). If you built a paid product using Zod, consider one of the [podium tiers](https://github.com/sponsors/colinhacks).
187
-
188
- #### Platinum
189
-
190
- > [Email me](mailto:colin@colinhacks.com) to discuss sponsoring Zod at this level.
191
-
192
- <!-- <table>
193
- <tr>
194
- <td align="center">
195
- <a href="https://www.example.com" target="_blank">
196
- <img src="https://example.com/image.png" height="100px;" alt="XXX" />
197
- </a>
198
- <br />
199
- <b>XXX</b>
200
- <br />
201
- <a href="https://www.example.com" target="_blank">example.com</a>
202
- </td>
203
- </tr>
204
- </table> -->
205
-
206
- #### Gold
207
-
208
- <table>
209
- <tr>
210
- <td align="center">
211
- <img src="https://avatars.githubusercontent.com/u/80861386?s=200&v=4" height="45px;" alt="Cerbos" />
212
- <br />
213
- <a href="https://cerbos.dev/" target="_blank">Cerbos</a>
214
- </td>
215
- <td align="center">
216
- <img src="https://avatars.githubusercontent.com/u/301879?s=200&v=4" height="45px;" alt="Scalar.com logo" />
217
- <br />
218
- <a href="https://scalar.com/" target="_blank">Scalar</a>
219
- </td>
220
- <td align="center">
221
- <img src="https://avatars.githubusercontent.com/u/91446104?s=200&v=4" height="45px;" alt="Speakeasy API" />
222
- <br />
223
- <a href="https://speakeasyapi.dev/" target="_blank">Speakeasy</a>
224
- </td>
225
- <td align="center">
226
- <img src="https://avatars0.githubusercontent.com/u/15068039?s=200&v=4" height="45px;" alt="Deletype logo" />
227
- <br />
228
- <a href="https://deletype.com" target="_blank">Deletype</a>
229
- </td>
230
- <td align="center">
231
- <img src="https://avatars.githubusercontent.com/u/95297378?s=200&v=4" height="45px;" alt="Trigger.dev logo" />
232
- <br />
233
- <a href="https://trigger.dev" target="_blank">Trigger.dev</a>
234
- </td>
235
- </tr><tr>
236
- <td align="center">
237
- <img src="https://avatars.githubusercontent.com/u/125754?s=200&v=4" height="45px;" alt="Transloadit logo" />
238
- <br />
239
- <a href="https://transloadit.com/?utm_source=zod&utm_medium=refe
240
- rral&utm_campaign=sponsorship&utm_content=github" target="_blank">Transloadit</a>
241
- </td>
242
- <td align="center">
243
- <img src="https://avatars.githubusercontent.com/u/107880645?s=200&v=4" height="45px;" alt="Infisical logo" />
244
- <br />
245
- <a href="https://infisical.com" target="_blank">Infisical</a>
246
- </td>
247
- <td align="center">
248
- <img src="https://avatars.githubusercontent.com/u/91036480?s=200&v=4" height="45px;" alt="Whop logo" />
249
- <br />
250
- <a href="https://whop.com/" target="_blank">Whop</a>
251
- </td>
252
- <td align="center">
253
- <img src="https://avatars.githubusercontent.com/u/36402888?s=200&v=4" height="45px;" alt="CryptoJobsList logo" />
254
- <br />
255
- <a href="https://cryptojobslist.com/" target="_blank">CryptoJobsList</a>
256
- </td>
257
- <td align="center">
258
- <img src="https://avatars.githubusercontent.com/u/70170949?s=200&v=4" height="45px;" alt="Plain logo" />
259
- <br />
260
- <a href="https://plain.com/" target="_blank">Plain.</a>
261
- </td>
262
- </tr><tr>
263
- <td align="center">
264
- <img src="https://avatars.githubusercontent.com/u/78935958?s=200&v=4" height="45px;" alt="Inngest logo" />
265
- <br />
266
- <a href="https://inngest.com/" target="_blank">Inngest</a>
267
- </td>
268
- <td align="center">
269
- <img src="https://avatars.githubusercontent.com/u/13880908?s=200&v=4" height="45px;" alt="Storyblok CMS" />
270
- <br />
271
- <a href="https://storyblok.com/" target="_blank">Storyblok</a>
272
- </td>
273
- <td align="center">
274
- <img src="https://avatars.githubusercontent.com/u/16199997?s=200&v=4" height="45px;" alt="Mux logo" />
275
- <br />
276
- <a href="https://mux.link/zod" target="_blank">Mux</a>
277
- </td>
278
- <td align="center">
279
- <img src="https://avatars.githubusercontent.com/u/180984?v=4" height="45px;" alt="@emreb" />
280
- <br />
281
- <a href="https://github.com/emreb" target="_blank"><code>@emreb</code></a>
282
- </td>
283
- </tr>
284
- </table>
285
-
286
- #### Silver
287
-
288
- <table>
289
- <tr>
290
- <td align="center">
291
- <a href="https://www.numeric.io">
292
- <img src="https://i.imgur.com/kTiLtZt.png" height="40px;" alt="Numeric logo" />
293
- </a>
294
- </td>
295
- <td>
296
- <a href="https://marcatopartners.com">
297
- <img src="https://avatars.githubusercontent.com/u/84106192?s=200&v=4" height="40px;" alt="Marcato Partners" />
298
- </a>
299
- </td>
300
- <td>
301
- <a href="https://interval.com">
302
- <img src="https://avatars.githubusercontent.com/u/67802063?s=200&v=4" height="40px;" alt="" />
303
- </a>
304
- </td>
305
- <td>
306
- <a href="https://seasoned.cc">
307
- <img src="https://avatars.githubusercontent.com/u/33913103?s=200&v=4" height="40px;" alt="" />
308
- </a>
309
- </td>
310
- <td>
311
- <a href="https://www.bamboocreative.nz/">
312
- <img src="https://avatars.githubusercontent.com/u/41406870?v=4" height="40px;" alt="Bamboo Creative logo" />
313
- </a>
314
- </td>
315
- </tr>
316
- </table>
317
-
318
- #### Bronze
319
-
320
- <table>
321
- <tr>
322
- <td>Brandon Bayer</td>
323
- <td>Jiล™รญ Brabec</td>
324
- <td>Alex Johansson</td>
325
- <td>Fungible Systems</td>
326
- </tr>
327
- <tr>
328
- <td>Adaptable</td>
329
- <td>Avana Wallet</td>
330
- <td>Jason Lengstorf</td>
331
- <td>Global Illumination, Inc.</td>
332
- </tr>
333
- <tr>
334
- <td>MasterBorn</td>
335
- <td>Ryan Palmer</td>
336
- <td>Michael Sweeney</td>
337
- <td>Nextbase</td>
338
- </tr>
339
- <tr>
340
- <td>Remotion</td>
341
- <td>Connor Sinnott</td>
342
- <td>Mohammad-Ali A'rรขbi</td>
343
- <td>Supatool</td>
344
- </tr>
345
- <tr>
346
- <td>Social Crow</td>
347
- </tr>
348
- </table>
349
-
350
- ### Ecosystem
351
-
352
- There are a growing number of tools that are built atop or support Zod natively! If you've built a tool or library on top of Zod, tell me about it [on Twitter](https://twitter.com/colinhacks) or [start a Discussion](https://github.com/colinhacks/zod/discussions). I'll add it below and tweet it out.
353
-
354
- #### Resources
355
-
356
- - [Total TypeScript Zod Tutorial](https://www.totaltypescript.com/tutorials/zod) by [@mattpocockuk](https://twitter.com/mattpocockuk)
357
- - [Fixing TypeScript's Blindspot: Runtime Typechecking](https://www.youtube.com/watch?v=rY_XqfSHock) by [@jherr](https://twitter.com/jherr)
358
-
359
- #### API libraries
360
-
361
- - [`tRPC`](https://github.com/trpc/trpc): Build end-to-end typesafe APIs without GraphQL.
362
- - [`@anatine/zod-nestjs`](https://github.com/anatine/zod-plugins/tree/main/packages/zod-nestjs): Helper methods for using Zod in a NestJS project.
363
- - [`zod-endpoints`](https://github.com/flock-community/zod-endpoints): Contract-first strictly typed endpoints with Zod. OpenAPI compatible.
364
- - [`zhttp`](https://github.com/evertdespiegeleer/zhttp): An OpenAPI compatible, strictly typed http library with Zod input and response validation.
365
- - [`domain-functions`](https://github.com/SeasonedSoftware/domain-functions/): Decouple your business logic from your framework using composable functions. With first-class type inference from end to end powered by Zod schemas.
366
- - [`@zodios/core`](https://github.com/ecyrbe/zodios): A typescript API client with runtime and compile time validation backed by axios and zod.
367
- - [`express-zod-api`](https://github.com/RobinTail/express-zod-api): Build Express-based APIs with I/O schema validation and custom middlewares.
368
- - [`tapiduck`](https://github.com/sumukhbarve/monoduck/blob/main/src/tapiduck/README.md): End-to-end typesafe JSON APIs with Zod and Express; a bit like tRPC, but simpler.
369
- - [`koa-zod-router`](https://github.com/JakeFenley/koa-zod-router): Create typesafe routes in Koa with I/O validation using Zod.
370
-
371
- #### Form integrations
372
-
373
- - [`react-hook-form`](https://github.com/react-hook-form/resolvers#zod): A first-party Zod resolver for React Hook Form.
374
- - [`zod-validation-error`](https://github.com/causaly/zod-validation-error): Generate user-friendly error messages from `ZodError`s.
375
- - [`zod-formik-adapter`](https://github.com/robertLichtnow/zod-formik-adapter): A community-maintained Formik adapter for Zod.
376
- - [`react-zorm`](https://github.com/esamattis/react-zorm): Standalone `<form>` generation and validation for React using Zod.
377
- - [`zodix`](https://github.com/rileytomasek/zodix): Zod utilities for FormData and URLSearchParams in Remix loaders and actions.
378
- - [`conform`](https://conform.guide/api/zod/parseWithZod): A typesafe form validation library for progressive enhancement of HTML forms. Works with Remix and Next.js.
379
- - [`remix-params-helper`](https://github.com/kiliman/remix-params-helper): Simplify integration of Zod with standard URLSearchParams and FormData for Remix apps.
380
- - [`formik-validator-zod`](https://github.com/glazy/formik-validator-zod): Formik-compliant validator library that simplifies using Zod with Formik.
381
- - [`zod-i18n-map`](https://github.com/aiji42/zod-i18n): Useful for translating Zod error messages.
382
- - [`@modular-forms/solid`](https://github.com/fabian-hiller/modular-forms): Modular form library for SolidJS that supports Zod for validation.
383
- - [`houseform`](https://github.com/crutchcorn/houseform/): A React form library that uses Zod for validation.
384
- - [`sveltekit-superforms`](https://github.com/ciscoheat/sveltekit-superforms): Supercharged form library for SvelteKit with Zod validation.
385
- - [`mobx-zod-form`](https://github.com/MonoidDev/mobx-zod-form): Data-first form builder based on MobX & Zod.
386
- - [`@vee-validate/zod`](https://github.com/logaretm/vee-validate/tree/main/packages/zod): Form library for Vue.js with Zod schema validation.
387
-
388
- #### Zod to X
389
-
390
- - [`zod-to-ts`](https://github.com/sachinraja/zod-to-ts): Generate TypeScript definitions from Zod schemas.
391
- - [`zod-to-json-schema`](https://github.com/StefanTerdell/zod-to-json-schema): Convert your Zod schemas into [JSON Schemas](https://json-schema.org/).
392
- - [`@anatine/zod-openapi`](https://github.com/anatine/zod-plugins/tree/main/packages/zod-openapi): Converts a Zod schema to an OpenAPI v3.x `SchemaObject`.
393
- - [`zod-fast-check`](https://github.com/DavidTimms/zod-fast-check): Generate `fast-check` arbitraries from Zod schemas.
394
- - [`zod-dto`](https://github.com/kbkk/abitia/tree/master/packages/zod-dto): Generate Nest.js DTOs from a Zod schema.
395
- - [`fastify-type-provider-zod`](https://github.com/turkerdev/fastify-type-provider-zod): Create Fastify type providers from Zod schemas.
396
- - [`zod-to-openapi`](https://github.com/asteasolutions/zod-to-openapi): Generate full OpenAPI (Swagger) docs from Zod, including schemas, endpoints & parameters.
397
- - [`nestjs-graphql-zod`](https://github.com/incetarik/nestjs-graphql-zod): Generates NestJS GraphQL model classes from Zod schemas. Provides GraphQL method decorators working with Zod schemas.
398
- - [`zod-openapi`](https://github.com/samchungy/zod-openapi): Create full OpenAPI v3.x documentation from Zod schemas.
399
- - [`fastify-zod-openapi`](https://github.com/samchungy/fastify-zod-openapi): Fastify type provider, validation, serialization and @fastify/swagger support for Zod schemas.
400
- - [`typeschema`](https://typeschema.com/): Universal adapter for schema validation.
401
-
402
- #### X to Zod
403
-
404
- - [`ts-to-zod`](https://github.com/fabien0102/ts-to-zod): Convert TypeScript definitions into Zod schemas.
405
- - [`@runtyping/zod`](https://github.com/johngeorgewright/runtyping/tree/master/packages/zod): Generate Zod from static types & JSON schema.
406
- - [`json-schema-to-zod`](https://github.com/StefanTerdell/json-schema-to-zod): Convert your [JSON Schemas](https://json-schema.org/) into Zod schemas. [Live demo](https://StefanTerdell.github.io/json-schema-to-zod-react/).
407
- - [`json-to-zod`](https://github.com/rsinohara/json-to-zod): Convert JSON objects into Zod schemas. [Live demo](https://rsinohara.github.io/json-to-zod-react/).
408
- - [`graphql-codegen-typescript-validation-schema`](https://github.com/Code-Hex/graphql-codegen-typescript-validation-schema): GraphQL Code Generator plugin to generate form validation schema from your GraphQL schema.
409
- - [`zod-prisma`](https://github.com/CarterGrimmeisen/zod-prisma): Generate Zod schemas from your Prisma schema.
410
- - [`Supervillain`](https://github.com/Southclaws/supervillain): Generate Zod schemas from your Go structs.
411
- - [`prisma-zod-generator`](https://github.com/omar-dulaimi/prisma-zod-generator): Emit Zod schemas from your Prisma schema.
412
- - [`prisma-trpc-generator`](https://github.com/omar-dulaimi/prisma-trpc-generator): Emit fully implemented tRPC routers and their validation schemas using Zod.
413
- - [`zod-prisma-types`](https://github.com/chrishoermann/zod-prisma-types) Create Zod types from your Prisma models.
414
- - [`quicktype`](https://app.quicktype.io/): Convert JSON objects and JSON schemas into Zod schemas.
415
- - [`@sanity-typed/zod`](https://github.com/saiichihashimoto/sanity-typed/tree/main/packages/zod): Generate Zod Schemas from [Sanity Schemas](https://www.sanity.io/docs/schema-types).
416
- - [`java-to-zod`](https://github.com/ivangreene/java-to-zod): Convert POJOs to Zod schemas
417
- - [`Orval`](https://github.com/anymaniax/orval): Generate Zod schemas from OpenAPI schemas
418
-
419
- #### Mocking
420
-
421
- - [`@anatine/zod-mock`](https://github.com/anatine/zod-plugins/tree/main/packages/zod-mock): Generate mock data from a Zod schema. Powered by [faker.js](https://github.com/faker-js/faker).
422
- - [`zod-mocking`](https://github.com/dipasqualew/zod-mocking): Generate mock data from your Zod schemas.
423
- - [`zod-fixture`](https://github.com/timdeschryver/zod-fixture): Use your zod schemas to automate the generation of non-relevant test fixtures in a deterministic way.
424
- - [`zocker`](https://zocker.sigrist.dev): Generate plausible mock-data from your schemas.
425
- - [`zodock`](https://github.com/ItMaga/zodock) Generate mock data based on Zod schemas.
426
-
427
- #### Powered by Zod
428
-
429
- - [`freerstore`](https://github.com/JacobWeisenburger/freerstore): Firestore cost optimizer.
430
- - [`slonik`](https://github.com/gajus/slonik/tree/gajus/add-zod-validation-backwards-compatible#runtime-validation-and-static-type-inference): Node.js Postgres client with strong Zod integration.
431
- - [`soly`](https://github.com/mdbetancourt/soly): Create CLI applications with zod.
432
- - [`pastel`](https://github.com/vadimdemedes/pastel): Create CLI applications with react, zod, and ink.
433
- - [`zod-xlsx`](https://github.com/sidwebworks/zod-xlsx): A xlsx based resource validator using Zod schemas.
434
- - [`znv`](https://github.com/lostfictions/znv): Type-safe environment parsing and validation for Node.js with Zod schemas.
435
- - [`zod-config`](https://github.com/alexmarqs/zod-config): Load configurations across multiple sources with flexible adapters, ensuring type safety with Zod.
436
-
437
- #### Utilities for Zod
438
-
439
- - [`zod_utilz`](https://github.com/JacobWeisenburger/zod_utilz): Framework agnostic utilities for Zod.
440
- - [`zod-playground`](https://github.com/marilari88/zod-playground): A tool for learning and testing Zod schema validation functionalities. [Link](https://zod-playground.vercel.app/).
441
- - [`zod-sandbox`](https://github.com/nereumelo/zod-sandbox): Controlled environment for testing zod schemas. [Live demo](https://zod-sandbox.vercel.app/).
442
- - [`zod-dev`](https://github.com/schalkventer/zod-dev): Conditionally disables Zod runtime parsing in production.
443
- - [`zod-accelerator`](https://github.com/duplojs/duplojs-zod-accelerator): Accelerates Zod's throughput up to ~100x.
444
-
445
- ## Installation
446
-
447
- ### Requirements
448
-
449
- - TypeScript 4.5+!
450
- - You must enable `strict` mode in your `tsconfig.json`. This is a best practice for all TypeScript projects.
451
-
452
- ```ts
453
- // tsconfig.json
454
- {
455
- // ...
456
- "compilerOptions": {
457
- // ...
458
- "strict": true
459
- }
460
- }
461
- ```
462
-
463
- ### From `npm` (Node/Bun)
464
-
465
- ```sh
466
- npm install zod # npm
467
- yarn add zod # yarn
468
- bun add zod # bun
469
- pnpm add zod # pnpm
470
- ```
471
-
472
- Zod also publishes a canary version on every commit. To install the canary:
473
-
474
- ```sh
475
- npm install zod@canary # npm
476
- yarn add zod@canary # yarn
477
- bun add zod@canary # bun
478
- pnpm add zod@canary # pnpm
479
- ```
480
-
481
- ### From `deno.land/x` (Deno)
482
-
483
- Unlike Node, Deno relies on direct URL imports instead of a package manager like NPM. Zod is available on [deno.land/x](https://deno.land/x). The latest version can be imported like so:
484
-
485
- ```ts
486
- import { z } from "https://deno.land/x/zod/mod.ts";
487
- ```
488
-
489
- You can also specify a particular version:
490
-
491
- ```ts
492
- import { z } from "https://deno.land/x/zod@v3.16.1/mod.ts";
493
- ```
494
-
495
- > The rest of this README assumes you are using npm and importing directly from the `"zod"` package.
496
-
497
- ## Basic usage
498
-
499
- Creating a simple string schema
500
-
501
- ```ts
502
- import { z } from "zod";
503
-
504
- // creating a schema for strings
505
- const mySchema = z.string();
506
-
507
- // parsing
508
- mySchema.parse("tuna"); // => "tuna"
509
- mySchema.parse(12); // => throws ZodError
510
-
511
- // "safe" parsing (doesn't throw error if validation fails)
512
- mySchema.safeParse("tuna"); // => { success: true; data: "tuna" }
513
- mySchema.safeParse(12); // => { success: false; error: ZodError }
514
- ```
515
-
516
- Creating an object schema
517
-
518
- ```ts
519
- import { z } from "zod";
520
-
521
- const User = z.object({
522
- username: z.string(),
523
- });
524
-
525
- User.parse({ username: "Ludwig" });
526
-
527
- // extract the inferred type
528
- type User = z.infer<typeof User>;
529
- // { username: string }
530
- ```
531
-
532
- ## Primitives
533
-
534
- ```ts
535
- import { z } from "zod";
536
-
537
- // primitive values
538
- z.string();
539
- z.number();
540
- z.bigint();
541
- z.boolean();
542
- z.date();
543
- z.symbol();
544
-
545
- // empty types
546
- z.undefined();
547
- z.null();
548
- z.void(); // accepts undefined
549
-
550
- // catch-all types
551
- // allows any value
552
- z.any();
553
- z.unknown();
554
-
555
- // never type
556
- // allows no values
557
- z.never();
558
- ```
559
-
560
- ## Coercion for primitives
561
-
562
- Zod now provides a more convenient way to coerce primitive values.
563
-
564
- ```ts
565
- const schema = z.coerce.string();
566
- schema.parse("tuna"); // => "tuna"
567
- schema.parse(12); // => "12"
568
- ```
569
-
570
- During the parsing step, the input is passed through the `String()` function, which is a JavaScript built-in for coercing data into strings.
571
-
572
- ```ts
573
- schema.parse(12); // => "12"
574
- schema.parse(true); // => "true"
575
- schema.parse(undefined); // => "undefined"
576
- schema.parse(null); // => "null"
577
- ```
578
-
579
- The returned schema is a normal `ZodString` instance so you can use all string methods.
580
-
581
- ```ts
582
- z.coerce.string().email().min(5);
583
- ```
584
-
585
- **How coercion works**
586
-
587
- All primitive types support coercion. Zod coerces all inputs using the built-in constructors: `String(input)`, `Number(input)`, `new Date(input)`, etc.
588
-
589
- ```ts
590
- z.coerce.string(); // String(input)
591
- z.coerce.number(); // Number(input)
592
- z.coerce.boolean(); // Boolean(input)
593
- z.coerce.bigint(); // BigInt(input)
594
- z.coerce.date(); // new Date(input)
595
- ```
596
-
597
- **Note** โ€”ย Boolean coercion with `z.coerce.boolean()` may not work how you expect. Any [truthy](https://developer.mozilla.org/en-US/docs/Glossary/Truthy) value is coerced to `true`, and any [falsy](https://developer.mozilla.org/en-US/docs/Glossary/Falsy) value is coerced to `false`.
598
-
599
- ```ts
600
- const schema = z.coerce.boolean(); // Boolean(input)
601
-
602
- schema.parse("tuna"); // => true
603
- schema.parse("true"); // => true
604
- schema.parse("false"); // => true
605
- schema.parse(1); // => true
606
- schema.parse([]); // => true
607
-
608
- schema.parse(0); // => false
609
- schema.parse(""); // => false
610
- schema.parse(undefined); // => false
611
- schema.parse(null); // => false
612
- ```
613
-
614
- For more control over coercion logic, consider using [`z.preprocess`](#preprocess) or [`z.pipe()`](#pipe).
615
-
616
- ## Literals
617
-
618
- Literal schemas represent a [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types), like `"hello world"` or `5`.
619
-
620
- ```ts
621
- const tuna = z.literal("tuna");
622
- const twelve = z.literal(12);
623
- const twobig = z.literal(2n); // bigint literal
624
- const tru = z.literal(true);
625
-
626
- const terrificSymbol = Symbol("terrific");
627
- const terrific = z.literal(terrificSymbol);
628
-
629
- // retrieve literal value
630
- tuna.value; // "tuna"
631
- ```
632
-
633
- > Currently there is no support for Date literals in Zod. If you have a use case for this feature, please file an issue.
634
-
635
- ## Strings
636
-
637
- Zod includes a handful of string-specific validations.
638
-
639
- ```ts
640
- // validations
641
- z.string().max(5);
642
- z.string().min(5);
643
- z.string().length(5);
644
- z.string().email();
645
- z.string().url();
646
- z.string().emoji();
647
- z.string().uuid();
648
- z.string().nanoid();
649
- z.string().cuid();
650
- z.string().cuid2();
651
- z.string().ulid();
652
- z.string().regex(regex);
653
- z.string().includes(string);
654
- z.string().startsWith(string);
655
- z.string().endsWith(string);
656
- z.string().datetime(); // ISO 8601; by default only `Z` timezone allowed
657
- z.string().ip(); // defaults to allow both IPv4 and IPv6
658
-
659
- // transforms
660
- z.string().trim(); // trim whitespace
661
- z.string().toLowerCase(); // toLowerCase
662
- z.string().toUpperCase(); // toUpperCase
663
-
664
- // added in Zod 3.23
665
- z.string().date(); // ISO date format (YYYY-MM-DD)
666
- z.string().time(); // ISO time format (HH:mm:ss[.SSSSSS])
667
- z.string().duration(); // ISO 8601 duration
668
- z.string().base64();
669
- ```
670
-
671
- > Check out [validator.js](https://github.com/validatorjs/validator.js) for a bunch of other useful string validation functions that can be used in conjunction with [Refinements](#refine).
672
-
673
- You can customize some common error messages when creating a string schema.
674
-
675
- ```ts
676
- const name = z.string({
677
- required_error: "Name is required",
678
- invalid_type_error: "Name must be a string",
679
- });
680
- ```
681
-
682
- When using validation methods, you can pass in an additional argument to provide a custom error message.
683
-
684
- ```ts
685
- z.string().min(5, { message: "Must be 5 or more characters long" });
686
- z.string().max(5, { message: "Must be 5 or fewer characters long" });
687
- z.string().length(5, { message: "Must be exactly 5 characters long" });
688
- z.string().email({ message: "Invalid email address" });
689
- z.string().url({ message: "Invalid url" });
690
- z.string().emoji({ message: "Contains non-emoji characters" });
691
- z.string().uuid({ message: "Invalid UUID" });
692
- z.string().includes("tuna", { message: "Must include tuna" });
693
- z.string().startsWith("https://", { message: "Must provide secure URL" });
694
- z.string().endsWith(".com", { message: "Only .com domains allowed" });
695
- z.string().datetime({ message: "Invalid datetime string! Must be UTC." });
696
- z.string().date({ message: "Invalid date string!" });
697
- z.string().time({ message: "Invalid time string!" });
698
- z.string().ip({ message: "Invalid IP address" });
699
- ```
700
-
701
- ### Datetimes
702
-
703
- As you may have noticed, Zod string includes a few date/time related validations. These validations are regular expression based, so they are not as strict as a full date/time library. However, they are very convenient for validating user input.
704
-
705
- The `z.string().datetime()` method enforces ISO 8601; default is no timezone offsets and arbitrary sub-second decimal precision.
706
-
707
- ```ts
708
- const datetime = z.string().datetime();
709
-
710
- datetime.parse("2020-01-01T00:00:00Z"); // pass
711
- datetime.parse("2020-01-01T00:00:00.123Z"); // pass
712
- datetime.parse("2020-01-01T00:00:00.123456Z"); // pass (arbitrary precision)
713
- datetime.parse("2020-01-01T00:00:00+02:00"); // fail (no offsets allowed)
714
- ```
715
-
716
- Timezone offsets can be allowed by setting the `offset` option to `true`.
717
-
718
- ```ts
719
- const datetime = z.string().datetime({ offset: true });
720
-
721
- datetime.parse("2020-01-01T00:00:00+02:00"); // pass
722
- datetime.parse("2020-01-01T00:00:00.123+02:00"); // pass (millis optional)
723
- datetime.parse("2020-01-01T00:00:00.123+0200"); // pass (millis optional)
724
- datetime.parse("2020-01-01T00:00:00.123+02"); // pass (only offset hours)
725
- datetime.parse("2020-01-01T00:00:00Z"); // pass (Z still supported)
726
- ```
727
-
728
- You can additionally constrain the allowable `precision`. By default, arbitrary sub-second precision is supported (but optional).
729
-
730
- ```ts
731
- const datetime = z.string().datetime({ precision: 3 });
732
-
733
- datetime.parse("2020-01-01T00:00:00.123Z"); // pass
734
- datetime.parse("2020-01-01T00:00:00Z"); // fail
735
- datetime.parse("2020-01-01T00:00:00.123456Z"); // fail
736
- ```
737
-
738
- ### Dates
739
-
740
- > Added in Zod 3.23
741
-
742
- The `z.string().date()` method validates strings in the format `YYYY-MM-DD`.
743
-
744
- ```ts
745
- const date = z.string().date();
746
-
747
- date.parse("2020-01-01"); // pass
748
- date.parse("2020-1-1"); // fail
749
- date.parse("2020-01-32"); // fail
750
- ```
751
-
752
- ### Times
753
-
754
- > Added in Zod 3.23
755
-
756
- The `z.string().time()` method validates strings in the format `HH:MM:SS[.s+]`. The second can include arbitrary decimal precision. It does not allow timezone offsets of any kind.
757
-
758
- ```ts
759
- const time = z.string().time();
760
-
761
- time.parse("00:00:00"); // pass
762
- time.parse("09:52:31"); // pass
763
- time.parse("23:59:59.9999999"); // pass (arbitrary precision)
764
-
765
- time.parse("00:00:00.123Z"); // fail (no `Z` allowed)
766
- time.parse("00:00:00.123+02:00"); // fail (no offsets allowed)
767
- ```
768
-
769
- You can set the `precision` option to constrain the allowable decimal precision.
770
-
771
- ```ts
772
- const time = z.string().time({ precision: 3 });
773
-
774
- time.parse("00:00:00.123"); // pass
775
- time.parse("00:00:00.123456"); // fail
776
- time.parse("00:00:00"); // fail
777
- ```
778
-
779
- ### IP addresses
780
-
781
- The `z.string().ip()` method by default validate IPv4 and IPv6.
782
-
783
- ```ts
784
- const ip = z.string().ip();
785
-
786
- ip.parse("192.168.1.1"); // pass
787
- ip.parse("84d5:51a0:9114:1855:4cfa:f2d7:1f12:7003"); // pass
788
- ip.parse("84d5:51a0:9114:1855:4cfa:f2d7:1f12:192.168.1.1"); // pass
789
-
790
- ip.parse("256.1.1.1"); // fail
791
- ip.parse("84d5:51a0:9114:gggg:4cfa:f2d7:1f12:7003"); // fail
792
- ```
793
-
794
- You can additionally set the IP `version`.
795
-
796
- ```ts
797
- const ipv4 = z.string().ip({ version: "v4" });
798
- ipv4.parse("84d5:51a0:9114:1855:4cfa:f2d7:1f12:7003"); // fail
799
-
800
- const ipv6 = z.string().ip({ version: "v6" });
801
- ipv6.parse("192.168.1.1"); // fail
802
- ```
803
-
804
- ## Numbers
805
-
806
- You can customize certain error messages when creating a number schema.
807
-
808
- ```ts
809
- const age = z.number({
810
- required_error: "Age is required",
811
- invalid_type_error: "Age must be a number",
812
- });
813
- ```
814
-
815
- Zod includes a handful of number-specific validations.
816
-
817
- ```ts
818
- z.number().gt(5);
819
- z.number().gte(5); // alias .min(5)
820
- z.number().lt(5);
821
- z.number().lte(5); // alias .max(5)
822
-
823
- z.number().int(); // value must be an integer
824
-
825
- z.number().positive(); // > 0
826
- z.number().nonnegative(); // >= 0
827
- z.number().negative(); // < 0
828
- z.number().nonpositive(); // <= 0
829
-
830
- z.number().multipleOf(5); // Evenly divisible by 5. Alias .step(5)
831
-
832
- z.number().finite(); // value must be finite, not Infinity or -Infinity
833
- z.number().safe(); // value must be between Number.MIN_SAFE_INTEGER and Number.MAX_SAFE_INTEGER
834
- ```
835
-
836
- Optionally, you can pass in a second argument to provide a custom error message.
837
-
838
- ```ts
839
- z.number().lte(5, { message: "this๐Ÿ‘is๐Ÿ‘too๐Ÿ‘big" });
840
- ```
841
-
842
- ## BigInts
843
-
844
- Zod includes a handful of bigint-specific validations.
845
-
846
- ```ts
847
- z.bigint().gt(5n);
848
- z.bigint().gte(5n); // alias `.min(5n)`
849
- z.bigint().lt(5n);
850
- z.bigint().lte(5n); // alias `.max(5n)`
851
-
852
- z.bigint().positive(); // > 0n
853
- z.bigint().nonnegative(); // >= 0n
854
- z.bigint().negative(); // < 0n
855
- z.bigint().nonpositive(); // <= 0n
856
-
857
- z.bigint().multipleOf(5n); // Evenly divisible by 5n.
858
- ```
859
-
860
- ## NaNs
861
-
862
- You can customize certain error messages when creating a nan schema.
863
-
864
- ```ts
865
- const isNaN = z.nan({
866
- required_error: "isNaN is required",
867
- invalid_type_error: "isNaN must be 'not a number'",
868
- });
869
- ```
870
-
871
- ## Booleans
872
-
873
- You can customize certain error messages when creating a boolean schema.
874
-
875
- ```ts
876
- const isActive = z.boolean({
877
- required_error: "isActive is required",
878
- invalid_type_error: "isActive must be a boolean",
879
- });
880
- ```
881
-
882
- ## Dates
883
-
884
- Use z.date() to validate `Date` instances.
885
-
886
- ```ts
887
- z.date().safeParse(new Date()); // success: true
888
- z.date().safeParse("2022-01-12T00:00:00.000Z"); // success: false
889
- ```
890
-
891
- You can customize certain error messages when creating a date schema.
892
-
893
- ```ts
894
- const myDateSchema = z.date({
895
- required_error: "Please select a date and time",
896
- invalid_type_error: "That's not a date!",
897
- });
898
- ```
899
-
900
- Zod provides a handful of date-specific validations.
901
-
902
- ```ts
903
- z.date().min(new Date("1900-01-01"), { message: "Too old" });
904
- z.date().max(new Date(), { message: "Too young!" });
905
- ```
906
-
907
- **Coercion to Date**
908
-
909
- Since [zod 3.20](https://github.com/colinhacks/zod/releases/tag/v3.20), use [`z.coerce.date()`](#coercion-for-primitives) to pass the input through `new Date(input)`.
910
-
911
- ```ts
912
- const dateSchema = z.coerce.date();
913
- type DateSchema = z.infer<typeof dateSchema>;
914
- // type DateSchema = Date
915
-
916
- /* valid dates */
917
- console.log(dateSchema.safeParse("2023-01-10T00:00:00.000Z").success); // true
918
- console.log(dateSchema.safeParse("2023-01-10").success); // true
919
- console.log(dateSchema.safeParse("1/10/23").success); // true
920
- console.log(dateSchema.safeParse(new Date("1/10/23")).success); // true
921
-
922
- /* invalid dates */
923
- console.log(dateSchema.safeParse("2023-13-10").success); // false
924
- console.log(dateSchema.safeParse("0000-00-00").success); // false
925
- ```
926
-
927
- For older zod versions, use [`z.preprocess`](#preprocess) like [described in this thread](https://github.com/colinhacks/zod/discussions/879#discussioncomment-2036276).
928
-
929
- ## Zod enums
930
-
931
- ```ts
932
- const FishEnum = z.enum(["Salmon", "Tuna", "Trout"]);
933
- type FishEnum = z.infer<typeof FishEnum>;
934
- // 'Salmon' | 'Tuna' | 'Trout'
935
- ```
936
-
937
- `z.enum` is a Zod-native way to declare a schema with a fixed set of allowable _string_ values. Pass the array of values directly into `z.enum()`. Alternatively, use `as const` to define your enum values as a tuple of strings. See the [const assertion docs](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#const-assertions) for details.
938
-
939
- ```ts
940
- const VALUES = ["Salmon", "Tuna", "Trout"] as const;
941
- const FishEnum = z.enum(VALUES);
942
- ```
943
-
944
- This is not allowed, since Zod isn't able to infer the exact values of each element.
945
-
946
- ```ts
947
- const fish = ["Salmon", "Tuna", "Trout"];
948
- const FishEnum = z.enum(fish);
949
- ```
950
-
951
- **`.enum`**
952
-
953
- To get autocompletion with a Zod enum, use the `.enum` property of your schema:
954
-
955
- ```ts
956
- FishEnum.enum.Salmon; // => autocompletes
957
-
958
- FishEnum.enum;
959
- /*
960
- => {
961
- Salmon: "Salmon",
962
- Tuna: "Tuna",
963
- Trout: "Trout",
964
- }
965
- */
966
- ```
967
-
968
- You can also retrieve the list of options as a tuple with the `.options` property:
969
-
970
- ```ts
971
- FishEnum.options; // ["Salmon", "Tuna", "Trout"];
972
- ```
973
-
974
- **`.exclude/.extract()`**
975
-
976
- You can create subsets of a Zod enum with the `.exclude` and `.extract` methods.
977
-
978
- ```ts
979
- const FishEnum = z.enum(["Salmon", "Tuna", "Trout"]);
980
- const SalmonAndTrout = FishEnum.extract(["Salmon", "Trout"]);
981
- const TunaOnly = FishEnum.exclude(["Salmon", "Trout"]);
982
- ```
983
-
984
- ## Native enums
985
-
986
- Zod enums are the recommended approach to defining and validating enums. But if you need to validate against an enum from a third-party library (or you don't want to rewrite your existing enums) you can use `z.nativeEnum()`.
987
-
988
- **Numeric enums**
989
-
990
- ```ts
991
- enum Fruits {
992
- Apple,
993
- Banana,
994
- }
995
-
996
- const FruitEnum = z.nativeEnum(Fruits);
997
- type FruitEnum = z.infer<typeof FruitEnum>; // Fruits
998
-
999
- FruitEnum.parse(Fruits.Apple); // passes
1000
- FruitEnum.parse(Fruits.Banana); // passes
1001
- FruitEnum.parse(0); // passes
1002
- FruitEnum.parse(1); // passes
1003
- FruitEnum.parse(3); // fails
1004
- ```
1005
-
1006
- **String enums**
1007
-
1008
- ```ts
1009
- enum Fruits {
1010
- Apple = "apple",
1011
- Banana = "banana",
1012
- Cantaloupe, // you can mix numerical and string enums
1013
- }
1014
-
1015
- const FruitEnum = z.nativeEnum(Fruits);
1016
- type FruitEnum = z.infer<typeof FruitEnum>; // Fruits
1017
-
1018
- FruitEnum.parse(Fruits.Apple); // passes
1019
- FruitEnum.parse(Fruits.Cantaloupe); // passes
1020
- FruitEnum.parse("apple"); // passes
1021
- FruitEnum.parse("banana"); // passes
1022
- FruitEnum.parse(0); // passes
1023
- FruitEnum.parse("Cantaloupe"); // fails
1024
- ```
1025
-
1026
- **Const enums**
1027
-
1028
- The `.nativeEnum()` function works for `as const` objects as well. โš ๏ธ `as const` requires TypeScript 3.4+!
1029
-
1030
- ```ts
1031
- const Fruits = {
1032
- Apple: "apple",
1033
- Banana: "banana",
1034
- Cantaloupe: 3,
1035
- } as const;
1036
-
1037
- const FruitEnum = z.nativeEnum(Fruits);
1038
- type FruitEnum = z.infer<typeof FruitEnum>; // "apple" | "banana" | 3
1039
-
1040
- FruitEnum.parse("apple"); // passes
1041
- FruitEnum.parse("banana"); // passes
1042
- FruitEnum.parse(3); // passes
1043
- FruitEnum.parse("Cantaloupe"); // fails
1044
- ```
1045
-
1046
- You can access the underlying object with the `.enum` property:
1047
-
1048
- ```ts
1049
- FruitEnum.enum.Apple; // "apple"
1050
- ```
1051
-
1052
- ## Optionals
1053
-
1054
- You can make any schema optional with `z.optional()`. This wraps the schema in a `ZodOptional` instance and returns the result.
1055
-
1056
- ```ts
1057
- const schema = z.optional(z.string());
1058
-
1059
- schema.parse(undefined); // => returns undefined
1060
- type A = z.infer<typeof schema>; // string | undefined
1061
- ```
1062
-
1063
- For convenience, you can also call the `.optional()` method on an existing schema.
1064
-
1065
- ```ts
1066
- const user = z.object({
1067
- username: z.string().optional(),
1068
- });
1069
- type C = z.infer<typeof user>; // { username?: string | undefined };
1070
- ```
1071
-
1072
- You can extract the wrapped schema from a `ZodOptional` instance with `.unwrap()`.
1073
-
1074
- ```ts
1075
- const stringSchema = z.string();
1076
- const optionalString = stringSchema.optional();
1077
- optionalString.unwrap() === stringSchema; // true
1078
- ```
1079
-
1080
- ## Nullables
1081
-
1082
- Similarly, you can create nullable types with `z.nullable()`.
1083
-
1084
- ```ts
1085
- const nullableString = z.nullable(z.string());
1086
- nullableString.parse("asdf"); // => "asdf"
1087
- nullableString.parse(null); // => null
1088
- ```
1089
-
1090
- Or use the `.nullable()` method.
1091
-
1092
- ```ts
1093
- const E = z.string().nullable(); // equivalent to nullableString
1094
- type E = z.infer<typeof E>; // string | null
1095
- ```
1096
-
1097
- Extract the inner schema with `.unwrap()`.
1098
-
1099
- ```ts
1100
- const stringSchema = z.string();
1101
- const nullableString = stringSchema.nullable();
1102
- nullableString.unwrap() === stringSchema; // true
1103
- ```
1104
-
1105
- ## Objects
1106
-
1107
- ```ts
1108
- // all properties are required by default
1109
- const Dog = z.object({
1110
- name: z.string(),
1111
- age: z.number(),
1112
- });
1113
-
1114
- // extract the inferred type like this
1115
- type Dog = z.infer<typeof Dog>;
1116
-
1117
- // equivalent to:
1118
- type Dog = {
1119
- name: string;
1120
- age: number;
1121
- };
1122
- ```
1123
-
1124
- ### `.shape`
1125
-
1126
- Use `.shape` to access the schemas for a particular key.
1127
-
1128
- ```ts
1129
- Dog.shape.name; // => string schema
1130
- Dog.shape.age; // => number schema
1131
- ```
1132
-
1133
- ### `.keyof`
1134
-
1135
- Use `.keyof` to create a `ZodEnum` schema from the keys of an object schema.
1136
-
1137
- ```ts
1138
- const keySchema = Dog.keyof();
1139
- keySchema; // ZodEnum<["name", "age"]>
1140
- ```
1141
-
1142
- ### `.extend`
1143
-
1144
- You can add additional fields to an object schema with the `.extend` method.
1145
-
1146
- ```ts
1147
- const DogWithBreed = Dog.extend({
1148
- breed: z.string(),
1149
- });
1150
- ```
1151
-
1152
- You can use `.extend` to overwrite fields! Be careful with this power!
1153
-
1154
- ### `.merge`
1155
-
1156
- Equivalent to `A.extend(B.shape)`.
1157
-
1158
- ```ts
1159
- const BaseTeacher = z.object({ students: z.array(z.string()) });
1160
- const HasID = z.object({ id: z.string() });
1161
-
1162
- const Teacher = BaseTeacher.merge(HasID);
1163
- type Teacher = z.infer<typeof Teacher>; // => { students: string[], id: string }
1164
- ```
1165
-
1166
- > If the two schemas share keys, the properties of B overrides the property of A. The returned schema also inherits the "unknownKeys" policy (strip/strict/passthrough) and the catchall schema of B.
1167
-
1168
- ### `.pick/.omit`
1169
-
1170
- Inspired by TypeScript's built-in `Pick` and `Omit` utility types, all Zod object schemas have `.pick` and `.omit` methods that return a modified version. Consider this Recipe schema:
1171
-
1172
- ```ts
1173
- const Recipe = z.object({
1174
- id: z.string(),
1175
- name: z.string(),
1176
- ingredients: z.array(z.string()),
1177
- });
1178
- ```
1179
-
1180
- To only keep certain keys, use `.pick` .
1181
-
1182
- ```ts
1183
- const JustTheName = Recipe.pick({ name: true });
1184
- type JustTheName = z.infer<typeof JustTheName>;
1185
- // => { name: string }
1186
- ```
1187
-
1188
- To remove certain keys, use `.omit` .
1189
-
1190
- ```ts
1191
- const NoIDRecipe = Recipe.omit({ id: true });
1192
-
1193
- type NoIDRecipe = z.infer<typeof NoIDRecipe>;
1194
- // => { name: string, ingredients: string[] }
1195
- ```
1196
-
1197
- ### `.partial`
1198
-
1199
- Inspired by the built-in TypeScript utility type [Partial](https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype), the `.partial` method makes all properties optional.
1200
-
1201
- Starting from this object:
1202
-
1203
- ```ts
1204
- const user = z.object({
1205
- email: z.string(),
1206
- username: z.string(),
1207
- });
1208
- // { email: string; username: string }
1209
- ```
1210
-
1211
- We can create a partial version:
1212
-
1213
- ```ts
1214
- const partialUser = user.partial();
1215
- // { email?: string | undefined; username?: string | undefined }
1216
- ```
1217
-
1218
- You can also specify which properties to make optional:
1219
-
1220
- ```ts
1221
- const optionalEmail = user.partial({
1222
- email: true,
1223
- });
1224
- /*
1225
- {
1226
- email?: string | undefined;
1227
- username: string
1228
- }
1229
- */
1230
- ```
1231
-
1232
- ### `.deepPartial`
1233
-
1234
- The `.partial` method is shallow โ€” it only applies one level deep. There is also a "deep" version:
1235
-
1236
- ```ts
1237
- const user = z.object({
1238
- username: z.string(),
1239
- location: z.object({
1240
- latitude: z.number(),
1241
- longitude: z.number(),
1242
- }),
1243
- strings: z.array(z.object({ value: z.string() })),
1244
- });
1245
-
1246
- const deepPartialUser = user.deepPartial();
1247
-
1248
- /*
1249
- {
1250
- username?: string | undefined,
1251
- location?: {
1252
- latitude?: number | undefined;
1253
- longitude?: number | undefined;
1254
- } | undefined,
1255
- strings?: { value?: string}[]
1256
- }
1257
- */
1258
- ```
1259
-
1260
- > Important limitation: deep partials only work as expected in hierarchies of objects, arrays, and tuples.
1261
-
1262
- ### `.required`
1263
-
1264
- Contrary to the `.partial` method, the `.required` method makes all properties required.
1265
-
1266
- Starting from this object:
1267
-
1268
- ```ts
1269
- const user = z
1270
- .object({
1271
- email: z.string(),
1272
- username: z.string(),
1273
- })
1274
- .partial();
1275
- // { email?: string | undefined; username?: string | undefined }
1276
- ```
1277
-
1278
- We can create a required version:
1279
-
1280
- ```ts
1281
- const requiredUser = user.required();
1282
- // { email: string; username: string }
1283
- ```
1284
-
1285
- You can also specify which properties to make required:
1286
-
1287
- ```ts
1288
- const requiredEmail = user.required({
1289
- email: true,
1290
- });
1291
- /*
1292
- {
1293
- email: string;
1294
- username?: string | undefined;
1295
- }
1296
- */
1297
- ```
1298
-
1299
- ### `.passthrough`
1300
-
1301
- By default Zod object schemas strip out unrecognized keys during parsing.
1302
-
1303
- ```ts
1304
- const person = z.object({
1305
- name: z.string(),
1306
- });
1307
-
1308
- person.parse({
1309
- name: "bob dylan",
1310
- extraKey: 61,
1311
- });
1312
- // => { name: "bob dylan" }
1313
- // extraKey has been stripped
1314
- ```
1315
-
1316
- Instead, if you want to pass through unknown keys, use `.passthrough()` .
1317
-
1318
- ```ts
1319
- person.passthrough().parse({
1320
- name: "bob dylan",
1321
- extraKey: 61,
1322
- });
1323
- // => { name: "bob dylan", extraKey: 61 }
1324
- ```
1325
-
1326
- ### `.strict`
1327
-
1328
- By default Zod object schemas strip out unrecognized keys during parsing. You can _disallow_ unknown keys with `.strict()` . If there are any unknown keys in the input, Zod will throw an error.
1329
-
1330
- ```ts
1331
- const person = z
1332
- .object({
1333
- name: z.string(),
1334
- })
1335
- .strict();
1336
-
1337
- person.parse({
1338
- name: "bob dylan",
1339
- extraKey: 61,
1340
- });
1341
- // => throws ZodError
1342
- ```
1343
-
1344
- ### `.strip`
1345
-
1346
- You can use the `.strip` method to reset an object schema to the default behavior (stripping unrecognized keys).
1347
-
1348
- ### `.catchall`
1349
-
1350
- You can pass a "catchall" schema into an object schema. All unknown keys will be validated against it.
1351
-
1352
- ```ts
1353
- const person = z
1354
- .object({
1355
- name: z.string(),
1356
- })
1357
- .catchall(z.number());
1358
-
1359
- person.parse({
1360
- name: "bob dylan",
1361
- validExtraKey: 61, // works fine
1362
- });
1363
-
1364
- person.parse({
1365
- name: "bob dylan",
1366
- validExtraKey: false, // fails
1367
- });
1368
- // => throws ZodError
1369
- ```
1370
-
1371
- Using `.catchall()` obviates `.passthrough()` , `.strip()` , or `.strict()`. All keys are now considered "known".
1372
-
1373
- ## Arrays
1374
-
1375
- ```ts
1376
- const stringArray = z.array(z.string());
1377
-
1378
- // equivalent
1379
- const stringArray = z.string().array();
1380
- ```
1381
-
1382
- Be careful with the `.array()` method. It returns a new `ZodArray` instance. This means the _order_ in which you call methods matters. For instance:
1383
-
1384
- ```ts
1385
- z.string().optional().array(); // (string | undefined)[]
1386
- z.string().array().optional(); // string[] | undefined
1387
- ```
1388
-
1389
- ### `.element`
1390
-
1391
- Use `.element` to access the schema for an element of the array.
1392
-
1393
- ```ts
1394
- stringArray.element; // => string schema
1395
- ```
1396
-
1397
- ### `.nonempty`
1398
-
1399
- If you want to ensure that an array contains at least one element, use `.nonempty()`.
1400
-
1401
- ```ts
1402
- const nonEmptyStrings = z.string().array().nonempty();
1403
- // the inferred type is now
1404
- // [string, ...string[]]
1405
-
1406
- nonEmptyStrings.parse([]); // throws: "Array cannot be empty"
1407
- nonEmptyStrings.parse(["Ariana Grande"]); // passes
1408
- ```
1409
-
1410
- You can optionally specify a custom error message:
1411
-
1412
- ```ts
1413
- // optional custom error message
1414
- const nonEmptyStrings = z.string().array().nonempty({
1415
- message: "Can't be empty!",
1416
- });
1417
- ```
1418
-
1419
- ### `.min/.max/.length`
1420
-
1421
- ```ts
1422
- z.string().array().min(5); // must contain 5 or more items
1423
- z.string().array().max(5); // must contain 5 or fewer items
1424
- z.string().array().length(5); // must contain 5 items exactly
1425
- ```
1426
-
1427
- Unlike `.nonempty()` these methods do not change the inferred type.
1428
-
1429
- ## Tuples
1430
-
1431
- Unlike arrays, tuples have a fixed number of elements and each element can have a different type.
1432
-
1433
- ```ts
1434
- const athleteSchema = z.tuple([
1435
- z.string(), // name
1436
- z.number(), // jersey number
1437
- z.object({
1438
- pointsScored: z.number(),
1439
- }), // statistics
1440
- ]);
1441
-
1442
- type Athlete = z.infer<typeof athleteSchema>;
1443
- // type Athlete = [string, number, { pointsScored: number }]
1444
- ```
1445
-
1446
- A variadic ("rest") argument can be added with the `.rest` method.
1447
-
1448
- ```ts
1449
- const variadicTuple = z.tuple([z.string()]).rest(z.number());
1450
- const result = variadicTuple.parse(["hello", 1, 2, 3]);
1451
- // => [string, ...number[]];
1452
- ```
1453
-
1454
- ## Unions
1455
-
1456
- Zod includes a built-in `z.union` method for composing "OR" types.
1457
-
1458
- ```ts
1459
- const stringOrNumber = z.union([z.string(), z.number()]);
1460
-
1461
- stringOrNumber.parse("foo"); // passes
1462
- stringOrNumber.parse(14); // passes
1463
- ```
1464
-
1465
- Zod will test the input against each of the "options" in order and return the first value that validates successfully.
1466
-
1467
- For convenience, you can also use the [`.or` method](#or):
1468
-
1469
- ```ts
1470
- const stringOrNumber = z.string().or(z.number());
1471
- ```
1472
-
1473
- **Optional string validation:**
1474
-
1475
- To validate an optional form input, you can union the desired string validation with an empty string [literal](#literals).
1476
-
1477
- This example validates an input that is optional but needs to contain a [valid URL](#strings):
1478
-
1479
- ```ts
1480
- const optionalUrl = z.union([z.string().url().nullish(), z.literal("")]);
1481
-
1482
- console.log(optionalUrl.safeParse(undefined).success); // true
1483
- console.log(optionalUrl.safeParse(null).success); // true
1484
- console.log(optionalUrl.safeParse("").success); // true
1485
- console.log(optionalUrl.safeParse("https://zod.dev").success); // true
1486
- console.log(optionalUrl.safeParse("not a valid url").success); // false
1487
- ```
1488
-
1489
- ## Discriminated unions
1490
-
1491
- A discriminated union is a union of object schemas that all share a particular key.
1492
-
1493
- ```ts
1494
- type MyUnion =
1495
- | { status: "success"; data: string }
1496
- | { status: "failed"; error: Error };
1497
- ```
1498
-
1499
- Such unions can be represented with the `z.discriminatedUnion` method. This enables faster evaluation, because Zod can check the _discriminator key_ (`status` in the example above) to determine which schema should be used to parse the input. This makes parsing more efficient and lets Zod report friendlier errors.
1500
-
1501
- With the basic union method, the input is tested against each of the provided "options", and in the case of invalidity, issues for all the "options" are shown in the zod error. On the other hand, the discriminated union allows for selecting just one of the "options", testing against it, and showing only the issues related to this "option".
1502
-
1503
- ```ts
1504
- const myUnion = z.discriminatedUnion("status", [
1505
- z.object({ status: z.literal("success"), data: z.string() }),
1506
- z.object({ status: z.literal("failed"), error: z.instanceof(Error) }),
1507
- ]);
1508
-
1509
- myUnion.parse({ status: "success", data: "yippie ki yay" });
1510
- ```
1511
-
1512
- You can extract a reference to the array of schemas with the `.options` property.
1513
-
1514
- ```ts
1515
- myUnion.options; // [ZodObject<...>, ZodObject<...>]
1516
- ```
1517
-
1518
- To merge two or more discriminated unions, use `.options` with destructuring.
1519
-
1520
- ```ts
1521
- const A = z.discriminatedUnion("status", [
1522
- /* options */
1523
- ]);
1524
- const B = z.discriminatedUnion("status", [
1525
- /* options */
1526
- ]);
1527
-
1528
- const AB = z.discriminatedUnion("status", [...A.options, ...B.options]);
1529
- ```
1530
-
1531
- ## Records
1532
-
1533
- Record schemas are used to validate types such as `Record<string, number>`. This is particularly useful for storing or caching items by ID.
1534
-
1535
- <!-- If you want to validate the _values_ of an object against some schema but don't care about the keys, use `z.record(valueType)`:
1536
-
1537
- ```ts
1538
- const NumberCache = z.record(z.number());
1539
-
1540
- type NumberCache = z.infer<typeof NumberCache>;
1541
- // => { [k: string]: number }
1542
- ``` -->
1543
-
1544
- ```ts
1545
- const User = z.object({ name: z.string() });
1546
-
1547
- const UserStore = z.record(z.string(), User);
1548
- type UserStore = z.infer<typeof UserStore>;
1549
- // => Record<string, { name: string }>
1550
- ```
1551
-
1552
- The schema and inferred type can be used like so:
1553
-
1554
- ```ts
1555
- const userStore: UserStore = {};
1556
-
1557
- userStore["77d2586b-9e8e-4ecf-8b21-ea7e0530eadd"] = {
1558
- name: "Carlotta",
1559
- }; // passes
1560
-
1561
- userStore["77d2586b-9e8e-4ecf-8b21-ea7e0530eadd"] = {
1562
- whatever: "Ice cream sundae",
1563
- }; // TypeError
1564
- ```
1565
-
1566
- **A note on numerical keys**
1567
-
1568
- While `z.record(keyType, valueType)` is able to accept numerical key types and TypeScript's built-in Record type is `Record<KeyType, ValueType>`, it's hard to represent the TypeScript type `Record<number, any>` in Zod.
1569
-
1570
- As it turns out, TypeScript's behavior surrounding `[k: number]` is a little unintuitive:
1571
-
1572
- ```ts
1573
- const testMap: { [k: number]: string } = {
1574
- 1: "one",
1575
- };
1576
-
1577
- for (const key in testMap) {
1578
- console.log(`${key}: ${typeof key}`);
1579
- }
1580
- // prints: `1: string`
1581
- ```
1582
-
1583
- As you can see, JavaScript automatically casts all object keys to strings under the hood. Since Zod is trying to bridge the gap between static and runtime types, it doesn't make sense to provide a way of creating a record schema with numerical keys, since there's no such thing as a numerical key in runtime JavaScript.
1584
-
1585
- ## Maps
1586
-
1587
- ```ts
1588
- const stringNumberMap = z.map(z.string(), z.number());
1589
-
1590
- type StringNumberMap = z.infer<typeof stringNumberMap>;
1591
- // type StringNumberMap = Map<string, number>
1592
- ```
1593
-
1594
- ## Sets
1595
-
1596
- ```ts
1597
- const numberSet = z.set(z.number());
1598
- type NumberSet = z.infer<typeof numberSet>;
1599
- // type NumberSet = Set<number>
1600
- ```
1601
-
1602
- Set schemas can be further constrained with the following utility methods.
1603
-
1604
- ```ts
1605
- z.set(z.string()).nonempty(); // must contain at least one item
1606
- z.set(z.string()).min(5); // must contain 5 or more items
1607
- z.set(z.string()).max(5); // must contain 5 or fewer items
1608
- z.set(z.string()).size(5); // must contain 5 items exactly
1609
- ```
1610
-
1611
- ## Intersections
1612
-
1613
- Intersections are useful for creating "logical AND" types. This is useful for intersecting two object types.
1614
-
1615
- ```ts
1616
- const Person = z.object({
1617
- name: z.string(),
1618
- });
1619
-
1620
- const Employee = z.object({
1621
- role: z.string(),
1622
- });
1623
-
1624
- const EmployedPerson = z.intersection(Person, Employee);
1625
-
1626
- // equivalent to:
1627
- const EmployedPerson = Person.and(Employee);
1628
- ```
1629
-
1630
- Though in many cases, it is recommended to use `A.merge(B)` to merge two objects. The `.merge` method returns a new `ZodObject` instance, whereas `A.and(B)` returns a less useful `ZodIntersection` instance that lacks common object methods like `pick` and `omit`.
1631
-
1632
- ```ts
1633
- const a = z.union([z.number(), z.string()]);
1634
- const b = z.union([z.number(), z.boolean()]);
1635
- const c = z.intersection(a, b);
1636
-
1637
- type c = z.infer<typeof c>; // => number
1638
- ```
1639
-
1640
- <!-- Intersections in Zod are not smart. Whatever data you pass into `.parse()` gets passed into the two intersected schemas. Because Zod object schemas don't allow any unknown keys by default, there are some unintuitive behavior surrounding intersections of object schemas. -->
1641
-
1642
- <!--
1643
-
1644
- ``` ts
1645
- const A = z.object({
1646
- a: z.string(),
1647
- });
1648
-
1649
- const B = z.object({
1650
- b: z.string(),
1651
- });
1652
-
1653
- const AB = z.intersection(A, B);
1654
-
1655
- type Teacher = z.infer<typeof Teacher>;
1656
- // { id:string; name:string };
1657
- ``` -->
1658
-
1659
- ## Recursive types
1660
-
1661
- You can define a recursive schema in Zod, but because of a limitation of TypeScript, their type can't be statically inferred. Instead you'll need to define the type definition manually, and provide it to Zod as a "type hint".
1662
-
1663
- ```ts
1664
- const baseCategorySchema = z.object({
1665
- name: z.string(),
1666
- });
1667
-
1668
- type Category = z.infer<typeof baseCategorySchema> & {
1669
- subcategories: Category[];
1670
- };
1671
-
1672
- const categorySchema: z.ZodType<Category> = baseCategorySchema.extend({
1673
- subcategories: z.lazy(() => categorySchema.array()),
1674
- });
1675
-
1676
- categorySchema.parse({
1677
- name: "People",
1678
- subcategories: [
1679
- {
1680
- name: "Politicians",
1681
- subcategories: [
1682
- {
1683
- name: "Presidents",
1684
- subcategories: [],
1685
- },
1686
- ],
1687
- },
1688
- ],
1689
- }); // passes
1690
- ```
1691
-
1692
- Thanks to [crasite](https://github.com/crasite) for this example.
1693
-
1694
- ### ZodType with ZodEffects
1695
-
1696
- When using `z.ZodType` with `z.ZodEffects` (
1697
- [`.refine`](https://github.com/colinhacks/zod#refine),
1698
- [`.transform`](https://github.com/colinhacks/zod#transform),
1699
- [`preprocess`](https://github.com/colinhacks/zod#preprocess),
1700
- etc...
1701
- ), you will need to define the input and output types of the schema. `z.ZodType<Output, z.ZodTypeDef, Input>`
1702
-
1703
- ```ts
1704
- const isValidId = (id: string): id is `${string}/${string}` =>
1705
- id.split("/").length === 2;
1706
-
1707
- const baseSchema = z.object({
1708
- id: z.string().refine(isValidId),
1709
- });
1710
-
1711
- type Input = z.input<typeof baseSchema> & {
1712
- children: Input[];
1713
- };
1714
-
1715
- type Output = z.output<typeof baseSchema> & {
1716
- children: Output[];
1717
- };
1718
-
1719
- const schema: z.ZodType<Output, z.ZodTypeDef, Input> = baseSchema.extend({
1720
- children: z.lazy(() => schema.array()),
1721
- });
1722
- ```
1723
-
1724
- Thanks to [marcus13371337](https://github.com/marcus13371337) and [JoelBeeldi](https://github.com/JoelBeeldi) for this example.
1725
-
1726
- ### JSON type
1727
-
1728
- If you want to validate any JSON value, you can use the snippet below.
1729
-
1730
- ```ts
1731
- const literalSchema = z.union([z.string(), z.number(), z.boolean(), z.null()]);
1732
- type Literal = z.infer<typeof literalSchema>;
1733
- type Json = Literal | { [key: string]: Json } | Json[];
1734
- const jsonSchema: z.ZodType<Json> = z.lazy(() =>
1735
- z.union([literalSchema, z.array(jsonSchema), z.record(jsonSchema)])
1736
- );
1737
-
1738
- jsonSchema.parse(data);
1739
- ```
1740
-
1741
- Thanks to [ggoodman](https://github.com/ggoodman) for suggesting this.
1742
-
1743
- ### Cyclical objects
1744
-
1745
- Despite supporting recursive schemas, passing cyclical data into Zod will cause an infinite loop in some cases.
1746
-
1747
- > To detect cyclical objects before they cause problems, consider [this approach](https://gist.github.com/colinhacks/d35825e505e635df27cc950776c5500b).
1748
-
1749
- ## Promises
1750
-
1751
- ```ts
1752
- const numberPromise = z.promise(z.number());
1753
- ```
1754
-
1755
- "Parsing" works a little differently with promise schemas. Validation happens in two parts:
1756
-
1757
- 1. Zod synchronously checks that the input is an instance of Promise (i.e. an object with `.then` and `.catch` methods.).
1758
- 2. Zod uses `.then` to attach an additional validation step onto the existing Promise. You'll have to use `.catch` on the returned Promise to handle validation failures.
1759
-
1760
- ```ts
1761
- numberPromise.parse("tuna");
1762
- // ZodError: Non-Promise type: string
1763
-
1764
- numberPromise.parse(Promise.resolve("tuna"));
1765
- // => Promise<number>
1766
-
1767
- const test = async () => {
1768
- await numberPromise.parse(Promise.resolve("tuna"));
1769
- // ZodError: Non-number type: string
1770
-
1771
- await numberPromise.parse(Promise.resolve(3.14));
1772
- // => 3.14
1773
- };
1774
- ```
1775
-
1776
- <!-- #### Non-native promise implementations
1777
-
1778
- When "parsing" a promise, Zod checks that the passed value is an object with `.then` and `.catch` methods โ€” that's it. So you should be able to pass non-native Promises (Bluebird, etc) into `z.promise(...).parse` with no trouble. One gotcha: the return type of the parse function will be a _native_ `Promise` , so if you have downstream logic that uses non-standard Promise methods, this won't work. -->
1779
-
1780
- ## Instanceof
1781
-
1782
- You can use `z.instanceof` to check that the input is an instance of a class. This is useful to validate inputs against classes that are exported from third-party libraries.
1783
-
1784
- ```ts
1785
- class Test {
1786
- name: string;
1787
- }
1788
-
1789
- const TestSchema = z.instanceof(Test);
1790
-
1791
- const blob: any = "whatever";
1792
- TestSchema.parse(new Test()); // passes
1793
- TestSchema.parse(blob); // throws
1794
- ```
1795
-
1796
- ## Functions
1797
-
1798
- Zod also lets you define "function schemas". This makes it easy to validate the inputs and outputs of a function without intermixing your validation code and "business logic".
1799
-
1800
- You can create a function schema with `z.function(args, returnType)` .
1801
-
1802
- ```ts
1803
- const myFunction = z.function();
1804
-
1805
- type myFunction = z.infer<typeof myFunction>;
1806
- // => ()=>unknown
1807
- ```
1808
-
1809
- Define inputs and outputs.
1810
-
1811
- ```ts
1812
- const myFunction = z
1813
- .function()
1814
- .args(z.string(), z.number()) // accepts an arbitrary number of arguments
1815
- .returns(z.boolean());
1816
-
1817
- type myFunction = z.infer<typeof myFunction>;
1818
- // => (arg0: string, arg1: number)=>boolean
1819
- ```
1820
-
1821
- <!--
1822
-
1823
- ``` ts
1824
- const args = z.tuple([z.string()]);
1825
-
1826
- const returnType = z.number();
1827
-
1828
- const myFunction = z.function(args, returnType);
1829
- type myFunction = z.infer<typeof myFunction>;
1830
- // => (arg0: string)=>number
1831
- ``` -->
1832
-
1833
- Function schemas have an `.implement()` method which accepts a function and returns a new function that automatically validates its inputs and outputs.
1834
-
1835
- ```ts
1836
- const trimmedLength = z
1837
- .function()
1838
- .args(z.string()) // accepts an arbitrary number of arguments
1839
- .returns(z.number())
1840
- .implement((x) => {
1841
- // TypeScript knows x is a string!
1842
- return x.trim().length;
1843
- });
1844
-
1845
- trimmedLength("sandwich"); // => 8
1846
- trimmedLength(" asdf "); // => 4
1847
- ```
1848
-
1849
- If you only care about validating inputs, just don't call the `.returns()` method. The output type will be inferred from the implementation.
1850
-
1851
- > You can use the special `z.void()` option if your function doesn't return anything. This will let Zod properly infer the type of void-returning functions. (Void-returning functions actually return undefined.)
1852
-
1853
- ```ts
1854
- const myFunction = z
1855
- .function()
1856
- .args(z.string())
1857
- .implement((arg) => {
1858
- return [arg.length];
1859
- });
1860
-
1861
- myFunction; // (arg: string)=>number[]
1862
- ```
1863
-
1864
- Extract the input and output schemas from a function schema.
1865
-
1866
- ```ts
1867
- myFunction.parameters();
1868
- // => ZodTuple<[ZodString, ZodNumber]>
1869
-
1870
- myFunction.returnType();
1871
- // => ZodBoolean
1872
- ```
1873
-
1874
- <!-- `z.function()` accepts two arguments:
1875
-
1876
- * `args: ZodTuple` The first argument is a tuple (created with `z.tuple([...])` and defines the schema of the arguments to your function. If the function doesn't accept arguments, you can pass an empty tuple (`z.tuple([])`).
1877
- * `returnType: any Zod schema` The second argument is the function's return type. This can be any Zod schema. -->
1878
-
1879
- ## Preprocess
1880
-
1881
- > Zod now supports primitive coercion without the need for `.preprocess()`. See the [coercion docs](#coercion-for-primitives) for more information.
1882
-
1883
- Typically Zod operates under a "parse then transform" paradigm. Zod validates the input first, then passes it through a chain of transformation functions. (For more information about transforms, read the [.transform docs](#transform).)
1884
-
1885
- But sometimes you want to apply some transform to the input _before_ parsing happens. A common use case: type coercion. Zod enables this with the `z.preprocess()`.
1886
-
1887
- ```ts
1888
- const castToString = z.preprocess((val) => String(val), z.string());
1889
- ```
1890
-
1891
- This returns a `ZodEffects` instance. `ZodEffects` is a wrapper class that contains all logic pertaining to preprocessing, refinements, and transforms.
1892
-
1893
- ## Custom schemas
1894
-
1895
- You can create a Zod schema for any TypeScript type by using `z.custom()`. This is useful for creating schemas for types that are not supported by Zod out of the box, such as template string literals.
1896
-
1897
- ```ts
1898
- const px = z.custom<`${number}px`>((val) => {
1899
- return typeof val === "string" ? /^\d+px$/.test(val) : false;
1900
- });
1901
-
1902
- type px = z.infer<typeof px>; // `${number}px`
1903
-
1904
- px.parse("42px"); // "42px"
1905
- px.parse("42vw"); // throws;
1906
- ```
1907
-
1908
- If you don't provide a validation function, Zod will allow any value. This can be dangerous!
1909
-
1910
- ```ts
1911
- z.custom<{ arg: string }>(); // performs no validation
1912
- ```
1913
-
1914
- You can customize the error message and other options by passing a second argument. This parameter works the same way as the params parameter of [`.refine`](#refine).
1915
-
1916
- ```ts
1917
- z.custom<...>((val) => ..., "custom error message");
1918
- ```
1919
-
1920
- ## Schema methods
1921
-
1922
- All Zod schemas contain certain methods.
1923
-
1924
- ### `.parse`
1925
-
1926
- `.parse(data: unknown): T`
1927
-
1928
- Given any Zod schema, you can call its `.parse` method to check `data` is valid. If it is, a value is returned with full type information! Otherwise, an error is thrown.
1929
-
1930
- > IMPORTANT: The value returned by `.parse` is a _deep clone_ of the variable you passed in.
1931
-
1932
- ```ts
1933
- const stringSchema = z.string();
1934
-
1935
- stringSchema.parse("fish"); // => returns "fish"
1936
- stringSchema.parse(12); // throws error
1937
- ```
1938
-
1939
- ### `.parseAsync`
1940
-
1941
- `.parseAsync(data:unknown): Promise<T>`
1942
-
1943
- If you use asynchronous [refinements](#refine) or [transforms](#transform) (more on those later), you'll need to use `.parseAsync`.
1944
-
1945
- ```ts
1946
- const stringSchema = z.string().refine(async (val) => val.length <= 8);
1947
-
1948
- await stringSchema.parseAsync("hello"); // => returns "hello"
1949
- await stringSchema.parseAsync("hello world"); // => throws error
1950
- ```
1951
-
1952
- ### `.safeParse`
1953
-
1954
- `.safeParse(data:unknown): { success: true; data: T; } | { success: false; error: ZodError; }`
1955
-
1956
- If you don't want Zod to throw errors when validation fails, use `.safeParse`. This method returns an object containing either the successfully parsed data or a ZodError instance containing detailed information about the validation problems.
1957
-
1958
- ```ts
1959
- stringSchema.safeParse(12);
1960
- // => { success: false; error: ZodError }
1961
-
1962
- stringSchema.safeParse("billie");
1963
- // => { success: true; data: 'billie' }
1964
- ```
1965
-
1966
- The result is a _discriminated union_, so you can handle errors very conveniently:
1967
-
1968
- ```ts
1969
- const result = stringSchema.safeParse("billie");
1970
- if (!result.success) {
1971
- // handle error then return
1972
- result.error;
1973
- } else {
1974
- // do something
1975
- result.data;
1976
- }
1977
- ```
1978
-
1979
- ### `.safeParseAsync`
1980
-
1981
- > Alias: `.spa`
1982
-
1983
- An asynchronous version of `safeParse`.
1984
-
1985
- ```ts
1986
- await stringSchema.safeParseAsync("billie");
1987
- ```
1988
-
1989
- For convenience, this has been aliased to `.spa`:
1990
-
1991
- ```ts
1992
- await stringSchema.spa("billie");
1993
- ```
1994
-
1995
- ### `.refine`
1996
-
1997
- `.refine(validator: (data:T)=>any, params?: RefineParams)`
1998
-
1999
- Zod lets you provide custom validation logic via _refinements_. (For advanced features like creating multiple issues and customizing error codes, see [`.superRefine`](#superrefine).)
2000
-
2001
- Zod was designed to mirror TypeScript as closely as possible. But there are many so-called "refinement types" you may wish to check for that can't be represented in TypeScript's type system. For instance: checking that a number is an integer or that a string is a valid email address.
2002
-
2003
- For example, you can define a custom validation check on _any_ Zod schema with `.refine` :
2004
-
2005
- ```ts
2006
- const myString = z.string().refine((val) => val.length <= 255, {
2007
- message: "String can't be more than 255 characters",
2008
- });
2009
- ```
2010
-
2011
- > โš ๏ธ Refinement functions should not throw. Instead they should return a falsy value to signal failure.
2012
-
2013
- #### Arguments
2014
-
2015
- As you can see, `.refine` takes two arguments.
2016
-
2017
- 1. The first is the validation function. This function takes one input (of type `T` โ€” the inferred type of the schema) and returns `any`. Any truthy value will pass validation. (Prior to zod@1.6.2 the validation function had to return a boolean.)
2018
- 2. The second argument accepts some options. You can use this to customize certain error-handling behavior:
2019
-
2020
- ```ts
2021
- type RefineParams = {
2022
- // override error message
2023
- message?: string;
2024
-
2025
- // appended to error path
2026
- path?: (string | number)[];
2027
-
2028
- // params object you can use to customize message
2029
- // in error map
2030
- params?: object;
2031
- };
2032
- ```
2033
-
2034
- For advanced cases, the second argument can also be a function that returns `RefineParams`.
2035
-
2036
- ```ts
2037
- const longString = z.string().refine(
2038
- (val) => val.length > 10,
2039
- (val) => ({ message: `${val} is not more than 10 characters` })
2040
- );
2041
- ```
2042
-
2043
- #### Customize error path
2044
-
2045
- ```ts
2046
- const passwordForm = z
2047
- .object({
2048
- password: z.string(),
2049
- confirm: z.string(),
2050
- })
2051
- .refine((data) => data.password === data.confirm, {
2052
- message: "Passwords don't match",
2053
- path: ["confirm"], // path of error
2054
- });
2055
-
2056
- passwordForm.parse({ password: "asdf", confirm: "qwer" });
2057
- ```
2058
-
2059
- Because you provided a `path` parameter, the resulting error will be:
2060
-
2061
- ```ts
2062
- ZodError {
2063
- issues: [{
2064
- "code": "custom",
2065
- "path": [ "confirm" ],
2066
- "message": "Passwords don't match"
2067
- }]
2068
- }
2069
- ```
2070
-
2071
- #### Asynchronous refinements
2072
-
2073
- Refinements can also be async:
2074
-
2075
- ```ts
2076
- const userId = z.string().refine(async (id) => {
2077
- // verify that ID exists in database
2078
- return true;
2079
- });
2080
- ```
2081
-
2082
- > โš ๏ธ If you use async refinements, you must use the `.parseAsync` method to parse data! Otherwise Zod will throw an error.
2083
-
2084
- #### Relationship to transforms
2085
-
2086
- Transforms and refinements can be interleaved:
2087
-
2088
- ```ts
2089
- z.string()
2090
- .transform((val) => val.length)
2091
- .refine((val) => val > 25);
2092
- ```
2093
-
2094
- <!-- Note that the `path` is set to `["confirm"]` , so you can easily display this error underneath the "Confirm password" textbox.
2095
-
2096
- ```ts
2097
- const allForms = z.object({ passwordForm }).parse({
2098
- passwordForm: {
2099
- password: "asdf",
2100
- confirm: "qwer",
2101
- },
2102
- });
2103
- ```
2104
-
2105
- would result in
2106
-
2107
- ```
2108
-
2109
- ZodError {
2110
- issues: [{
2111
- "code": "custom",
2112
- "path": [ "passwordForm", "confirm" ],
2113
- "message": "Passwords don't match"
2114
- }]
2115
- }
2116
- ``` -->
2117
-
2118
- ### `.superRefine`
2119
-
2120
- The `.refine` method is actually syntactic sugar atop a more versatile (and verbose) method called `superRefine`. Here's an example:
2121
-
2122
- ```ts
2123
- const Strings = z.array(z.string()).superRefine((val, ctx) => {
2124
- if (val.length > 3) {
2125
- ctx.addIssue({
2126
- code: z.ZodIssueCode.too_big,
2127
- maximum: 3,
2128
- type: "array",
2129
- inclusive: true,
2130
- message: "Too many items ๐Ÿ˜ก",
2131
- });
2132
- }
2133
-
2134
- if (val.length !== new Set(val).size) {
2135
- ctx.addIssue({
2136
- code: z.ZodIssueCode.custom,
2137
- message: `No duplicates allowed.`,
2138
- });
2139
- }
2140
- });
2141
- ```
2142
-
2143
- You can add as many issues as you like. If `ctx.addIssue` is _not_ called during the execution of the function, validation passes.
2144
-
2145
- Normally refinements always create issues with a `ZodIssueCode.custom` error code, but with `superRefine` it's possible to throw issues of any `ZodIssueCode`. Each issue code is described in detail in the Error Handling guide: [ERROR_HANDLING.md](ERROR_HANDLING.md).
2146
-
2147
- #### Abort early
2148
-
2149
- By default, parsing will continue even after a refinement check fails. For instance, if you chain together multiple refinements, they will all be executed. However, it may be desirable to _abort early_ to prevent later refinements from being executed. To achieve this, pass the `fatal` flag to `ctx.addIssue` and return `z.NEVER`.
2150
-
2151
- ```ts
2152
- const schema = z.number().superRefine((val, ctx) => {
2153
- if (val < 10) {
2154
- ctx.addIssue({
2155
- code: z.ZodIssueCode.custom,
2156
- message: "should be >= 10",
2157
- fatal: true,
2158
- });
2159
-
2160
- return z.NEVER;
2161
- }
2162
-
2163
- if (val !== 12) {
2164
- ctx.addIssue({
2165
- code: z.ZodIssueCode.custom,
2166
- message: "should be twelve",
2167
- });
2168
- }
2169
- });
2170
- ```
2171
-
2172
- #### Type refinements
2173
-
2174
- If you provide a [type predicate](https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates) to `.refine()` or `.superRefine()`, the resulting type will be narrowed down to your predicate's type. This is useful if you are mixing multiple chained refinements and transformations:
2175
-
2176
- ```ts
2177
- const schema = z
2178
- .object({
2179
- first: z.string(),
2180
- second: z.number(),
2181
- })
2182
- .nullable()
2183
- .superRefine((arg, ctx): arg is { first: string; second: number } => {
2184
- if (!arg) {
2185
- ctx.addIssue({
2186
- code: z.ZodIssueCode.custom, // customize your issue
2187
- message: "object should exist",
2188
- });
2189
- }
2190
-
2191
- return z.NEVER; // The return value is not used, but we need to return something to satisfy the typing
2192
- })
2193
- // here, TS knows that arg is not null
2194
- .refine((arg) => arg.first === "bob", "`first` is not `bob`!");
2195
- ```
2196
-
2197
- > โš ๏ธ You **must** use `ctx.addIssue()` instead of returning a boolean value to indicate whether the validation passes. If `ctx.addIssue` is _not_ called during the execution of the function, validation passes.
2198
-
2199
- ### `.transform`
2200
-
2201
- To transform data after parsing, use the `transform` method.
2202
-
2203
- ```ts
2204
- const stringToNumber = z.string().transform((val) => val.length);
2205
-
2206
- stringToNumber.parse("string"); // => 6
2207
- ```
2208
-
2209
- #### Chaining order
2210
-
2211
- Note that `stringToNumber` above is an instance of the `ZodEffects` subclass. It is NOT an instance of `ZodString`. If you want to use the built-in methods of `ZodString` (e.g. `.email()`) you must apply those methods _before_ any transforms.
2212
-
2213
- ```ts
2214
- const emailToDomain = z
2215
- .string()
2216
- .email()
2217
- .transform((val) => val.split("@")[1]);
2218
-
2219
- emailToDomain.parse("colinhacks@example.com"); // => example.com
2220
- ```
2221
-
2222
- #### Validating during transform
2223
-
2224
- The `.transform` method can simultaneously validate and transform the value. This is often simpler and less duplicative than chaining `transform` and `refine`.
2225
-
2226
- As with `.superRefine`, the transform function receives a `ctx` object with an `addIssue` method that can be used to register validation issues.
2227
-
2228
- ```ts
2229
- const numberInString = z.string().transform((val, ctx) => {
2230
- const parsed = parseInt(val);
2231
- if (isNaN(parsed)) {
2232
- ctx.addIssue({
2233
- code: z.ZodIssueCode.custom,
2234
- message: "Not a number",
2235
- });
2236
-
2237
- // This is a special symbol you can use to
2238
- // return early from the transform function.
2239
- // It has type `never` so it does not affect the
2240
- // inferred return type.
2241
- return z.NEVER;
2242
- }
2243
- return parsed;
2244
- });
2245
- ```
2246
-
2247
- #### Relationship to refinements
2248
-
2249
- Transforms and refinements can be interleaved. These will be executed in the order they are declared.
2250
-
2251
- ```ts
2252
- const nameToGreeting = z
2253
- .string()
2254
- .transform((val) => val.toUpperCase())
2255
- .refine((val) => val.length > 15)
2256
- .transform((val) => `Hello ${val}`)
2257
- .refine((val) => val.indexOf("!") === -1);
2258
- ```
2259
-
2260
- #### Async transforms
2261
-
2262
- Transforms can also be async.
2263
-
2264
- ```ts
2265
- const IdToUser = z
2266
- .string()
2267
- .uuid()
2268
- .transform(async (id) => {
2269
- return await getUserById(id);
2270
- });
2271
- ```
2272
-
2273
- > โš ๏ธ If your schema contains asynchronous transforms, you must use .parseAsync() or .safeParseAsync() to parse data. Otherwise Zod will throw an error.
2274
-
2275
- ### `.default`
2276
-
2277
- You can use transforms to implement the concept of "default values" in Zod.
2278
-
2279
- ```ts
2280
- const stringWithDefault = z.string().default("tuna");
2281
-
2282
- stringWithDefault.parse(undefined); // => "tuna"
2283
- ```
2284
-
2285
- Optionally, you can pass a function into `.default` that will be re-executed whenever a default value needs to be generated:
2286
-
2287
- ```ts
2288
- const numberWithRandomDefault = z.number().default(Math.random);
2289
-
2290
- numberWithRandomDefault.parse(undefined); // => 0.4413456736055323
2291
- numberWithRandomDefault.parse(undefined); // => 0.1871840107401901
2292
- numberWithRandomDefault.parse(undefined); // => 0.7223408162401552
2293
- ```
2294
-
2295
- Conceptually, this is how Zod processes default values:
2296
-
2297
- 1. If the input is `undefined`, the default value is returned
2298
- 2. Otherwise, the data is parsed using the base schema
2299
-
2300
- ### `.describe`
2301
-
2302
- Use `.describe()` to add a `description` property to the resulting schema.
2303
-
2304
- ```ts
2305
- const documentedString = z
2306
- .string()
2307
- .describe("A useful bit of text, if you know what to do with it.");
2308
- documentedString.description; // A useful bit of textโ€ฆ
2309
- ```
2310
-
2311
- This can be useful for documenting a field, for example in a JSON Schema using a library like [`zod-to-json-schema`](https://github.com/StefanTerdell/zod-to-json-schema)).
2312
-
2313
- ### `.catch`
2314
-
2315
- Use `.catch()` to provide a "catch value" to be returned in the event of a parsing error.
2316
-
2317
- ```ts
2318
- const numberWithCatch = z.number().catch(42);
2319
-
2320
- numberWithCatch.parse(5); // => 5
2321
- numberWithCatch.parse("tuna"); // => 42
2322
- ```
2323
-
2324
- Optionally, you can pass a function into `.catch` that will be re-executed whenever a default value needs to be generated. A `ctx` object containing the caught error will be passed into this function.
2325
-
2326
- ```ts
2327
- const numberWithRandomCatch = z.number().catch((ctx) => {
2328
- ctx.error; // the caught ZodError
2329
- return Math.random();
2330
- });
2331
-
2332
- numberWithRandomCatch.parse("sup"); // => 0.4413456736055323
2333
- numberWithRandomCatch.parse("sup"); // => 0.1871840107401901
2334
- numberWithRandomCatch.parse("sup"); // => 0.7223408162401552
2335
- ```
2336
-
2337
- Conceptually, this is how Zod processes "catch values":
2338
-
2339
- 1. The data is parsed using the base schema
2340
- 2. If the parsing fails, the "catch value" is returned
2341
-
2342
- ### `.optional`
2343
-
2344
- A convenience method that returns an optional version of a schema.
2345
-
2346
- ```ts
2347
- const optionalString = z.string().optional(); // string | undefined
2348
-
2349
- // equivalent to
2350
- z.optional(z.string());
2351
- ```
2352
-
2353
- ### `.nullable`
2354
-
2355
- A convenience method that returns a nullable version of a schema.
2356
-
2357
- ```ts
2358
- const nullableString = z.string().nullable(); // string | null
2359
-
2360
- // equivalent to
2361
- z.nullable(z.string());
2362
- ```
2363
-
2364
- ### `.nullish`
2365
-
2366
- A convenience method that returns a "nullish" version of a schema. Nullish schemas will accept both `undefined` and `null`. Read more about the concept of "nullish" [in the TypeScript 3.7 release notes](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#nullish-coalescing).
2367
-
2368
- ```ts
2369
- const nullishString = z.string().nullish(); // string | null | undefined
2370
-
2371
- // equivalent to
2372
- z.string().nullable().optional();
2373
- ```
2374
-
2375
- ### `.array`
2376
-
2377
- A convenience method that returns an array schema for the given type:
2378
-
2379
- ```ts
2380
- const stringArray = z.string().array(); // string[]
2381
-
2382
- // equivalent to
2383
- z.array(z.string());
2384
- ```
2385
-
2386
- ### `.promise`
2387
-
2388
- A convenience method for promise types:
2389
-
2390
- ```ts
2391
- const stringPromise = z.string().promise(); // Promise<string>
2392
-
2393
- // equivalent to
2394
- z.promise(z.string());
2395
- ```
2396
-
2397
- ### `.or`
2398
-
2399
- A convenience method for [union types](#unions).
2400
-
2401
- ```ts
2402
- const stringOrNumber = z.string().or(z.number()); // string | number
2403
-
2404
- // equivalent to
2405
- z.union([z.string(), z.number()]);
2406
- ```
2407
-
2408
- ### `.and`
2409
-
2410
- A convenience method for creating intersection types.
2411
-
2412
- ```ts
2413
- const nameAndAge = z
2414
- .object({ name: z.string() })
2415
- .and(z.object({ age: z.number() })); // { name: string } & { age: number }
2416
-
2417
- // equivalent to
2418
- z.intersection(z.object({ name: z.string() }), z.object({ age: z.number() }));
2419
- ```
2420
-
2421
- ### `.brand`
2422
-
2423
- `.brand<T>() => ZodBranded<this, B>`
2424
-
2425
- TypeScript's type system is structural, which means that any two types that are structurally equivalent are considered the same.
2426
-
2427
- ```ts
2428
- type Cat = { name: string };
2429
- type Dog = { name: string };
2430
-
2431
- const petCat = (cat: Cat) => {};
2432
- const fido: Dog = { name: "fido" };
2433
- petCat(fido); // works fine
2434
- ```
2435
-
2436
- In some cases, its can be desirable to simulate _nominal typing_ inside TypeScript. For instance, you may wish to write a function that only accepts an input that has been validated by Zod. This can be achieved with _branded types_ (AKA _opaque types_).
2437
-
2438
- ```ts
2439
- const Cat = z.object({ name: z.string() }).brand<"Cat">();
2440
- type Cat = z.infer<typeof Cat>;
2441
-
2442
- const petCat = (cat: Cat) => {};
2443
-
2444
- // this works
2445
- const simba = Cat.parse({ name: "simba" });
2446
- petCat(simba);
2447
-
2448
- // this doesn't
2449
- petCat({ name: "fido" });
2450
- ```
2451
-
2452
- Under the hood, this works by attaching a "brand" to the inferred type using an intersection type. This way, plain/unbranded data structures are no longer assignable to the inferred type of the schema.
2453
-
2454
- ```ts
2455
- const Cat = z.object({ name: z.string() }).brand<"Cat">();
2456
- type Cat = z.infer<typeof Cat>;
2457
- // {name: string} & {[symbol]: "Cat"}
2458
- ```
2459
-
2460
- Note that branded types do not affect the runtime result of `.parse`. It is a static-only construct.
2461
-
2462
- ### `.readonly`
2463
-
2464
- `.readonly() => ZodReadonly<this>`
2465
-
2466
- This method returns a `ZodReadonly` schema instance that parses the input using the base schema, then calls `Object.freeze()` on the result. The inferred type is also marked as `readonly`.
2467
-
2468
- ```ts
2469
- const schema = z.object({ name: z.string() }).readonly();
2470
- type schema = z.infer<typeof schema>;
2471
- // Readonly<{name: string}>
2472
-
2473
- const result = schema.parse({ name: "fido" });
2474
- result.name = "simba"; // error
2475
- ```
2476
-
2477
- The inferred type uses TypeScript's built-in readonly types when relevant.
2478
-
2479
- ```ts
2480
- z.array(z.string()).readonly();
2481
- // readonly string[]
2482
-
2483
- z.tuple([z.string(), z.number()]).readonly();
2484
- // readonly [string, number]
2485
-
2486
- z.map(z.string(), z.date()).readonly();
2487
- // ReadonlyMap<string, Date>
2488
-
2489
- z.set(z.string()).readonly();
2490
- // ReadonlySet<string>
2491
- ```
2492
-
2493
- ### `.pipe`
2494
-
2495
- Schemas can be chained into validation "pipelines". It's useful for easily validating the result after a `.transform()`:
2496
-
2497
- ```ts
2498
- z.string()
2499
- .transform((val) => val.length)
2500
- .pipe(z.number().min(5));
2501
- ```
2502
-
2503
- The `.pipe()` method returns a `ZodPipeline` instance.
2504
-
2505
- #### You can use `.pipe()` to fix common issues with `z.coerce`.
2506
-
2507
- You can constrain the input to types that work well with your chosen coercion. Then use `.pipe()` to apply the coercion.
2508
-
2509
- without constrained input:
2510
-
2511
- ```ts
2512
- const toDate = z.coerce.date();
2513
-
2514
- // works intuitively
2515
- console.log(toDate.safeParse("2023-01-01").success); // true
2516
-
2517
- // might not be what you want
2518
- console.log(toDate.safeParse(null).success); // true
2519
- ```
2520
-
2521
- with constrained input:
2522
-
2523
- ```ts
2524
- const datelike = z.union([z.number(), z.string(), z.date()]);
2525
- const datelikeToDate = datelike.pipe(z.coerce.date());
2526
-
2527
- // still works intuitively
2528
- console.log(datelikeToDate.safeParse("2023-01-01").success); // true
2529
-
2530
- // more likely what you want
2531
- console.log(datelikeToDate.safeParse(null).success); // false
2532
- ```
2533
-
2534
- You can also use this technique to avoid coercions that throw uncaught errors.
2535
-
2536
- without constrained input:
2537
-
2538
- ```ts
2539
- const toBigInt = z.coerce.bigint();
2540
-
2541
- // works intuitively
2542
- console.log(toBigInt.safeParse("42")); // true
2543
-
2544
- // probably not what you want
2545
- console.log(toBigInt.safeParse(null)); // throws uncaught error
2546
- ```
2547
-
2548
- with constrained input:
2549
-
2550
- ```ts
2551
- const toNumber = z.number().or(z.string()).pipe(z.coerce.number());
2552
- const toBigInt = z.bigint().or(toNumber).pipe(z.coerce.bigint());
2553
-
2554
- // still works intuitively
2555
- console.log(toBigInt.safeParse("42").success); // true
2556
-
2557
- // error handled by zod, more likely what you want
2558
- console.log(toBigInt.safeParse(null).success); // false
2559
- ```
2560
-
2561
- ## Guides and concepts
2562
-
2563
- ### Type inference
2564
-
2565
- You can extract the TypeScript type of any schema with `z.infer<typeof mySchema>` .
2566
-
2567
- ```ts
2568
- const A = z.string();
2569
- type A = z.infer<typeof A>; // string
2570
-
2571
- const u: A = 12; // TypeError
2572
- const u: A = "asdf"; // compiles
2573
- ```
2574
-
2575
- **What about transforms?**
2576
-
2577
- In reality each Zod schema internally tracks **two** types: an input and an output. For most schemas (e.g. `z.string()`) these two are the same. But once you add transforms into the mix, these two values can diverge. For instance `z.string().transform(val => val.length)` has an input of `string` and an output of `number`.
2578
-
2579
- You can separately extract the input and output types like so:
2580
-
2581
- ```ts
2582
- const stringToNumber = z.string().transform((val) => val.length);
2583
-
2584
- // โš ๏ธ Important: z.infer returns the OUTPUT type!
2585
- type input = z.input<typeof stringToNumber>; // string
2586
- type output = z.output<typeof stringToNumber>; // number
2587
-
2588
- // equivalent to z.output!
2589
- type inferred = z.infer<typeof stringToNumber>; // number
2590
- ```
2591
-
2592
- ### Writing generic functions
2593
-
2594
- With TypeScript generics, you can write reusable functions that accept Zod schemas as parameters. This enables you to create custom validation logic, schema transformations, and more, while maintaining type safety and inference.
2595
-
2596
- When attempting to write a function that accepts a Zod schema as an input, it's tempting to try something like this:
2597
-
2598
- ```ts
2599
- function inferSchema<T>(schema: z.ZodType<T>) {
2600
- return schema;
2601
- }
2602
- ```
2603
-
2604
- This approach is incorrect, and limits TypeScript's ability to properly infer the argument. No matter what you pass in, the type of `schema` will be an instance of `ZodType`.
2605
-
2606
- ```ts
2607
- inferSchema(z.string());
2608
- // => ZodType<string>
2609
- ```
2610
-
2611
- This approach loses type information, namely _which subclass_ the input actually is (in this case, `ZodString`). That means you can't call any string-specific methods like `.min()` on the result of `inferSchema`.
2612
-
2613
- A better approach is to infer _the schema as a whole_ instead of merely its inferred type. You can do this with a utility type called `z.ZodTypeAny`.
2614
-
2615
- ```ts
2616
- function inferSchema<T extends z.ZodTypeAny>(schema: T) {
2617
- return schema;
2618
- }
2619
-
2620
- inferSchema(z.string());
2621
- // => ZodString
2622
- ```
2623
-
2624
- > `ZodTypeAny` is just a shorthand for `ZodType<any, any, any>`, a type that is broad enough to match any Zod schema.
2625
-
2626
- The Result is now fully and properly typed, and the type system can infer the specific subclass of the schema.
2627
-
2628
- #### Inferring the inferred type
2629
-
2630
- If you follow the best practice of using `z.ZodTypeAny` as the generic parameter for your schema, you may encounter issues with the parsed data being typed as `any` instead of the inferred type of the schema.
2631
-
2632
- ```ts
2633
- function parseData<T extends z.ZodTypeAny>(data: unknown, schema: T) {
2634
- return schema.parse(data);
2635
- }
2636
-
2637
- parseData("sup", z.string());
2638
- // => any
2639
- ```
2640
-
2641
- Due to how TypeScript inference works, it is treating `schema` like a `ZodTypeAny` instead of the inferred type. You can fix this with a type cast using `z.infer`.
2642
-
2643
- ```ts
2644
- function parseData<T extends z.ZodTypeAny>(data: unknown, schema: T) {
2645
- return schema.parse(data) as z.infer<T>;
2646
- // ^^^^^^^^^^^^^^ <- add this
2647
- }
2648
-
2649
- parseData("sup", z.string());
2650
- // => string
2651
- ```
2652
-
2653
- #### Constraining allowable inputs
2654
-
2655
- The `ZodType` class has three generic parameters.
2656
-
2657
- ```ts
2658
- class ZodType<
2659
- Output = any,
2660
- Def extends ZodTypeDef = ZodTypeDef,
2661
- Input = Output
2662
- > { ... }
2663
- ```
2664
-
2665
- By constraining these in your generic input, you can limit what schemas are allowable as inputs to your function:
2666
-
2667
- ```ts
2668
- function makeSchemaOptional<T extends z.ZodType<string>>(schema: T) {
2669
- return schema.optional();
2670
- }
2671
-
2672
- makeSchemaOptional(z.string());
2673
- // works fine
2674
-
2675
- makeSchemaOptional(z.number());
2676
- // Error: 'ZodNumber' is not assignable to parameter of type 'ZodType<string, ZodTypeDef, string>'
2677
- ```
2678
-
2679
- ### Error handling
2680
-
2681
- Zod provides a subclass of Error called `ZodError`. ZodErrors contain an `issues` array containing detailed information about the validation problems.
2682
-
2683
- ```ts
2684
- const result = z
2685
- .object({
2686
- name: z.string(),
2687
- })
2688
- .safeParse({ name: 12 });
2689
-
2690
- if (!result.success) {
2691
- result.error.issues;
2692
- /* [
2693
- {
2694
- "code": "invalid_type",
2695
- "expected": "string",
2696
- "received": "number",
2697
- "path": [ "name" ],
2698
- "message": "Expected string, received number"
2699
- }
2700
- ] */
2701
- }
2702
- ```
2703
-
2704
- > For detailed information about the possible error codes and how to customize error messages, check out the dedicated error handling guide: [ERROR_HANDLING.md](ERROR_HANDLING.md)
2705
-
2706
- Zod's error reporting emphasizes _completeness_ and _correctness_. If you are looking to present a useful error message to the end user, you should either override Zod's error messages using an error map (described in detail in the Error Handling guide) or use a third-party library like [`zod-validation-error`](https://github.com/causaly/zod-validation-error)
2707
-
2708
- ### Error formatting
2709
-
2710
- You can use the `.format()` method to convert this error into a nested object.
2711
-
2712
- ```ts
2713
- const result = z
2714
- .object({
2715
- name: z.string(),
2716
- })
2717
- .safeParse({ name: 12 });
2718
-
2719
- if (!result.success) {
2720
- const formatted = result.error.format();
2721
- /* {
2722
- name: { _errors: [ 'Expected string, received number' ] }
2723
- } */
2724
-
2725
- formatted.name?._errors;
2726
- // => ["Expected string, received number"]
2727
- }
2728
- ```
2729
-
2730
- ## Comparison
2731
-
2732
- There are a handful of other widely-used validation libraries, but all of them have certain design limitations that make for a non-ideal developer experience.
2733
-
2734
- <!-- The table below summarizes the feature differences. Below the table there are more involved discussions of certain alternatives, where necessary. -->
2735
-
2736
- <!-- | Feature | [Zod](https://github.com/colinhacks) | [Joi](https://github.com/hapijs/joi) | [Yup](https://github.com/jquense/yup) | [io-ts](https://github.com/gcanti/io-ts) | [Runtypes](https://github.com/pelotom/runtypes) | [ow](https://github.com/sindresorhus/ow) | [class-validator](https://github.com/typestack/class-validator) |
2737
- | ---------------------------------------------------------------------------------------------------------------------- | :-----------------------------: | :----------------------------------: | :-----------------------------------: | :--------------------------------------: | :---------------------------------------------: | :--------------------------------------: | :-------------------------------------------------------------: |
2738
- | <abbr title='Any ability to extract a TypeScript type from a validator instance counts.'>Type inference</abbr> | ๐ŸŸข | ๐Ÿ”ด | ๐ŸŸข | ๐ŸŸข | ๐ŸŸข | ๐ŸŸข | ๐ŸŸข |
2739
- | <abbr title="Yup's inferred types are incorrect in certain cases, see discussion below.">Correct type inference</abbr> | ๐ŸŸข | ๐Ÿ”ด | ๐Ÿ”ด | ๐ŸŸข | ๐ŸŸข | ๐ŸŸข | ๐ŸŸข |
2740
-
2741
- <abbr title="number, string, boolean, null, undefined">Primitive Types</abbr>
2742
- <abbr title="Includes any checks beyond 'Is this a string?', e.g. min/max length, isEmail, isURL, case checking, etc.">String Validation</abbr>
2743
- <abbr title="Includes any checks beyond 'Is this a number?', e.g. min/max, isPositive, integer vs float, etc.">Number Validation</abbr>
2744
- Dates
2745
-
2746
- Primitive Literals
2747
- Object Literals
2748
- Tuple Literals
2749
- Objects
2750
- Arrays
2751
- Non-empty arrays
2752
- Unions
2753
- Optionals
2754
- Nullable
2755
- Enums
2756
- Enum Autocomplete
2757
- Intersections
2758
- Object Merging
2759
- Tuples
2760
- Recursive Types
2761
- Function Schemas
2762
-
2763
- <abbr title="For instance, Yup allows custom error messages with the syntax yup.number().min(5, 'Number must be more than 5!')">Validation Messages</abbr>
2764
- Immutable instances
2765
- Type Guards
2766
- Validity Checking
2767
- Casting
2768
- Default Values
2769
- Rich Errors
2770
- Branded -->
2771
-
2772
- <!-- - Missing object methods: (pick, omit, partial, deepPartial, merge, extend)
2773
-
2774
- * Missing nonempty arrays with proper typing (`[T, ...T[]]`)
2775
- * Missing lazy/recursive types
2776
- * Missing promise schemas
2777
- * Missing function schemas
2778
- * Missing union & intersection schemas
2779
- * Missing support for parsing cyclical data (maybe)
2780
- * Missing error customization -->
2781
-
2782
- ### Joi
2783
-
2784
- [https://github.com/hapijs/joi](https://github.com/hapijs/joi)
2785
-
2786
- Doesn't support static type inference ๐Ÿ˜•
2787
-
2788
- ### Yup
2789
-
2790
- [https://github.com/jquense/yup](https://github.com/jquense/yup)
2791
-
2792
- Yup is a full-featured library that was implemented first in vanilla JS, and later rewritten in TypeScript.
2793
-
2794
- - Supports casting and transforms
2795
- - All object fields are optional by default
2796
- <!-- - Missing nonempty arrays with proper typing (`[T, ...T[]]`) -->
2797
- - Missing promise schemas
2798
- - Missing function schemas
2799
- - Missing union & intersection schemas
2800
-
2801
- <!-- ยนYup has a strange interpretation of the word `required`. Instead of meaning "not undefined", Yup uses it to mean "not empty". So `yup.string().required()` will not accept an empty string, and `yup.array(yup.string()).required()` will not accept an empty array. Instead, Yup us Zod arrays there is a dedicated `.nonempty()` method to indicate this, or you can implement it with a custom refinement. -->
2802
-
2803
- ### io-ts
2804
-
2805
- [https://github.com/gcanti/io-ts](https://github.com/gcanti/io-ts)
2806
-
2807
- io-ts is an excellent library by gcanti. The API of io-ts heavily inspired the design of Zod.
2808
-
2809
- In our experience, io-ts prioritizes functional programming purity over developer experience in many cases. This is a valid and admirable design goal, but it makes io-ts particularly hard to integrate into an existing codebase with a more procedural or object-oriented bias. For instance, consider how to define an object with optional properties in io-ts:
2810
-
2811
- ```ts
2812
- import * as t from "io-ts";
2813
-
2814
- const A = t.type({
2815
- foo: t.string,
2816
- });
2817
-
2818
- const B = t.partial({
2819
- bar: t.number,
2820
- });
2821
-
2822
- const C = t.intersection([A, B]);
2823
-
2824
- type C = t.TypeOf<typeof C>;
2825
- // returns { foo: string; bar?: number | undefined }
2826
- ```
2827
-
2828
- You must define the required and optional props in separate object validators, pass the optionals through `t.partial` (which marks all properties as optional), then combine them with `t.intersection` .
2829
-
2830
- Consider the equivalent in Zod:
2831
-
2832
- ```ts
2833
- const C = z.object({
2834
- foo: z.string(),
2835
- bar: z.number().optional(),
2836
- });
2837
-
2838
- type C = z.infer<typeof C>;
2839
- // returns { foo: string; bar?: number | undefined }
2840
- ```
2841
-
2842
- This more declarative API makes schema definitions vastly more concise.
2843
-
2844
- `io-ts` also requires the use of gcanti's functional programming library `fp-ts` to parse results and handle errors. This is another fantastic resource for developers looking to keep their codebase strictly functional. But depending on `fp-ts` necessarily comes with a lot of intellectual overhead; a developer has to be familiar with functional programming concepts and the `fp-ts` nomenclature to use the library.
2845
-
2846
- - Supports codecs with serialization & deserialization transforms
2847
- - Supports branded types
2848
- - Supports advanced functional programming, higher-kinded types, `fp-ts` compatibility
2849
- - Missing object methods: (pick, omit, partial, deepPartial, merge, extend)
2850
- - Missing nonempty arrays with proper typing (`[T, ...T[]]`)
2851
- - Missing promise schemas
2852
- - Missing function schemas
2853
-
2854
- ### Runtypes
2855
-
2856
- [https://github.com/pelotom/runtypes](https://github.com/pelotom/runtypes)
2857
-
2858
- Good type inference support.
2859
-
2860
- - Supports "pattern matching": computed properties that distribute over unions
2861
- - Missing object methods: (deepPartial, merge)
2862
- - Missing nonempty arrays with proper typing (`[T, ...T[]]`)
2863
- - Missing promise schemas
2864
- - Missing error customization
2865
-
2866
- ### Ow
2867
-
2868
- [https://github.com/sindresorhus/ow](https://github.com/sindresorhus/ow)
2869
-
2870
- Ow is focused on function input validation. It's a library that makes it easy to express complicated assert statements, but it doesn't let you parse untyped data. They support a much wider variety of types; Zod has a nearly one-to-one mapping with TypeScript's type system, whereas ow lets you validate several highly-specific types out of the box (e.g. `int32Array` , see full list in their README).
2871
-
2872
- If you want to validate function inputs, use function schemas in Zod! It's a much simpler approach that lets you reuse a function type declaration without repeating yourself (namely, copy-pasting a bunch of ow assertions at the beginning of every function). Also Zod lets you validate your return types as well, so you can be sure there won't be any unexpected data passed downstream.
2873
-
2874
- ## Changelog
2875
-
2876
- View the changelog at [CHANGELOG.md](CHANGELOG.md)