@tern-secure/auth 1.1.0-canary.v20251108045933 → 1.1.0-canary.v20251127221555

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 (276) hide show
  1. package/dist/492_ternsecure_b693ad_1.1.0-canary.v20251127221555.js +1 -0
  2. package/dist/687_ternsecure_b693ad_1.1.0-canary.v20251127221555.js +1 -0
  3. package/dist/68_ternsecure_b693ad_1.1.0-canary.v20251127221555.js +1 -0
  4. package/dist/framework_ternsecure_b693ad_1.1.0-canary.v20251127221555.js +1 -0
  5. package/dist/signin_ternsecure_b693ad_1.1.0-canary.v20251127221555.css +2 -0
  6. package/dist/signin_ternsecure_b693ad_1.1.0-canary.v20251127221555.js +1 -0
  7. package/dist/signup_ternsecure_b693ad_1.1.0-canary.v20251127221555.css +2 -0
  8. package/dist/signup_ternsecure_b693ad_1.1.0-canary.v20251127221555.js +1 -0
  9. package/dist/ternsecure.browser.js +30 -0
  10. package/dist/ternsecure.css +2 -0
  11. package/dist/ternsecure.js +17 -0
  12. package/dist/ternsecure.mjs +17 -0
  13. package/dist/types/auth/AuthCookieManager.d.ts +0 -1
  14. package/dist/types/auth/cookies/authTime_cookie.d.ts +0 -1
  15. package/dist/types/index.browser.d.ts +1 -0
  16. package/dist/types/index.d.ts +3 -10
  17. package/dist/types/instance/c_coreApiClient.d.ts +2 -2
  18. package/dist/types/instance/constants.d.ts +3 -0
  19. package/dist/types/instance/coreApiClient.d.ts +0 -1
  20. package/dist/types/instance/events.d.ts +0 -1
  21. package/dist/types/instance/fraudProtection.d.ts +7 -0
  22. package/dist/types/instance/{TernAuth.d.ts → ternsecure.d.ts} +37 -7
  23. package/dist/types/lib/utils.d.ts +2 -0
  24. package/dist/types/resources/Base.d.ts +17 -3
  25. package/dist/types/resources/Error.d.ts +0 -1
  26. package/dist/types/resources/Session.d.ts +2 -2
  27. package/dist/types/resources/SignIn.d.ts +27 -10
  28. package/dist/types/resources/SignUp.d.ts +12 -10
  29. package/dist/types/resources/internal.d.ts +1 -2
  30. package/dist/types/ui/Renderer.d.ts +26 -0
  31. package/dist/types/ui/common/ProviderInitialIcon.d.ts +6 -0
  32. package/dist/types/ui/common/VerificationCodeCard.d.ts +12 -0
  33. package/dist/types/ui/common/VerificationLinkCard.d.ts +7 -0
  34. package/dist/types/ui/common/constants.d.ts +8 -0
  35. package/dist/types/ui/common/index.d.ts +3 -0
  36. package/dist/types/ui/components/sign-in/ResetPassword.d.ts +1 -0
  37. package/dist/types/ui/components/sign-in/ResetPasswordSuccess.d.ts +1 -0
  38. package/dist/types/ui/components/sign-in/SignIn.d.ts +4 -0
  39. package/dist/types/ui/components/sign-in/SignInEmailLinkCard.d.ts +2 -0
  40. package/dist/types/ui/components/sign-in/SignInFactorOne.d.ts +1 -0
  41. package/dist/types/ui/components/sign-in/SignInFactorOneCodeForm.d.ts +7 -0
  42. package/dist/types/ui/components/sign-in/SignInFactorOnePasswordCard.d.ts +6 -0
  43. package/dist/types/ui/components/sign-in/SignInFactorOnePhoneCodeCard.d.ts +7 -0
  44. package/dist/types/ui/components/sign-in/SignInPassword.d.ts +8 -0
  45. package/dist/types/ui/components/sign-in/SignInSocialButtons.d.ts +1 -0
  46. package/dist/types/ui/components/sign-in/SignInStart.d.ts +7 -0
  47. package/dist/types/ui/components/sign-in/SignInVerifyEmail.d.ts +1 -0
  48. package/dist/types/ui/components/sign-in/index.d.ts +4 -0
  49. package/dist/types/ui/components/sign-up/SignUp.d.ts +8 -0
  50. package/dist/types/ui/components/sign-up/SignUpEmailLinkCard.d.ts +2 -0
  51. package/dist/types/ui/components/sign-up/SignUpSocialButtons.d.ts +1 -0
  52. package/dist/types/ui/components/sign-up/SignUpStart.d.ts +1 -0
  53. package/dist/types/ui/components/sign-up/SignUpVerifyEmail.d.ts +1 -0
  54. package/dist/types/ui/components/sign-up/index.d.ts +2 -0
  55. package/dist/types/ui/components/sign-up/util.d.ts +14 -0
  56. package/dist/types/ui/components/user-button/index.d.ts +1 -0
  57. package/dist/types/ui/components/user-button/userButton.d.ts +1 -0
  58. package/dist/types/ui/ctx/TernAuthContext.d.ts +4 -0
  59. package/dist/types/ui/ctx/TernAuthUIComponentCtx.d.ts +8 -0
  60. package/dist/types/ui/ctx/TernSecureContextWrapper.d.ts +8 -0
  61. package/dist/types/ui/ctx/TernSecureOptions.d.ts +10 -0
  62. package/dist/types/ui/ctx/components/SignIn.d.ts +21 -0
  63. package/dist/types/ui/ctx/components/SignUp.d.ts +14 -0
  64. package/dist/types/ui/ctx/components/UserButton.d.ts +10 -0
  65. package/dist/types/ui/ctx/components/index.d.ts +3 -0
  66. package/dist/types/ui/ctx/index.d.ts +4 -0
  67. package/dist/types/ui/ctx/utils.d.ts +3 -0
  68. package/dist/types/ui/customize/FieldControl.d.ts +21 -0
  69. package/dist/types/ui/customize/FieldLabelControl.d.ts +11 -0
  70. package/dist/types/ui/customize/Form.d.ts +36 -0
  71. package/dist/types/ui/elements/CodeControl.d.ts +47 -0
  72. package/dist/types/ui/elements/ErrorCard.d.ts +10 -0
  73. package/dist/types/ui/elements/LoadingCard.d.ts +1 -0
  74. package/dist/types/ui/elements/RouterLink.d.ts +42 -0
  75. package/dist/types/ui/elements/SocialButtons.d.ts +6 -0
  76. package/dist/types/ui/elements/TimerButton.d.ts +9 -0
  77. package/dist/types/ui/elements/alert.d.ts +8 -0
  78. package/dist/types/ui/elements/avatar.d.ts +6 -0
  79. package/dist/types/ui/elements/button.d.ts +10 -0
  80. package/dist/types/ui/elements/card.d.ts +9 -0
  81. package/dist/types/ui/elements/ctx/CardStateCtx.d.ts +26 -0
  82. package/dist/types/ui/elements/ctx/index.d.ts +1 -0
  83. package/dist/types/ui/elements/field.d.ts +24 -0
  84. package/dist/types/ui/elements/index.d.ts +16 -0
  85. package/dist/types/ui/elements/input.d.ts +3 -0
  86. package/dist/types/ui/elements/label.d.ts +4 -0
  87. package/dist/types/ui/elements/separator.d.ts +4 -0
  88. package/dist/types/ui/hooks/index.d.ts +6 -0
  89. package/dist/types/ui/hooks/useEmailLink.d.ts +11 -0
  90. package/dist/types/ui/hooks/useFetch.d.ts +44 -0
  91. package/dist/types/ui/hooks/useLoadingStatus.d.ts +14 -0
  92. package/dist/types/ui/hooks/useNavigateToFlowStart.d.ts +3 -0
  93. package/dist/types/ui/hooks/useSafeState.d.ts +9 -0
  94. package/dist/types/ui/hooks/useWindowEventListener.d.ts +3 -0
  95. package/dist/types/ui/icons/index.d.ts +13 -0
  96. package/dist/types/ui/lazyLoading/common.d.ts +2 -0
  97. package/dist/types/ui/lazyLoading/components.d.ts +11 -0
  98. package/dist/types/ui/lazyLoading/providersCtx.d.ts +26 -0
  99. package/dist/types/ui/portal/index.d.ts +12 -0
  100. package/dist/types/ui/router/BaseRouter.d.ts +21 -0
  101. package/dist/types/ui/router/HashRouter.d.ts +8 -0
  102. package/dist/types/ui/router/PathRouter.d.ts +8 -0
  103. package/dist/types/ui/router/Route.d.ts +19 -0
  104. package/dist/types/ui/router/RouterCtx.d.ts +32 -0
  105. package/dist/types/ui/router/Switch.d.ts +4 -0
  106. package/dist/types/ui/router/index.d.ts +7 -0
  107. package/dist/types/ui/router/newPaths.d.ts +1 -0
  108. package/dist/types/ui/router/pathToRegexp.d.ts +127 -0
  109. package/dist/types/ui/types.d.ts +18 -0
  110. package/dist/types/ui/utils/form.d.ts +19 -0
  111. package/dist/types/ui/utils/index.d.ts +1 -0
  112. package/dist/types/ui/utils/sleep.d.ts +1 -0
  113. package/dist/types/utils/construct.d.ts +3 -1
  114. package/dist/types/utils/index.d.ts +1 -1
  115. package/dist/types/utils/normalizeRoutingOptions.d.ts +6 -0
  116. package/dist/types/utils/path.d.ts +0 -1
  117. package/dist/types/utils/querystring.d.ts +0 -1
  118. package/dist/types/utils/redirectUrls.d.ts +4 -9
  119. package/dist/types/utils/windowNavigate.d.ts +0 -1
  120. package/dist/ui-common_ternsecure_b693ad_1.1.0-canary.v20251127221555.js +1 -0
  121. package/dist/userbutton_ternsecure_b693ad_1.1.0-canary.v20251127221555.js +1 -0
  122. package/dist/vendors_ternsecure_b693ad_1.1.0-canary.v20251127221555.js +1 -0
  123. package/package.json +63 -24
  124. package/dist/cjs/auth/AuthCookieManager.js +0 -113
  125. package/dist/cjs/auth/AuthCookieManager.js.map +0 -1
  126. package/dist/cjs/auth/cookies/authTime_cookie.js +0 -62
  127. package/dist/cjs/auth/cookies/authTime_cookie.js.map +0 -1
  128. package/dist/cjs/auth/request.js +0 -159
  129. package/dist/cjs/auth/request.js.map +0 -1
  130. package/dist/cjs/global.d.js +0 -2
  131. package/dist/cjs/global.d.js.map +0 -1
  132. package/dist/cjs/index.js +0 -47
  133. package/dist/cjs/index.js.map +0 -1
  134. package/dist/cjs/instance/TernAuth.js +0 -524
  135. package/dist/cjs/instance/TernAuth.js.map +0 -1
  136. package/dist/cjs/instance/TernAuthServer.js +0 -95
  137. package/dist/cjs/instance/TernAuthServer.js.map +0 -1
  138. package/dist/cjs/instance/c_coreApiClient.js +0 -264
  139. package/dist/cjs/instance/c_coreApiClient.js.map +0 -1
  140. package/dist/cjs/instance/coreApiClient.js +0 -255
  141. package/dist/cjs/instance/coreApiClient.js.map +0 -1
  142. package/dist/cjs/instance/events.js +0 -39
  143. package/dist/cjs/instance/events.js.map +0 -1
  144. package/dist/cjs/instance/jwtClient.js +0 -72
  145. package/dist/cjs/instance/jwtClient.js.map +0 -1
  146. package/dist/cjs/resources/Base.js +0 -137
  147. package/dist/cjs/resources/Base.js.map +0 -1
  148. package/dist/cjs/resources/Error.js +0 -31
  149. package/dist/cjs/resources/Error.js.map +0 -1
  150. package/dist/cjs/resources/Session.js +0 -105
  151. package/dist/cjs/resources/Session.js.map +0 -1
  152. package/dist/cjs/resources/SignIn.js +0 -256
  153. package/dist/cjs/resources/SignIn.js.map +0 -1
  154. package/dist/cjs/resources/SignUp.js +0 -72
  155. package/dist/cjs/resources/SignUp.js.map +0 -1
  156. package/dist/cjs/resources/Token.js +0 -32
  157. package/dist/cjs/resources/Token.js.map +0 -1
  158. package/dist/cjs/resources/UserData.js +0 -43
  159. package/dist/cjs/resources/UserData.js.map +0 -1
  160. package/dist/cjs/resources/cookie.js +0 -154
  161. package/dist/cjs/resources/cookie.js.map +0 -1
  162. package/dist/cjs/resources/index.js +0 -23
  163. package/dist/cjs/resources/index.js.map +0 -1
  164. package/dist/cjs/resources/internal.js +0 -35
  165. package/dist/cjs/resources/internal.js.map +0 -1
  166. package/dist/cjs/utils/construct.js +0 -253
  167. package/dist/cjs/utils/construct.js.map +0 -1
  168. package/dist/cjs/utils/index.js +0 -29
  169. package/dist/cjs/utils/index.js.map +0 -1
  170. package/dist/cjs/utils/jwt.js +0 -46
  171. package/dist/cjs/utils/jwt.js.map +0 -1
  172. package/dist/cjs/utils/mapDecode.js +0 -33
  173. package/dist/cjs/utils/mapDecode.js.map +0 -1
  174. package/dist/cjs/utils/path.js +0 -33
  175. package/dist/cjs/utils/path.js.map +0 -1
  176. package/dist/cjs/utils/querystring.js +0 -70
  177. package/dist/cjs/utils/querystring.js.map +0 -1
  178. package/dist/cjs/utils/redirectUrls.js +0 -156
  179. package/dist/cjs/utils/redirectUrls.js.map +0 -1
  180. package/dist/cjs/utils/windowNavigate.js +0 -45
  181. package/dist/cjs/utils/windowNavigate.js.map +0 -1
  182. package/dist/esm/auth/AuthCookieManager.js +0 -89
  183. package/dist/esm/auth/AuthCookieManager.js.map +0 -1
  184. package/dist/esm/auth/cookies/authTime_cookie.js +0 -38
  185. package/dist/esm/auth/cookies/authTime_cookie.js.map +0 -1
  186. package/dist/esm/auth/request.js +0 -134
  187. package/dist/esm/auth/request.js.map +0 -1
  188. package/dist/esm/global.d.js +0 -1
  189. package/dist/esm/global.d.js.map +0 -1
  190. package/dist/esm/index.js +0 -16
  191. package/dist/esm/index.js.map +0 -1
  192. package/dist/esm/instance/TernAuth.js +0 -510
  193. package/dist/esm/instance/TernAuth.js.map +0 -1
  194. package/dist/esm/instance/TernAuthServer.js +0 -73
  195. package/dist/esm/instance/TernAuthServer.js.map +0 -1
  196. package/dist/esm/instance/c_coreApiClient.js +0 -236
  197. package/dist/esm/instance/c_coreApiClient.js.map +0 -1
  198. package/dist/esm/instance/coreApiClient.js +0 -226
  199. package/dist/esm/instance/coreApiClient.js.map +0 -1
  200. package/dist/esm/instance/events.js +0 -14
  201. package/dist/esm/instance/events.js.map +0 -1
  202. package/dist/esm/instance/jwtClient.js +0 -47
  203. package/dist/esm/instance/jwtClient.js.map +0 -1
  204. package/dist/esm/resources/Base.js +0 -113
  205. package/dist/esm/resources/Base.js.map +0 -1
  206. package/dist/esm/resources/Error.js +0 -9
  207. package/dist/esm/resources/Error.js.map +0 -1
  208. package/dist/esm/resources/Session.js +0 -81
  209. package/dist/esm/resources/Session.js.map +0 -1
  210. package/dist/esm/resources/SignIn.js +0 -240
  211. package/dist/esm/resources/SignIn.js.map +0 -1
  212. package/dist/esm/resources/SignUp.js +0 -48
  213. package/dist/esm/resources/SignUp.js.map +0 -1
  214. package/dist/esm/resources/Token.js +0 -8
  215. package/dist/esm/resources/Token.js.map +0 -1
  216. package/dist/esm/resources/UserData.js +0 -19
  217. package/dist/esm/resources/UserData.js.map +0 -1
  218. package/dist/esm/resources/cookie.js +0 -130
  219. package/dist/esm/resources/cookie.js.map +0 -1
  220. package/dist/esm/resources/index.js +0 -2
  221. package/dist/esm/resources/index.js.map +0 -1
  222. package/dist/esm/resources/internal.js +0 -8
  223. package/dist/esm/resources/internal.js.map +0 -1
  224. package/dist/esm/utils/construct.js +0 -215
  225. package/dist/esm/utils/construct.js.map +0 -1
  226. package/dist/esm/utils/index.js +0 -5
  227. package/dist/esm/utils/index.js.map +0 -1
  228. package/dist/esm/utils/jwt.js +0 -22
  229. package/dist/esm/utils/jwt.js.map +0 -1
  230. package/dist/esm/utils/mapDecode.js +0 -9
  231. package/dist/esm/utils/mapDecode.js.map +0 -1
  232. package/dist/esm/utils/path.js +0 -9
  233. package/dist/esm/utils/path.js.map +0 -1
  234. package/dist/esm/utils/querystring.js +0 -45
  235. package/dist/esm/utils/querystring.js.map +0 -1
  236. package/dist/esm/utils/redirectUrls.js +0 -132
  237. package/dist/esm/utils/redirectUrls.js.map +0 -1
  238. package/dist/esm/utils/windowNavigate.js +0 -19
  239. package/dist/esm/utils/windowNavigate.js.map +0 -1
  240. package/dist/types/auth/AuthCookieManager.d.ts.map +0 -1
  241. package/dist/types/auth/cookies/authTime_cookie.d.ts.map +0 -1
  242. package/dist/types/auth/request.d.ts +0 -49
  243. package/dist/types/auth/request.d.ts.map +0 -1
  244. package/dist/types/index.d.ts.map +0 -1
  245. package/dist/types/instance/TernAuth.d.ts.map +0 -1
  246. package/dist/types/instance/TernAuthServer.d.ts +0 -32
  247. package/dist/types/instance/TernAuthServer.d.ts.map +0 -1
  248. package/dist/types/instance/c_coreApiClient.d.ts.map +0 -1
  249. package/dist/types/instance/coreApiClient.d.ts.map +0 -1
  250. package/dist/types/instance/events.d.ts.map +0 -1
  251. package/dist/types/instance/jwtClient.d.ts +0 -22
  252. package/dist/types/instance/jwtClient.d.ts.map +0 -1
  253. package/dist/types/resources/Base.d.ts.map +0 -1
  254. package/dist/types/resources/Error.d.ts.map +0 -1
  255. package/dist/types/resources/Session.d.ts.map +0 -1
  256. package/dist/types/resources/SignIn.d.ts.map +0 -1
  257. package/dist/types/resources/SignUp.d.ts.map +0 -1
  258. package/dist/types/resources/Token.d.ts +0 -5
  259. package/dist/types/resources/Token.d.ts.map +0 -1
  260. package/dist/types/resources/UserData.d.ts +0 -8
  261. package/dist/types/resources/UserData.d.ts.map +0 -1
  262. package/dist/types/resources/cookie.d.ts +0 -24
  263. package/dist/types/resources/cookie.d.ts.map +0 -1
  264. package/dist/types/resources/index.d.ts +0 -2
  265. package/dist/types/resources/index.d.ts.map +0 -1
  266. package/dist/types/resources/internal.d.ts.map +0 -1
  267. package/dist/types/utils/construct.d.ts.map +0 -1
  268. package/dist/types/utils/index.d.ts.map +0 -1
  269. package/dist/types/utils/jwt.d.ts +0 -12
  270. package/dist/types/utils/jwt.d.ts.map +0 -1
  271. package/dist/types/utils/mapDecode.d.ts +0 -4
  272. package/dist/types/utils/mapDecode.d.ts.map +0 -1
  273. package/dist/types/utils/path.d.ts.map +0 -1
  274. package/dist/types/utils/querystring.d.ts.map +0 -1
  275. package/dist/types/utils/redirectUrls.d.ts.map +0 -1
  276. package/dist/types/utils/windowNavigate.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_tern_secure_auth=globalThis.webpackChunk_tern_secure_auth||[]).push([["545"],{2845:function(e,t,r){var i=r(4105),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=i.useState,n=i.useEffect,a=i.useLayoutEffect,l=i.useDebugValue;function d(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!s(e,r)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),i=o({inst:{value:r,getSnapshot:t}}),s=i[0].inst,u=i[1];return a(function(){s.value=r,s.getSnapshot=t,d(s)&&u({inst:s})},[e,r,t]),n(function(){return d(s)&&u({inst:s}),e(function(){d(s)&&u({inst:s})})},[e]),l(r),r};t.useSyncExternalStore=void 0!==i.useSyncExternalStore?i.useSyncExternalStore:u},5330:function(e,t,r){var i=r(4105),s=r(7856),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},n=s.useSyncExternalStore,a=i.useRef,l=i.useEffect,d=i.useMemo,u=i.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,r,i,s){var c=a(null);if(null===c.current){var h={hasValue:!1,value:null};c.current=h}else h=c.current;var f=n(e,(c=d(function(){function e(e){if(!l){if(l=!0,n=e,e=i(e),void 0!==s&&h.hasValue){var t=h.value;if(s(t,e))return a=t}return a=e}if(t=a,o(n,e))return t;var r=i(e);return void 0!==s&&s(t,r)?(n=e,t):(n=e,a=r)}var n,a,l=!1,d=void 0===r?null:r;return[function(){return e(t())},null===d?void 0:function(){return e(d())}]},[t,r,i,s]))[0],c[1]);return l(function(){h.hasValue=!0,h.value=f},[f]),u(f),f}},7856:function(e,t,r){e.exports=r(2845)},2346:function(e,t,r){e.exports=r(5330)},7735:function(e,t,r){r.d(t,{bL:()=>S,H4:()=>x,_V:()=>M});var i=r(4105),s=r(4557),o=globalThis?.document?i.useLayoutEffect:()=>{};r(3923);var n=r(3778),a=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=(0,n.TL)(`Primitive.${t}`),o=i.forwardRef((e,i)=>{let{asChild:o,...n}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,s.jsx)(o?r:t,{...n,ref:i})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{}),l=r(7856);function d(){return()=>{}}var u="Avatar",[c,h]=function(e,t=[]){let r=[],o=()=>{let t=r.map(e=>i.createContext(e));return function(r){let s=r?.[e]||t;return i.useMemo(()=>({[`__scope${e}`]:{...r,[e]:s}}),[r,s])}};return o.scopeName=e,[function(t,o){let n=i.createContext(o);n.displayName=t+"Context";let a=r.length;r=[...r,o];let l=t=>{let{scope:r,children:o,...l}=t,d=r?.[e]?.[a]||n,u=i.useMemo(()=>l,Object.values(l));return(0,s.jsx)(d.Provider,{value:u,children:o})};return l.displayName=t+"Provider",[l,function(r,s){let l=s?.[e]?.[a]||n,d=i.useContext(l);if(d)return d;if(void 0!==o)return o;throw Error(`\`${r}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let r=()=>{let r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let s=r.reduce((t,{useScope:r,scopeName:i})=>{let s=r(e)[`__scope${i}`];return{...t,...s}},{});return i.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return r.scopeName=t.scopeName,r}(o,...t)]}(u),[f,p]=c(u),m=i.forwardRef((e,t)=>{let{__scopeAvatar:r,...o}=e,[n,l]=i.useState("idle");return(0,s.jsx)(f,{scope:r,imageLoadingStatus:n,onImageLoadingStatusChange:l,children:(0,s.jsx)(a.span,{...o,ref:t})})});m.displayName=u;var v="AvatarImage",g=i.forwardRef((e,t)=>{var r;let n,{__scopeAvatar:u,src:c,onLoadingStatusChange:h=()=>{},...f}=e,m=p(v,u),g=function(e,{referrerPolicy:t,crossOrigin:r}){let s=(0,l.useSyncExternalStore)(d,()=>!0,()=>!1),n=i.useRef(null),a=s?(n.current||(n.current=new window.Image),n.current):null,[u,c]=i.useState(()=>w(a,e));return o(()=>{c(w(a,e))},[a,e]),o(()=>{let e=e=>()=>{c(e)};if(!a)return;let i=e("loaded"),s=e("error");return a.addEventListener("load",i),a.addEventListener("error",s),t&&(a.referrerPolicy=t),"string"==typeof r&&(a.crossOrigin=r),()=>{a.removeEventListener("load",i),a.removeEventListener("error",s)}},[a,r,t]),u}(c,f),b=(r=e=>{h(e),m.onImageLoadingStatusChange(e)},n=i.useRef(r),i.useEffect(()=>{n.current=r}),i.useMemo(()=>(...e)=>n.current?.(...e),[]));return o(()=>{"idle"!==g&&b(g)},[g,b]),"loaded"===g?(0,s.jsx)(a.img,{...f,ref:t,src:c}):null});g.displayName=v;var b="AvatarFallback",y=i.forwardRef((e,t)=>{let{__scopeAvatar:r,delayMs:o,...n}=e,l=p(b,r),[d,u]=i.useState(void 0===o);return i.useEffect(()=>{if(void 0!==o){let e=window.setTimeout(()=>u(!0),o);return()=>window.clearTimeout(e)}},[o]),d&&"loaded"!==l.imageLoadingStatus?(0,s.jsx)(a.span,{...n,ref:t}):null});function w(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}y.displayName=b;var S=m,M=g,x=y},7197:function(e,t,r){function i(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function s(...e){return t=>{let r=!1,s=e.map(e=>{let s=i(e,t);return r||"function"!=typeof s||(r=!0),s});if(r)return()=>{for(let t=0;t<s.length;t++){let r=s[t];"function"==typeof r?r():i(e[t],null)}}}}r.d(t,{t:()=>s}),r(4105)},9348:function(e,t,r){r.d(t,{b:()=>a});var i=r(4105),s=r(6264),o=r(4557),n=i.forwardRef((e,t)=>(0,o.jsx)(s.sG.label,{...e,ref:t,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));n.displayName="Label";var a=n},6264:function(e,t,r){r.d(t,{sG:()=>l});var i=r(4105);r(3923);var s=r(7197),o=r(4557),n=Symbol("radix.slottable");function a(e){return i.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===n}var l=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{var r,n;let l,d,u,c=(n=r=`Primitive.${t}`,(l=i.forwardRef((e,t)=>{let{children:r,...o}=e;if(i.isValidElement(r)){var n;let e,a,l=(n=r,(a=(e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?n.ref:(a=(e=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?n.props.ref:n.props.ref||n.ref),d=function(e,t){let r={...t};for(let i in t){let s=e[i],o=t[i];/^on[A-Z]/.test(i)?s&&o?r[i]=(...e)=>{let t=o(...e);return s(...e),t}:s&&(r[i]=s):"style"===i?r[i]={...s,...o}:"className"===i&&(r[i]=[s,o].filter(Boolean).join(" "))}return{...e,...r}}(o,r.props);return r.type!==i.Fragment&&(d.ref=t?(0,s.t)(t,l):l),i.cloneElement(r,d)}return i.Children.count(r)>1?i.Children.only(null):null})).displayName=`${n}.SlotClone`,d=l,(u=i.forwardRef((e,t)=>{let{children:r,...s}=e,n=i.Children.toArray(r),l=n.find(a);if(l){let e=l.props.children,r=n.map(t=>t!==l?t:i.Children.count(e)>1?i.Children.only(null):i.isValidElement(e)?e.props.children:null);return(0,o.jsx)(d,{...s,ref:t,children:i.isValidElement(e)?i.cloneElement(e,void 0,r):null})}return(0,o.jsx)(d,{...s,ref:t,children:r})})).displayName=`${r}.Slot`,u),h=i.forwardRef((e,r)=>{let{asChild:i,...s}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,o.jsx)(i?c:t,{...s,ref:r})});return h.displayName=`Primitive.${t}`,{...e,[t]:h}},{})},8799:function(e,t,r){r.d(t,{b:()=>d});var i=r(4105),s=r(6264),o=r(4557),n="horizontal",a=["horizontal","vertical"],l=i.forwardRef((e,t)=>{var r;let{decorative:i,orientation:l=n,...d}=e,u=(r=l,a.includes(r))?l:n;return(0,o.jsx)(s.sG.div,{"data-orientation":u,...i?{role:"none"}:{"aria-orientation":"vertical"===u?u:void 0,role:"separator"},...d,ref:t})});l.displayName="Separator";var d=l},3778:function(e,t,r){r.d(t,{DX:()=>c,TL:()=>u});var i,s=r(4105),o=r(7197),n=r(4557),a=Symbol.for("react.lazy"),l=(i||(i=r.t(s,2)))[" use ".trim().toString()];function d(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===a&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}function u(e){var t;let r,i=(t=e,(r=s.forwardRef((e,t)=>{let{children:r,...i}=e;if(d(r)&&"function"==typeof l&&(r=l(r._payload)),s.isValidElement(r)){var n;let e,a,l=(n=r,(a=(e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?n.ref:(a=(e=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?n.props.ref:n.props.ref||n.ref),d=function(e,t){let r={...t};for(let i in t){let s=e[i],o=t[i];/^on[A-Z]/.test(i)?s&&o?r[i]=(...e)=>{let t=o(...e);return s(...e),t}:s&&(r[i]=s):"style"===i?r[i]={...s,...o}:"className"===i&&(r[i]=[s,o].filter(Boolean).join(" "))}return{...e,...r}}(i,r.props);return r.type!==s.Fragment&&(d.ref=t?(0,o.t)(t,l):l),s.cloneElement(r,d)}return s.Children.count(r)>1?s.Children.only(null):null})).displayName=`${t}.SlotClone`,r),a=s.forwardRef((e,t)=>{let{children:r,...o}=e;d(r)&&"function"==typeof l&&(r=l(r._payload));let a=s.Children.toArray(r),u=a.find(f);if(u){let e=u.props.children,r=a.map(t=>t!==u?t:s.Children.count(e)>1?s.Children.only(null):s.isValidElement(e)?e.props.children:null);return(0,n.jsx)(i,{...o,ref:t,children:s.isValidElement(e)?s.cloneElement(e,void 0,r):null})}return(0,n.jsx)(i,{...o,ref:t,children:r})});return a.displayName=`${e}.Slot`,a}var c=u("Slot"),h=Symbol("radix.slottable");function f(e){return s.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===h}},6642:function(e,t,r){let i;r.d(t,{K:()=>ev,s:()=>em});var s=r(4557),o=r(4105);function n(e,t){return"function"==typeof e?e(t):e}function a(e,t){return v(t).reduce((e,t)=>null===e?null:void 0!==e?e[t]:void 0,e)}function l(e,t,r){let i=v(t);return function e(t){if(!i.length)return n(r,t);let s=i.shift();if("string"==typeof s||"number"==typeof s&&!Array.isArray(t))return"object"==typeof t?(null===t&&(t={}),{...t,[s]:e(t[s])}):{[s]:e()};if(Array.isArray(t)&&"number"==typeof s){let r=t.slice(0,s);return[...r.length?r:Array(s),e(t[s]),...t.slice(s+1)]}return[...Array(s),e()]}(e)}let d=/^(\d+)$/gm,u=/\.(\d+)(?=\.)/gm,c=/^(\d+)\./gm,h=/\.(\d+$)/gm,f=/\.{2,}/gm,p="__int__",m=`${p}$1`;function v(e){if(Array.isArray(e))return[...e];if("string"!=typeof e)throw Error("Path must be a string.");return e.replace(/(^\[)|]/gm,"").replace(/\[/g,".").replace(d,m).replace(u,`.${m}.`).replace(c,`${m}.`).replace(h,`.${m}`).replace(f,".").split(".").map(e=>{if(e.startsWith(p)){let t=e.substring(p.length),r=parseInt(t,10);return String(r)===t?r:t}return e})}function g(e,t){return 0===e.length?t:0===t.length?e:t.startsWith("[")||t.startsWith(".")?e+t:`${e}.${t}`}function b(e,t){return t.validationLogic({form:t.form,validators:t.validators,event:{type:e,async:!1},runValidation:e=>e.validators.filter(Boolean).map(e=>({cause:e.cause,validate:e.fn}))})}function y(e,t){let{asyncDebounceMs:r}=t,{onBlurAsyncDebounceMs:i,onChangeAsyncDebounceMs:s,onDynamicAsyncDebounceMs:o}=t.validators||{},n=r??0;return t.validationLogic({form:t.form,validators:t.validators,event:{type:e,async:!0},runValidation:t=>t.validators.filter(Boolean).map(t=>{let r=t?.cause||e,a=n;switch(r){case"change":a=s??n;break;case"blur":a=i??n;break;case"dynamic":a=o??n;break;case"submit":a=0}return"submit"===e&&(a=0),{cause:r,validate:t.fn,debounceMs:a}})})}let w=e=>!!e&&"object"==typeof e&&"fields"in e;function S(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[r,i]of e)if(!t.has(r)||!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let r of e)if(!t.has(r))return!1;return!0}let r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;for(let s of r)if(!i.includes(s)||!S(e[s],t[s]))return!1;return!0}let M=({newFormValidatorError:e,isPreviousErrorFromFormValidator:t,previousErrorValue:r})=>e?{newErrorValue:e,newSource:"form"}:t?{newErrorValue:void 0,newSource:void 0}:r?{newErrorValue:r,newSource:"field"}:{newErrorValue:void 0,newSource:void 0},x=({formLevelError:e,fieldLevelError:t})=>t?{newErrorValue:t,newSource:"field"}:e?{newErrorValue:e,newSource:"form"}:{newErrorValue:void 0,newSource:void 0};function F(e,t){return null==e?t:{...e,...t}}let V=256,E=[];for(;V--;)E[V]=(V+256).toString(16).substring(1);class A{constructor(e,t){this.listeners=new Set,this.subscribe=e=>{var t,r;this.listeners.add(e);let i=null==(r=null==(t=this.options)?void 0:t.onSubscribe)?void 0:r.call(t,e,this);return()=>{this.listeners.delete(e),null==i||i()}},this.prevState=e,this.state=e,this.options=t}setState(e){var t,r,i;(this.prevState=this.state,null==(t=this.options)?void 0:t.updateFn)?this.state=this.options.updateFn(this.prevState)(e):"function"==typeof e?this.state=e(this.prevState):this.state=e,null==(i=null==(r=this.options)?void 0:r.onUpdate)||i.call(r),$(this)}}class I{constructor(e){this.listeners=new Set,this._subscriptions=[],this.lastSeenDepValues=[],this.getDepVals=()=>{let e=this.options.deps.length,t=Array(e),r=Array(e);for(let i=0;i<e;i++){let e=this.options.deps[i];t[i]=e.prevState,r[i]=e.state}return this.lastSeenDepValues=r,{prevDepVals:t,currDepVals:r,prevVal:this.prevState??void 0}},this.recompute=()=>{var e,t;this.prevState=this.state;let r=this.getDepVals();this.state=this.options.fn(r),null==(t=(e=this.options).onUpdate)||t.call(e)},this.checkIfRecalculationNeededDeeply=()=>{for(let e of this.options.deps)e instanceof I&&e.checkIfRecalculationNeededDeeply();let e=!1,t=this.lastSeenDepValues,{currDepVals:r}=this.getDepVals();for(let i=0;i<r.length;i++)if(r[i]!==t[i]){e=!0;break}e&&this.recompute()},this.mount=()=>(this.registerOnGraph(),this.checkIfRecalculationNeededDeeply(),()=>{for(let e of(this.unregisterFromGraph(),this._subscriptions))e()}),this.subscribe=e=>{var t,r;this.listeners.add(e);let i=null==(r=(t=this.options).onSubscribe)?void 0:r.call(t,e,this);return()=>{this.listeners.delete(e),null==i||i()}},this.options=e,this.state=e.fn({prevDepVals:void 0,prevVal:void 0,currDepVals:this.getDepVals().currDepVals})}registerOnGraph(e=this.options.deps){for(let t of e)if(t instanceof I)t.registerOnGraph(),this.registerOnGraph(t.options.deps);else if(t instanceof A){let e=k.get(t);e||(e=new Set,k.set(t,e)),e.add(this);let r=L.get(this);r||(r=new Set,L.set(this,r)),r.add(t)}}unregisterFromGraph(e=this.options.deps){for(let t of e)if(t instanceof I)this.unregisterFromGraph(t.options.deps);else if(t instanceof A){let e=k.get(t);e&&e.delete(this);let r=L.get(this);r&&r.delete(t)}}}let k=new WeakMap,L=new WeakMap,j={current:[]},C=!1,T=0,O=new Set,_=new Map;function $(e){if((T>0&&!_.has(e)&&_.set(e,e.prevState),O.add(e),!(T>0))&&!C)try{for(C=!0;O.size>0;){let e=Array.from(O);for(let t of(O.clear(),e)){let e=_.get(t)??t.prevState;t.prevState=e,function(e){let t={prevVal:e.prevState,currentVal:e.state};for(let r of e.listeners)r(t)}(t)}for(let t of e){let e=k.get(t);e&&(j.current.push(t),function e(t){for(let r of Array.from(t).sort((e,t)=>e instanceof I&&e.options.deps.includes(t)?1:t instanceof I&&t.options.deps.includes(e)?-1:0)){if(j.current.includes(r))continue;j.current.push(r),r.recompute();let t=L.get(r);if(t)for(let r of t){let t=k.get(r);t&&e(t)}}}(e))}for(let t of e){let e=k.get(t);if(e)for(let t of e)!function(e){let t={prevVal:e.prevState,currentVal:e.state};for(let r of e.listeners)r(t)}(t)}}}finally{C=!1,j.current=[],_.clear()}}function N(e){T++;try{e()}finally{if(0==--T){let e=O.values().next().value;e&&$(e)}}}function z(e,...t){return"function"==typeof e?e(...t):e}class P{#e=!0;#t;#r;#i;#s;#o;#n;#a;#l=0;#d=5;#u=!1;#c=()=>{this.debugLog("Connected to event bus"),this.#o=!0,this.#u=!1,this.debugLog("Emitting queued events",this.#s),this.#s.forEach(e=>this.emitEventToBus(e)),this.#s=[],this.stopConnectLoop(),this.#r().removeEventListener("tanstack-connect-success",this.#c)};#h=()=>{if(this.#l<this.#d){this.#l++,this.dispatchCustomEvent("tanstack-connect",{});return}this.#r().removeEventListener("tanstack-connect",this.#h),this.debugLog("Max retries reached, giving up on connection"),this.stopConnectLoop()};#f=()=>{this.#u||(this.#u=!0,this.#r().addEventListener("tanstack-connect-success",this.#c),this.#h())};constructor({pluginId:e,debug:t=!1,enabled:r=!0,reconnectEveryMs:i=300}){this.#t=e,this.#e=r,this.#r=this.getGlobalTarget,this.#i=t,this.debugLog(" Initializing event subscription for plugin",this.#t),this.#s=[],this.#o=!1,this.#n=null,this.#a=i}startConnectLoop(){null!==this.#n||this.#o||(this.debugLog(`Starting connect loop (every ${this.#a}ms)`),this.#n=setInterval(this.#h,this.#a))}stopConnectLoop(){this.#u=!1,null!==this.#n&&(clearInterval(this.#n),this.#n=null,this.debugLog("Stopped connect loop"))}debugLog(...e){this.#i&&console.log(`🌴 [tanstack-devtools:${this.#t}-plugin]`,...e)}getGlobalTarget(){if("undefined"!=typeof globalThis&&globalThis.__TANSTACK_EVENT_TARGET__)return this.debugLog("Using global event target"),globalThis.__TANSTACK_EVENT_TARGET__;if("undefined"!=typeof window&&void 0!==window.addEventListener)return this.debugLog("Using window as event target"),window;let e="undefined"!=typeof EventTarget?new EventTarget:void 0;return void 0===e||void 0===e.addEventListener?(this.debugLog("No event mechanism available, running in non-web environment"),{addEventListener:()=>{},removeEventListener:()=>{},dispatchEvent:()=>!1}):(this.debugLog("Using new EventTarget as fallback"),e)}getPluginId(){return this.#t}dispatchCustomEventShim(e,t){try{let r=new Event(e,{detail:t});this.#r().dispatchEvent(r)}catch(e){this.debugLog("Failed to dispatch shim event")}}dispatchCustomEvent(e,t){try{this.#r().dispatchEvent(new CustomEvent(e,{detail:t}))}catch(r){this.dispatchCustomEventShim(e,t)}}emitEventToBus(e){this.debugLog("Emitting event to client bus",e),this.dispatchCustomEvent("tanstack-dispatch-event",e)}emit(e,t){if(!this.#e)return void this.debugLog("Event bus client is disabled, not emitting event",e,t);if(!this.#o){this.debugLog("Bus not available, will be pushed as soon as connected"),this.#s.push({type:`${this.#t}:${e}`,payload:t,pluginId:this.#t}),"undefined"==typeof CustomEvent||this.#u||(this.#f(),this.startConnectLoop());return}return this.emitEventToBus({type:`${this.#t}:${e}`,payload:t,pluginId:this.#t})}on(e,t){let r=`${this.#t}:${e}`;if(!this.#e)return this.debugLog("Event bus client is disabled, not registering event",r),()=>{};let i=e=>{this.debugLog("Received event from bus",e.detail),t(e.detail)};return this.#r().addEventListener(r,i),this.debugLog("Registered event to bus",r),()=>{this.#r().removeEventListener(r,i)}}onAll(e){if(!this.#e)return this.debugLog("Event bus client is disabled, not registering event"),()=>{};let t=t=>{e(t.detail)};return this.#r().addEventListener("tanstack-devtools-global",t),()=>this.#r().removeEventListener("tanstack-devtools-global",t)}onAllPluginEvents(e){if(!this.#e)return this.debugLog("Event bus client is disabled, not registering event"),()=>{};let t=t=>{let r=t.detail;this.#t&&r.pluginId!==this.#t||e(r)};return this.#r().addEventListener("tanstack-devtools-global",t),()=>this.#r().removeEventListener("tanstack-devtools-global",t)}}let D=new class extends P{constructor(e){super({pluginId:"pacer",debug:e?.debug})}};function R(){return{executionCount:0,isPending:!1,lastArgs:void 0,lastExecutionTime:0,nextExecutionTime:0,status:"idle",maybeExecuteCount:0}}let B={enabled:!0,leading:!0,trailing:!0,wait:0};class W{constructor(e,t){this.fn=e,this.store=new A(R()),this.setOptions=e=>{this.options={...this.options,...e},this.#p()||this.cancel()},this.#m=e=>{this.store.setState(t=>{let r={...t,...e},{isPending:i}=r;return{...r,status:this.#p()?i?"pending":"idle":"disabled"}}),D.emit("Throttler",this)},this.#p=()=>!!z(this.options.enabled,this),this.#v=()=>z(this.options.wait,this),this.maybeExecute=(...e)=>{this.#m({maybeExecuteCount:this.store.state.maybeExecuteCount+1});let t=Date.now(),r=t-this.store.state.lastExecutionTime,i=this.#v();if(this.options.leading&&r>=i)this.#g(...e);else if(this.#m({lastArgs:e}),!this.#b&&this.options.trailing){let e=this.store.state.lastExecutionTime?t-this.store.state.lastExecutionTime:0;this.#m({isPending:!0}),this.#b=setTimeout(()=>{let{lastArgs:e}=this.store.state;void 0!==e&&this.#g(...e)},i-e)}},this.#g=(...e)=>{if(!this.#p())return;this.fn(...e);let t=Date.now(),r=t+this.#v();this.#y(),this.#m({executionCount:this.store.state.executionCount+1,lastExecutionTime:t,nextExecutionTime:r,isPending:!1,lastArgs:void 0}),this.options.onExecute?.(e,this),setTimeout(()=>{this.store.state.isPending||this.#m({nextExecutionTime:void 0})},this.#v())},this.flush=()=>{this.store.state.isPending&&this.store.state.lastArgs&&this.#g(...this.store.state.lastArgs)},this.#y=()=>{this.#b&&(clearTimeout(this.#b),this.#b=void 0)},this.cancel=()=>{this.#y(),this.#m({lastArgs:void 0,isPending:!1})},this.reset=()=>{this.#m(R())},this.key=function(e){return e||("undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"")}(t.key),this.options={...B,...t},this.#m(this.options.initialState??{}),D.on("d-Throttler",e=>{e.payload.key===this.key&&(this.#m(e.payload.store.state),this.setOptions(e.payload.options))})}#b;#m;#p;#v;#g;#y}let G=e=>{if(!e.validators)return e.runValidation({validators:[],form:e.form});let t=e.event.async,r=t?void 0:{fn:e.validators.onMount,cause:"mount"},i={fn:t?e.validators.onChangeAsync:e.validators.onChange,cause:"change"},s={fn:t?e.validators.onBlurAsync:e.validators.onBlur,cause:"blur"},o={fn:t?e.validators.onSubmitAsync:e.validators.onSubmit,cause:"submit"},n=t?void 0:{fn:()=>void 0,cause:"server"};switch(e.event.type){case"mount":return e.runValidation({validators:[r],form:e.form});case"submit":return e.runValidation({validators:[i,s,o,n],form:e.form});case"server":return e.runValidation({validators:[],form:e.form});case"blur":return e.runValidation({validators:[s,n],form:e.form});case"change":return e.runValidation({validators:[i,n],form:e.form});default:throw Error(`Unknown validation event type: ${e.event.type}`)}},U=(e,t)=>{let r=function(e,t){let r=new Map;for(let i of e){let e=i.path??[],s=t,o="";for(let t=0;t<e.length;t++){let r=e[t];if(void 0===r)continue;let i="object"==typeof r?r.key:r,n=Number(i);Array.isArray(s)&&!Number.isNaN(n)?o+=`[${n}]`:o+=(t>0?".":"")+String(i),s="object"==typeof s&&null!==s?s[i]:void 0}r.set(o,(r.get(o)??[]).concat(i))}return Object.fromEntries(r)}(e,t);return{form:r,fields:r}},q={validate({value:e,validationSource:t},r){let i=r["~standard"].validate(e);if(i instanceof Promise)throw Error("async function passed to sync validator");if(i.issues)return"field"===t?i.issues:U(i.issues,e)},async validateAsync({value:e,validationSource:t},r){let i=await r["~standard"].validate(e);if(i.issues)return"field"===t?i.issues:U(i.issues,e)}},H=e=>!!e&&"~standard"in e,K={isValidating:!1,isTouched:!1,isBlurred:!1,isDirty:!1,isPristine:!0,isValid:!0,isDefaultValue:!0,errors:[],errorMap:{},errorSourceMap:{}};function Z(e){function t(e,t){return`${e}[${t}]`}function r(t,r){("up"===r?t:[...t].reverse()).forEach(t=>{var s;let o=(s=t.toString(),s.replace(/\[(\d+)\]/,(e,t)=>{let i=parseInt(t,10),s="up"===r?i+1:Math.max(0,i-1);return`[${s}]`})),n=e.getFieldMeta(o);n?e.setFieldMeta(t,n):e.setFieldMeta(t,i())})}let i=()=>K;return{handleArrayFieldMetaShift:function(s,o,n,a){let l=function(r,i,s,o){let n=[t(r,i)];if("swap"===s)n.push(t(r,o));else if("move"===s){let[e,s]=[Math.min(i,o),Math.max(i,o)];for(let i=e;i<=s;i++)n.push(t(r,i))}else{let s=e.getFieldValue(r),o=Array.isArray(s)?s.length:0;for(let e=i+1;e<o;e++)n.push(t(r,e))}return Object.keys(e.fieldInfo).filter(e=>n.some(t=>e.startsWith(t)))}(s,o,n,a);({insert:()=>{var n,a,d;return n=l,a=s,d=o,void(r(n,"down"),n.forEach(r=>{r.toString().startsWith(t(a,d))&&e.setFieldMeta(r,i())}))},remove:()=>{r(l,"up")},swap:()=>{var r,i,n,d;return void 0!==a&&(r=l,i=s,n=o,d=a,void r.forEach(r=>{if(!r.toString().startsWith(t(i,n)))return;let s=r.toString().replace(t(i,n),t(i,d)),[o,a]=[e.getFieldMeta(r),e.getFieldMeta(s)];o&&e.setFieldMeta(s,o),a&&e.setFieldMeta(r,a)}))},move:()=>{var i,n,d,u;let c;return void 0!==a&&(i=l,n=s,d=o,u=a,c=new Map(Object.keys(e.fieldInfo).filter(e=>e.startsWith(t(n,d))).map(t=>[t,e.getFieldMeta(t)])),void(r(i,d<u?"up":"down"),Object.keys(e.fieldInfo).filter(e=>e.startsWith(t(n,u))).forEach(r=>{let i=r.replace(t(n,u),t(n,d)),s=c.get(i);s&&e.setFieldMeta(r,s)})))}})[n]()}}}let Q=new class extends P{constructor(){super({pluginId:"form-devtools",reconnectEveryMs:1e3})}};function X(e){return{values:e.values??{},errorMap:e.errorMap??{},fieldMetaBase:e.fieldMetaBase??{},isSubmitted:e.isSubmitted??!1,isSubmitting:e.isSubmitting??!1,isValidating:e.isValidating??!1,submissionAttempts:e.submissionAttempts??0,isSubmitSuccessful:e.isSubmitSuccessful??!1,validationMetaMap:e.validationMetaMap??{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}}}class J{constructor(e){this.options={},this.fieldInfo={},this.prevTransformArray=[],this.mount=()=>{let e=this.fieldMetaDerived.mount(),t=this.store.mount(),r=()=>{e(),t(),Q.emit("form-unmounted",{id:this._formId})};this.options.listeners?.onMount?.({formApi:this});let{onMount:i}=this.options.validators||{};return Q.emit("form-api",{id:this._formId,state:this.store.state,options:this.options}),i&&this.validateSync("mount"),r},this.update=e=>{if(!e)return;let t=this.options;this.options=e;let r=!!e.transform?.deps?.some((e,t)=>e!==this.prevTransformArray[t]),i=e.defaultValues&&!S(e.defaultValues,t.defaultValues)&&!this.state.isTouched,s=!S(e.defaultState,t.defaultState)&&!this.state.isTouched;(i||s||r)&&(N(()=>{this.baseStore.setState(()=>X(Object.assign({},this.state,s?e.defaultState:{},i?{values:e.defaultValues}:{},r?{_force_re_eval:!this.state._force_re_eval}:{})))}),Q.emit("form-api",{id:this._formId,state:this.store.state,options:this.options}))},this.reset=(e,t)=>{let{fieldMeta:r}=this.state,i=this.resetFieldMeta(r);e&&!t?.keepDefaultValues&&(this.options={...this.options,defaultValues:e}),this.baseStore.setState(()=>X({...this.options.defaultState,values:e??this.options.defaultValues??this.options.defaultState?.values,fieldMetaBase:i}))},this.validateAllFields=async e=>{let t=[];return N(()=>{Object.values(this.fieldInfo).forEach(r=>{if(!r.instance)return;let i=r.instance;t.push(Promise.resolve().then(()=>i.validate(e,{skipFormValidation:!0}))),r.instance.state.meta.isTouched||r.instance.setMeta(e=>({...e,isTouched:!0}))})}),(await Promise.all(t)).flat()},this.validateArrayFieldsStartingFrom=async(e,t,r)=>{let i=this.getFieldValue(e),s=Array.isArray(i)?Math.max(i.length-1,0):null,o=[`${e}[${t}]`];for(let r=t+1;r<=(s??0);r++)o.push(`${e}[${r}]`);let n=Object.keys(this.fieldInfo).filter(e=>o.some(t=>e.startsWith(t))),a=[];return N(()=>{n.forEach(e=>{a.push(Promise.resolve().then(()=>this.validateField(e,r)))})}),(await Promise.all(a)).flat()},this.validateField=(e,t)=>{let r=this.fieldInfo[e]?.instance;return r?(r.state.meta.isTouched||r.setMeta(e=>({...e,isTouched:!0})),r.validate(t)):[]},this.validateSync=e=>{let t=b(e,{...this.options,form:this,validationLogic:this.options.validationLogic||G}),r=!1,i={};return N(()=>{for(let e of t){if(!e.validate)continue;let{formError:t,fieldErrors:s}=Y(this.runValidator({validate:e.validate,value:{value:this.state.values,formApi:this,validationSource:"form"},type:"validate"})),o=ee(e.cause);for(let e of Object.keys(this.state.fieldMeta)){if(void 0===this.baseStore.state.fieldMetaBase[e])continue;let t=this.getFieldMeta(e);if(!t)continue;let{errorMap:r,errorSourceMap:n}=t,a=s?.[e],{newErrorValue:l,newSource:d}=M({newFormValidatorError:a,isPreviousErrorFromFormValidator:n?.[o]==="form",previousErrorValue:r?.[o]});"form"===d&&(i[e]={...i[e],[o]:a}),r?.[o]!==l&&this.setFieldMeta(e,e=>({...e,errorMap:{...e.errorMap,[o]:l},errorSourceMap:{...e.errorSourceMap,[o]:d}}))}this.state.errorMap?.[o]!==t&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[o]:t}})),(t||s)&&(r=!0)}let s=ee("submit");this.state.errorMap?.[s]&&"submit"!==e&&!r&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[s]:void 0}}));let o=ee("server");this.state.errorMap?.[o]&&"server"!==e&&!r&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[o]:void 0}}))}),{hasErrored:r,fieldsErrorMap:i}},this.validateAsync=async e=>{let t,r=y(e,{...this.options,form:this,validationLogic:this.options.validationLogic||G});this.state.isFormValidating||this.baseStore.setState(e=>({...e,isFormValidating:!0}));let i=[];for(let e of r){if(!e.validate)continue;let r=ee(e.cause),s=this.state.validationMetaMap[r];s?.lastAbortController.abort();let o=new AbortController;this.state.validationMetaMap[r]={lastAbortController:o},i.push(new Promise(async r=>{let i;try{i=await new Promise((t,r)=>{setTimeout(async()=>{if(o.signal.aborted)return t(void 0);try{t(await this.runValidator({validate:e.validate,value:{value:this.state.values,formApi:this,validationSource:"form",signal:o.signal},type:"validateAsync"}))}catch(e){r(e)}},e.debounceMs)})}catch(e){i=e}let{formError:s,fieldErrors:n}=Y(i);n&&(t=t?{...t,...n}:n);let a=ee(e.cause);for(let e of Object.keys(this.state.fieldMeta)){if(void 0===this.baseStore.state.fieldMetaBase[e])continue;let r=this.getFieldMeta(e);if(!r)continue;let{errorMap:i,errorSourceMap:s}=r,{newErrorValue:o,newSource:n}=M({newFormValidatorError:t?.[e],isPreviousErrorFromFormValidator:s?.[a]==="form",previousErrorValue:i?.[a]});i?.[a]!==o&&this.setFieldMeta(e,e=>({...e,errorMap:{...e.errorMap,[a]:o},errorSourceMap:{...e.errorSourceMap,[a]:n}}))}this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[a]:s}})),r(t?{fieldErrors:t,errorMapKey:a}:void 0)}))}let s={};if(i.length){for(let e of(await Promise.all(i)))if(e?.fieldErrors){let{errorMapKey:t}=e;for(let[r,i]of Object.entries(e.fieldErrors)){let e={...s[r]||{},[t]:i};s[r]=e}}}return this.baseStore.setState(e=>({...e,isFormValidating:!1})),s},this.validate=e=>{let{hasErrored:t,fieldsErrorMap:r}=this.validateSync(e);return t&&!this.options.asyncAlways?r:this.validateAsync(e)},this.getFieldValue=e=>a(this.state.values,e),this.getFieldMeta=e=>this.state.fieldMeta[e],this.getFieldInfo=e=>this.fieldInfo[e]||={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}},this.setFieldMeta=(e,t)=>{this.baseStore.setState(r=>({...r,fieldMetaBase:{...r.fieldMetaBase,[e]:n(t,r.fieldMetaBase[e])}}))},this.resetFieldMeta=e=>Object.keys(e).reduce((e,t)=>(e[t]=K,e),{}),this.setFieldValue=(e,t,r)=>{let i=r?.dontUpdateMeta??!1,s=r?.dontRunListeners??!1,o=r?.dontValidate??!1;N(()=>{i||this.setFieldMeta(e,e=>({...e,isTouched:!0,isDirty:!0,errorMap:{...e?.errorMap,onMount:void 0}})),this.baseStore.setState(r=>({...r,values:l(r.values,e,t)}))}),s||this.getFieldInfo(e).instance?.triggerOnChangeListener(),o||this.validateField(e,"change")},this.deleteField=e=>{let t=[...Object.keys(this.fieldInfo).filter(t=>{let r=e.toString();return t!==r&&t.startsWith(r)}),e];this.baseStore.setState(e=>{let r={...e};return t.forEach(e=>{var t;let i;t=r.values,i=v(e),r.values=function e(t){if(!t)return;if(1===i.length){let e=i[0];if(Array.isArray(t)&&"number"==typeof e)return t.filter((t,r)=>r!==e);let{[e]:r,...s}=t;return s}let r=i.shift();if("string"==typeof r&&"object"==typeof t)return{...t,[r]:e(t[r])};if("number"==typeof r&&Array.isArray(t)){if(r>=t.length)return t;let i=t.slice(0,r);return[...i.length?i:Array(r),e(t[r]),...t.slice(r+1)]}throw Error("It seems we have created an infinite loop in deleteBy. ")}(t),delete this.fieldInfo[e],delete r.fieldMetaBase[e]}),r})},this.pushFieldValue=(e,t,r)=>{this.setFieldValue(e,e=>[...Array.isArray(e)?e:[],t],r)},this.insertFieldValue=async(e,t,r,i)=>{this.setFieldValue(e,e=>[...e.slice(0,t),r,...e.slice(t)],F(i,{dontValidate:!0}));let s=i?.dontValidate??!1;s||await this.validateField(e,"change"),Z(this).handleArrayFieldMetaShift(e,t,"insert"),s||await this.validateArrayFieldsStartingFrom(e,t,"change")},this.replaceFieldValue=async(e,t,r,i)=>{this.setFieldValue(e,e=>e.map((e,i)=>i===t?r:e),F(i,{dontValidate:!0})),i?.dontValidate||(await this.validateField(e,"change"),await this.validateArrayFieldsStartingFrom(e,t,"change"))},this.removeFieldValue=async(e,t,r)=>{let i=this.getFieldValue(e),s=Array.isArray(i)?Math.max(i.length-1,0):null;if(this.setFieldValue(e,e=>e.filter((e,r)=>r!==t),F(r,{dontValidate:!0})),Z(this).handleArrayFieldMetaShift(e,t,"remove"),null!==s){let t=`${e}[${s}]`;this.deleteField(t)}r?.dontValidate||(await this.validateField(e,"change"),await this.validateArrayFieldsStartingFrom(e,t,"change"))},this.swapFieldValues=(e,t,r,i)=>{this.setFieldValue(e,e=>{let i=e[t],s=e[r];return l(l(e,`${t}`,s),`${r}`,i)},F(i,{dontValidate:!0})),Z(this).handleArrayFieldMetaShift(e,t,"swap",r),i?.dontValidate||(this.validateField(e,"change"),this.validateField(`${e}[${t}]`,"change"),this.validateField(`${e}[${r}]`,"change"))},this.moveFieldValues=(e,t,r,i)=>{this.setFieldValue(e,e=>{let i=[...e];return i.splice(r,0,i.splice(t,1)[0]),i},F(i,{dontValidate:!0})),Z(this).handleArrayFieldMetaShift(e,t,"move",r),i?.dontValidate||(this.validateField(e,"change"),this.validateField(`${e}[${t}]`,"change"),this.validateField(`${e}[${r}]`,"change"))},this.clearFieldValues=(e,t)=>{let r=this.getFieldValue(e),i=Array.isArray(r)?Math.max(r.length-1,0):null;if(this.setFieldValue(e,[],F(t,{dontValidate:!0})),null!==i)for(let t=0;t<=i;t++){let r=`${e}[${t}]`;this.deleteField(r)}t?.dontValidate||this.validateField(e,"change")},this.resetField=e=>{this.baseStore.setState(t=>({...t,fieldMetaBase:{...t.fieldMetaBase,[e]:K},values:this.options.defaultValues?l(t.values,e,a(this.options.defaultValues,e)):t.values}))},this.getAllErrors=()=>({form:{errors:this.state.errors,errorMap:this.state.errorMap},fields:Object.entries(this.state.fieldMeta).reduce((e,[t,r])=>(Object.keys(r).length&&r.errors.length&&(e[t]={errors:r.errors,errorMap:r.errorMap}),e),{})}),this.parseValuesWithSchema=e=>q.validate({value:this.state.values,validationSource:"form"},e),this.parseValuesWithSchemaAsync=e=>q.validateAsync({value:this.state.values,validationSource:"form"},e),this.timeoutIds={validations:{},listeners:{},formListeners:{}},this._formId=e?.formId??function(){let e,t=0,r="";if(!i||V+16>256){for(i=Array(256),t=256;t--;)i[t]=256*Math.random()|0;t=0,V=0}for(;t<16;t++)e=i[V+t],6===t?r+=E[15&e|64]:8===t?r+=E[63&e|128]:r+=E[e],1&t&&t>1&&t<11&&(r+="-");return V++,r}(),this._devtoolsSubmissionOverride=!1,this.baseStore=new A(X({...e?.defaultState,values:e?.defaultValues??e?.defaultState?.values})),this.fieldMetaDerived=new I({deps:[this.baseStore],fn:({prevDepVals:e,currDepVals:t,prevVal:r})=>{let i=e?.[0],s=t[0],o=0,n={};for(let e of Object.keys(s.fieldMetaBase)){var l;let t=s.fieldMetaBase[e],d=i?.fieldMetaBase[e],u=r?.[e],c=a(s.values,e),h=u?.errors;if(!d||t.errorMap!==d.errorMap){h=Object.values(t.errorMap??{}).filter(e=>void 0!==e);let r=this.getFieldInfo(e)?.instance;r&&!r.options.disableErrorFlat&&(h=h?.flat(1))}let f=!!(Array.isArray(l=h??[])&&0===l.length),p=!t.isDirty,m=S(c,a(this.options.defaultValues,e))||S(c,this.getFieldInfo(e)?.instance?.options.defaultValue);if(u&&u.isPristine===p&&u.isValid===f&&u.isDefaultValue===m&&u.errors===h&&t===d){n[e]=u,o++;continue}n[e]={...t,errors:h,isPristine:p,isValid:f,isDefaultValue:m}}return Object.keys(s.fieldMetaBase).length&&r&&o===Object.keys(s.fieldMetaBase).length?r:n}}),this.store=new I({deps:[this.baseStore,this.fieldMetaDerived],fn:({prevDepVals:e,currDepVals:t,prevVal:r})=>{let i=e?.[0],s=t[0],o=Object.values(t[1]).filter(Boolean),n=o.some(e=>e.isValidating),a=o.every(e=>e.isValid),l=o.some(e=>e.isTouched),d=o.some(e=>e.isBlurred),u=o.every(e=>e.isDefaultValue),c=l&&s.errorMap?.onMount,h=o.some(e=>e.isDirty),f=!h,p=!!(s.errorMap?.onMount||o.some(e=>e?.errorMap?.onMount)),m=r?.errors??[];i&&s.errorMap===i.errorMap||(m=Object.values(s.errorMap).reduce((e,t)=>(void 0===t||(t&&w(t)?e.push(t.form):e.push(t)),e),[]));let v=0===m.length,g=a&&v,b=this.options.canSubmitWhenInvalid??!1,y=0===s.submissionAttempts&&!l&&!p||!n&&!s.isSubmitting&&g||b,M=s.errorMap;if(c&&(m=m.filter(e=>e!==s.errorMap.onMount),M=Object.assign(M,{onMount:void 0})),r&&i&&r.errorMap===M&&r.fieldMeta===this.fieldMetaDerived.state&&r.errors===m&&r.isFieldsValidating===n&&r.isFieldsValid===a&&r.isFormValid===v&&r.isValid===g&&r.canSubmit===y&&r.isTouched===l&&r.isBlurred===d&&r.isPristine===f&&r.isDefaultValue===u&&r.isDirty===h&&S(i,s))return r;let x={...s,errorMap:M,fieldMeta:this.fieldMetaDerived.state,errors:m,isFieldsValidating:n,isFieldsValid:a,isFormValid:v,isValid:g,canSubmit:y,isTouched:l,isBlurred:d,isPristine:f,isDefaultValue:u,isDirty:h},F=this.options.transform?.deps??[];if(F.length!==this.prevTransformArray.length||F.some((e,t)=>e!==this.prevTransformArray[t])){let e=Object.assign({},this,{state:x});this.options.transform?.fn(e),x=e.state,this.prevTransformArray=F}return x}}),this.handleSubmit=this.handleSubmit.bind(this),this.update(e||{});const t=new W(e=>Q.emit("form-state",{id:this._formId,state:e}),{wait:300}).maybeExecute;this.store.subscribe(()=>{t(this.store.state)}),Q.on("request-form-state",e=>{e.payload.id===this._formId&&Q.emit("form-api",{id:this._formId,state:this.store.state,options:this.options})}),Q.on("request-form-reset",e=>{e.payload.id===this._formId&&this.reset()}),Q.on("request-form-force-submit",e=>{e.payload.id===this._formId&&(this._devtoolsSubmissionOverride=!0,this.handleSubmit(),this._devtoolsSubmissionOverride=!1)})}get state(){return this.store.state}get formId(){return this._formId}runValidator(e){return H(e.validate)?q[e.type](e.value,e.validate):e.validate(e.value)}async handleSubmit(e){this.baseStore.setState(e=>({...e,isSubmitted:!1,submissionAttempts:e.submissionAttempts+1,isSubmitSuccessful:!1})),N(()=>{Object.values(this.fieldInfo).forEach(e=>{e.instance&&(e.instance.state.meta.isTouched||e.instance.setMeta(e=>({...e,isTouched:!0})))})});let t=e??this.options.onSubmitMeta;if(!this.state.canSubmit&&!this._devtoolsSubmissionOverride)return void this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:t});this.baseStore.setState(e=>({...e,isSubmitting:!0}));let r=()=>{this.baseStore.setState(e=>({...e,isSubmitting:!1}))};if(await this.validateAllFields("submit"),!this.state.isFieldsValid){r(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:t}),Q.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"validateAllFields",errors:Object.values(this.state.fieldMeta).map(e=>e.errors).flat()});return}if(await this.validate("submit"),!this.state.isValid){r(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:t}),Q.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"validate",errors:this.state.errors});return}N(()=>{Object.values(this.fieldInfo).forEach(e=>{e.instance?.options.listeners?.onSubmit?.({value:e.instance.state.value,fieldApi:e.instance})})}),this.options.listeners?.onSubmit?.({formApi:this,meta:t});try{await this.options.onSubmit?.({value:this.state.values,formApi:this,meta:t}),N(()=>{this.baseStore.setState(e=>({...e,isSubmitted:!0,isSubmitSuccessful:!0})),Q.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!0}),r()})}catch(e){throw this.baseStore.setState(e=>({...e,isSubmitSuccessful:!1})),Q.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"inflight",onError:e}),r(),e}}setErrorMap(e){N(()=>{Object.entries(e).forEach(([e,t])=>{if(w(t)){let{formError:r,fieldErrors:i}=Y(t);for(let t of Object.keys(this.fieldInfo))this.getFieldMeta(t)&&this.setFieldMeta(t,r=>({...r,errorMap:{...r.errorMap,[e]:i?.[t]},errorSourceMap:{...r.errorSourceMap,[e]:"form"}}));this.baseStore.setState(t=>({...t,errorMap:{...t.errorMap,[e]:r}}))}else this.baseStore.setState(r=>({...r,errorMap:{...r.errorMap,[e]:t}}))})})}}function Y(e){if(e)return w(e)?{formError:Y(e.form).formError,fieldErrors:e.fields}:{formError:e};return{formError:void 0}}function ee(e){switch(e){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"dynamic":return"onDynamic";default:return"onChange"}}var et=r(2346);function er(e,t=e=>e){return(0,et.useSyncExternalStoreWithSelector)(e.subscribe,()=>e.state,()=>e.state,t,ei)}function ei(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[r,i]of e)if(!t.has(r)||!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let r of e)if(!t.has(r))return!1;return!0}if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();let r=es(e);if(r.length!==es(t).length)return!1;for(let i=0;i<r.length;i++)if(!Object.prototype.hasOwnProperty.call(t,r[i])||!Object.is(e[r[i]],t[r[i]]))return!1;return!0}function es(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}class eo{constructor(e){this.options={},this.mount=()=>{let e=this.store.mount();void 0!==this.options.defaultValue&&this.form.setFieldValue(this.name,this.options.defaultValue,{dontUpdateMeta:!0}),this.getInfo().instance=this,this.update(this.options);let{onMount:t}=this.options.validators||{};if(t){let e=this.runValidator({validate:t,value:{value:this.state.value,fieldApi:this,validationSource:"field"},type:"validate"});e&&this.setMeta(t=>({...t,errorMap:{...t?.errorMap,onMount:e},errorSourceMap:{...t?.errorSourceMap,onMount:"field"}}))}return this.options.listeners?.onMount?.({value:this.state.value,fieldApi:this}),e},this.update=e=>{this.options=e;let t=this.name!==e.name;if(this.name=e.name,void 0===this.state.value){let r=a(e.form.options.defaultValues,e.name),i=e.defaultValue??r;t?this.setValue(e=>e||i,{dontUpdateMeta:!0}):void 0!==i&&this.setValue(i,{dontUpdateMeta:!0})}void 0===this.form.getFieldMeta(this.name)&&this.setMeta(this.state.meta)},this.getValue=()=>this.form.getFieldValue(this.name),this.setValue=(e,t)=>{this.form.setFieldValue(this.name,e,F(t,{dontRunListeners:!0,dontValidate:!0})),t?.dontRunListeners||this.triggerOnChangeListener(),t?.dontValidate||this.validate("change")},this.getMeta=()=>this.store.state.meta,this.setMeta=e=>this.form.setFieldMeta(this.name,e),this.getInfo=()=>this.form.getFieldInfo(this.name),this.pushValue=(e,t)=>{this.form.pushFieldValue(this.name,e,F(t,{dontRunListeners:!0})),t?.dontRunListeners||this.triggerOnChangeListener()},this.insertValue=(e,t,r)=>{this.form.insertFieldValue(this.name,e,t,F(r,{dontRunListeners:!0})),r?.dontRunListeners||this.triggerOnChangeListener()},this.replaceValue=(e,t,r)=>{this.form.replaceFieldValue(this.name,e,t,F(r,{dontRunListeners:!0})),r?.dontRunListeners||this.triggerOnChangeListener()},this.removeValue=(e,t)=>{this.form.removeFieldValue(this.name,e,F(t,{dontRunListeners:!0})),t?.dontRunListeners||this.triggerOnChangeListener()},this.swapValues=(e,t,r)=>{this.form.swapFieldValues(this.name,e,t,F(r,{dontRunListeners:!0})),r?.dontRunListeners||this.triggerOnChangeListener()},this.moveValue=(e,t,r)=>{this.form.moveFieldValues(this.name,e,t,F(r,{dontRunListeners:!0})),r?.dontRunListeners||this.triggerOnChangeListener()},this.clearValues=e=>{this.form.clearFieldValues(this.name,F(e,{dontRunListeners:!0})),e?.dontRunListeners||this.triggerOnChangeListener()},this.getLinkedFields=e=>{let t=Object.values(this.form.fieldInfo),r=[];for(let i of t){if(!i.instance)continue;let{onChangeListenTo:t,onBlurListenTo:s}=i.instance.options.validators||{};"change"===e&&t?.includes(this.name)&&r.push(i.instance),"blur"===e&&s?.includes(this.name)&&r.push(i.instance)}return r},this.validateSync=(e,t)=>{let r=b(e,{...this.options,form:this.form,validationLogic:this.form.options.validationLogic||G}),i=this.getLinkedFields(e).reduce((t,r)=>{let i=b(e,{...r.options,form:r.form,validationLogic:r.form.options.validationLogic||G});return i.forEach(e=>{e.field=r}),t.concat(i)},[]),s=!1;N(()=>{let e=(e,r)=>{let i=ea(r.cause),o=r.validate?en(e.runValidator({validate:r.validate,value:{value:e.store.state.value,validationSource:"field",fieldApi:e},type:"validate"})):void 0,{newErrorValue:n,newSource:a}=x({formLevelError:t[i],fieldLevelError:o});e.state.meta.errorMap?.[i]!==n&&e.setMeta(e=>({...e,errorMap:{...e.errorMap,[i]:n},errorSourceMap:{...e.errorSourceMap,[i]:a}})),n&&(s=!0)};for(let t of r)e(this,t);for(let t of i)t.validate&&e(t.field,t)});let o=ea("submit");return this.state.meta.errorMap?.[o]&&"submit"!==e&&!s&&this.setMeta(e=>({...e,errorMap:{...e.errorMap,[o]:void 0},errorSourceMap:{...e.errorSourceMap,[o]:void 0}})),{hasErrored:s}},this.validateAsync=async(e,t)=>{let r=y(e,{...this.options,form:this.form,validationLogic:this.form.options.validationLogic||G}),i=await t,s=this.getLinkedFields(e),o=s.reduce((t,r)=>{let i=y(e,{...r.options,form:r.form,validationLogic:r.form.options.validationLogic||G});return i.forEach(e=>{e.field=r}),t.concat(i)},[]);for(let e of(this.state.meta.isValidating||this.setMeta(e=>({...e,isValidating:!0})),s))e.setMeta(e=>({...e,isValidating:!0}));let n=[],a=[],l=(e,t,r)=>{let s=ea(t.cause),o=e.getInfo().validationMetaMap[s];o?.lastAbortController.abort();let n=new AbortController;this.getInfo().validationMetaMap[s]={lastAbortController:n},r.push(new Promise(async r=>{let o;try{o=await new Promise((r,i)=>{this.timeoutIds.validations[t.cause]&&clearTimeout(this.timeoutIds.validations[t.cause]),this.timeoutIds.validations[t.cause]=setTimeout(async()=>{if(n.signal.aborted)return r(void 0);try{r(await this.runValidator({validate:t.validate,value:{value:e.store.state.value,fieldApi:e,signal:n.signal,validationSource:"field"},type:"validateAsync"}))}catch(e){i(e)}},t.debounceMs)})}catch(e){o=e}if(n.signal.aborted)return r(void 0);let a=en(o),{newErrorValue:l,newSource:d}=x({formLevelError:i[this.name]?.[s],fieldLevelError:a});e.setMeta(e=>({...e,errorMap:{...e?.errorMap,[s]:l},errorSourceMap:{...e.errorSourceMap,[s]:d}})),r(l)}))};for(let e of r)e.validate&&l(this,e,n);for(let e of o)e.validate&&l(e.field,e,a);let d=[];for(let e of((n.length||a.length)&&(d=await Promise.all(n),await Promise.all(a)),this.setMeta(e=>({...e,isValidating:!1})),s))e.setMeta(e=>({...e,isValidating:!1}));return d.filter(Boolean)},this.validate=(e,t)=>{if(!this.state.meta.isTouched)return[];let{fieldsErrorMap:r}=t?.skipFormValidation?{fieldsErrorMap:{}}:this.form.validateSync(e),{hasErrored:i}=this.validateSync(e,r[this.name]??{});if(i&&!this.options.asyncAlways)return this.getInfo().validationMetaMap[ea(e)]?.lastAbortController.abort(),this.state.meta.errors;let s=t?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(e);return this.validateAsync(e,s)},this.handleChange=e=>{this.setValue(e)},this.handleBlur=()=>{this.state.meta.isTouched||this.setMeta(e=>({...e,isTouched:!0})),this.state.meta.isBlurred||this.setMeta(e=>({...e,isBlurred:!0})),this.validate("blur"),this.triggerOnBlurListener()},this.parseValueWithSchema=e=>q.validate({value:this.state.value,validationSource:"field"},e),this.parseValueWithSchemaAsync=e=>q.validateAsync({value:this.state.value,validationSource:"field"},e),this.form=e.form,this.name=e.name,this.timeoutIds={validations:{},listeners:{},formListeners:{}},this.store=new I({deps:[this.form.store],fn:()=>({value:this.form.getFieldValue(this.name),meta:this.form.getFieldMeta(this.name)??{...K,...e.defaultMeta}})}),this.options=e}get state(){return this.store.state}runValidator(e){return H(e.validate)?q[e.type](e.value,e.validate):e.validate(e.value)}setErrorMap(e){this.setMeta(t=>({...t,errorMap:{...t.errorMap,...e}}))}triggerOnBlurListener(){let e=this.form.options.listeners?.onBlurDebounceMs;e&&e>0?(this.timeoutIds.formListeners.blur&&clearTimeout(this.timeoutIds.formListeners.blur),this.timeoutIds.formListeners.blur=setTimeout(()=>{this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this})},e)):this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this});let t=this.options.listeners?.onBlurDebounceMs;t&&t>0?(this.timeoutIds.listeners.blur&&clearTimeout(this.timeoutIds.listeners.blur),this.timeoutIds.listeners.blur=setTimeout(()=>{this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})},t)):this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})}triggerOnChangeListener(){let e=this.form.options.listeners?.onChangeDebounceMs;e&&e>0?(this.timeoutIds.formListeners.change&&clearTimeout(this.timeoutIds.formListeners.change),this.timeoutIds.formListeners.change=setTimeout(()=>{this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this})},e)):this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this});let t=this.options.listeners?.onChangeDebounceMs;t&&t>0?(this.timeoutIds.listeners.change&&clearTimeout(this.timeoutIds.listeners.change),this.timeoutIds.listeners.change=setTimeout(()=>{this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this})},t)):this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this})}}function en(e){if(e)return e}function ea(e){switch(e){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"dynamic":return"onDynamic";default:return"onChange"}}let el="undefined"!=typeof window?o.useLayoutEffect:o.useEffect,ed=({children:e,...t})=>{let r=function(e){let[t]=(0,o.useState)(()=>{let t=new eo({...e,form:e.form,name:e.name});return t.Field=ed,t});return el(t.mount,[t]),el(()=>{t.update(e)}),er(t.store,"array"===e.mode?e=>[e.meta,Object.keys(e.value??[]).length]:void 0),t}(t),i=(0,o.useMemo)(()=>n(e,r),[e,r,r.state.value,r.state.meta]);return(0,s.jsx)(s.Fragment,{children:i})};function eu({form:e,selector:t,children:r}){return n(r,er(e.store,t))}class ec{constructor(e){if(this.getFormFieldName=e=>{if("string"==typeof this.fieldsMap)return g(this.fieldsMap,e);let t=v(e)[0];if("string"!=typeof t)return"";let r=e.slice(t.length);return g(this.fieldsMap[t],r)},this.getFormFieldOptions=e=>{let t={...e},r=t.validators;if(t.name=this.getFormFieldName(e.name),r&&(r.onChangeListenTo||r.onBlurListenTo)){let e={...r},i=e=>{if(e)return e.map(e=>this.getFormFieldName(e))};e.onChangeListenTo=i(r.onChangeListenTo),e.onBlurListenTo=i(r.onBlurListenTo),t.validators=e}return t},this.mount=()=>this.store.mount(),this.validateArrayFieldsStartingFrom=async(e,t,r)=>this.form.validateArrayFieldsStartingFrom(this.getFormFieldName(e),t,r),this.validateField=(e,t)=>this.form.validateField(this.getFormFieldName(e),t),this.getFieldValue=e=>this.form.getFieldValue(this.getFormFieldName(e)),this.getFieldMeta=e=>this.form.getFieldMeta(this.getFormFieldName(e)),this.setFieldMeta=(e,t)=>this.form.setFieldMeta(this.getFormFieldName(e),t),this.setFieldValue=(e,t,r)=>this.form.setFieldValue(this.getFormFieldName(e),t,r),this.deleteField=e=>this.form.deleteField(this.getFormFieldName(e)),this.pushFieldValue=(e,t,r)=>this.form.pushFieldValue(this.getFormFieldName(e),t,r),this.insertFieldValue=async(e,t,r,i)=>this.form.insertFieldValue(this.getFormFieldName(e),t,r,i),this.replaceFieldValue=async(e,t,r,i)=>this.form.replaceFieldValue(this.getFormFieldName(e),t,r,i),this.removeFieldValue=async(e,t,r)=>this.form.removeFieldValue(this.getFormFieldName(e),t,r),this.swapFieldValues=(e,t,r,i)=>this.form.swapFieldValues(this.getFormFieldName(e),t,r,i),this.moveFieldValues=(e,t,r,i)=>this.form.moveFieldValues(this.getFormFieldName(e),t,r,i),this.clearFieldValues=(e,t)=>this.form.clearFieldValues(this.getFormFieldName(e),t),this.resetField=e=>this.form.resetField(this.getFormFieldName(e)),this.validateAllFields=e=>this.form.validateAllFields(e),e.form instanceof ec){const t=e.form;if(this.form=t.form,"string"==typeof e.fields)this.fieldsMap=t.getFormFieldName(e.fields);else{const r={...e.fields};for(const e in r)r[e]=t.getFormFieldName(r[e]);this.fieldsMap=r}}else this.form=e.form,this.fieldsMap=e.fields;this.store=new I({deps:[this.form.store],fn:({currDepVals:e})=>{let t,r=e[0];if("string"==typeof this.fieldsMap)t=a(r.values,this.fieldsMap);else{t={};let e=this.fieldsMap;for(let i in e)t[i]=a(r.values,e[i])}return{values:t}}})}get state(){return this.store.state}async handleSubmit(e){return this.form.handleSubmit(e)}}function eh({lens:e,selector:t,children:r}){return n(r,er(e.store,t))}let ef=(0,o.createContext)(null),ep=(0,o.createContext)(null);function em(){return{fieldContext:ef,useFieldContext:function(){let e=(0,o.useContext)(ef);if(!e)throw Error("`fieldContext` only works when within a `fieldComponent` passed to `createFormHook`");return e},useFormContext:function(){let e=(0,o.useContext)(ep);if(!e)throw Error("`formContext` only works when within a `formComponent` passed to `createFormHook`");return e},formContext:ep}}function ev({fieldComponents:e,fieldContext:t,formContext:r,formComponents:i}){return{useAppForm:function(n){let a=function(e){let t=(0,o.useId)(),[r]=(0,o.useState)(()=>{let r=new J({...e,formId:t});return r.Field=function(e){return(0,s.jsx)(ed,{...e,form:r})},r.Subscribe=function(e){return(0,s.jsx)(eu,{form:r,selector:e.selector,children:e.children})},r});return el(r.mount,[]),el(()=>{r.update(e)}),r}(n),l=(0,o.useMemo)(()=>({children:e})=>(0,s.jsx)(r.Provider,{value:a,children:e}),[a]),d=(0,o.useMemo)(()=>({children:r,...i})=>(0,s.jsx)(a.Field,{...i,children:i=>(0,s.jsx)(t.Provider,{value:i,children:r(Object.assign(i,e))})}),[a]);return(0,o.useMemo)(()=>Object.assign(a,{AppField:d,AppForm:l,...i}),[a,d,l])},withForm:function({render:e,props:t}){return r=>e({...t,...r})},withFieldGroup:function({render:e,props:t,defaultValues:r}){return function(n){let a=function(e){let[t]=(0,o.useState)(()=>{let r=new ec(e),i=e.form instanceof ec?e.form.form:e.form;return r.AppForm=function(e){return(0,s.jsx)(i.AppForm,{...e})},r.AppField=function(e){return(0,s.jsx)(i.AppField,{...t.getFormFieldOptions(e)})},r.Field=function(e){return(0,s.jsx)(i.Field,{...t.getFormFieldOptions(e)})},r.Subscribe=function(e){return(0,s.jsx)(eh,{lens:t,selector:e.selector,children:e.children})},Object.assign(r,{...e.formComponents})});return el(t.mount,[t]),t}((0,o.useMemo)(()=>({form:n.form,fields:n.fields,defaultValues:r,formComponents:i}),[n.form,n.fields]));return e({...t,...n,group:a})}}}}},4478:function(e,t,r){r.d(t,{F:()=>n});var i=r(9238);let s=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,o=i.$,n=(e,t)=>r=>{var i;if((null==t?void 0:t.variants)==null)return o(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:n,defaultVariants:a}=t,l=Object.keys(n).map(e=>{let t=null==r?void 0:r[e],i=null==a?void 0:a[e];if(null===t)return null;let o=s(t)||s(i);return n[e][o]}),d=r&&Object.entries(r).reduce((e,t)=>{let[r,i]=t;return void 0===i||(e[r]=i),e},{});return o(e,l,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:r,className:i,...s}=t;return Object.entries(s).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...a,...d}[t]):({...a,...d})[t]===r})?[...e,r,i]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}},9238:function(e,t,r){r.d(t,{$:()=>i});function i(){for(var e,t,r=0,i="",s=arguments.length;r<s;r++)(e=arguments[r])&&(t=function e(t){var r,i,s="";if("string"==typeof t||"number"==typeof t)s+=t;else if("object"==typeof t)if(Array.isArray(t)){var o=t.length;for(r=0;r<o;r++)t[r]&&(i=e(t[r]))&&(s&&(s+=" "),s+=i)}else for(i in t)t[i]&&(s&&(s+=" "),s+=i);return s}(e))&&(i&&(i+=" "),i+=t);return i}},8383:function(e,t,r){r.d(t,{QP:()=>B});let i=(e,t)=>{if(0===e.length)return t.classGroupId;let r=e[0],s=t.nextPart.get(r),o=s?i(e.slice(1),s):void 0;if(o)return o;if(0===t.validators.length)return;let n=e.join("-");return t.validators.find(({validator:e})=>e(n))?.classGroupId},s=/^\[(.+)\]$/,o=(e,t,r,i)=>{e.forEach(e=>{if("string"==typeof e){(""===e?t:n(t,e)).classGroupId=r;return}"function"==typeof e?a(e)?o(e(i),t,r,i):t.validators.push({validator:e,classGroupId:r}):Object.entries(e).forEach(([e,s])=>{o(s,n(t,e),r,i)})})},n=(e,t)=>{let r=e;return t.split("-").forEach(e=>{r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r},a=e=>e.isThemeGetter,l=(e,t)=>t?e.map(([e,r])=>[e,r.map(e=>"string"==typeof e?t+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,r])=>[t+e,r])):e)]):e,d=e=>{if(e.length<=1)return e;let t=[],r=[];return e.forEach(e=>{"["===e[0]?(t.push(...r.sort(),e),r=[]):r.push(e)}),t.push(...r.sort()),t},u=/\s+/;function c(){let e,t,r=0,i="";for(;r<arguments.length;)(e=arguments[r++])&&(t=h(e))&&(i&&(i+=" "),i+=t);return i}let h=e=>{let t;if("string"==typeof e)return e;let r="";for(let i=0;i<e.length;i++)e[i]&&(t=h(e[i]))&&(r&&(r+=" "),r+=t);return r},f=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},p=/^\[(?:([a-z-]+):)?(.+)\]$/i,m=/^\d+\/\d+$/,v=new Set(["px","full","screen"]),g=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,b=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,y=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,w=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,S=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,M=e=>F(e)||v.has(e)||m.test(e),x=e=>N(e,"length",z),F=e=>!!e&&!Number.isNaN(Number(e)),V=e=>N(e,"number",F),E=e=>!!e&&Number.isInteger(Number(e)),A=e=>e.endsWith("%")&&F(e.slice(0,-1)),I=e=>p.test(e),k=e=>g.test(e),L=new Set(["length","size","percentage"]),j=e=>N(e,L,P),C=e=>N(e,"position",P),T=new Set(["image","url"]),O=e=>N(e,T,R),_=e=>N(e,"",D),$=()=>!0,N=(e,t,r)=>{let i=p.exec(e);return!!i&&(i[1]?"string"==typeof t?i[1]===t:t.has(i[1]):r(i[2]))},z=e=>b.test(e)&&!y.test(e),P=()=>!1,D=e=>w.test(e),R=e=>S.test(e),B=function(e,...t){let r,n,a,h=function(d){let u;return n=(r={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,r=new Map,i=new Map,s=(s,o)=>{r.set(s,o),++t>e&&(t=0,i=r,r=new Map)};return{get(e){let t=r.get(e);return void 0!==t?t:void 0!==(t=i.get(e))?(s(e,t),t):void 0},set(e,t){r.has(e)?r.set(e,t):s(e,t)}}})((u=t.reduce((e,t)=>t(e),e())).cacheSize),parseClassName:(e=>{let{separator:t,experimentalParseClassName:r}=e,i=1===t.length,s=t[0],o=t.length,n=e=>{let r,n=[],a=0,l=0;for(let d=0;d<e.length;d++){let u=e[d];if(0===a){if(u===s&&(i||e.slice(d,d+o)===t)){n.push(e.slice(l,d)),l=d+o;continue}if("/"===u){r=d;continue}}"["===u?a++:"]"===u&&a--}let d=0===n.length?e:e.substring(l),u=d.startsWith("!"),c=u?d.substring(1):d;return{modifiers:n,hasImportantModifier:u,baseClassName:c,maybePostfixModifierPosition:r&&r>l?r-l:void 0}};return r?e=>r({className:e,parseClassName:n}):n})(u),...(e=>{let t=(e=>{let{theme:t,prefix:r}=e,i={nextPart:new Map,validators:[]};return l(Object.entries(e.classGroups),r).forEach(([e,r])=>{o(r,i,e,t)}),i})(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:e=>{let r=e.split("-");return""===r[0]&&1!==r.length&&r.shift(),i(r,t)||(e=>{if(s.test(e)){let t=s.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}})(e)},getConflictingClassGroupIds:(e,t)=>{let i=r[e]||[];return t&&n[e]?[...i,...n[e]]:i}}})(u)}).cache.get,a=r.cache.set,h=f,f(d)};function f(e){let t=n(e);if(t)return t;let i=((e,t)=>{let{parseClassName:r,getClassGroupId:i,getConflictingClassGroupIds:s}=t,o=[],n=e.trim().split(u),a="";for(let e=n.length-1;e>=0;e-=1){let t=n[e],{modifiers:l,hasImportantModifier:u,baseClassName:c,maybePostfixModifierPosition:h}=r(t),f=!!h,p=i(f?c.substring(0,h):c);if(!p){if(!f||!(p=i(c))){a=t+(a.length>0?" "+a:a);continue}f=!1}let m=d(l).join(":"),v=u?m+"!":m,g=v+p;if(o.includes(g))continue;o.push(g);let b=s(p,f);for(let e=0;e<b.length;++e){let t=b[e];o.push(v+t)}a=t+(a.length>0?" "+a:a)}return a})(e,r);return a(e,i),i}return function(){return h(c.apply(null,arguments))}}(()=>{let e=f("colors"),t=f("spacing"),r=f("blur"),i=f("brightness"),s=f("borderColor"),o=f("borderRadius"),n=f("borderSpacing"),a=f("borderWidth"),l=f("contrast"),d=f("grayscale"),u=f("hueRotate"),c=f("invert"),h=f("gap"),p=f("gradientColorStops"),m=f("gradientColorStopPositions"),v=f("inset"),g=f("margin"),b=f("opacity"),y=f("padding"),w=f("saturate"),S=f("scale"),L=f("sepia"),T=f("skew"),N=f("space"),z=f("translate"),P=()=>["auto","contain","none"],D=()=>["auto","hidden","clip","visible","scroll"],R=()=>["auto",I,t],B=()=>[I,t],W=()=>["",M,x],G=()=>["auto",F,I],U=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],q=()=>["solid","dashed","dotted","double","none"],H=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],K=()=>["start","end","center","between","around","evenly","stretch"],Z=()=>["","0",I],Q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],X=()=>[F,I];return{cacheSize:500,separator:":",theme:{colors:[$],spacing:[M,x],blur:["none","",k,I],brightness:X(),borderColor:[e],borderRadius:["none","","full",k,I],borderSpacing:B(),borderWidth:W(),contrast:X(),grayscale:Z(),hueRotate:X(),invert:Z(),gap:B(),gradientColorStops:[e],gradientColorStopPositions:[A,x],inset:R(),margin:R(),opacity:X(),padding:B(),saturate:X(),scale:X(),sepia:Z(),skew:X(),space:B(),translate:B()},classGroups:{aspect:[{aspect:["auto","square","video",I]}],container:["container"],columns:[{columns:[k]}],"break-after":[{"break-after":Q()}],"break-before":[{"break-before":Q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...U(),I]}],overflow:[{overflow:D()}],"overflow-x":[{"overflow-x":D()}],"overflow-y":[{"overflow-y":D()}],overscroll:[{overscroll:P()}],"overscroll-x":[{"overscroll-x":P()}],"overscroll-y":[{"overscroll-y":P()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[v]}],"inset-x":[{"inset-x":[v]}],"inset-y":[{"inset-y":[v]}],start:[{start:[v]}],end:[{end:[v]}],top:[{top:[v]}],right:[{right:[v]}],bottom:[{bottom:[v]}],left:[{left:[v]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",E,I]}],basis:[{basis:R()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",I]}],grow:[{grow:Z()}],shrink:[{shrink:Z()}],order:[{order:["first","last","none",E,I]}],"grid-cols":[{"grid-cols":[$]}],"col-start-end":[{col:["auto",{span:["full",E,I]},I]}],"col-start":[{"col-start":G()}],"col-end":[{"col-end":G()}],"grid-rows":[{"grid-rows":[$]}],"row-start-end":[{row:["auto",{span:[E,I]},I]}],"row-start":[{"row-start":G()}],"row-end":[{"row-end":G()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",I]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",I]}],gap:[{gap:[h]}],"gap-x":[{"gap-x":[h]}],"gap-y":[{"gap-y":[h]}],"justify-content":[{justify:["normal",...K()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...K(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...K(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[y]}],px:[{px:[y]}],py:[{py:[y]}],ps:[{ps:[y]}],pe:[{pe:[y]}],pt:[{pt:[y]}],pr:[{pr:[y]}],pb:[{pb:[y]}],pl:[{pl:[y]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[N]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[N]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",I,t]}],"min-w":[{"min-w":[I,t,"min","max","fit"]}],"max-w":[{"max-w":[I,t,"none","full","min","max","fit","prose",{screen:[k]},k]}],h:[{h:[I,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[I,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[I,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[I,t,"auto","min","max","fit"]}],"font-size":[{text:["base",k,x]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",V]}],"font-family":[{font:[$]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",I]}],"line-clamp":[{"line-clamp":["none",F,V]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",M,I]}],"list-image":[{"list-image":["none",I]}],"list-style-type":[{list:["none","disc","decimal",I]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[b]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[b]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...q(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",M,x]}],"underline-offset":[{"underline-offset":["auto",M,I]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:B()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",I]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",I]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[b]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...U(),C]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",j]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},O]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[m]}],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[a]}],"border-w-x":[{"border-x":[a]}],"border-w-y":[{"border-y":[a]}],"border-w-s":[{"border-s":[a]}],"border-w-e":[{"border-e":[a]}],"border-w-t":[{"border-t":[a]}],"border-w-r":[{"border-r":[a]}],"border-w-b":[{"border-b":[a]}],"border-w-l":[{"border-l":[a]}],"border-opacity":[{"border-opacity":[b]}],"border-style":[{border:[...q(),"hidden"]}],"divide-x":[{"divide-x":[a]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[a]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[b]}],"divide-style":[{divide:q()}],"border-color":[{border:[s]}],"border-color-x":[{"border-x":[s]}],"border-color-y":[{"border-y":[s]}],"border-color-s":[{"border-s":[s]}],"border-color-e":[{"border-e":[s]}],"border-color-t":[{"border-t":[s]}],"border-color-r":[{"border-r":[s]}],"border-color-b":[{"border-b":[s]}],"border-color-l":[{"border-l":[s]}],"divide-color":[{divide:[s]}],"outline-style":[{outline:["",...q()]}],"outline-offset":[{"outline-offset":[M,I]}],"outline-w":[{outline:[M,x]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:W()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[b]}],"ring-offset-w":[{"ring-offset":[M,x]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",k,_]}],"shadow-color":[{shadow:[$]}],opacity:[{opacity:[b]}],"mix-blend":[{"mix-blend":[...H(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":H()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[i]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",k,I]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[c]}],saturate:[{saturate:[w]}],sepia:[{sepia:[L]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[i]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[c]}],"backdrop-opacity":[{"backdrop-opacity":[b]}],"backdrop-saturate":[{"backdrop-saturate":[w]}],"backdrop-sepia":[{"backdrop-sepia":[L]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[n]}],"border-spacing-x":[{"border-spacing-x":[n]}],"border-spacing-y":[{"border-spacing-y":[n]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",I]}],duration:[{duration:X()}],ease:[{ease:["linear","in","out","in-out",I]}],delay:[{delay:X()}],animate:[{animate:["none","spin","ping","pulse","bounce",I]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[S]}],"scale-x":[{"scale-x":[S]}],"scale-y":[{"scale-y":[S]}],rotate:[{rotate:[E,I]}],"translate-x":[{"translate-x":[z]}],"translate-y":[{"translate-y":[z]}],"skew-x":[{"skew-x":[T]}],"skew-y":[{"skew-y":[T]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",I]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",I]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":B()}],"scroll-mx":[{"scroll-mx":B()}],"scroll-my":[{"scroll-my":B()}],"scroll-ms":[{"scroll-ms":B()}],"scroll-me":[{"scroll-me":B()}],"scroll-mt":[{"scroll-mt":B()}],"scroll-mr":[{"scroll-mr":B()}],"scroll-mb":[{"scroll-mb":B()}],"scroll-ml":[{"scroll-ml":B()}],"scroll-p":[{"scroll-p":B()}],"scroll-px":[{"scroll-px":B()}],"scroll-py":[{"scroll-py":B()}],"scroll-ps":[{"scroll-ps":B()}],"scroll-pe":[{"scroll-pe":B()}],"scroll-pt":[{"scroll-pt":B()}],"scroll-pr":[{"scroll-pr":B()}],"scroll-pb":[{"scroll-pb":B()}],"scroll-pl":[{"scroll-pl":B()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",I]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[M,x,V]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}})}}]);
package/package.json CHANGED
@@ -1,49 +1,88 @@
1
1
  {
2
2
  "name": "@tern-secure/auth",
3
- "version": "1.1.0-canary.v20251108045933",
3
+ "version": "1.1.0-canary.v20251127221555",
4
+ "description": "Firebase authentication client ready to use functions",
4
5
  "repository": {
5
6
  "type": "git",
6
7
  "url": "git+https://github.com/TernSecure/auth.git",
7
8
  "directory": "packages/auth"
8
9
  },
9
- "publishConfig": {
10
- "access": "public"
11
- },
10
+ "license": "MIT",
11
+ "main": "dist/ternsecure.js",
12
+ "jsdelivr": "dist/ternsecure.browser.js",
13
+ "module": "dist/ternsecure.mjs",
14
+ "types": "dist/types/ternsecure.d.ts",
15
+ "style": "dist/ternsecure.css",
12
16
  "files": [
13
- "dist"
17
+ "dist",
18
+ "dist/*.css"
14
19
  ],
15
- "license": "ISC",
16
- "description": "Firebase authentication client ready to use functions",
17
- "exports": {
18
- ".": {
19
- "types": "./dist/types/index.d.ts",
20
- "import": "./dist/esm/index.js",
21
- "require": "./dist/cjs/index.js"
22
- },
23
- "./package.json": "./package.json"
24
- },
20
+ "browserslist": "last 2 years",
25
21
  "dependencies": {
22
+ "@radix-ui/react-avatar": "^1.1.10",
23
+ "class-variance-authority": "^0.7.1",
24
+ "clsx": "^2.1.1",
25
+ "core-js": "3.41.0",
26
+ "lucide-react": "^0.468.0",
27
+ "regenerator-runtime": "0.13.11",
26
28
  "server-only": "^0.0.1",
29
+ "styled-components": "^6.1.19",
30
+ "tailwind-merge": "^2.6.0",
31
+ "tailwindcss-animate": "^1.0.7",
27
32
  "tslib": "2.8.1",
28
- "@tern-secure/shared": "1.3.0-canary.v20251108045933",
29
- "@tern-secure/types": "1.1.0-canary.v20251108045933"
33
+ "tw-animate-css": "^1.3.3",
34
+ "@tern-secure/shared": "1.3.0-canary.v20251127221555",
35
+ "@tern-secure/types": "1.1.0-canary.v20251127221555"
30
36
  },
31
37
  "devDependencies": {
32
- "firebase": "12.0.0",
33
- "jose": "^5.10.0"
38
+ "@radix-ui/react-label": "^2.1.7",
39
+ "@radix-ui/react-separator": "^1.1.7",
40
+ "@radix-ui/react-slot": "^1.2.3",
41
+ "@rsdoctor/rspack-plugin": "^0.4.13",
42
+ "@rspack/cli": "^1.3.13",
43
+ "@rspack/core": "^1.3.13",
44
+ "@rspack/plugin-react-refresh": "^1.4.3",
45
+ "@svgr/webpack": "^8.1.0",
46
+ "@tailwindcss/cli": "^4.1.8",
47
+ "@tailwindcss/postcss": "^4.1.8",
48
+ "@tanstack/react-form": "^1.12.0",
49
+ "@types/webpack-env": "^1.18.8",
50
+ "autoprefixer": "^10.4.21",
51
+ "concurrently": "^9.1.2",
52
+ "eslint": "^9.28.0",
53
+ "jose": "^5.10.0",
54
+ "postcss": "^8.5.4",
55
+ "postcss-loader": "^8.1.1",
56
+ "rimraf": "^5.0.10",
57
+ "tailwindcss": "^4.1.8",
58
+ "webpack-merge": "^5.10.0"
34
59
  },
35
60
  "peerDependencies": {
36
- "firebase": "^12.0.0"
61
+ "firebase": "^12.0.0",
62
+ "react": "^19.0.0 || ^19.0.0-0",
63
+ "react-dom": "^19.0.0 || ^19.0.0-0"
37
64
  },
38
65
  "engines": {
39
66
  "node": ">=20"
40
67
  },
68
+ "publishConfig": {
69
+ "access": "public"
70
+ },
71
+ "browserslistLegacy": "Chrome > 73, Firefox > 66, Safari > 12, iOS > 12, Edge > 18, Opera > 58",
41
72
  "scripts": {
73
+ "build": "pnpm build:js && pnpm build:types",
74
+ "build:js": "pnpm clean && rspack build --config rspack.config.mjs --env production",
75
+ "build:types": "tsc -p tsconfig.add.json",
42
76
  "clean": "rimraf dist",
43
- "build": "pnpm clean && tsup",
44
- "build:add": "tsc -p tsconfig.add.json",
45
- "dev": "tsup --watch",
77
+ "dev": "rspack serve --config rspack.config.mjs",
78
+ "dev:build": "rspack build --config rspack.config.mjs --env development",
79
+ "dev:origin": "rspack serve --config rspack.config.mjs --env devOrigin=http://localhost:4000",
80
+ "dev:test": "rspack serve --config rspack.config.mjs --env devOrigin=http://localhost:4000 --env test",
81
+ "dev:two": "pnpm clean && concurrently \"pnpm dev:build\" \" pnpm dev:types\" \"pnpm dev:test\"",
82
+ "dev:types": "tsc -p tsconfig.add.json --watch",
83
+ "dev:watch": "rspack serve --config rspack.config.mjs --env devOrigin=http://localhost:4000",
46
84
  "lint": "eslint src",
47
- "check-types": "pnpm exec tsc --noEmit"
85
+ "upload:gcs": "node ../../scripts/gcs.mjs",
86
+ "watch": "rspack build --config rspack.config.mjs --env production --watch"
48
87
  }
49
88
  }
@@ -1,113 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var AuthCookieManager_exports = {};
20
- __export(AuthCookieManager_exports, {
21
- AuthCookieManager: () => AuthCookieManager
22
- });
23
- module.exports = __toCommonJS(AuthCookieManager_exports);
24
- var import_cookie = require("@tern-secure/shared/cookie");
25
- var import_authTime_cookie = require("./cookies/authTime_cookie");
26
- const CSRF_COOKIE_NAME = "__terncf";
27
- const CSRF_COOKIE_OPTIONS = {
28
- secure: true,
29
- sameSite: "strict",
30
- expires: 1 / 24
31
- //1 hour
32
- };
33
- class AuthCookieManager {
34
- csrfCookieHandler = (0, import_cookie.cookieHandler)(CSRF_COOKIE_NAME);
35
- ternAutCookie = (0, import_authTime_cookie.createTernAUT)();
36
- constructor() {
37
- this.ensureCSRFToken();
38
- this.ensureAuthTimeCookie();
39
- }
40
- generateCSRFToken() {
41
- const array = new Uint8Array(32);
42
- crypto.getRandomValues(array);
43
- return Array.from(array, (byte) => byte.toString(16).padStart(2, "0")).join("");
44
- }
45
- ensureCSRFToken() {
46
- let ctoken = this.getCSRFToken();
47
- if (!ctoken) {
48
- ctoken = this.generateCSRFToken();
49
- this.setCSRFToken({ token: ctoken });
50
- }
51
- return ctoken;
52
- }
53
- /**
54
- * Ensures the tern_aut cookie exists with value 0 if not already set.
55
- * This is critical for SSR with browserCookie persistence so middleware
56
- * doesn't throw errors when the cookie is missing.
57
- */
58
- ensureAuthTimeCookie() {
59
- this.ternAutCookie.initialize();
60
- }
61
- /**
62
- * Get auth_time value from cookie
63
- */
64
- getAuthTime() {
65
- return this.ternAutCookie.get();
66
- }
67
- /**
68
- * Set auth_time value in cookie
69
- * Only accepts non-zero values from server
70
- */
71
- setAuthTime(authTime) {
72
- this.ternAutCookie.set(authTime);
73
- }
74
- /**
75
- * Set CSRFcookie
76
- */
77
- setCSRFToken(token) {
78
- try {
79
- if (token.token) {
80
- this.csrfCookieHandler.set(token.token, CSRF_COOKIE_OPTIONS);
81
- }
82
- } catch (error) {
83
- console.error("Failed to set CSRF token:", error);
84
- throw new Error("Unable to store CSRF token");
85
- }
86
- }
87
- /**
88
- * Get CSRF token from cookies
89
- */
90
- getCSRFToken() {
91
- try {
92
- return this.csrfCookieHandler.get();
93
- } catch (error) {
94
- console.error("Failed to get CSRF token:", error);
95
- return void 0;
96
- }
97
- }
98
- /**
99
- * Clear all authentication cookies
100
- */
101
- clearAuth() {
102
- try {
103
- this.csrfCookieHandler.remove();
104
- } catch (error) {
105
- console.error("Failed to clear auth cookies:", error);
106
- }
107
- }
108
- }
109
- // Annotate the CommonJS export names for ESM import in node:
110
- 0 && (module.exports = {
111
- AuthCookieManager
112
- });
113
- //# sourceMappingURL=AuthCookieManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/auth/AuthCookieManager.ts"],"sourcesContent":["import type { CookieAttributes } from '@tern-secure/shared/cookie';\nimport { cookieHandler } from '@tern-secure/shared/cookie';\n\nimport { createTernAUT } from './cookies/authTime_cookie';\n\nconst CSRF_COOKIE_NAME = '__terncf';\n\ntype CSRFToken = {\n token: string | null;\n};\n\ntype CookieOptions = CookieAttributes;\n\nconst CSRF_COOKIE_OPTIONS: CookieOptions = {\n secure: true,\n sameSite: 'strict',\n expires: 1 / 24, //1 hour\n};\n\n/**\n * AuthCookieManager class for managing authentication state and cookies\n */\nexport class AuthCookieManager {\n private readonly csrfCookieHandler = cookieHandler(CSRF_COOKIE_NAME);\n private readonly ternAutCookie = createTernAUT();\n\n constructor() {\n this.ensureCSRFToken();\n this.ensureAuthTimeCookie();\n }\n\n private generateCSRFToken(): string {\n const array = new Uint8Array(32);\n crypto.getRandomValues(array);\n return Array.from(array, byte => byte.toString(16).padStart(2, '0')).join('');\n }\n\n private ensureCSRFToken(): string {\n let ctoken = this.getCSRFToken();\n if (!ctoken) {\n ctoken = this.generateCSRFToken();\n this.setCSRFToken({ token: ctoken });\n }\n return ctoken;\n }\n\n /**\n * Ensures the tern_aut cookie exists with value 0 if not already set.\n * This is critical for SSR with browserCookie persistence so middleware\n * doesn't throw errors when the cookie is missing.\n */\n private ensureAuthTimeCookie(): void {\n this.ternAutCookie.initialize();\n }\n\n /**\n * Get auth_time value from cookie\n */\n getAuthTime(): number {\n return this.ternAutCookie.get();\n }\n\n /**\n * Set auth_time value in cookie\n * Only accepts non-zero values from server\n */\n setAuthTime(authTime: number): void {\n this.ternAutCookie.set(authTime);\n }\n\n /**\n * Set CSRFcookie\n */\n\n setCSRFToken(token: CSRFToken): void {\n try {\n if (token.token) {\n this.csrfCookieHandler.set(token.token, CSRF_COOKIE_OPTIONS);\n }\n } catch (error) {\n console.error('Failed to set CSRF token:', error);\n throw new Error('Unable to store CSRF token');\n }\n }\n\n\n /**\n * Get CSRF token from cookies\n */\n getCSRFToken(): string | undefined {\n try {\n return this.csrfCookieHandler.get();\n } catch (error) {\n console.error('Failed to get CSRF token:', error);\n return undefined;\n }\n }\n\n\n /**\n * Clear all authentication cookies\n */\n clearAuth(): void {\n try {\n this.csrfCookieHandler.remove();\n } catch (error) {\n console.error('Failed to clear auth cookies:', error);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA8B;AAE9B,6BAA8B;AAE9B,MAAM,mBAAmB;AAQzB,MAAM,sBAAqC;AAAA,EACzC,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,SAAS,IAAI;AAAA;AACf;AAKO,MAAM,kBAAkB;AAAA,EACZ,wBAAoB,6BAAc,gBAAgB;AAAA,EAClD,oBAAgB,sCAAc;AAAA,EAE/C,cAAc;AACZ,SAAK,gBAAgB;AACrB,SAAK,qBAAqB;AAAA,EAC5B;AAAA,EAEQ,oBAA4B;AAClC,UAAM,QAAQ,IAAI,WAAW,EAAE;AAC/B,WAAO,gBAAgB,KAAK;AAC5B,WAAO,MAAM,KAAK,OAAO,UAAQ,KAAK,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE;AAAA,EAC9E;AAAA,EAEQ,kBAA0B;AAChC,QAAI,SAAS,KAAK,aAAa;AAC/B,QAAI,CAAC,QAAQ;AACX,eAAS,KAAK,kBAAkB;AAChC,WAAK,aAAa,EAAE,OAAO,OAAO,CAAC;AAAA,IACrC;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOQ,uBAA6B;AACnC,SAAK,cAAc,WAAW;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA,EAKA,cAAsB;AACpB,WAAO,KAAK,cAAc,IAAI;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY,UAAwB;AAClC,SAAK,cAAc,IAAI,QAAQ;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAMA,aAAa,OAAwB;AACnC,QAAI;AACF,UAAI,MAAM,OAAO;AACf,aAAK,kBAAkB,IAAI,MAAM,OAAO,mBAAmB;AAAA,MAC7D;AAAA,IACF,SAAS,OAAO;AACd,cAAQ,MAAM,6BAA6B,KAAK;AAChD,YAAM,IAAI,MAAM,4BAA4B;AAAA,IAC9C;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAMA,eAAmC;AACjC,QAAI;AACF,aAAO,KAAK,kBAAkB,IAAI;AAAA,IACpC,SAAS,OAAO;AACd,cAAQ,MAAM,6BAA6B,KAAK;AAChD,aAAO;AAAA,IACT;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAMA,YAAkB;AAChB,QAAI;AACF,WAAK,kBAAkB,OAAO;AAAA,IAChC,SAAS,OAAO;AACd,cAAQ,MAAM,iCAAiC,KAAK;AAAA,IACtD;AAAA,EACF;AACF;","names":[]}
@@ -1,62 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var authTime_cookie_exports = {};
20
- __export(authTime_cookie_exports, {
21
- createTernAUT: () => createTernAUT
22
- });
23
- module.exports = __toCommonJS(authTime_cookie_exports);
24
- var import_cookie = require("@tern-secure/shared/cookie");
25
- var import_date = require("@tern-secure/shared/date");
26
- const TERN_AUT = "tern_aut";
27
- const createTernAUT = () => {
28
- const ternAutCookie = (0, import_cookie.cookieHandler)(TERN_AUT);
29
- const get = () => {
30
- const value = ternAutCookie.get();
31
- return value ? parseInt(value, 10) : 0;
32
- };
33
- const set = (uat) => {
34
- const expires = (0, import_date.addYears)(Date.now(), 1);
35
- if (!Number.isInteger(uat) || uat < 0) {
36
- console.warn("[tern_aut] Invalid auth_time value provided:", uat);
37
- return;
38
- }
39
- const currentValue = get();
40
- if (uat === 0 && currentValue > 0) {
41
- return;
42
- }
43
- ternAutCookie.set(uat.toString(), { secure: true, expires });
44
- };
45
- const initialize = () => {
46
- const currentValue = ternAutCookie.get();
47
- if (currentValue === void 0 || currentValue === null) {
48
- const expires = (0, import_date.addYears)(Date.now(), 1);
49
- ternAutCookie.set("0", { secure: true, expires });
50
- }
51
- };
52
- return {
53
- get,
54
- set,
55
- initialize
56
- };
57
- };
58
- // Annotate the CommonJS export names for ESM import in node:
59
- 0 && (module.exports = {
60
- createTernAUT
61
- });
62
- //# sourceMappingURL=authTime_cookie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/auth/cookies/authTime_cookie.ts"],"sourcesContent":["import { cookieHandler } from '@tern-secure/shared/cookie';\nimport { addYears } from '@tern-secure/shared/date';\n\nconst TERN_AUT = 'tern_aut';\n\nexport type TernAUTCookie = {\n get: () => number;\n set: (aut: number) => void;\n initialize: () => void;\n}\n\nexport const createTernAUT = (): TernAUTCookie => {\n const ternAutCookie = cookieHandler(TERN_AUT);\n\n const get = (): number => {\n const value = ternAutCookie.get();\n return value ? parseInt(value, 10) : 0;\n }\n\n const set = (uat: number): void => {\n const expires = addYears(Date.now(), 1);\n\n if (!Number.isInteger(uat) || uat < 0) {\n console.warn('[tern_aut] Invalid auth_time value provided:', uat);\n return;\n }\n\n // Get current value to check if we should update\n const currentValue = get();\n\n // If trying to set 0 but cookie already has a non-zero value, don't overwrite\n // This prevents client from resetting server-set auth_time\n if (uat === 0 && currentValue > 0) {\n return;\n }\n\n ternAutCookie.set(uat.toString(), { secure: true, expires });\n }\n\n const initialize = (): void => {\n const currentValue = ternAutCookie.get();\n if (currentValue === undefined || currentValue === null) {\n const expires = addYears(Date.now(), 1);\n ternAutCookie.set('0', { secure: true, expires });\n }\n }\n\n return {\n get,\n set,\n initialize,\n };\n}"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA8B;AAC9B,kBAAyB;AAEzB,MAAM,WAAW;AAQV,MAAM,gBAAgB,MAAqB;AAC9C,QAAM,oBAAgB,6BAAc,QAAQ;AAE5C,QAAM,MAAM,MAAc;AACtB,UAAM,QAAQ,cAAc,IAAI;AAChC,WAAO,QAAQ,SAAS,OAAO,EAAE,IAAI;AAAA,EACzC;AAEA,QAAM,MAAM,CAAC,QAAsB;AAC/B,UAAM,cAAU,sBAAS,KAAK,IAAI,GAAG,CAAC;AAEtC,QAAI,CAAC,OAAO,UAAU,GAAG,KAAK,MAAM,GAAG;AACnC,cAAQ,KAAK,gDAAgD,GAAG;AAChE;AAAA,IACJ;AAGA,UAAM,eAAe,IAAI;AAIzB,QAAI,QAAQ,KAAK,eAAe,GAAG;AAC/B;AAAA,IACJ;AAEA,kBAAc,IAAI,IAAI,SAAS,GAAG,EAAE,QAAQ,MAAM,QAAQ,CAAC;AAAA,EAC/D;AAEA,QAAM,aAAa,MAAY;AAC3B,UAAM,eAAe,cAAc,IAAI;AACvC,QAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACrD,YAAM,cAAU,sBAAS,KAAK,IAAI,GAAG,CAAC;AACtC,oBAAc,IAAI,KAAK,EAAE,QAAQ,MAAM,QAAQ,CAAC;AAAA,IACpD;AAAA,EACJ;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;","names":[]}