@buildbase/sdk 0.0.29 → 0.0.30

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.
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- "use strict";var e=require("react/jsx-runtime"),t=require("react"),r=require("react-dom");function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var a=n(t),s=n(r);function o(e){var t,r,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=o(e[t]))&&(n&&(n+=" "),n+=r)}else for(r in e)e[r]&&(n&&(n+=" "),n+=r);return n}function i(){for(var e,t,r=0,n="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=o(e))&&(n&&(n+=" "),n+=t);return n}const l=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),c="-",d=[],u=e=>{const t=p(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]"))return m(e);const r=e.split(c),n=""===r[0]&&r.length>1?1:0;return f(r,n,t)},getConflictingClassGroupIds:(e,t)=>{if(t){const t=n[e],a=r[e];return t?a?((e,t)=>{const r=new Array(e.length+t.length);for(let t=0;t<e.length;t++)r[t]=e[t];for(let n=0;n<t.length;n++)r[e.length+n]=t[n];return r})(a,t):t:a||d}return r[e]||d}}},f=(e,t,r)=>{if(0===e.length-t)return r.classGroupId;const n=e[t],a=r.nextPart.get(n);if(a){const r=f(e,t+1,a);if(r)return r}const s=r.validators;if(null===s)return;const o=0===t?e.join(c):e.slice(t).join(c),i=s.length;for(let e=0;e<i;e++){const t=s[e];if(t.validator(o))return t.classGroupId}},m=e=>-1===e.slice(1,-1).indexOf(":")?void 0:(()=>{const t=e.slice(1,-1),r=t.indexOf(":"),n=t.slice(0,r);return n?"arbitrary.."+n:void 0})(),p=e=>{const{theme:t,classGroups:r}=e;return h(r,t)},h=(e,t)=>{const r=l();for(const n in e){const a=e[n];g(a,r,n,t)}return r},g=(e,t,r,n)=>{const a=e.length;for(let s=0;s<a;s++){const a=e[s];b(a,t,r,n)}},b=(e,t,r,n)=>{"string"!=typeof e?"function"!=typeof e?v(e,t,r,n):y(e,t,r,n):x(e,t,r)},x=(e,t,r)=>{(""===e?t:w(t,e)).classGroupId=r},y=(e,t,r,n)=>{S(e)?g(e(n),t,r,n):(null===t.validators&&(t.validators=[]),t.validators.push(((e,t)=>({classGroupId:e,validator:t}))(r,e)))},v=(e,t,r,n)=>{const a=Object.entries(e),s=a.length;for(let e=0;e<s;e++){const[s,o]=a[e];g(o,w(t,s),r,n)}},w=(e,t)=>{let r=e;const n=t.split(c),a=n.length;for(let e=0;e<a;e++){const t=n[e];let a=r.nextPart.get(t);a||(a=l(),r.nextPart.set(t,a)),r=a}return r},S=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,k=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=Object.create(null),n=Object.create(null);const a=(a,s)=>{r[a]=s,t++,t>e&&(t=0,n=r,r=Object.create(null))};return{get(e){let t=r[e];return void 0!==t?t:void 0!==(t=n[e])?(a(e,t),t):void 0},set(e,t){e in r?r[e]=t:a(e,t)}}},j=[],N=(e,t,r,n,a)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:n,isExternal:a}),C=e=>{const{prefix:t,experimentalParseClassName:r}=e;let n=e=>{const t=[];let r,n=0,a=0,s=0;const o=e.length;for(let i=0;i<o;i++){const o=e[i];if(0===n&&0===a){if(":"===o){t.push(e.slice(s,i)),s=i+1;continue}if("/"===o){r=i;continue}}"["===o?n++:"]"===o?n--:"("===o?a++:")"===o&&a--}const i=0===t.length?e:e.slice(s);let l=i,c=!1;i.endsWith("!")?(l=i.slice(0,-1),c=!0):i.startsWith("!")&&(l=i.slice(1),c=!0);return N(t,c,l,r&&r>s?r-s:void 0)};if(t){const e=t+":",r=n;n=t=>t.startsWith(e)?r(t.slice(e.length)):N(j,!1,t,void 0,!0)}if(r){const e=n;n=t=>r({className:t,parseClassName:e})}return n},E=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((e,r)=>{t.set(e,1e6+r)}),e=>{const r=[];let n=[];for(let a=0;a<e.length;a++){const s=e[a],o="["===s[0],i=t.has(s);o||i?(n.length>0&&(n.sort(),r.push(...n),n=[]),r.push(s)):n.push(s)}return n.length>0&&(n.sort(),r.push(...n)),r}},A=/\s+/,_=e=>{if("string"==typeof e)return e;let t,r="";for(let n=0;n<e.length;n++)e[n]&&(t=_(e[n]))&&(r&&(r+=" "),r+=t);return r},T=(e,...t)=>{let r,n,a,s;const o=e=>{const t=n(e);if(t)return t;const s=((e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:a,sortModifiers:s}=t,o=[],i=e.trim().split(A);let l="";for(let e=i.length-1;e>=0;e-=1){const t=i[e],{isExternal:c,modifiers:d,hasImportantModifier:u,baseClassName:f,maybePostfixModifierPosition:m}=r(t);if(c){l=t+(l.length>0?" "+l:l);continue}let p=!!m,h=n(p?f.substring(0,m):f);if(!h){if(!p){l=t+(l.length>0?" "+l:l);continue}if(h=n(f),!h){l=t+(l.length>0?" "+l:l);continue}p=!1}const g=0===d.length?"":1===d.length?d[0]:s(d).join(":"),b=u?g+"!":g,x=b+h;if(o.indexOf(x)>-1)continue;o.push(x);const y=a(h,p);for(let e=0;e<y.length;++e){const t=y[e];o.push(b+t)}l=t+(l.length>0?" "+l:l)}return l})(e,r);return a(e,s),s};return s=i=>{const l=t.reduce((e,t)=>t(e),e());return r=(e=>({cache:k(e.cacheSize),parseClassName:C(e),sortModifiers:E(e),...u(e)}))(l),n=r.cache.get,a=r.cache.set,s=o,o(i)},(...e)=>s(((...e)=>{let t,r,n=0,a="";for(;n<e.length;)(t=e[n++])&&(r=_(t))&&(a&&(a+=" "),a+=r);return a})(...e))},P=[],R=e=>{const t=t=>t[e]||P;return t.isThemeGetter=!0,t},I=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,O=/^\((?:(\w[\w-]*):)?(.+)\)$/i,M=/^\d+\/\d+$/,D=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,U=/\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$/,z=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,F=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,L=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,$=e=>M.test(e),W=e=>!!e&&!Number.isNaN(Number(e)),V=e=>!!e&&Number.isInteger(Number(e)),B=e=>e.endsWith("%")&&W(e.slice(0,-1)),G=e=>D.test(e),K=()=>!0,H=e=>U.test(e)&&!z.test(e),Z=()=>!1,q=e=>F.test(e),J=e=>L.test(e),Y=e=>!Q(e)&&!se(e),X=e=>fe(e,ge,Z),Q=e=>I.test(e),ee=e=>fe(e,be,H),te=e=>fe(e,xe,W),re=e=>fe(e,pe,Z),ne=e=>fe(e,he,J),ae=e=>fe(e,ve,q),se=e=>O.test(e),oe=e=>me(e,be),ie=e=>me(e,ye),le=e=>me(e,pe),ce=e=>me(e,ge),de=e=>me(e,he),ue=e=>me(e,ve,!0),fe=(e,t,r)=>{const n=I.exec(e);return!!n&&(n[1]?t(n[1]):r(n[2]))},me=(e,t,r=!1)=>{const n=O.exec(e);return!!n&&(n[1]?t(n[1]):r)},pe=e=>"position"===e||"percentage"===e,he=e=>"image"===e||"url"===e,ge=e=>"length"===e||"size"===e||"bg-size"===e,be=e=>"length"===e,xe=e=>"number"===e,ye=e=>"family-name"===e,ve=e=>"shadow"===e,we=T(()=>{const e=R("color"),t=R("font"),r=R("text"),n=R("font-weight"),a=R("tracking"),s=R("leading"),o=R("breakpoint"),i=R("container"),l=R("spacing"),c=R("radius"),d=R("shadow"),u=R("inset-shadow"),f=R("text-shadow"),m=R("drop-shadow"),p=R("blur"),h=R("perspective"),g=R("aspect"),b=R("ease"),x=R("animate"),y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",se,Q],v=()=>[se,Q,l],w=()=>[$,"full","auto",...v()],S=()=>[V,"none","subgrid",se,Q],k=()=>["auto",{span:["full",V,se,Q]},V,se,Q],j=()=>[V,"auto",se,Q],N=()=>["auto","min","max","fr",se,Q],C=()=>["auto",...v()],E=()=>[$,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...v()],A=()=>[e,se,Q],_=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",le,re,{position:[se,Q]}],T=()=>["auto","cover","contain",ce,X,{size:[se,Q]}],P=()=>[B,oe,ee],I=()=>["","none","full",c,se,Q],O=()=>["",W,oe,ee],M=()=>[W,B,le,re],D=()=>["","none",p,se,Q],U=()=>["none",W,se,Q],z=()=>["none",W,se,Q],F=()=>[W,se,Q],L=()=>[$,"full",...v()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[G],breakpoint:[G],color:[K],container:[G],"drop-shadow":[G],ease:["in","out","in-out"],font:[Y],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[G],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[G],shadow:[G],spacing:["px",W],text:[G],"text-shadow":[G],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",$,Q,se,g]}],container:["container"],columns:[{columns:[W,Q,se,i]}],"break-after":[{"break-after":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-before":[{"break-before":["auto","avoid","all","avoid-page","page","left","right","column"]}],"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"],sr:["sr-only","not-sr-only"],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:y()}],overflow:[{overflow:["auto","hidden","clip","visible","scroll"]}],"overflow-x":[{"overflow-x":["auto","hidden","clip","visible","scroll"]}],"overflow-y":[{"overflow-y":["auto","hidden","clip","visible","scroll"]}],overscroll:[{overscroll:["auto","contain","none"]}],"overscroll-x":[{"overscroll-x":["auto","contain","none"]}],"overscroll-y":[{"overscroll-y":["auto","contain","none"]}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:w()}],"inset-x":[{"inset-x":w()}],"inset-y":[{"inset-y":w()}],start:[{start:w()}],end:[{end:w()}],top:[{top:w()}],right:[{right:w()}],bottom:[{bottom:w()}],left:[{left:w()}],visibility:["visible","invisible","collapse"],z:[{z:[V,"auto",se,Q]}],basis:[{basis:[$,"full","auto",i,...v()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[W,$,"auto","initial","none",Q]}],grow:[{grow:["",W,se,Q]}],shrink:[{shrink:["",W,se,Q]}],order:[{order:[V,"first","last","none",se,Q]}],"grid-cols":[{"grid-cols":S()}],"col-start-end":[{col:k()}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":S()}],"row-start-end":[{row:k()}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":N()}],"auto-rows":[{"auto-rows":N()}],gap:[{gap:v()}],"gap-x":[{"gap-x":v()}],"gap-y":[{"gap-y":v()}],"justify-content":[{justify:["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe","normal"]}],"justify-items":[{"justify-items":["start","end","center","stretch","center-safe","end-safe","normal"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],"align-content":[{content:["normal","start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"align-items":[{items:["start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"align-self":[{self:["auto","start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"place-content":[{"place-content":["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"place-items":[{"place-items":["start","end","center","stretch","center-safe","end-safe","baseline"]}],"place-self":[{"place-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],p:[{p:v()}],px:[{px:v()}],py:[{py:v()}],ps:[{ps:v()}],pe:[{pe:v()}],pt:[{pt:v()}],pr:[{pr:v()}],pb:[{pb:v()}],pl:[{pl:v()}],m:[{m:C()}],mx:[{mx:C()}],my:[{my:C()}],ms:[{ms:C()}],me:[{me:C()}],mt:[{mt:C()}],mr:[{mr:C()}],mb:[{mb:C()}],ml:[{ml:C()}],"space-x":[{"space-x":v()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":v()}],"space-y-reverse":["space-y-reverse"],size:[{size:E()}],w:[{w:[i,"screen",...E()]}],"min-w":[{"min-w":[i,"screen","none",...E()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[o]},...E()]}],h:[{h:["screen","lh",...E()]}],"min-h":[{"min-h":["screen","lh","none",...E()]}],"max-h":[{"max-h":["screen","lh",...E()]}],"font-size":[{text:["base",r,oe,ee]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,se,te]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",B,Q]}],"font-family":[{font:[ie,Q,t]}],"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:[a,se,Q]}],"line-clamp":[{"line-clamp":[W,"none",se,te]}],leading:[{leading:[s,...v()]}],"list-image":[{"list-image":["none",se,Q]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",se,Q]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:A()}],"text-color":[{text:A()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:["solid","dashed","dotted","double","wavy"]}],"text-decoration-thickness":[{decoration:[W,"from-font","auto",se,ee]}],"text-decoration-color":[{decoration:A()}],"underline-offset":[{"underline-offset":[W,"auto",se,Q]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:v()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",se,Q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",se,Q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:_()}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}],"bg-size":[{bg:T()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},V,se,Q],radial:["",se,Q],conic:[V,se,Q]},de,ne]}],"bg-color":[{bg:A()}],"gradient-from-pos":[{from:P()}],"gradient-via-pos":[{via:P()}],"gradient-to-pos":[{to:P()}],"gradient-from":[{from:A()}],"gradient-via":[{via:A()}],"gradient-to":[{to:A()}],rounded:[{rounded:I()}],"rounded-s":[{"rounded-s":I()}],"rounded-e":[{"rounded-e":I()}],"rounded-t":[{"rounded-t":I()}],"rounded-r":[{"rounded-r":I()}],"rounded-b":[{"rounded-b":I()}],"rounded-l":[{"rounded-l":I()}],"rounded-ss":[{"rounded-ss":I()}],"rounded-se":[{"rounded-se":I()}],"rounded-ee":[{"rounded-ee":I()}],"rounded-es":[{"rounded-es":I()}],"rounded-tl":[{"rounded-tl":I()}],"rounded-tr":[{"rounded-tr":I()}],"rounded-br":[{"rounded-br":I()}],"rounded-bl":[{"rounded-bl":I()}],"border-w":[{border:O()}],"border-w-x":[{"border-x":O()}],"border-w-y":[{"border-y":O()}],"border-w-s":[{"border-s":O()}],"border-w-e":[{"border-e":O()}],"border-w-t":[{"border-t":O()}],"border-w-r":[{"border-r":O()}],"border-w-b":[{"border-b":O()}],"border-w-l":[{"border-l":O()}],"divide-x":[{"divide-x":O()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":O()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:["solid","dashed","dotted","double","hidden","none"]}],"divide-style":[{divide:["solid","dashed","dotted","double","hidden","none"]}],"border-color":[{border:A()}],"border-color-x":[{"border-x":A()}],"border-color-y":[{"border-y":A()}],"border-color-s":[{"border-s":A()}],"border-color-e":[{"border-e":A()}],"border-color-t":[{"border-t":A()}],"border-color-r":[{"border-r":A()}],"border-color-b":[{"border-b":A()}],"border-color-l":[{"border-l":A()}],"divide-color":[{divide:A()}],"outline-style":[{outline:["solid","dashed","dotted","double","none","hidden"]}],"outline-offset":[{"outline-offset":[W,se,Q]}],"outline-w":[{outline:["",W,oe,ee]}],"outline-color":[{outline:A()}],shadow:[{shadow:["","none",d,ue,ae]}],"shadow-color":[{shadow:A()}],"inset-shadow":[{"inset-shadow":["none",u,ue,ae]}],"inset-shadow-color":[{"inset-shadow":A()}],"ring-w":[{ring:O()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:A()}],"ring-offset-w":[{"ring-offset":[W,ee]}],"ring-offset-color":[{"ring-offset":A()}],"inset-ring-w":[{"inset-ring":O()}],"inset-ring-color":[{"inset-ring":A()}],"text-shadow":[{"text-shadow":["none",f,ue,ae]}],"text-shadow-color":[{"text-shadow":A()}],opacity:[{opacity:[W,se,Q]}],"mix-blend":[{"mix-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[W]}],"mask-image-linear-from-pos":[{"mask-linear-from":M()}],"mask-image-linear-to-pos":[{"mask-linear-to":M()}],"mask-image-linear-from-color":[{"mask-linear-from":A()}],"mask-image-linear-to-color":[{"mask-linear-to":A()}],"mask-image-t-from-pos":[{"mask-t-from":M()}],"mask-image-t-to-pos":[{"mask-t-to":M()}],"mask-image-t-from-color":[{"mask-t-from":A()}],"mask-image-t-to-color":[{"mask-t-to":A()}],"mask-image-r-from-pos":[{"mask-r-from":M()}],"mask-image-r-to-pos":[{"mask-r-to":M()}],"mask-image-r-from-color":[{"mask-r-from":A()}],"mask-image-r-to-color":[{"mask-r-to":A()}],"mask-image-b-from-pos":[{"mask-b-from":M()}],"mask-image-b-to-pos":[{"mask-b-to":M()}],"mask-image-b-from-color":[{"mask-b-from":A()}],"mask-image-b-to-color":[{"mask-b-to":A()}],"mask-image-l-from-pos":[{"mask-l-from":M()}],"mask-image-l-to-pos":[{"mask-l-to":M()}],"mask-image-l-from-color":[{"mask-l-from":A()}],"mask-image-l-to-color":[{"mask-l-to":A()}],"mask-image-x-from-pos":[{"mask-x-from":M()}],"mask-image-x-to-pos":[{"mask-x-to":M()}],"mask-image-x-from-color":[{"mask-x-from":A()}],"mask-image-x-to-color":[{"mask-x-to":A()}],"mask-image-y-from-pos":[{"mask-y-from":M()}],"mask-image-y-to-pos":[{"mask-y-to":M()}],"mask-image-y-from-color":[{"mask-y-from":A()}],"mask-image-y-to-color":[{"mask-y-to":A()}],"mask-image-radial":[{"mask-radial":[se,Q]}],"mask-image-radial-from-pos":[{"mask-radial-from":M()}],"mask-image-radial-to-pos":[{"mask-radial-to":M()}],"mask-image-radial-from-color":[{"mask-radial-from":A()}],"mask-image-radial-to-color":[{"mask-radial-to":A()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"]}],"mask-image-conic-pos":[{"mask-conic":[W]}],"mask-image-conic-from-pos":[{"mask-conic-from":M()}],"mask-image-conic-to-pos":[{"mask-conic-to":M()}],"mask-image-conic-from-color":[{"mask-conic-from":A()}],"mask-image-conic-to-color":[{"mask-conic-to":A()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:_()}],"mask-repeat":[{mask:["no-repeat",{repeat:["","x","y","space","round"]}]}],"mask-size":[{mask:T()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",se,Q]}],filter:[{filter:["","none",se,Q]}],blur:[{blur:D()}],brightness:[{brightness:[W,se,Q]}],contrast:[{contrast:[W,se,Q]}],"drop-shadow":[{"drop-shadow":["","none",m,ue,ae]}],"drop-shadow-color":[{"drop-shadow":A()}],grayscale:[{grayscale:["",W,se,Q]}],"hue-rotate":[{"hue-rotate":[W,se,Q]}],invert:[{invert:["",W,se,Q]}],saturate:[{saturate:[W,se,Q]}],sepia:[{sepia:["",W,se,Q]}],"backdrop-filter":[{"backdrop-filter":["","none",se,Q]}],"backdrop-blur":[{"backdrop-blur":D()}],"backdrop-brightness":[{"backdrop-brightness":[W,se,Q]}],"backdrop-contrast":[{"backdrop-contrast":[W,se,Q]}],"backdrop-grayscale":[{"backdrop-grayscale":["",W,se,Q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[W,se,Q]}],"backdrop-invert":[{"backdrop-invert":["",W,se,Q]}],"backdrop-opacity":[{"backdrop-opacity":[W,se,Q]}],"backdrop-saturate":[{"backdrop-saturate":[W,se,Q]}],"backdrop-sepia":[{"backdrop-sepia":["",W,se,Q]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":v()}],"border-spacing-x":[{"border-spacing-x":v()}],"border-spacing-y":[{"border-spacing-y":v()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",se,Q]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[W,"initial",se,Q]}],ease:[{ease:["linear","initial",b,se,Q]}],delay:[{delay:[W,se,Q]}],animate:[{animate:["none",x,se,Q]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[h,se,Q]}],"perspective-origin":[{"perspective-origin":y()}],rotate:[{rotate:U()}],"rotate-x":[{"rotate-x":U()}],"rotate-y":[{"rotate-y":U()}],"rotate-z":[{"rotate-z":U()}],scale:[{scale:z()}],"scale-x":[{"scale-x":z()}],"scale-y":[{"scale-y":z()}],"scale-z":[{"scale-z":z()}],"scale-3d":["scale-3d"],skew:[{skew:F()}],"skew-x":[{"skew-x":F()}],"skew-y":[{"skew-y":F()}],transform:[{transform:[se,Q,"","none","gpu","cpu"]}],"transform-origin":[{origin:y()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:L()}],"translate-x":[{"translate-x":L()}],"translate-y":[{"translate-y":L()}],"translate-z":[{"translate-z":L()}],"translate-none":["translate-none"],accent:[{accent:A()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:A()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],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",se,Q]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":v()}],"scroll-mx":[{"scroll-mx":v()}],"scroll-my":[{"scroll-my":v()}],"scroll-ms":[{"scroll-ms":v()}],"scroll-me":[{"scroll-me":v()}],"scroll-mt":[{"scroll-mt":v()}],"scroll-mr":[{"scroll-mr":v()}],"scroll-mb":[{"scroll-mb":v()}],"scroll-ml":[{"scroll-ml":v()}],"scroll-p":[{"scroll-p":v()}],"scroll-px":[{"scroll-px":v()}],"scroll-py":[{"scroll-py":v()}],"scroll-ps":[{"scroll-ps":v()}],"scroll-pe":[{"scroll-pe":v()}],"scroll-pt":[{"scroll-pt":v()}],"scroll-pr":[{"scroll-pr":v()}],"scroll-pb":[{"scroll-pb":v()}],"scroll-pl":[{"scroll-pl":v()}],"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",se,Q]}],fill:[{fill:["none",...A()]}],"stroke-w":[{stroke:[W,oe,ee,te]}],stroke:[{stroke:["none",...A()]}],"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-x","border-w-y","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-x","border-color-y","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"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"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"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function Se(...e){return we(i(e))}let ke=!0;function je(e,...t){ke&&function(){try{const e="undefined"!=typeof globalThis?globalThis:null;return"development"===e?.process?.env?.NODE_ENV}catch{return!1}}()&&console.error(e,...t)}function Ne(e,...t){console.error(e,...t)}function Ce(e){return e instanceof Error&&("AbortError"===e.name||"ERR_CANCELED"===e.code)}async function Ee(e,t){try{const r=await e.json();return r?.message||r?.error||t}catch{return t}}async function Ae(e){const t=await e.text();if(!t)throw new Error("Empty response body");try{return JSON.parse(t)}catch(e){throw new Error(`Invalid JSON response: ${t.substring(0,100)}${t.length>100?"...":""}`)}}async function _e(e,t="Request failed"){if(!e.ok){let r=t;try{const t=await Ae(e);r=t.message||t.error||r}catch{r=function(e,t){const r={400:"Bad Request",401:"Unauthorized - Please check your session",403:"Forbidden - You do not have permission",404:"Resource not found",500:"Internal server error",502:"Bad Gateway",503:"Service unavailable"}[e.status]||e.statusText||t;return new Error(`${t} (${e.status}: ${r})`)}(e,t).message}throw new Error(r)}try{return await Ae(e)}catch(e){if(e instanceof Error&&e.message.includes("Invalid JSON"))throw e;throw new Error("Failed to parse response as JSON")}}class Te extends Error{constructor(e,t,r,n){super(e),this.code=t,this.context=r,this.originalError=n,this.name="SDKError","undefined"!=typeof Error&&"captureStackTrace"in Error&&Error.captureStackTrace(this,Te)}}const Pe=new class{constructor(){this.config={enableConsoleLogging:!0,showUserNotifications:!1}}configure(e){this.config={...this.config,...e},void 0!==e.enableConsoleLogging&&function(e){void 0!==e.enableLogging&&(ke=e.enableLogging)}({enableLogging:e.enableConsoleLogging})}handleError(e,t={}){if(Ce(e))return;const r=e instanceof Error?e:new Te("string"==typeof e?e:"An unknown error occurred","UNKNOWN_ERROR",t),n=r instanceof Te?r:new Te(r.message,"SDK_ERROR",t,r);if(this.config.enableConsoleLogging&&je(`[SDK Error] ${t.component||"Unknown"}:`,{message:n.message,code:n.code,context:n.context,originalError:n.originalError,stack:n.stack}),this.config.onError)try{this.config.onError(n,t)}catch(e){Ne("[SDK Error Handler] Error in custom error callback:",e)}this.config.showUserNotifications&&this.notifyUser(n,t)}notifyUser(e,t){"undefined"!=typeof window&&window.dispatchEvent&&window.dispatchEvent(new CustomEvent("sdk-error",{detail:{error:e,context:t}}))}wrapAsync(e,t){return(...r)=>e(...r).catch(e=>{throw this.handleError(e,t),e})}wrapSync(e,t){return(...r)=>{try{return e(...r)}catch(e){throw this.handleError(e,t),e}}}};function Re(e,t={}){Pe.handleError(e,t)}function Ie(e,t={}){return!Ce(e)&&(Pe.handleError(e,t),!0)}class Oe extends t.Component{constructor(e){super(e),this.resetError=()=>{this.setState({hasError:!1,error:null})},this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){if(Re(e,{component:"ErrorBoundary",action:"componentDidCatch",metadata:{componentStack:t.componentStack,errorBoundary:this.constructor.name}}),this.props.onError)try{this.props.onError(e,t)}catch(e){Ne("[SDK ErrorBoundary] Error in onError callback:",e)}}componentDidUpdate(e){this.state.hasError&&!1!==this.props.resetOnPropsChange&&e.children!==this.props.children&&this.resetError()}render(){return this.state.hasError&&this.state.error?this.props.fallback?"function"==typeof this.props.fallback?this.props.fallback(this.state.error,this.resetError):this.props.fallback:e.jsxs("div",{style:{padding:"1rem",border:"1px solid #ef4444",borderRadius:"0.5rem",backgroundColor:"#fef2f2",color:"#991b1b"},children:[e.jsx("h3",{style:{margin:"0 0 0.5rem 0",fontSize:"1rem",fontWeight:600},children:"Something went wrong"}),e.jsx("p",{style:{margin:"0 0 1rem 0",fontSize:"0.875rem"},children:this.state.error.message||"An unexpected error occurred"}),e.jsx("button",{onClick:this.resetError,style:{padding:"0.5rem 1rem",backgroundColor:"#ef4444",color:"white",border:"none",borderRadius:"0.25rem",cursor:"pointer",fontSize:"0.875rem"},children:"Try again"})]}):this.props.children}}const Me=()=>({type:"AUTHENTICATION_STARTED"}),De=()=>({type:"AUTHENTICATION_PROCESSING"}),Ue=()=>({type:"AUTHENTICATION_FAILED"}),ze=e=>({type:"SET_SESSION",payload:e}),Fe=()=>({type:"REMOVE_SESSION"});function Le(e,r,n){const a=t.useRef(r),s=t.useRef(n),o=t.useRef(void 0),i=t.useRef(!1);return a.current=r,s.current=n,t.useMemo(()=>{const t=a.current(e);if(i.current){if(s.current?s.current(o.current,t):Object.is(o.current,t))return o.current}return o.current=t,i.current=!0,t},[e])}function $e({name:r,initialState:n,reducer:a,initializer:s}){const o=t.createContext(null),i=t.createContext(null),l=t.createContext(null),c=t.memo(({children:r})=>{const[c,d]=t.useReducer(a,n,s||(e=>e)),u=t.useMemo(()=>({state:c,dispatch:d}),[c,d]);return e.jsx(l.Provider,{value:u,children:e.jsx(o.Provider,{value:c,children:e.jsx(i.Provider,{value:d,children:r})})})});c.displayName=`${r}Provider`;const d=e=>new Error(`use${r}${e} must be used within a ${r}Provider. Make sure SaaSOSProvider is wrapping your application.`),u=()=>{const e=t.useContext(o);if(null===e)throw d("State");return e};return{Provider:c,useContext:()=>{const e=t.useContext(l);if(!e)throw d("Context");return e},useState:u,useDispatch:()=>{const e=t.useContext(i);if(null===e)throw d("Dispatch");return e},useSelector:(e,t)=>{const r=e||(e=>e);return Le(u(),r,t)}}}var We;function Ve(e){return{isAuthenticated:e===We.authenticated,isLoading:e===We.loading||e===We.redirecting||e===We.authenticating,isRedirecting:e===We.redirecting}}function Be(e,t,r){return{...e,[t]:r}}function Ge(e,t){return{...e,...t}}!function(e){e.loading="loading",e.redirecting="redirecting",e.authenticated="authenticated",e.unauthenticated="unauthenticated",e.authenticating="authenticating"}(We||(We={}));const Ke=()=>({session:null,status:We.loading}),{Provider:He,useState:Ze,useDispatch:qe}=$e({name:"Auth",initialState:Ke(),reducer:(e,t)=>{switch(t.type){case"AUTHENTICATION_STARTED":return Be(e,"status",We.redirecting);case"AUTHENTICATION_PROCESSING":return Be(e,"status",We.authenticating);case"AUTHENTICATION_FAILED":case"REMOVE_SESSION":return Ge(e,{session:null,status:We.unauthenticated});case"SET_SESSION":return Ge(e,{session:t.payload,status:We.authenticated});default:return e}},initializer:Ke}),Je=He,Ye=Ze,Xe=qe,Qe=e=>({type:"SET_SAAS_OS_CONFIG",payload:e}),et=e=>({type:"SET_SETTINGS",payload:e});var tt;function rt(e){return Boolean(e?.serverUrl&&e?.version&&e?.orgId)}!function(e){e.V1="v1"}(tt||(tt={}));const nt=()=>({serverUrl:"",version:tt.V1,orgId:"",settings:null}),{Provider:at,useState:st,useDispatch:ot}=$e({name:"OS",initialState:nt(),reducer:(e,t)=>{switch(t.type){case"SET_SAAS_OS_CONFIG":return Ge(e,t.payload);case"REMOVE_SAAS_OS_CONFIG":return nt();case"SET_SETTINGS":return Be(e,"settings",t.payload);default:return e}}}),it=at,lt=st,ct=ot,dt=e=>({type:"SET_WORKSPACES",payload:e}),ut=e=>({type:"ADD_WORKSPACE",payload:e}),ft=e=>({type:"UPDATE_WORKSPACE",payload:e}),mt=e=>({type:"REMOVE_WORKSPACE",payload:e}),pt=e=>({type:"SET_ALL_FEATURES",payload:e}),ht=e=>({type:"SET_CURRENT_WORKSPACE",payload:e}),gt=()=>({type:"RESET_CURRENT_WORKSPACE"}),bt=e=>({type:"SET_IS_INITIALIZED",payload:e}),xt=e=>({type:"SET_LOADING",payload:e}),yt=e=>({type:"SET_ERROR",payload:e}),vt=e=>({type:"SET_REFRESHING",payload:e}),wt=e=>({type:"SET_SWITCHING_TO_ID",payload:e}),{Provider:St,useState:kt,useDispatch:jt}=$e({name:"Workspace",initialState:{workspaces:[],loading:!1,error:null,currentWorkspace:null,refreshing:!1,switchingToId:null,isInitialized:!1,allFeatures:[]},reducer:(e,t)=>{switch(t.type){case"SET_WORKSPACES":return Be(e,"workspaces",t.payload);case"ADD_WORKSPACE":return Be(e,"workspaces",[...e.workspaces,t.payload]);case"UPDATE_WORKSPACE":return Be(e,"workspaces",e.workspaces.map(e=>e._id===t.payload._id?t.payload:e));case"REMOVE_WORKSPACE":return Be(e,"workspaces",e.workspaces.filter(e=>e._id!==t.payload));case"SET_ALL_FEATURES":return Be(e,"allFeatures",t.payload);case"SET_CURRENT_WORKSPACE":return Be(e,"currentWorkspace",t.payload);case"RESET_CURRENT_WORKSPACE":return Be(e,"currentWorkspace",null);case"SET_IS_INITIALIZED":return Be(e,"isInitialized",t.payload);case"SET_LOADING":return Be(e,"loading",t.payload);case"SET_ERROR":return Be(e,"error",t.payload);case"SET_REFRESHING":return Be(e,"refreshing",t.payload);case"SET_SWITCHING_TO_ID":return Be(e,"switchingToId",t.payload);default:return e}}}),Nt=St,Ct=kt,Et=jt,At=t.memo(({children:t})=>e.jsx(it,{children:e.jsx(Je,{children:e.jsx(Nt,{children:t})})}));function _t(e,t){const r=e.pricingVariants;if(!r?.length)return null;const n=t.toLowerCase();return r.find(e=>e.currency?.toLowerCase()===n)??null}function Tt(e,t,r){const n=_t(e,t);if(!n?.basePricing)return null;const a=n.basePricing[r];return null!=a?a:null}function Pt(e,t,r,n){const a=_t(e,t),s=a?.quotaOverages?.[r];if(s)return s[n]}function Rt(e,t,r,n){const a=e.quotas?.[r];if(null==a)return null;const s=a[n];if(!s)return null;const o=Pt(e,t,r,n);return{included:s.included,...void 0!==s.unitSize&&{unitSize:s.unitSize},...void 0!==o&&{overage:o}}}function It(e,t){if(!e)return null;for(const r of t){const t=r.pricingVariants;if(t?.length)for(const r of t){const t=r.stripePrices;if(t){if(t.monthlyPriceId===e||t.monthly===e)return{interval:"monthly",currency:r.currency};if(t.yearlyPriceId===e||t.yearly===e)return{interval:"yearly",currency:r.currency};if(t.quarterlyPriceId===e)return{interval:"quarterly",currency:r.currency}}}}return null}function Ot(e,t){const r=_t(e,t);return r?.seatPricing?.enabled?r.seatPricing:null}function Mt(e,t,r){const n=Ot(e,t);return n?.perSeat?n.perSeat[r]??null:null}function Dt(e){const{planVersion:t,currency:r="usd",settingsMaxUsers:n}=e;if(t){const e=Ot(t,r);if(e)return{maxUsers:e.maxSeats??0,source:"seat_pricing",includedSeats:e.includedSeats??0,hasSeatPricing:!0}}return null!=n&&n>0?{maxUsers:n,source:"settings",includedSeats:0,hasSeatPricing:!1}:{maxUsers:0,source:"none",includedSeats:0,hasSeatPricing:!1}}function Ut(e){const{memberCount:t,maxUsersConfig:r,hasSubscription:n=!0,requireSubscription:a=!1}=e;if(a&&!n)return{canInvite:!1,blockReason:"no_subscription",blockMessage:"A subscription is required to invite members."};const{maxUsers:s,source:o}=r;if(s<=0)return{canInvite:!0,blockReason:null,blockMessage:null};if(t>=s){return{canInvite:!1,blockReason:{seat_pricing:"seat_limit_reached",settings:"settings_user_limit_reached"}[o]??"seat_limit_reached",blockMessage:{seat_pricing:`Your plan allows up to ${s} members. Upgrade for more seats.`,settings:`This workspace allows up to ${s} members.`}[o]??`Member limit of ${s} reached.`}}return{canInvite:!0,blockReason:null,blockMessage:null}}At.displayName="SDKContextProvider";const zt=new Set;function Ft(){zt.forEach(e=>e())}const Lt=new class{constructor(){this.callbacks=null}setCallbacks(e){this.callbacks=e}getCallbacks(){return this.callbacks}async emit(e,t){if(this.callbacks?.handleEvent)try{await this.callbacks.handleEvent(e,t)}catch(t){Re(t,{component:"EventEmitter",action:"emit",metadata:{eventType:e}})}}async emitUserCreated(e){await this.emit("user:created",{user:e})}async emitUserUpdated(e,t){await this.emit("user:updated",{user:e,previousUser:t})}async emitWorkspaceChanged(e,t){await this.emit("workspace:changed",{workspace:e,previousWorkspace:t})}async emitWorkspaceUpdated(e){await this.emit("workspace:updated",{workspace:e})}async emitWorkspaceUserAdded(e,t,r){await this.emit("workspace:user-added",{userId:e,workspace:t,role:r})}async emitWorkspaceUserRemoved(e,t,r){await this.emit("workspace:user-removed",{userId:e,workspace:t,role:r})}async emitWorkspaceUserRoleChanged(e,t,r,n){await this.emit("workspace:user-role-changed",{userId:e,workspace:t,previousRole:r,newRole:n})}async emitWorkspaceCreated(e){await this.emit("workspace:created",{workspace:e})}async emitWorkspaceDeleted(e){await this.emit("workspace:deleted",{workspace:e})}};function $t(e,r,n){t.useEffect(()=>{const t=new AbortController;return e(t.signal).catch(e=>{Ce(e)||(n?.onError?n.onError(e):Re(e,{component:"useAsyncEffect",action:"effect",metadata:{note:"Unhandled rejection - consider passing onError"}}))}),()=>t.abort()},r)}function Wt(e){if("undefined"==typeof window)return null;try{return localStorage.getItem(e)}catch(t){return Re(t,{component:"storage",action:"getStorageItem",metadata:{key:e}}),null}}function Vt(e,t){if("undefined"!=typeof window)try{localStorage.setItem(e,t)}catch(t){Re(t,{component:"storage",action:"setStorageItem",metadata:{key:e}})}}function Bt(e){if("undefined"!=typeof window)try{localStorage.removeItem(e)}catch(t){Re(t,{component:"storage",action:"removeStorageItem",metadata:{key:e}})}}const Gt="saas-session-id",Kt="code";function Ht(e){Vt(Gt,e)}function Zt(){return function(){if("undefined"==typeof window)return null;try{return Wt(Gt)}catch(e){return Re(e,{component:"auth-utils",action:"getSessionId",metadata:{key:Gt}}),null}}()}function qt(){if("undefined"==typeof window)return null;try{return new URLSearchParams(window.location.search).get(Kt)}catch(e){return Re(e,{component:"auth-utils",action:"getTokenFromUrl",metadata:{param:Kt}}),null}}const Jt="SDK is not ready (missing serverUrl, version, or orgId)";class Yt{constructor(e){this.serverUrl=e.serverUrl,this.version=e.version,this.orgId=e.orgId,this.requireOrgId=e.requireOrgId??!1,this.basePath=e.basePath??"public",this._sessionId=e.sessionId,this._timeout=e.timeout??3e4,this._maxRetries=e.maxRetries??0,this._debug=e.debug??!1,this._customHeaders=e.headers??{},this._onError=e.onError,this._fetch=e.fetch??globalThis.fetch}ensureReady(){if(!this.serverUrl?.trim()||!this.version)throw new Error(Jt);if(this.requireOrgId&&!this.orgId?.trim())throw new Error(Jt)}get baseUrl(){return this.ensureReady(),`${this.serverUrl}/api/${this.version}/${this.basePath}`}getAuthHeaders(){return this._sessionId?{"x-session-id":this._sessionId}:function(){const e=Zt(),t={};return e&&(t["x-session-id"]=e),t}()}url(e){const t=e.startsWith("/")?e.slice(1):e;return`${this.baseUrl.endsWith("/")?this.baseUrl.slice(0,-1):this.baseUrl}/${t}`}buildHeaders(e){const t={...this._customHeaders,...this.getAuthHeaders()};return e.headers&&Object.assign(t,e.headers),null==e.body||t["Content-Type"]||(t["Content-Type"]="application/json"),t}async executeFetch(e,t){const r=this.url(e),n=(t.method??"GET").toUpperCase(),a=this.buildHeaders(t),s={...t,headers:a};let o;if(this._timeout>0){const e=new AbortController;o=setTimeout(()=>e.abort(),this._timeout),s.signal=t.signal?AbortSignal.any([t.signal,e.signal]):e.signal}const i=async t=>{try{const e=this._fetch.bind(globalThis),a=await e(r,s);if(this._debug&&console.log(`[BuildBase] ${n} ${r} → ${a.status}`),a.status>=500&&t<this._maxRetries){const e=Math.min(1e3*Math.pow(2,t),1e4);return this._debug&&console.log(`[BuildBase] Retrying in ${e}ms (attempt ${t+1}/${this._maxRetries})`),await new Promise(t=>setTimeout(t,e)),i(t+1)}return a}catch(r){if(r instanceof Error&&"AbortError"===r.name){if(void 0!==o){const t=new Error(`Request timeout after ${this._timeout}ms: ${n} ${e}`);throw this._onError?.(t,{method:n,path:e}),t}throw r}if(t<this._maxRetries){const e=Math.min(1e3*Math.pow(2,t),1e4);return this._debug&&console.log(`[BuildBase] Network error, retrying in ${e}ms (attempt ${t+1}/${this._maxRetries})`),await new Promise(t=>setTimeout(t,e)),i(t+1)}throw r instanceof Error&&this._onError?.(r,{method:n,path:e}),r}};try{return await i(0)}finally{void 0!==o&&clearTimeout(o)}}async fetchJson(e,t={},r="Request failed"){this.ensureReady();try{const n=await this.executeFetch(e,t);return await _e(n,r)}catch(r){throw r instanceof Error&&this._onError?.(r,{method:(t.method??"GET").toUpperCase(),path:e}),r}}async fetchResponse(e,t={}){return this.ensureReady(),this.executeFetch(e,t)}}class Xt extends Yt{constructor(e){super({...e,requireOrgId:!0})}async getSettings(e){return this.fetchJson(`${this.orgId}/settings`,{signal:e},"Failed to fetch settings")}}function Qt(){return _r(e=>e.os)}let er=null;function tr(){const e=Tr(),r=Qt(),{serverUrl:n,version:a,orgId:s,settings:o}=r,i=t.useMemo(()=>rt(r)?new Xt({serverUrl:n,version:a,orgId:s}):null,[n,a,s]),l=t.useCallback(async t=>i?er||(er=(async()=>{try{const r=await i.getSettings(t);return e.os(et(r)),r}catch(e){return Ie(e,{component:"useSaaSSettings",action:"getSettings",metadata:{serverUrl:n,version:a,orgId:s}}),null}finally{er=null}})(),er):null,[i,e,n,a,s]);return $t(async e=>{o||rt(r)&&await l(e)},[n,a,s],{onError:e=>Ie(e,{component:"useSaaSSettings",action:"fetchSettings",metadata:{serverUrl:n,version:a,orgId:s}})}),t.useMemo(()=>({settings:o,getSettings:l}),[o,l])}class rr extends Yt{constructor(e){super({...e,requireOrgId:!0})}async getWorkspaces(){return this.fetchJson("workspaces",{},"Failed to fetch workspaces")}async createWorkspace(e){return this.fetchJson("workspaces",{method:"POST",body:JSON.stringify(e)},"Failed to create workspace")}async updateWorkspace(e,t){return this.fetchJson(`workspaces/${e}`,{method:"PUT",body:JSON.stringify(t)},"Failed to update workspace")}async deleteWorkspace(e){return this.fetchJson(`workspaces/${e}`,{method:"DELETE"},"Failed to delete workspace")}async getWorkspaceUsers(e){return this.fetchJson(`workspaces/${e}/users`,{},"Failed to fetch workspace users")}async addUser(e,t){return this.fetchJson(`workspaces/${e}/users/add`,{method:"POST",body:JSON.stringify(t)},"Failed to invite member")}async removeUser(e,t){return this.fetchJson(`workspaces/${e}/users/${t}`,{method:"DELETE"},"Failed to remove user")}async updateUser(e,t,r){return this.fetchJson(`workspaces/${e}/users/${t}`,{method:"PATCH",body:JSON.stringify(r)},"Failed to update user")}async getFeatures(){return this.fetchJson("workspaces/features",{},"Failed to fetch features")}async updateFeature(e,t,r){return this.fetchJson(`workspaces/${e}/features`,{method:"PATCH",body:JSON.stringify({features:{[t]:r}})},"Failed to update feature")}async getWorkspace(e){return this.fetchJson(`workspaces/${e}`,{},"Failed to fetch workspace")}async getProfile(){return this.fetchJson("profile",{},"Failed to fetch profile")}async updateUserProfile(e){return this.fetchJson("profile",{method:"PATCH",body:JSON.stringify(e)},"Failed to update user profile")}async getCurrentSubscription(e){const t=await this.fetchResponse(`workspaces/${e}/subscription`);if(!t.ok){let e="Failed to fetch subscription";try{e=(await t.json()).message||e}catch{e=404===t.status?"Workspace not found or no subscription available":401===t.status?"Unauthorized - Please check your session":`Failed to fetch subscription (${t.status}: ${t.statusText})`}throw new Error(e)}const r=await t.json();if(void 0!==r.success){if(!r.success)throw new Error(r.message||"Failed to fetch subscription");return r.data||r}return r}async getPlanGroup(e){const t=await this.fetchResponse(`workspaces/${e}/subscription/plan-group`);if(!t.ok){let e="Failed to fetch plan group";try{e=(await t.json()).message||e}catch{e=404===t.status?"No plan group found for this workspace":401===t.status?"Unauthorized - Please check your session":`Failed to fetch plan group (${t.status}: ${t.statusText})`}throw new Error(e)}const r=await t.json();if(void 0!==r.success){if(!r.success)throw new Error(r.message||"Failed to fetch plan group");return r.data||r}return r}async getPlanGroupByVersion(e,t){const r=await this.fetchResponse(`workspaces/${e}/subscription/plan-group?groupVersionId=${t}`);if(!r.ok){let e="Failed to fetch plan group version";try{e=(await r.json()).message||e}catch{e=404===r.status?"Plan group version not found":401===r.status?"Unauthorized - Please check your session":`Failed to fetch plan group version (${r.status}: ${r.statusText})`}throw new Error(e)}const n=await r.json();if(void 0!==n.success){if(!n.success)throw new Error(n.message||"Failed to fetch plan group version");return n.data||n}return n}async getPlanGroupVersions(e){const t=await this.fetchResponse(`workspaces/${e}/subscription/plan-group/versions`);if(!t.ok){let e="Failed to fetch plan group versions";try{e=(await t.json()).message||e}catch{e=404===t.status?"No plan group versions found":401===t.status?"Unauthorized - Please check your session":`Failed to fetch plan group versions (${t.status}: ${t.statusText})`}throw new Error(e)}const r=await t.json();if(void 0!==r.success){if(!r.success)throw new Error(r.message||"Failed to fetch plan group versions");return r.data||r}return r}async getPublicPlans(e){if(!this.orgId)throw new Error("orgId is required for getPublicPlans");const t=await this.fetchResponse(`${this.orgId}/plans/${encodeURIComponent(e)}`);if(!t.ok){let r="Failed to fetch plans";try{r=(await t.json()).message||r}catch{r=404===t.status?`Plans "${e}" not found`:`Failed to fetch plans (${t.status}: ${t.statusText})`}throw new Error(r)}const r=await t.json();if(void 0!==r.success&&!r.success)throw new Error(r.message||"Failed to fetch plans");return r.data??r}async getPlanGroupVersion(e){const t=await this.fetchResponse(`plan-group-versions/${e}`);if(!t.ok){let e="Failed to fetch plan group version";try{e=(await t.json()).message||e}catch{e=404===t.status?"Plan group version not found":401===t.status?"Unauthorized - Please check your session":`Failed to fetch plan group version (${t.status}: ${t.statusText})`}throw new Error(e)}const r=await t.json();if(void 0!==r.success){if(!r.success)throw new Error(r.message||"Failed to fetch plan group version");return r.data||r}return r}async createCheckoutSession(e,t){const r=await this.fetchResponse(`workspaces/${e}/subscription/checkout`,{method:"POST",body:JSON.stringify(t)});if(!r.ok){let e="Failed to create checkout session";try{e=(await r.json()).message||e}catch{e=`Failed to create checkout session (${r.status}: ${r.statusText})`}throw new Error(e)}const n=await r.json();if(void 0!==n.success){if(!n.success)throw new Error(n.message||"Failed to create checkout session");return n.data||n}return n}async updateSubscription(e,t){const r=await this.fetchResponse(`workspaces/${e}/subscription`,{method:"PATCH",body:JSON.stringify(t)});if(!r.ok){let e="Failed to update subscription";try{e=(await r.json()).message||e}catch{e=`Failed to update subscription (${r.status}: ${r.statusText})`}throw new Error(e)}const n=await r.json();if(void 0!==n.success){if(!n.success)throw new Error(n.message||"Failed to update subscription");return n.data?.checkoutUrl||n.checkoutUrl,n.data||n}return n.checkoutUrl,n}async createBillingPortalSession(e,t){return this.fetchJson(`workspaces/${e}/subscription/billing-portal`,{method:"POST",body:JSON.stringify(t?{returnUrl:t}:{})})}async listInvoices(e,t=10,r){const n=new URLSearchParams;n.append("limit",t.toString()),r&&n.append("starting_after",r);const a=await this.fetchResponse(`workspaces/${e}/subscription/invoices?${n.toString()}`,{});if(!a.ok){let e="Failed to fetch invoices";try{e=(await a.json()).message||e}catch{e=404===a.status?"Workspace not found or no invoices available":401===a.status?"Unauthorized - Please check your session":`Failed to fetch invoices (${a.status}: ${a.statusText})`}throw new Error(e)}const s=await a.json();if(void 0!==s.success){if(!s.success)throw new Error(s.message||"Failed to fetch invoices");return s}return s}async getInvoice(e,t){const r=await this.fetchResponse(`workspaces/${e}/subscription/invoices/${t}`,{});if(!r.ok){let e="Failed to fetch invoice";try{e=(await r.json()).message||e}catch{e=404===r.status?"Invoice not found":401===r.status?"Unauthorized - Please check your session":`Failed to fetch invoice (${r.status}: ${r.statusText})`}throw new Error(e)}const n=await r.json();if(void 0!==n.success){if(!n.success)throw new Error(n.message||"Failed to fetch invoice");return n}return n}async cancelSubscriptionAtPeriodEnd(e){const t=await this.fetchResponse(`workspaces/${e}/subscription/cancel-at-period-end`,{method:"POST"});if(!t.ok){let e="Failed to cancel subscription";try{e=(await t.json()).message||e}catch{e=404===t.status?"Subscription not found":401===t.status?"Unauthorized - Please check your session":`Failed to cancel subscription (${t.status}: ${t.statusText})`}throw new Error(e)}const r=await t.json();if(void 0!==r.success){if(!r.success)throw new Error(r.message||"Failed to cancel subscription");return r.data||r}return r}async resumeSubscription(e){const t=await this.fetchResponse(`workspaces/${e}/subscription/resume`,{method:"POST"});if(!t.ok){let e="Failed to resume subscription";try{e=(await t.json()).message||e}catch{e=404===t.status?"Subscription not found":401===t.status?"Unauthorized - Please check your session":`Failed to resume subscription (${t.status}: ${t.statusText})`}throw new Error(e)}const r=await t.json();if(void 0!==r.success){if(!r.success)throw new Error(r.message||"Failed to resume subscription");return r.data||r}return r}async recordUsage(e,t){const r=await this.fetchResponse(`workspaces/${e}/subscription/usage`,{method:"POST",body:JSON.stringify(t)});if(!r.ok){let e="Failed to record usage";try{e=(await r.json()).message||e}catch{e=`Failed to record usage (${r.status}: ${r.statusText})`}throw new Error(e)}const n=await r.json();if(void 0!==n.success){if(!n.success)throw new Error(n.message||"Failed to record usage");return n.data||n}return n}async getQuotaUsageStatus(e,t){const r=await this.fetchResponse(`workspaces/${e}/subscription/usage/status?quotaSlug=${encodeURIComponent(t)}`);if(!r.ok){let e="Failed to fetch quota usage status";try{e=(await r.json()).message||e}catch{e=404===r.status?"Workspace not found or no subscription available":401===r.status?"Unauthorized - Please check your session":`Failed to fetch quota usage status (${r.status}: ${r.statusText})`}throw new Error(e)}const n=await r.json();if(void 0!==n.success){if(!n.success)throw new Error(n.message||"Failed to fetch quota usage status");return n.data||n}return n}async getAllQuotaUsage(e){const t=await this.fetchResponse(`workspaces/${e}/subscription/usage/all`);if(!t.ok){let e="Failed to fetch all quota usage";try{e=(await t.json()).message||e}catch{e=404===t.status?"Workspace not found or no subscription available":401===t.status?"Unauthorized - Please check your session":`Failed to fetch all quota usage (${t.status}: ${t.statusText})`}throw new Error(e)}const r=await t.json();if(void 0!==r.success){if(!r.success)throw new Error(r.message||"Failed to fetch all quota usage");return r.data||r}return r}async getUsageLogs(e,t){const r=new URLSearchParams;t?.quotaSlug&&r.append("quotaSlug",t.quotaSlug),t?.from&&r.append("from",t.from),t?.to&&r.append("to",t.to),t?.source&&r.append("source",t.source),t?.page&&r.append("page",t.page.toString()),t?.limit&&r.append("limit",t.limit.toString());const n=r.toString(),a=`workspaces/${e}/subscription/usage/logs${n?`?${n}`:""}`,s=await this.fetchResponse(a);if(!s.ok){let e="Failed to fetch usage logs";try{e=(await s.json()).message||e}catch{e=404===s.status?"Workspace not found":401===s.status?"Unauthorized - Please check your session":`Failed to fetch usage logs (${s.status}: ${s.statusText})`}throw new Error(e)}const o=await s.json();if(void 0!==o.success){if(!o.success)throw new Error(o.message||"Failed to fetch usage logs");return o.data||o}return o}}const nr="saas-workspace-current",ar=e=>{e?Vt(nr,e._id):Bt(nr)},sr=()=>Wt(nr),or=()=>{Bt(nr)},ir=(e,t)=>!!e&&t.some(t=>t._id===e);function lr(e,t){if(!t)return!1;const r=(n=e.createdBy)?"string"==typeof n?n:"object"==typeof n&&"_id"in n&&"string"==typeof n._id?n._id:null:null;var n;return null!==r&&r===t}function cr(e,t){if(!t||!e.users||!Array.isArray(e.users))return null;const r=e.users.find(e=>"string"==typeof e?e===t:"object"==typeof e&&null!==e&&"_id"in e&&e._id===t);return r&&"object"==typeof r&&"role"in r&&"string"==typeof r.role?r.role:null}function dr(){const e=Qt(),r=function(e){return t.useMemo(()=>new rr(e),[e.serverUrl,e.version,e.orgId])}(e);return t.useMemo(()=>({os:e,api:r}),[e,r])}const ur=()=>{const e=Tr(),{os:r,api:n}=dr(),{settings:a}=tr(),s=_r(e=>e.workspaces),o=_r(e=>e.auth.session?.user),i=t.useCallback((t,r)=>{if((!(t._id===s.currentWorkspace?._id)||r?.forceEmit)&&t){const r=s.currentWorkspace;ar(t),e.workspaces(ht(t)),Lt.emitWorkspaceChanged(t,r).catch(e=>{Re(e,{component:"useSaaSWorkspaces",action:"emitWorkspaceChanged",metadata:{workspaceId:t._id}})})}},[s.currentWorkspace,e]),l=t.useCallback(async(t,n)=>{const a=++f.current;e.workspaces(wt(t._id));try{const e=r.auth?.callbacks?.onWorkspaceChange;if(e){const r=cr(t,o?.id);try{await e({workspace:t,user:o??null,role:r})}catch(e){throw Re(e,{component:"useSaaSWorkspaces",action:"onWorkspaceChange",metadata:{workspaceId:t._id}}),e}if(a!==f.current)return}i(t,n)}finally{a===f.current&&e.workspaces(wt(null))}},[e,r.auth?.callbacks?.onWorkspaceChange,i,o]);t.useEffect(()=>{if(!s.isInitialized){const t=sr();if(e.workspaces(bt(!0)),t){const e=s.workspaces.find(e=>e._id===t);e&&l(e,{forceEmit:!0}).catch(()=>{})}}},[s.isInitialized,s.workspaces,s.currentWorkspace,e,l]);const c=t.useCallback(()=>{or(),e.workspaces(gt())},[e]),d=t.useRef(!1),u=t.useRef(!1),f=t.useRef(0),m=t.useCallback(async()=>{if(!s.loading&&!d.current){d.current=!0,e.workspaces(xt(!0)),e.workspaces(yt(null));try{const t=await n.getWorkspaces();if(e.workspaces(dt(t)),t.length>0){const e=sr();if(e&&ir(e,t)){const r=t.find(t=>t._id===e);if(r)try{await l(r,{forceEmit:!0})}catch{}}else{const e=t[0];try{await l(e,{forceEmit:!0})}catch{}}}}catch(t){e.workspaces(yt(t instanceof Error?t.message:"Failed to fetch workspaces"))}finally{e.workspaces(xt(!1)),d.current=!1}}},[n,s.loading,e,l]),p=t.useCallback(async()=>{if(!s.refreshing&&!d.current){d.current=!0,e.workspaces(vt(!0));try{const t=await n.getWorkspaces();e.workspaces(dt(t))}catch(e){}finally{e.workspaces(vt(!1)),d.current=!1}}},[n,s.refreshing,e]),h=t.useCallback(async(t,r)=>{const a=await n.createWorkspace({name:t,image:r});e.workspaces(ut(a)),Lt.emitWorkspaceCreated(a).catch(e=>{Re(e,{component:"useSaaSWorkspaces",action:"emitWorkspaceCreated",metadata:{workspaceId:a._id}})})},[n,e]),g=t.useCallback(async(t,r)=>{const a=await n.updateWorkspace(t._id,r);e.workspaces(ft(a)),Lt.emitWorkspaceUpdated(a).catch(e=>{Re(e,{component:"useSaaSWorkspaces",action:"emitWorkspaceUpdated",metadata:{workspaceId:a._id}})})},[n,e]),b=t.useCallback(async()=>{if(u.current)return s.allFeatures.length>0?s.allFeatures:null;if(s.allFeatures.length>0)return s.allFeatures;u.current=!0;try{const t=await n.getFeatures();return e.workspaces(pt(t)),t}catch(e){return Re(e,{component:"useSaaSWorkspaces",action:"getFeatures"}),null}finally{u.current=!1}},[n,e,s.allFeatures]),x=t.useCallback(async(e,t,r)=>await n.updateFeature(e,t,r),[n]);t.useEffect(()=>{if(!s.currentWorkspace?._id||0===s.workspaces.length)return;const t=s.currentWorkspace._id,r=s.workspaces.find(e=>e._id===t);if(r)r!==s.currentWorkspace&&(ar(r),e.workspaces(ht(r)));else if(s.workspaces.length>0){const e=s.workspaces[0];e._id!==t&&l(e).catch(()=>{})}},[s.workspaces,s.currentWorkspace,e,l]);const y=t.useCallback(async e=>await n.getWorkspaceUsers(e),[n]),v=t.useCallback(async(e,t,r)=>{const o=s.workspaces.find(t=>t._id===e);if(o){const e=Dt({settingsMaxUsers:a?.workspace?.maxWorkspaceUsers}),t=Ut({memberCount:o.users?.length??0,maxUsersConfig:e});if(!t.canInvite)throw new Error(t.blockMessage||"Member limit reached")}const i=await n.addUser(e,{email:t,role:r});return o&&Lt.emitWorkspaceUserAdded(i.userId,o,r).catch(t=>{Re(t,{component:"useSaaSWorkspaces",action:"emitWorkspaceUserAdded",metadata:{workspaceId:e,userId:i.userId,role:r}})}),p().catch(()=>{}),Ft(),i},[n,s.workspaces,p,a]),w=t.useCallback(async(e,t)=>{const r=s.workspaces.find(t=>t._id===e);if(r&&lr(r,t))throw new Error("Cannot remove the workspace owner");const a=(await n.getWorkspaceUsers(e).catch(()=>[])).find(e=>("string"==typeof e.user?e.user:e.user._id)===t),o=await n.removeUser(e,t);if(r&&a){const t=a.role;Lt.emitWorkspaceUserRemoved(o.userId,r,t).catch(r=>{Re(r,{component:"useSaaSWorkspaces",action:"emitWorkspaceUserRemoved",metadata:{workspaceId:e,userId:o.userId,role:t}})})}return p().catch(()=>{}),Ft(),o},[n,s.workspaces,p]),S=t.useCallback(async(e,t,r)=>{if(r.role){const r=s.workspaces.find(t=>t._id===e);if(r&&lr(r,t))throw new Error("Cannot change the role of the workspace owner")}let a;if(r.role){const r=(await n.getWorkspaceUsers(e).catch(()=>[])).find(e=>("string"==typeof e.user?e.user:e.user._id)===t);a=r?.role}const o=await n.updateUser(e,t,r);return r.role&&a&&a!==r.role&&Lt.emitWorkspaceUserRoleChanged(o.userId,o.workspace,a,r.role).catch(n=>{Re(n,{component:"useSaaSWorkspaces",action:"emitWorkspaceUserRoleChanged",metadata:{workspaceId:e,userId:t,previousRole:a,newRole:r.role}})}),o},[n,s.workspaces]),k=t.useCallback(async e=>{const t=await n.getProfile().catch(()=>null),r=await n.updateUserProfile(e);return Lt.emitUserUpdated(r,t||void 0).catch(e=>{Re(e,{component:"useSaaSWorkspaces",action:"emitUserUpdated",metadata:{userId:r._id}})}),r},[n]),j=t.useCallback(async()=>await n.getProfile(),[n]),N=t.useCallback(async e=>await n.getWorkspace(e),[n]),C=t.useCallback(async t=>{if(!o)throw new Error("User must be authenticated to delete a workspace");const r=s.workspaces.find(e=>e._id===t);if(!r)throw new Error("Workspace not found");if(!lr(r,o.id))throw new Error("Only the workspace creator can delete the workspace");const a=await n.deleteWorkspace(t);return e.workspaces(mt(t)),s.currentWorkspace?._id===t&&(or(),e.workspaces(gt())),r&&Lt.emitWorkspaceDeleted(r).catch(e=>{Re(e,{component:"useSaaSWorkspaces",action:"emitWorkspaceDeleted",metadata:{workspaceId:t}})}),a},[n,s.workspaces,s.currentWorkspace,e,o]);return{workspaces:s.workspaces,loading:s.loading,error:s.error,fetchWorkspaces:m,refreshWorkspaces:p,refreshing:s.refreshing,currentWorkspace:s.currentWorkspace,setCurrentWorkspace:i,switchToWorkspace:l,resetCurrentWorkspace:c,createWorkspace:h,allFeatures:s.allFeatures,getFeatures:b,updateFeature:x,getWorkspace:N,updateWorkspace:g,getUsers:y,addUser:v,removeUser:w,updateUser:S,getProfile:j,updateUserProfile:k,deleteWorkspace:C,switching:null!==s.switchingToId,switchingToId:s.switchingToId}},fr=new Set;function mr(){fr.forEach(e=>e())}const pr=e=>{const{os:r,api:n}=dr(),a=rt(r),[s,o]=t.useState(null),[i,l]=t.useState(!1),[c,d]=t.useState(null),u=t.useCallback(async()=>{if(e&&a){l(!0),d(null);try{const t=await n.getPublicPlans(e);o(t)}catch(t){const r=t instanceof Error?t.message:"Failed to fetch plans";d(r),Re(t,{component:"usePublicPlans",action:"fetchPlans",metadata:{slug:e}})}finally{l(!1)}}else o(null)},[n,e,a]);t.useEffect(()=>{u()},[u]);const f=e&&!a||i;return{items:s?.items??[],plans:s?.plans??[],notes:s?.notes,loading:f,error:c,refetch:u}},hr=e=>{const{api:r}=dr(),[n,a]=t.useState(null),[s,o]=t.useState(!1),[i,l]=t.useState(null),c=t.useCallback(async()=>{if(e){o(!0),l(null);try{const t=await r.getCurrentSubscription(e);a(t)}catch(t){const r=t instanceof Error?t.message:"Failed to fetch subscription";l(r),Re(t,{component:"useSubscription",action:"fetchSubscription",metadata:{workspaceId:e}})}finally{o(!1)}}else a(null)},[r,e]);return t.useEffect(()=>{c()},[c]),{subscription:n,loading:s,error:i,refetch:c}},gr=(e,r)=>{const{api:n}=dr(),[a,s]=t.useState(null),[o,i]=t.useState(!1),[l,c]=t.useState(null),d=t.useCallback(async()=>{if(e){i(!0),c(null);try{const t=r?await n.getPlanGroupByVersion(e,r):await n.getPlanGroup(e);s(t)}catch(t){const n=t instanceof Error?t.message:"Failed to fetch plan group";c(n),Re(t,{component:"usePlanGroup",action:"fetchPlanGroup",metadata:{workspaceId:e,groupVersionId:r}})}finally{i(!1)}}else s(null)},[n,e,r]);return t.useEffect(()=>{d()},[d]),{planGroup:a,loading:o,error:l,refetch:d}},br=e=>{const{api:r}=dr(),[n,a]=t.useState(null),[s,o]=t.useState(!1),[i,l]=t.useState(null),c=t.useCallback(async()=>{if(e){o(!0),l(null);try{const t=await r.getPlanGroupVersions(e);a(t)}catch(t){const r=t instanceof Error?t.message:"Failed to fetch plan group versions";l(r),Re(t,{component:"usePlanGroupVersions",action:"fetchVersions",metadata:{workspaceId:e}})}finally{o(!1)}}else a(null)},[r,e]);return t.useEffect(()=>{c()},[c]),{versions:n,loading:s,error:i,refetch:c}},xr=e=>{const{api:r}=dr(),[n,a]=t.useState(!1),[s,o]=t.useState(null);return{createCheckoutSession:t.useCallback(async t=>{if(!e)throw new Error("Workspace ID is required");a(!0),o(null);try{const n=await r.createCheckoutSession(e,t);return"trial_started"===n.type&&(Ft(),mr()),n}catch(r){const n=r instanceof Error?r.message:"Failed to create checkout session";throw o(n),Re(r,{component:"useCreateCheckoutSession",action:"createCheckoutSession",metadata:{workspaceId:e,request:t}}),r}finally{a(!1)}},[r,e]),loading:n,error:s}},yr=e=>{const{api:r}=dr(),[n,a]=t.useState(!1),[s,o]=t.useState(null),i=t.useCallback(async(t,n)=>{if(!e)throw new Error("Workspace ID is required");a(!0),o(null);try{const a={planVersionId:t,...n?.billingInterval&&{billingInterval:n.billingInterval},...n?.successUrl&&{successUrl:n.successUrl},...n?.cancelUrl&&{cancelUrl:n.cancelUrl}},s=await r.updateSubscription(e,a);return Ft(),s}catch(r){const a=r instanceof Error?r.message:"Failed to update subscription";throw o(a),Re(r,{component:"useUpdateSubscription",action:"updateSubscription",metadata:{workspaceId:e,planVersionId:t,options:n}}),r}finally{a(!1)}},[r,e]);return{updateSubscription:i,loading:n,error:s}},vr=(e,r)=>{const n=hr(e),a=gr(e,r),s=yr(e),o=t.useCallback(async()=>{await Promise.all([n.refetch(),a.refetch()])},[n.refetch,a.refetch]);return{subscription:n.subscription,planGroup:a.planGroup,loading:n.loading||a.loading||s.loading,error:n.error||a.error||s.error,updateSubscription:s.updateSubscription,refetch:o}},wr=(e,r=10,n)=>{const{api:a}=dr(),[s,o]=t.useState([]),[i,l]=t.useState(!1),[c,d]=t.useState(!1),[u,f]=t.useState(null),m=t.useCallback(async()=>{if(!e)return o([]),void l(!1);d(!0),f(null);try{const t=await a.listInvoices(e,r,n);o(t.invoices||[]),l(t.has_more||!1)}catch(t){const a=t instanceof Error?t.message:"Failed to fetch invoices";f(a),Re(t,{component:"useInvoices",action:"fetchInvoices",metadata:{workspaceId:e,limit:r,startingAfter:n}})}finally{d(!1)}},[a,e,r,n]);return t.useEffect(()=>{m()},[m]),{invoices:s,hasMore:i,loading:c,error:u,refetch:m}},Sr=e=>{const{api:r}=dr(),[n,a]=t.useState(!1),[s,o]=t.useState(null);return{openBillingPortal:t.useCallback(async t=>{if(!e)throw new Error("Workspace ID is required");a(!0),o(null);try{const n=t||window.location.href,a=await r.createBillingPortalSession(e,n);return a.url&&window.open(a.url,"_blank","noopener,noreferrer"),a}catch(t){const r=t instanceof Error?t.message:"Failed to open billing portal";throw o(r),Re(t,{component:"useBillingPortal",action:"openBillingPortal",metadata:{workspaceId:e}}),t}finally{a(!1)}},[e,r]),loading:n,error:s}},kr=e=>{const{api:r}=dr(),[n,a]=t.useState(!1),[s,o]=t.useState(null);return{cancelSubscription:t.useCallback(async()=>{if(!e)throw new Error("Workspace ID is required");a(!0),o(null);try{const t=await r.cancelSubscriptionAtPeriodEnd(e);return Ft(),t}catch(t){const r=t instanceof Error?t.message:"Failed to cancel subscription";throw o(r),Re(t,{component:"useCancelSubscription",action:"cancelSubscription",metadata:{workspaceId:e}}),t}finally{a(!1)}},[r,e]),loading:n,error:s}},jr=e=>{const{api:r}=dr(),[n,a]=t.useState(!1),[s,o]=t.useState(null);return{resumeSubscription:t.useCallback(async()=>{if(!e)throw new Error("Workspace ID is required");a(!0),o(null);try{const t=await r.resumeSubscription(e);return Ft(),t}catch(t){const r=t instanceof Error?t.message:"Failed to resume subscription";throw o(r),Re(t,{component:"useResumeSubscription",action:"resumeSubscription",metadata:{workspaceId:e}}),t}finally{a(!1)}},[r,e]),loading:n,error:s}},Nr=e=>{const{api:r}=dr(),[n,a]=t.useState(null),[s,o]=t.useState(!1),[i,l]=t.useState(null),c=t.useCallback(async()=>{if(e){o(!0),l(null);try{const t=await r.getAllQuotaUsage(e);a(t.quotas)}catch(t){const r=t instanceof Error?t.message:"Failed to fetch all quota usage";l(r),Re(t,{component:"useAllQuotaUsage",action:"fetchAllUsage",metadata:{workspaceId:e}})}finally{o(!1)}}else a(null)},[r,e]);return t.useEffect(()=>{c()},[c]),{quotas:n,loading:s,error:i,refetch:c}},Cr=t.createContext(null);Cr.displayName="SubscriptionContext";const Er=t.memo(function({children:r}){const{currentWorkspace:n}=ur(),{subscription:a,loading:s,error:o,refetch:i}=hr(n?._id);t.useEffect(()=>{return e=i,zt.add(e),()=>{zt.delete(e)};var e},[i]);const l=t.useMemo(()=>({response:a,loading:s,error:o,refetch:i}),[a,s,o,i]);return e.jsx(Cr.Provider,{value:l,children:r})});function Ar(){const e=t.useContext(Cr);if(null===e)throw new Error("useSubscriptionContext must be used within SubscriptionContextProvider. Make sure SubscriptionContextProvider is wrapping your application (or the tree that uses subscription gates).");return e}function _r(e,r){const n=lt(),a=Ye(),s=Ct(),o=e||(e=>e);return Le(t.useMemo(()=>({os:n,auth:a,workspaces:s}),[n,a,s]),o,r)}function Tr(){const e=Xe(),r=ct(),n=Et();return t.useMemo(()=>({auth:e,os:r,workspaces:n}),[e,r,n])}Er.displayName="SubscriptionContextProvider";const Pr=t.createContext(null);Pr.displayName="QuotaUsageContext";const Rr=t.memo(function({children:r}){const{currentWorkspace:n}=ur(),{quotas:a,loading:s,error:o,refetch:i}=Nr(n?._id);t.useEffect(()=>{return e=i,fr.add(e),()=>{fr.delete(e)};var e},[i]);const l=t.useMemo(()=>({quotas:a,loading:s,error:o,refetch:i}),[a,s,o,i]);return e.jsx(Pr.Provider,{value:l,children:r})});function Ir(){const e=t.useContext(Pr);if(null===e)throw new Error("useQuotaUsageContext must be used within QuotaUsageContextProvider. Make sure QuotaUsageContextProvider is wrapping your application (or the tree that uses quota gates).");return e}Rr.displayName="QuotaUsageContextProvider";class Or extends Yt{constructor(e){super(e)}async requestAuth(e){const t=`${this.serverUrl}/api/${this.version}/auth/request`,r=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!r.ok){let e="Failed to initiate authentication";try{e=(await r.json()).message||e}catch{e=`Failed to initiate authentication (${r.status}: ${r.statusText})`}throw new Error(e)}return r.json()}async getProfile(e,t){return this.fetchJson("profile",{headers:{"x-session-id":e},signal:t},"Failed to fetch user profile")}}const Mr=new class{constructor(){this.listeners=new Set,this.currentState={open:!1,section:"profile"}}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}getState(){return{...this.currentState}}openWorkspaceSettings(e){this.currentState={open:!0,section:e||"profile"},this.notifyListeners()}closeSettings(){this.currentState={...this.currentState,open:!1},this.notifyListeners()}setSection(e){this.currentState={...this.currentState,section:e},this.notifyListeners()}notifyListeners(){this.listeners.forEach(e=>{e(this.currentState.open,this.currentState.section)})}};function Dr(e,t,r){const n=e._id||e.id;if(!n||"string"!=typeof n)throw new Error("User data missing required ID field");if(!e.email||"string"!=typeof e.email)throw new Error("User data missing required email field");return{id:n,name:e.name||"",org:t,email:e.email,emailVerified:!0,clientId:r,role:e.role||"",image:e.image}}function Ur(e,t){return{user:e,sessionId:t,expires:new Date(Date.now()+864e5).toISOString()}}function zr(){return _r(e=>e.auth)}function Fr(){const e=Tr(),r=zr(),n=Qt(),{serverUrl:a,orgId:s,auth:o}=n,{resetCurrentWorkspace:i,currentWorkspace:l}=ur(),c=t.useMemo(()=>new Or({serverUrl:a,version:n.version}),[a,n.version]),d=t.useCallback(async()=>{e.auth(Me());try{const t=await c.requestAuth({orgId:s,clientId:o?.clientId??"",redirect:{success:o?.redirectUrl||window.location.href,error:o?.redirectUrl||window.location.href}});if(!t.success)throw e.auth(Ue()),new Error(t.message||"Authentication failed");window.location.href=t.data.redirectUrl}catch(t){throw e.auth(Ue()),Re(t,{component:"useSaaSAuth",action:"signIn"}),t}},[c,s,o,e]),u=t.useCallback(async()=>{try{o?.callbacks?.onSignOut&&"function"==typeof o.callbacks.onSignOut&&await o.callbacks.onSignOut()}catch(e){Re(e,{component:"useSaaSAuth",action:"signOut"})}finally{Bt(Gt),e.auth(Fe()),i()}},[e,i,o?.callbacks?.onSignOut]),f=t.useCallback(e=>{l?Mr.openWorkspaceSettings(e):Re(new Error("Cannot open settings: No current workspace"),{component:"useSaaSAuth",action:"openWorkspaceSettings"})},[l]),m=t.useMemo(()=>Ve(r.status),[r.status]);return t.useMemo(()=>({user:r.session?.user,session:r.session,status:r.status,...m,signIn:d,signOut:u,openWorkspaceSettings:f}),[r.session,r.status,m,d,u,f])}class Lr extends Yt{constructor(e){super({...e,requireOrgId:!0})}async getVapidPublicKey(){return this.fetchJson("push/vapid-public-key")}async subscribe(e,t){await this.fetchJson("push/subscribe",{method:"POST",body:JSON.stringify({endpoint:e.endpoint,keys:e.keys,userAgent:t})})}async unsubscribe(e){await this.fetchJson("push/unsubscribe",{method:"DELETE",body:JSON.stringify({endpoint:e})})}}const $r=t.createContext(null);function Wr(e){const t=(e+"=".repeat((4-e.length%4)%4)).replace(/-/g,"+").replace(/_/g,"/"),r=atob(t),n=new Uint8Array(r.length);for(let e=0;e<r.length;e++)n[e]=r.charCodeAt(e);return n}const Vr=t.memo(function({children:r,serviceWorkerPath:n="/push-sw.js",autoSubscribe:a=!1}){const s=Qt(),{isAuthenticated:o}=Fr(),i="undefined"!=typeof window&&"serviceWorker"in navigator&&"PushManager"in window&&"Notification"in window,l=t.useMemo(()=>new Lr({serverUrl:s.serverUrl,version:s.version,orgId:s.orgId}),[s.serverUrl,s.version,s.orgId]),[c,d]=t.useState({permission:i?Notification.permission:"default",isSubscribed:!1,isSupported:i,loading:!1,error:null});t.useEffect(()=>{o&&i&&async function(){try{const e=await navigator.serviceWorker.getRegistration(n);if(!e)return void d(e=>({...e,isSubscribed:!1}));const t=await e.pushManager.getSubscription();d(e=>({...e,isSubscribed:!!t,permission:Notification.permission}))}catch{d(e=>({...e,isSubscribed:!1}))}}()},[o,i]);const u=t.useCallback(async()=>{if(!i)return!1;const e=await Notification.requestPermission();return d(t=>({...t,permission:e})),"granted"===e},[i]),f=t.useCallback(async()=>{if(i&&o){d(e=>({...e,loading:!0,error:null}));try{if(!await u())return void d(e=>({...e,loading:!1,error:"Notification permission denied"}));const{publicKey:e}=await l.getVapidPublicKey(),t=await navigator.serviceWorker.register(n);await navigator.serviceWorker.ready;const r=(await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:Wr(e)})).toJSON();await l.subscribe({endpoint:r.endpoint,keys:{p256dh:r.keys.p256dh,auth:r.keys.auth}},navigator.userAgent),d(e=>({...e,isSubscribed:!0,loading:!1}))}catch(e){const t=e instanceof Error?e.message:"Failed to subscribe to push notifications";d(e=>({...e,loading:!1,error:t})),Re(e,{component:"PushNotificationProvider",action:"subscribe"})}}},[i,o,l,n,u]),m=t.useCallback(async()=>{if(i){d(e=>({...e,loading:!0,error:null}));try{const e=await navigator.serviceWorker.getRegistration(n);if(e){const t=await e.pushManager.getSubscription();if(t){const e=t.endpoint;await t.unsubscribe(),await l.unsubscribe(e)}}d(e=>({...e,isSubscribed:!1,loading:!1}))}catch(e){const t=e instanceof Error?e.message:"Failed to unsubscribe";d(e=>({...e,loading:!1,error:t})),Re(e,{component:"PushNotificationProvider",action:"unsubscribe"})}}},[i,l,n]),p=t.useMemo(()=>({...c,requestPermission:u,subscribe:f,unsubscribe:m}),[c,u,f,m]);return e.jsx($r.Provider,{value:p,children:r})});function Br(){const e=t.useContext($r);if(!e)throw new Error("usePushNotifications must be used within PushNotificationProvider");return e}let Gr=!1,Kr=null;const Hr=t.memo(({children:r,callbacks:n})=>{const a=Tr(),s=zr(),o=Qt(),i=Ve(s.status).isAuthenticated,l=t.useRef(!1),c=t.useRef(null),d=t.useMemo(()=>n,[n]),u=t.useCallback(async e=>{try{if(d?.handleAuthentication){const{sessionId:t}=await d.handleAuthentication(e);if(!t||"string"!=typeof t||""===t.trim())throw new Error("Invalid sessionId received from authentication callback");const r=o;if(!rt(r))throw new Error("OS configuration is not available");const{serverUrl:n,version:s,orgId:i}=r,l=new Or({serverUrl:n,version:s}),c=await l.getProfile(t),u=Ur(Dr(c,i,r.auth?.clientId||""),t);Ht(u.sessionId),a.auth(ze(u)),function(){if("undefined"!=typeof window)try{const e=new URL(window.location.href);e.searchParams.delete(Kt),window.history.replaceState({},"",e.toString())}catch(e){Re(e,{component:"auth-utils",action:"removeTokenFromUrl",metadata:{param:Kt}})}}()}}catch(t){throw Re(t,{component:"AuthProviderWrapper",action:"handleAuthRedirect",metadata:{hasCode:!!e}}),a.auth(Ue()),t}},[a,d,o]);return $t(async e=>{if("undefined"==typeof window)return;if(i)return;if(Gr)return;if(Kr)return;if(!rt(o))return;return qt()?void 0:d?.getSession?void(Kr=(async()=>{let t=null;try{t=await d.getSession()}catch(e){Re(e,{component:"AuthProviderWrapper",action:"getSession"})}if(!t)return Gr=!0,void a.auth(Ue());try{const{orgId:r}=o,n=new Or({serverUrl:o.serverUrl,version:o.version}),s=await n.getProfile(t,e),i=Ur(Dr(s,r,o.auth?.clientId||""),t);Ht(i.sessionId),Gr=!0,a.auth(ze(i))}catch(e){if(!Ie(e,{component:"AuthProviderWrapper",action:"fetchUserProfile"}))return;Gr=!0,a.auth(Ue())}finally{Kr=null}})()):(Gr=!0,void a.auth(Ue()))},[a,o]),t.useEffect(()=>{const e=qt();if(!e)return;if(l.current||c.current===e)return;if(!rt(o))return;l.current=!0,c.current=e;let t=!1;return a.auth(De()),u(e).then(()=>{t||(c.current=null)}).catch(e=>{t||(Re(e,{component:"AuthProviderWrapper",action:"handleAuthRedirectEffect",metadata:{hasCode:!0}}),c.current=null)}).finally(()=>{l.current=!1}),()=>{t=!0}},[u,o.serverUrl,o.version,o.orgId]),e.jsx(e.Fragment,{children:r})});Hr.displayName="AuthProviderWrapper";const Zr=t.memo(({config:r,auth:n,children:a})=>{const s=Tr(),o=Qt(),i=t.useMemo(()=>({clientId:n?.clientId||"",redirectUrl:n?.redirectUrl||"",callbacks:n?.callbacks}),[n?.clientId,n?.redirectUrl,n?.callbacks]);t.useEffect(()=>{s.os(Qe({...r,auth:i}))},[r,i,s]);const l=t.useMemo(()=>rt(o)?new Xt(o):null,[o.serverUrl,o.version,o.orgId]);return $t(async e=>{if(!l||o.settings)return;const t=await l.getSettings(e);s.os(et(t))},[l,o.settings,s],{onError:e=>Re(e,{component:"ContextConfigProvider",action:"fetchSettings",metadata:{serverUrl:o.serverUrl,version:o.version,orgId:o.orgId}})}),e.jsx(e.Fragment,{children:a})});Zr.displayName="ContextConfigProvider";const qr=t.createContext({container:null,setContainer:()=>{}}),Jr=t.memo(({children:r})=>{const[n,a]=t.useState(null),s=t.useMemo(()=>({container:n,setContainer:a}),[n]),o=t.useMemo(()=>r,[r]);return e.jsxs(qr.Provider,{value:s,children:[o,e.jsx("div",{ref:a,id:"saas-os-portal",className:"saas-os-ui",style:{width:"100%",height:"100%"}})]})});Jr.displayName="PortalProvider";class Yr extends Yt{constructor(e){super(e)}async getAttributes(e){const t=await this.fetchResponse("users/attributes",{signal:e});if(!t.ok)throw new Error(await Ee(t,"Failed to fetch user attributes"));const r=await t.json();return r&&"object"==typeof r&&!Array.isArray(r)?r:{}}async updateAttributes(e){return this.fetchJson("users/attributes",{method:"PATCH",body:JSON.stringify({attributes:e})},"Failed to update user attributes")}async updateAttribute(e,t){return this.fetchJson(`users/attributes/${e}`,{method:"PATCH",body:JSON.stringify({value:t})},"Failed to update user attribute")}async getFeatures(e){const t=await this.fetchResponse("users/features",{signal:e});if(!t.ok)throw new Error(await Ee(t,"Failed to fetch user features"));const r=await t.json();return"object"==typeof r&&null!==r?r:{}}}const Xr=t.createContext(void 0),Qr=t.memo(({children:r})=>{const n=Qt(),a=function(){const e=Qt();return t.useMemo(()=>new Yr(e),[e.serverUrl,e.version])}(),{isAuthenticated:s}=Fr(),{serverUrl:o,version:i}=n,[l,c]=t.useState({}),[d,u]=t.useState({}),[f,m]=t.useState(!1),[p,h]=t.useState(null),g=t.useCallback(async e=>{if(o&&i&&s)try{const t=await a.getAttributes(e);c(t)}catch(e){if(Ce(e))return;const t=e instanceof Error?e:new Error("Failed to fetch user attributes");h(t),Re(e,{component:"UserProvider",action:"fetchAttributes"})}else c({})},[a,o,i,s]),b=t.useCallback(async()=>{if(o&&i&&s){m(!0),h(null);try{await g()}finally{m(!1)}}},[o,i,s,g]),x=t.useCallback(async e=>{m(!0),h(null);try{const t=await a.updateAttributes(e);return await g(),t}catch(t){const r=t instanceof Error?t:new Error("Failed to update user attributes");throw h(r),Re(t,{component:"UserProvider",action:"updateAttributes",metadata:{updates:e}}),t}finally{m(!1)}},[a,g]),y=t.useCallback(async(e,t)=>{m(!0),h(null);try{const r=await a.updateAttribute(e,t);return await g(),r}catch(r){const n=r instanceof Error?r:new Error("Failed to update user attribute");throw h(n),Re(r,{component:"UserProvider",action:"updateAttribute",metadata:{attributeKey:e,value:t}}),r}finally{m(!1)}},[a,g]),v=t.useCallback(async e=>{if(o&&i&&s)try{const t=await a.getFeatures(e);u(t)}catch(e){if(Ce(e))return;const t=e instanceof Error?e:new Error("Failed to fetch user features");h(t),Re(e,{component:"UserProvider",action:"fetchFeatures"})}else u({})},[a,o,i,s]),w=t.useCallback(async()=>{if(o&&i&&s){m(!0),h(null);try{await v()}finally{m(!1)}}},[o,i,s,v]);$t(async e=>{if(!s||!o||!i)return c({}),void u({});m(!0),h(null);try{await Promise.all([g(e),v(e)])}finally{m(!1)}},[s,o,i,g,v],{onError:e=>Re(e,{component:"UserProvider",action:"initialFetch",metadata:{step:"fetchAttributesAndFeatures"}})});const S=t.useMemo(()=>({attributes:l,features:d,isLoading:f,error:p,updateAttributes:x,updateAttribute:y,refreshAttributes:b,refreshFeatures:w}),[l,d,f,p,x,y,b,w]);return e.jsx(Xr.Provider,{value:S,children:r})});Qr.displayName="UserProvider";const en=t.lazy(()=>Promise.resolve().then(function(){return NS}).then(e=>({default:e.default}))),tn=({children:r})=>{const{currentWorkspace:n}=ur(),[a,s]=t.useState(!1),[o,i]=t.useState("profile");return t.useEffect(()=>{const e=Mr.getState();s(e.open),i(e.section);return Mr.subscribe((e,t)=>{s(e),i(t)})},[]),e.jsxs(e.Fragment,{children:[r,n&&a&&e.jsx(t.Suspense,{fallback:null,children:e.jsx(en,{workspace:n,open:a,onOpenChange:e=>{e||Mr.closeSettings()},section:o,onSectionChange:e=>{Mr.setSection(e)},showTrigger:!1})})]})},rn=(e,t,r)=>{if(t!==tt.V1)throw new Error(`Invalid version: "${t}". Only "${tt.V1}" is currently supported.`);if(!e||"string"!=typeof e)throw new Error("serverUrl is required and must be a string");if(!(e=>{try{return new URL(e),!0}catch{return!1}})(e))throw new Error(`Invalid serverUrl: "${e}". Must be a valid URL.`);if(!r||"string"!=typeof r)throw new Error("orgId is required and must be a string");if(!/^[0-9a-fA-F]{24}$/.test(r))throw new Error(`Invalid orgId: "${r}". Must be a valid MongoDB ObjectId (24 hexadecimal characters).`)},nn=t.memo(({serverUrl:r,version:n,orgId:a,auth:s,children:o})=>{rn(r,n,a);const i=t.useMemo(()=>({serverUrl:r,version:n,orgId:a}),[r,n,a]),l=t.useMemo(()=>s?.callbacks,[s?.callbacks?.handleAuthentication,s?.callbacks?.onSignOut,s?.callbacks?.handleEvent,s?.callbacks?.onWorkspaceChange]),c=s?.callbacks?.handleEvent;return t.useEffect(()=>(Lt.setCallbacks(c?{handleEvent:c}:null),()=>{Lt.setCallbacks(null)}),[c]),e.jsx(At,{children:e.jsx(Hr,{callbacks:l,children:e.jsx(Jr,{children:e.jsx(Zr,{config:i,auth:s,children:e.jsx(Qr,{children:e.jsx(Er,{children:e.jsx(Rr,{children:e.jsx(Vr,{children:e.jsx(tn,{children:o})})})})})})})})})});nn.displayName="SaaSOSProviderInner";const an=({children:t,...r})=>e.jsx(Oe,{children:e.jsx(nn,{...r,children:t})});an.displayName="SaaSOSProvider";const sn=e=>{const{children:t}=e,{status:r}=Fr();return r!==We.authenticated?null:t},on=e=>{const{children:t}=e,{status:r}=Fr();return r!==We.unauthenticated?null:t};sn.displayName="WhenAuthenticated",on.displayName="WhenUnauthenticated";const ln=e=>{const{children:t,fallback:r,roles:n}=e,{user:a}=Fr();return n.includes(a?.role??"")?t:r||null},cn=e=>{const{children:t,fallback:r,roles:n}=e,{user:a}=Fr(),{currentWorkspace:s}=ur(),o=s?.users.find(e=>e._id===a?.id);return o&&n.includes(o?.role??"")?t:r||null};function dn(){const e=t.useContext(Xr);if(void 0===e)throw new Error("useUserFeatures must be used within a UserProvider");return{features:e.features,isLoading:e.isLoading,error:e.error,refreshFeatures:e.refreshFeatures,isFeatureEnabled:t=>Boolean(e.features[t])}}ln.displayName="WhenRoles",cn.displayName="WhenWorkspaceRoles";const un=e=>{const{children:t,slug:r}=e,{currentWorkspace:n}=ur(),a=n?.features?.[r];return a?t:null},fn=e=>{const{children:t,slug:r}=e,{currentWorkspace:n}=ur(),a=n?.features?.[r];return a?null:t},mn=e=>{const{children:t,slug:r}=e,{isFeatureEnabled:n}=dn();return n(r)?t:null},pn=e=>{const{children:t,slug:r}=e,{isFeatureEnabled:n}=dn();return n(r)?null:t};un.displayName="WhenWorkspaceFeatureEnabled",fn.displayName="WhenWorkspaceFeatureDisabled",mn.displayName="WhenUserFeatureEnabled",pn.displayName="WhenUserFeatureDisabled";const hn=e=>{const{children:t,loadingComponent:r,fallbackComponent:n}=e,{response:a,loading:s}=Ar();return s?r??null:a?.subscription?t:n??null},gn=e=>{const{children:t,loadingComponent:r,fallbackComponent:n}=e,{response:a,loading:s}=Ar();return s?r??null:a?.subscription?n??null:t},bn=e=>{const{children:t,plans:r,loadingComponent:n,fallbackComponent:a}=e,{response:s,loading:o}=Ar();if(o)return n??null;if(!s?.subscription)return a??null;const i=s.plan??s.subscription?.plan;if(!i)return a??null;const l=r.map(e=>e.trim().toLowerCase()),c=(i.slug??"").toLowerCase();return l.includes(c)?t:a??null},xn=e=>{const{children:t,loadingComponent:r,fallbackComponent:n}=e,{response:a,loading:s}=Ar();return s?r??null:"trialing"!==a?.subscription?.subscriptionStatus?n??null:t},yn=e=>{const{children:t,loadingComponent:r,fallbackComponent:n}=e,{response:a,loading:s}=Ar();return s?r??null:"trialing"===a?.subscription?.subscriptionStatus?n??null:t},vn=e=>{const{children:t,loadingComponent:r,fallbackComponent:n,daysThreshold:a=3}=e,{response:s,loading:o}=Ar();if(o)return r??null;const i=s?.subscription;if(!i||"trialing"!==i.subscriptionStatus)return n??null;const l=i.trialEnd||i.stripeCurrentPeriodEnd;if(!l)return n??null;const c=new Date(l);if(isNaN(c.getTime()))return n??null;return Math.max(0,Math.ceil((c.getTime()-Date.now())/864e5))>a?n??null:t};hn.displayName="WhenSubscription",gn.displayName="WhenNoSubscription",bn.displayName="WhenSubscriptionToPlans",xn.displayName="WhenTrialing",yn.displayName="WhenNotTrialing",vn.displayName="WhenTrialEnding";const wn=e=>{const{slug:t,children:r,loadingComponent:n,fallbackComponent:a}=e,{quotas:s,loading:o}=Ir();if(o)return n??null;const i=s?.[t];return i?i.available<=0?a??null:r:a??null},Sn=e=>{const{slug:t,children:r,loadingComponent:n,fallbackComponent:a}=e,{quotas:s,loading:o}=Ir();if(o)return n??null;const i=s?.[t];return i?i.available>0?a??null:r:a??null},kn=e=>{const{slug:t,children:r,loadingComponent:n,fallbackComponent:a}=e,{quotas:s,loading:o}=Ir();if(o)return n??null;const i=s?.[t];return i&&i.hasOverage?r:a??null},jn=e=>{const{slug:t,threshold:r,children:n,loadingComponent:a,fallbackComponent:s}=e,{quotas:o,loading:i}=Ir();if(i)return a??null;const l=o?.[t];if(!l)return s??null;return(l.included>0?l.consumed/l.included*100:l.consumed>0?100:0)<r?s??null:n};function Nn(e){if(!e)return null;const t=new Date(e);return isNaN(t.getTime())?null:t}function Cn(e,r){const{response:n}=Ar();return t.useMemo(()=>{if(!e)return{hasSeatPricing:!1,memberCount:0,includedSeats:0,maxUsers:0,maxSeats:0,limitSource:"none",billableSeats:0,availableSeats:1/0,isAtMax:!1,isNearMax:!1,perSeatPriceCents:null,currency:"",canInvite:!0,inviteBlockReason:null,inviteBlockMessage:null};const t=e.users?.length??0,a=n?.planVersion,s=n?.subscription,o=e.billingCurrency||"usd",i=Dt({planVersion:a,currency:o,settingsMaxUsers:r?.settingsMaxUsers}),{maxUsers:l,hasSeatPricing:c,includedSeats:d}=i,u=c?Math.max(0,t-d):0,f=l>0?Math.max(0,l-t):1/0,m=l>0&&t>=l,p=l>0&&t>=.8*l&&!m,h=c&&a?Mt(a,o,s?.billingInterval??"monthly"):null,g=Ut({memberCount:t,maxUsersConfig:i});return{hasSeatPricing:c,memberCount:t,includedSeats:d,maxUsers:l,maxSeats:l,limitSource:i.source,billableSeats:u,availableSeats:f,isAtMax:m,isNearMax:p,perSeatPriceCents:h,currency:o,canInvite:g.canInvite,inviteBlockReason:g.blockReason,inviteBlockMessage:g.blockMessage}},[n,e,r?.settingsMaxUsers])}wn.displayName="WhenQuotaAvailable",Sn.displayName="WhenQuotaExhausted",kn.displayName="WhenQuotaOverage",jn.displayName="WhenQuotaThreshold";var En=e=>"checkbox"===e.type,An=e=>e instanceof Date,_n=e=>null==e;const Tn=e=>"object"==typeof e;var Pn=e=>!_n(e)&&!Array.isArray(e)&&Tn(e)&&!An(e),Rn=e=>Pn(e)&&e.target?En(e.target)?e.target.checked:e.target.value:e,In=(e,t)=>e.has((e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e)(t)),On="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function Mn(e){if(e instanceof Date)return new Date(e);const t="undefined"!=typeof FileList&&e instanceof FileList;if(On&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!(r||Pn(e)&&(e=>{const t=e.constructor&&e.constructor.prototype;return Pn(t)&&t.hasOwnProperty("isPrototypeOf")})(e)))return e;const n=r?[]:Object.create(Object.getPrototypeOf(e));for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=Mn(e[t]));return n}var Dn=e=>/^\w*$/.test(e),Un=e=>void 0===e,zn=e=>Array.isArray(e)?e.filter(Boolean):[],Fn=e=>zn(e.replace(/["|']|\]/g,"").split(/\.|\[/)),Ln=(e,t,r)=>{if(!t||!Pn(e))return r;const n=(Dn(t)?[t]:Fn(t)).reduce((e,t)=>_n(e)?e:e[t],e);return Un(n)||n===e?Un(e[t])?r:e[t]:n},$n=e=>"boolean"==typeof e,Wn=e=>"function"==typeof e,Vn=(e,t,r)=>{let n=-1;const a=Dn(t)?[t]:Fn(t),s=a.length,o=s-1;for(;++n<s;){const t=a[n];let s=r;if(n!==o){const r=e[t];s=Pn(r)||Array.isArray(r)?r:isNaN(+a[n+1])?{}:[]}if("__proto__"===t||"constructor"===t||"prototype"===t)return;e[t]=s,e=e[t]}};const Bn="blur",Gn="focusout",Kn="change",Hn="onBlur",Zn="onChange",qn="onSubmit",Jn="onTouched",Yn="all",Xn="max",Qn="min",ea="maxLength",ta="minLength",ra="pattern",na="required",aa="validate",sa=t.createContext(null);sa.displayName="HookFormControlContext";const oa=()=>t.useContext(sa);var ia=(e,t,r,n=!0)=>{const a={defaultValues:t._defaultValues};for(const s in e)Object.defineProperty(a,s,{get:()=>{const a=s;return t._proxyFormState[a]!==Yn&&(t._proxyFormState[a]=!n||Yn),r&&(r[a]=!0),e[a]}});return a};const la="undefined"!=typeof window?t.useLayoutEffect:t.useEffect;var ca=e=>"string"==typeof e,da=(e,t,r,n,a)=>ca(e)?(n&&t.watch.add(e),Ln(r,e,a)):Array.isArray(e)?e.map(e=>(n&&t.watch.add(e),Ln(r,e))):(n&&(t.watchAll=!0),r),ua=e=>_n(e)||!Tn(e);function fa(e,t,r=new WeakSet){if(ua(e)||ua(t))return Object.is(e,t);if(An(e)&&An(t))return Object.is(e.getTime(),t.getTime());const n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;if(r.has(e)||r.has(t))return!0;r.add(e),r.add(t);for(const s of n){const n=e[s];if(!a.includes(s))return!1;if("ref"!==s){const e=t[s];if(An(n)&&An(e)||Pn(n)&&Pn(e)||Array.isArray(n)&&Array.isArray(e)?!fa(n,e,r):!Object.is(n,e))return!1}}return!0}function ma(e){const r=oa(),{name:n,disabled:a,control:s=r,shouldUnregister:o,defaultValue:i,exact:l=!0}=e,c=In(s._names.array,n),d=t.useMemo(()=>Ln(s._formValues,n,Ln(s._defaultValues,n,i)),[s,n,i]),u=function(e){const r=oa(),{control:n=r,name:a,defaultValue:s,disabled:o,exact:i,compute:l}=e||{},c=t.useRef(s),d=t.useRef(l),u=t.useRef(void 0),f=t.useRef(n),m=t.useRef(a);d.current=l;const[p,h]=t.useState(()=>{const e=n._getWatch(a,c.current);return d.current?d.current(e):e}),g=t.useCallback(e=>{const t=da(a,n._names,e||n._formValues,!1,c.current);return d.current?d.current(t):t},[n._formValues,n._names,a]),b=t.useCallback(e=>{if(!o){const t=da(a,n._names,e||n._formValues,!1,c.current);if(d.current){const e=d.current(t);fa(e,u.current)||(h(e),u.current=e)}else h(t)}},[n._formValues,n._names,o,a]);la(()=>(f.current===n&&fa(m.current,a)||(f.current=n,m.current=a,b()),n._subscribe({name:a,formState:{values:!0},exact:i,callback:e=>{b(e.values)}})),[n,i,a,b]),t.useEffect(()=>n._removeUnmounted());const x=f.current!==n,y=m.current,v=t.useMemo(()=>{if(o)return null;const e=!x&&!fa(y,a);return x||e?g():null},[o,x,a,y,g]);return null!==v?v:p}({control:s,name:n,defaultValue:d,exact:l}),f=function(e){const r=oa(),{control:n=r,disabled:a,name:s,exact:o}=e||{},[i,l]=t.useState(n._formState),c=t.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return la(()=>n._subscribe({name:s,formState:c.current,exact:o,callback:e=>{!a&&l({...n._formState,...e})}}),[s,a,o]),t.useEffect(()=>{c.current.isValid&&n._setValid(!0)},[n]),t.useMemo(()=>ia(i,n,c.current,!1),[i,n])}({control:s,name:n,exact:l}),m=t.useRef(e),p=t.useRef(void 0),h=t.useRef(s.register(n,{...e.rules,value:u,...$n(e.disabled)?{disabled:e.disabled}:{}}));m.current=e;const g=t.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!Ln(f.errors,n)},isDirty:{enumerable:!0,get:()=>!!Ln(f.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!Ln(f.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!Ln(f.validatingFields,n)},error:{enumerable:!0,get:()=>Ln(f.errors,n)}}),[f,n]),b=t.useCallback(e=>h.current.onChange({target:{value:Rn(e),name:n},type:Kn}),[n]),x=t.useCallback(()=>h.current.onBlur({target:{value:Ln(s._formValues,n),name:n},type:Bn}),[n,s._formValues]),y=t.useCallback(e=>{const t=Ln(s._fields,n);t&&t._f&&e&&(t._f.ref={focus:()=>Wn(e.focus)&&e.focus(),select:()=>Wn(e.select)&&e.select(),setCustomValidity:t=>Wn(e.setCustomValidity)&&e.setCustomValidity(t),reportValidity:()=>Wn(e.reportValidity)&&e.reportValidity()})},[s._fields,n]),v=t.useMemo(()=>({name:n,value:u,...$n(a)||f.disabled?{disabled:f.disabled||a}:{},onChange:b,onBlur:x,ref:y}),[n,a,f.disabled,b,x,y,u]);return t.useEffect(()=>{const e=s._options.shouldUnregister||o,t=p.current;t&&t!==n&&!c&&s.unregister(t),s.register(n,{...m.current.rules,...$n(m.current.disabled)?{disabled:m.current.disabled}:{}});const r=(e,t)=>{const r=Ln(s._fields,e);r&&r._f&&(r._f.mount=t)};if(r(n,!0),e){const e=Mn(Ln(s._options.defaultValues,n,m.current.defaultValue));Vn(s._defaultValues,n,e),Un(Ln(s._formValues,n))&&Vn(s._formValues,n,e)}return!c&&s.register(n),p.current=n,()=>{(c?e&&!s._state.action:e)?s.unregister(n):r(n,!1)}},[n,s,c,o]),t.useEffect(()=>{s._setDisabledField({disabled:a,name:n})},[a,n,s]),t.useMemo(()=>({field:v,formState:f,fieldState:g}),[v,f,g])}const pa=e=>e.render(ma(e)),ha=t.createContext(null);ha.displayName="HookFormContext";const ga=e=>{const{children:r,watch:n,getValues:a,getFieldState:s,setError:o,clearErrors:i,setValue:l,trigger:c,formState:d,resetField:u,reset:f,handleSubmit:m,unregister:p,control:h,register:g,setFocus:b,subscribe:x}=e;return t.createElement(ha.Provider,{value:t.useMemo(()=>({watch:n,getValues:a,getFieldState:s,setError:o,clearErrors:i,setValue:l,trigger:c,formState:d,resetField:u,reset:f,handleSubmit:m,unregister:p,control:h,register:g,setFocus:b,subscribe:x}),[i,h,d,s,a,m,g,f,u,o,b,l,x,c,p,n])},t.createElement(sa.Provider,{value:h},r))};var ba=(e,t,r,n,a)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:a||!0}}:{},xa=e=>Array.isArray(e)?e:[e],ya=()=>{let e=[];return{get observers(){return e},next:t=>{for(const r of e)r.next&&r.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}};function va(e,t){const r={};for(const n in e)if(e.hasOwnProperty(n)){const a=e[n],s=t[n];if(a&&Pn(a)&&s){const e=va(a,s);Pn(e)&&(r[n]=e)}else e[n]&&(r[n]=s)}return r}var wa=e=>Pn(e)&&!Object.keys(e).length,Sa=e=>"file"===e.type,ka=e=>{if(!On)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},ja=e=>"select-multiple"===e.type,Na=e=>"radio"===e.type,Ca=e=>ka(e)&&e.isConnected;function Ea(e,t){const r=Array.isArray(t)?t:Dn(t)?[t]:Fn(t),n=1===r.length?e:function(e,t){const r=t.slice(0,-1).length;let n=0;for(;n<r;)e=Un(e)?n++:e[t[n++]];return e}(e,r),a=r.length-1,s=r[a];return n&&delete n[s],0!==a&&(Pn(n)&&wa(n)||Array.isArray(n)&&function(e){for(const t in e)if(e.hasOwnProperty(t)&&!Un(e[t]))return!1;return!0}(n))&&Ea(e,r.slice(0,-1)),e}function Aa(e){return Array.isArray(e)||Pn(e)&&!(e=>{for(const t in e)if(Wn(e[t]))return!0;return!1})(e)}function _a(e,t={}){for(const r in e){const n=e[r];Aa(n)?(t[r]=Array.isArray(n)?[]:{},_a(n,t[r])):Un(n)||(t[r]=!0)}return t}function Ta(e,t,r){r||(r=_a(t));for(const n in e){const a=e[n];if(Aa(a))Un(t)||ua(r[n])?r[n]=_a(a,Array.isArray(a)?[]:{}):Ta(a,_n(t)?{}:t[n],r[n]);else{const e=t[n];r[n]=!fa(a,e)}}return r}const Pa={value:!1,isValid:!1},Ra={value:!0,isValid:!0};var Ia=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!Un(e[0].attributes.value)?Un(e[0].value)||""===e[0].value?Ra:{value:e[0].value,isValid:!0}:Ra:Pa}return Pa},Oa=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>Un(e)?e:t?""===e?NaN:e?+e:e:r&&ca(e)?new Date(e):n?n(e):e;const Ma={isValid:!1,value:null};var Da=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,Ma):Ma;function Ua(e){const t=e.ref;return Sa(t)?t.files:Na(t)?Da(e.refs).value:ja(t)?[...t.selectedOptions].map(({value:e})=>e):En(t)?Ia(e.refs).value:Oa(Un(t.value)?e.ref.value:t.value,e)}var za=e=>e instanceof RegExp,Fa=e=>Un(e)?e:za(e)?e.source:Pn(e)?za(e.value)?e.value.source:e.value:e,La=e=>({isOnSubmit:!e||e===qn,isOnBlur:e===Hn,isOnChange:e===Zn,isOnAll:e===Yn,isOnTouch:e===Jn});const $a="AsyncFunction";var Wa=e=>!!e&&!!e.validate&&!!(Wn(e.validate)&&e.validate.constructor.name===$a||Pn(e.validate)&&Object.values(e.validate).find(e=>e.constructor.name===$a)),Va=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length))));const Ba=(e,t,r,n)=>{for(const a of r||Object.keys(e)){const r=Ln(e,a);if(r){const{_f:e,...s}=r;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],a)&&!n)return!0;if(e.ref&&t(e.ref,e.name)&&!n)return!0;if(Ba(s,t))break}else if(Pn(s)&&Ba(s,t))break}}};function Ga(e,t,r){const n=Ln(e,r);if(n||Dn(r))return{error:n,name:r};const a=r.split(".");for(;a.length;){const n=a.join("."),s=Ln(t,n),o=Ln(e,n);if(s&&!Array.isArray(s)&&r!==n)return{name:r};if(o&&o.type)return{name:n,error:o};if(o&&o.root&&o.root.type)return{name:`${n}.root`,error:o.root};a.pop()}return{name:r}}var Ka=(e,t,r)=>{const n=xa(Ln(e,r));return Vn(n,"root",t[r]),Vn(e,r,n),e};function Ha(e,t,r="validate"){if(ca(e)||Array.isArray(e)&&e.every(ca)||$n(e)&&!e)return{type:r,message:ca(e)?e:"",ref:t}}var Za=e=>Pn(e)&&!za(e)?e:{value:e,message:""},qa=async(e,t,r,n,a,s)=>{const{ref:o,refs:i,required:l,maxLength:c,minLength:d,min:u,max:f,pattern:m,validate:p,name:h,valueAsNumber:g,mount:b}=e._f,x=Ln(r,h);if(!b||t.has(h))return{};const y=i?i[0]:o,v=e=>{a&&y.reportValidity&&(y.setCustomValidity($n(e)?"":e||""),y.reportValidity())},w={},S=Na(o),k=En(o),j=S||k,N=(g||Sa(o))&&Un(o.value)&&Un(x)||ka(o)&&""===o.value||""===x||Array.isArray(x)&&!x.length,C=ba.bind(null,h,n,w),E=(e,t,r,n=ea,a=ta)=>{const s=e?t:r;w[h]={type:e?n:a,message:s,ref:o,...C(e?n:a,s)}};if(s?!Array.isArray(x)||!x.length:l&&(!j&&(N||_n(x))||$n(x)&&!x||k&&!Ia(i).isValid||S&&!Da(i).isValid)){const{value:e,message:t}=ca(l)?{value:!!l,message:l}:Za(l);if(e&&(w[h]={type:na,message:t,ref:y,...C(na,t)},!n))return v(t),w}if(!(N||_n(u)&&_n(f))){let e,t;const r=Za(f),a=Za(u);if(_n(x)||isNaN(x)){const n=o.valueAsDate||new Date(x),s=e=>new Date((new Date).toDateString()+" "+e),i="time"==o.type,l="week"==o.type;ca(r.value)&&x&&(e=i?s(x)>s(r.value):l?x>r.value:n>new Date(r.value)),ca(a.value)&&x&&(t=i?s(x)<s(a.value):l?x<a.value:n<new Date(a.value))}else{const n=o.valueAsNumber||(x?+x:x);_n(r.value)||(e=n>r.value),_n(a.value)||(t=n<a.value)}if((e||t)&&(E(!!e,r.message,a.message,Xn,Qn),!n))return v(w[h].message),w}if((c||d)&&!N&&(ca(x)||s&&Array.isArray(x))){const e=Za(c),t=Za(d),r=!_n(e.value)&&x.length>+e.value,a=!_n(t.value)&&x.length<+t.value;if((r||a)&&(E(r,e.message,t.message),!n))return v(w[h].message),w}if(m&&!N&&ca(x)){const{value:e,message:t}=Za(m);if(za(e)&&!x.match(e)&&(w[h]={type:ra,message:t,ref:o,...C(ra,t)},!n))return v(t),w}if(p)if(Wn(p)){const e=Ha(await p(x,r),y);if(e&&(w[h]={...e,...C(aa,e.message)},!n))return v(e.message),w}else if(Pn(p)){let e={};for(const t in p){if(!wa(e)&&!n)break;const a=Ha(await p[t](x,r),y,t);a&&(e={...a,...C(t,a.message)},v(a.message),n&&(w[h]=e))}if(!wa(e)&&(w[h]={ref:y,...e},!n))return w}return v(!0),w};const Ja={mode:qn,reValidateMode:Zn,shouldFocusError:!0};function Ya(e={}){let t,r={...Ja,...e},n={submitCount:0,isDirty:!1,isReady:!1,isLoading:Wn(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},a={},s=(Pn(r.defaultValues)||Pn(r.values))&&Mn(r.defaultValues||r.values)||{},o=r.shouldUnregister?{}:Mn(s),i={action:!1,mount:!1,watch:!1,keepIsValid:!1},l={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},c=0;const d={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},u={...d};let f={...u};const m={array:ya(),state:ya()},p=r.criteriaMode===Yn,h=async e=>{if(!i.keepIsValid&&!r.disabled&&(u.isValid||f.isValid||e)){let e;r.resolver?(e=wa((await v()).errors),g()):e=await w(a,!0),e!==n.isValid&&m.state.next({isValid:e})}},g=(e,t)=>{!r.disabled&&(u.isValidating||u.validatingFields||f.isValidating||f.validatingFields)&&((e||Array.from(l.mount)).forEach(e=>{e&&(t?Vn(n.validatingFields,e,t):Ea(n.validatingFields,e))}),m.state.next({validatingFields:n.validatingFields,isValidating:!wa(n.validatingFields)}))},b=(e,t,r,n)=>{const l=Ln(a,e);if(l){const a=Ln(o,e,Un(r)?Ln(s,e):r);Un(a)||n&&n.defaultChecked||t?Vn(o,e,t?a:Ua(l._f)):j(e,a),i.mount&&!i.action&&h()}},x=(e,t,a,o,i)=>{let l=!1,c=!1;const d={name:e};if(!r.disabled){if(!a||o){(u.isDirty||f.isDirty)&&(c=n.isDirty,n.isDirty=d.isDirty=S(),l=c!==d.isDirty);const r=fa(Ln(s,e),t);c=!!Ln(n.dirtyFields,e),r?Ea(n.dirtyFields,e):Vn(n.dirtyFields,e,!0),d.dirtyFields=n.dirtyFields,l=l||(u.dirtyFields||f.dirtyFields)&&c!==!r}if(a){const t=Ln(n.touchedFields,e);t||(Vn(n.touchedFields,e,a),d.touchedFields=n.touchedFields,l=l||(u.touchedFields||f.touchedFields)&&t!==a)}l&&i&&m.state.next(d)}return l?d:{}},y=(e,a,s,o)=>{const i=Ln(n.errors,e),l=(u.isValid||f.isValid)&&$n(a)&&n.isValid!==a;var d;if(r.delayError&&s?(d=()=>((e,t)=>{Vn(n.errors,e,t),m.state.next({errors:n.errors})})(e,s),t=e=>{clearTimeout(c),c=setTimeout(d,e)},t(r.delayError)):(clearTimeout(c),t=null,s?Vn(n.errors,e,s):Ea(n.errors,e)),(s?!fa(i,s):i)||!wa(o)||l){const t={...o,...l&&$n(a)?{isValid:a}:{},errors:n.errors,name:e};n={...n,...t},m.state.next(t)}},v=async e=>{g(e,!0);const t=await r.resolver(o,r.context,((e,t,r,n)=>{const a={};for(const r of e){const e=Ln(t,r);e&&Vn(a,r,e._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:n}})(e||l.mount,a,r.criteriaMode,r.shouldUseNativeValidation));return t},w=async(t,a,s={valid:!0})=>{for(const i in t){const c=t[i];if(c){const{_f:t,...i}=c;if(t){const i=l.array.has(t.name),d=c._f&&Wa(c._f);d&&u.validatingFields&&g([t.name],!0);const f=await qa(c,l.disabled,o,p,r.shouldUseNativeValidation&&!a,i);if(d&&u.validatingFields&&g([t.name]),f[t.name]&&(s.valid=!1,a||e.shouldUseNativeValidation))break;!a&&(Ln(f,t.name)?i?Ka(n.errors,f,t.name):Vn(n.errors,t.name,f[t.name]):Ea(n.errors,t.name))}!wa(i)&&await w(i,a,s)}}return s.valid},S=(e,t)=>!r.disabled&&(e&&t&&Vn(o,e,t),!fa(T(),s)),k=(e,t,r)=>da(e,l,{...i.mount?o:Un(t)?s:ca(e)?{[e]:t}:t},r,t),j=(e,t,r={})=>{const n=Ln(a,e);let s=t;if(n){const r=n._f;r&&(!r.disabled&&Vn(o,e,Oa(t,r)),s=ka(r.ref)&&_n(t)?"":t,ja(r.ref)?[...r.ref.options].forEach(e=>e.selected=s.includes(e.value)):r.refs?En(r.ref)?r.refs.forEach(e=>{e.defaultChecked&&e.disabled||(Array.isArray(s)?e.checked=!!s.find(t=>t===e.value):e.checked=s===e.value||!!s)}):r.refs.forEach(e=>e.checked=e.value===s):Sa(r.ref)?r.ref.value="":(r.ref.value=s,r.ref.type||m.state.next({name:e,values:Mn(o)})))}(r.shouldDirty||r.shouldTouch)&&x(e,s,r.shouldTouch,r.shouldDirty,!0),r.shouldValidate&&_(e)},N=(e,t,r)=>{for(const n in t){if(!t.hasOwnProperty(n))return;const s=t[n],o=e+"."+n,i=Ln(a,o);(l.array.has(e)||Pn(s)||i&&!i._f)&&!An(s)?N(o,s,r):j(o,s,r)}},C=(e,t,r={})=>{const c=Ln(a,e),d=l.array.has(e),p=Mn(t);Vn(o,e,p),d?(m.array.next({name:e,values:Mn(o)}),(u.isDirty||u.dirtyFields||f.isDirty||f.dirtyFields)&&r.shouldDirty&&m.state.next({name:e,dirtyFields:Ta(s,o),isDirty:S(e,p)})):!c||c._f||_n(p)?j(e,p,r):N(e,p,r),Va(e,l)?m.state.next({...n,name:e,values:Mn(o)}):m.state.next({name:i.mount?e:void 0,values:Mn(o)})},E=async e=>{i.mount=!0;const s=e.target;let c=s.name,d=!0;const b=Ln(a,c),S=e=>{d=Number.isNaN(e)||An(e)&&isNaN(e.getTime())||fa(e,Ln(o,c,e))},k=La(r.mode),j=La(r.reValidateMode);if(b){let i,N;const C=s.type?Ua(b._f):Rn(e),E=e.type===Bn||e.type===Gn,A=!(e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate))(b._f)&&!r.resolver&&!Ln(n.errors,c)&&!b._f.deps||((e,t,r,n,a)=>!a.isOnAll&&(!r&&a.isOnTouch?!(t||e):(r?n.isOnBlur:a.isOnBlur)?!e:!(r?n.isOnChange:a.isOnChange)||e))(E,Ln(n.touchedFields,c),n.isSubmitted,j,k),T=Va(c,l,E);Vn(o,c,C),E?s&&s.readOnly||(b._f.onBlur&&b._f.onBlur(e),t&&t(0)):b._f.onChange&&b._f.onChange(e);const P=x(c,C,E),R=!wa(P)||T;if(!E&&m.state.next({name:c,type:e.type,values:Mn(o)}),A)return(u.isValid||f.isValid)&&("onBlur"===r.mode?E&&h():E||h()),R&&m.state.next({name:c,...T?{}:P});if(!E&&T&&m.state.next({...n}),r.resolver){const{errors:e}=await v([c]);if(g([c]),S(C),d){const t=Ga(n.errors,a,c),r=Ga(e,a,t.name||c);i=r.error,c=r.name,N=wa(e)}}else g([c],!0),i=(await qa(b,l.disabled,o,p,r.shouldUseNativeValidation))[c],g([c]),S(C),d&&(i?N=!1:(u.isValid||f.isValid)&&(N=await w(a,!0)));d&&(b._f.deps&&(!Array.isArray(b._f.deps)||b._f.deps.length>0)&&_(b._f.deps),y(c,N,i,P))}},A=(e,t)=>{if(Ln(n.errors,t)&&e.focus)return e.focus(),1},_=async(e,t={})=>{let s,o;const i=xa(e);if(r.resolver){const t=await(async e=>{const{errors:t}=await v(e);if(g(e),e)for(const r of e){const e=Ln(t,r);e?Vn(n.errors,r,e):Ea(n.errors,r)}else n.errors=t;return t})(Un(e)?e:i);s=wa(t),o=e?!i.some(e=>Ln(t,e)):s}else e?(o=(await Promise.all(i.map(async e=>{const t=Ln(a,e);return await w(t&&t._f?{[e]:t}:t)}))).every(Boolean),(o||n.isValid)&&h()):o=s=await w(a);return m.state.next({...!ca(e)||(u.isValid||f.isValid)&&s!==n.isValid?{}:{name:e},...r.resolver||!e?{isValid:s}:{},errors:n.errors}),t.shouldFocus&&!o&&Ba(a,A,e?i:l.mount),o},T=(e,t)=>{let r={...i.mount?o:s};return t&&(r=va(t.dirtyFields?n.dirtyFields:n.touchedFields,r)),Un(e)?r:ca(e)?Ln(r,e):e.map(e=>Ln(r,e))},P=(e,t)=>({invalid:!!Ln((t||n).errors,e),isDirty:!!Ln((t||n).dirtyFields,e),error:Ln((t||n).errors,e),isValidating:!!Ln(n.validatingFields,e),isTouched:!!Ln((t||n).touchedFields,e)}),R=(e,t,r)=>{const s=(Ln(a,e,{_f:{}})._f||{}).ref,o=Ln(n.errors,e)||{},{ref:i,message:l,type:c,...d}=o;Vn(n.errors,e,{...d,...t,ref:s}),m.state.next({name:e,errors:n.errors,isValid:!1}),r&&r.shouldFocus&&s&&s.focus&&s.focus()},I=e=>m.state.subscribe({next:t=>{var r,a,i;r=e.name,a=t.name,i=e.exact,r&&a&&r!==a&&!xa(r).some(e=>e&&(i?e===a:e.startsWith(a)||a.startsWith(e)))||!((e,t,r,n)=>{r(e);const{name:a,...s}=e;return wa(s)||Object.keys(s).length>=Object.keys(t).length||Object.keys(s).find(e=>t[e]===(!n||Yn))})(t,e.formState||u,$,e.reRenderRoot)||e.callback({values:{...o},...n,...t,defaultValues:s})}}).unsubscribe,O=(e,t={})=>{for(const i of e?xa(e):l.mount)l.mount.delete(i),l.array.delete(i),t.keepValue||(Ea(a,i),Ea(o,i)),!t.keepError&&Ea(n.errors,i),!t.keepDirty&&Ea(n.dirtyFields,i),!t.keepTouched&&Ea(n.touchedFields,i),!t.keepIsValidating&&Ea(n.validatingFields,i),!r.shouldUnregister&&!t.keepDefaultValue&&Ea(s,i);m.state.next({values:Mn(o)}),m.state.next({...n,...t.keepDirty?{isDirty:S()}:{}}),!t.keepIsValid&&h()},M=({disabled:e,name:t})=>{if($n(e)&&i.mount||e||l.disabled.has(t)){const r=l.disabled.has(t)!==!!e;e?l.disabled.add(t):l.disabled.delete(t),r&&i.mount&&!i.action&&h()}},D=(e,t={})=>{let n=Ln(a,e);const o=$n(t.disabled)||$n(r.disabled);return Vn(a,e,{...n||{},_f:{...n&&n._f?n._f:{ref:{name:e}},name:e,mount:!0,...t}}),l.mount.add(e),n?M({disabled:$n(t.disabled)?t.disabled:r.disabled,name:e}):b(e,!0,t.value),{...o?{disabled:t.disabled||r.disabled}:{},...r.progressive?{required:!!t.required,min:Fa(t.min),max:Fa(t.max),minLength:Fa(t.minLength),maxLength:Fa(t.maxLength),pattern:Fa(t.pattern)}:{},name:e,onChange:E,onBlur:E,ref:o=>{if(o){D(e,t),n=Ln(a,e);const r=Un(o.value)&&o.querySelectorAll&&o.querySelectorAll("input,select,textarea")[0]||o,i=(e=>Na(e)||En(e))(r),l=n._f.refs||[];if(i?l.find(e=>e===r):r===n._f.ref)return;Vn(a,e,{_f:{...n._f,...i?{refs:[...l.filter(Ca),r,...Array.isArray(Ln(s,e))?[{}]:[]],ref:{type:r.type,name:e}}:{ref:r}}}),b(e,!1,void 0,r)}else n=Ln(a,e,{}),n._f&&(n._f.mount=!1),(r.shouldUnregister||t.shouldUnregister)&&(!In(l.array,e)||!i.action)&&l.unMount.add(e)}}},U=()=>r.shouldFocusError&&Ba(a,A,l.mount),z=(e,t)=>async s=>{let i;s&&(s.preventDefault&&s.preventDefault(),s.persist&&s.persist());let c=Mn(o);if(m.state.next({isSubmitting:!0}),r.resolver){const{errors:e,values:t}=await v();g(),n.errors=e,c=Mn(t)}else await w(a);if(l.disabled.size)for(const e of l.disabled)Ea(c,e);if(Ea(n.errors,"root"),wa(n.errors)){m.state.next({errors:{}});try{await e(c,s)}catch(e){i=e}}else t&&await t({...n.errors},s),U(),setTimeout(U);if(m.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:wa(n.errors)&&!i,submitCount:n.submitCount+1,errors:n.errors}),i)throw i},F=(e,t={})=>{const c=e?Mn(e):s,d=Mn(c),f=wa(e),p=f?s:d;if(t.keepDefaultValues||(s=c),!t.keepValues){if(t.keepDirtyValues){const e=new Set([...l.mount,...Object.keys(Ta(s,o))]);for(const t of Array.from(e)){const e=Ln(n.dirtyFields,t),r=Ln(o,t),a=Ln(p,t);e&&!Un(r)?Vn(p,t,r):e||Un(a)||C(t,a)}}else{if(On&&Un(e))for(const e of l.mount){const t=Ln(a,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(ka(e)){const t=e.closest("form");if(t){t.reset();break}}}}if(t.keepFieldsRef)for(const e of l.mount)C(e,Ln(p,e));else a={}}o=r.shouldUnregister?t.keepDefaultValues?Mn(s):{}:Mn(p),m.array.next({values:{...p}}),m.state.next({values:{...p}})}l={mount:t.keepDirtyValues?l.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},i.mount=!u.isValid||!!t.keepIsValid||!!t.keepDirtyValues||!r.shouldUnregister&&!wa(p),i.watch=!!r.shouldUnregister,i.keepIsValid=!!t.keepIsValid,i.action=!1,t.keepErrors||(n.errors={}),m.state.next({submitCount:t.keepSubmitCount?n.submitCount:0,isDirty:!f&&(t.keepDirty?n.isDirty:!(!t.keepDefaultValues||fa(e,s))),isSubmitted:!!t.keepIsSubmitted&&n.isSubmitted,dirtyFields:f?{}:t.keepDirtyValues?t.keepDefaultValues&&o?Ta(s,o):n.dirtyFields:t.keepDefaultValues&&e?Ta(s,e):t.keepDirty?n.dirtyFields:{},touchedFields:t.keepTouched?n.touchedFields:{},errors:t.keepErrors?n.errors:{},isSubmitSuccessful:!!t.keepIsSubmitSuccessful&&n.isSubmitSuccessful,isSubmitting:!1,defaultValues:s})},L=(e,t)=>F(Wn(e)?e(o):e,{...r.resetOptions,...t}),$=e=>{n={...n,...e}},W={control:{register:D,unregister:O,getFieldState:P,handleSubmit:z,setError:R,_subscribe:I,_runSchema:v,_updateIsValidating:g,_focusError:U,_getWatch:k,_getDirty:S,_setValid:h,_setFieldArray:(e,t=[],l,c,d=!0,p=!0)=>{if(c&&l&&!r.disabled){if(i.action=!0,p&&Array.isArray(Ln(a,e))){const t=l(Ln(a,e),c.argA,c.argB);d&&Vn(a,e,t)}if(p&&Array.isArray(Ln(n.errors,e))){const t=l(Ln(n.errors,e),c.argA,c.argB);d&&Vn(n.errors,e,t),((e,t)=>{!zn(Ln(e,t)).length&&Ea(e,t)})(n.errors,e)}if((u.touchedFields||f.touchedFields)&&p&&Array.isArray(Ln(n.touchedFields,e))){const t=l(Ln(n.touchedFields,e),c.argA,c.argB);d&&Vn(n.touchedFields,e,t)}(u.dirtyFields||f.dirtyFields)&&(n.dirtyFields=Ta(s,o)),m.state.next({name:e,isDirty:S(e,t),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else Vn(o,e,t)},_setDisabledField:M,_setErrors:e=>{n.errors=e,m.state.next({errors:n.errors,isValid:!1})},_getFieldArray:e=>zn(Ln(i.mount?o:s,e,r.shouldUnregister?Ln(s,e,[]):[])),_reset:F,_resetDefaultValues:()=>Wn(r.defaultValues)&&r.defaultValues().then(e=>{L(e,r.resetOptions),m.state.next({isLoading:!1})}),_removeUnmounted:()=>{for(const e of l.unMount){const t=Ln(a,e);t&&(t._f.refs?t._f.refs.every(e=>!Ca(e)):!Ca(t._f.ref))&&O(e)}l.unMount=new Set},_disableForm:e=>{$n(e)&&(m.state.next({disabled:e}),Ba(a,(t,r)=>{const n=Ln(a,r);n&&(t.disabled=n._f.disabled||e,Array.isArray(n._f.refs)&&n._f.refs.forEach(t=>{t.disabled=n._f.disabled||e}))},0,!1))},_subjects:m,_proxyFormState:u,get _fields(){return a},get _formValues(){return o},get _state(){return i},set _state(e){i=e},get _defaultValues(){return s},get _names(){return l},set _names(e){l=e},get _formState(){return n},get _options(){return r},set _options(e){r={...r,...e}}},subscribe:e=>(i.mount=!0,f={...f,...e.formState},I({...e,formState:{...d,...e.formState}})),trigger:_,register:D,handleSubmit:z,watch:(e,t)=>Wn(e)?m.state.subscribe({next:r=>"values"in r&&e(k(void 0,t),r)}):k(e,t,!0),setValue:C,getValues:T,reset:L,resetField:(e,t={})=>{Ln(a,e)&&(Un(t.defaultValue)?C(e,Mn(Ln(s,e))):(C(e,t.defaultValue),Vn(s,e,Mn(t.defaultValue))),t.keepTouched||Ea(n.touchedFields,e),t.keepDirty||(Ea(n.dirtyFields,e),n.isDirty=t.defaultValue?S(e,Mn(Ln(s,e))):S()),t.keepError||(Ea(n.errors,e),u.isValid&&h()),m.state.next({...n}))},clearErrors:e=>{e&&xa(e).forEach(e=>Ea(n.errors,e)),m.state.next({errors:e?n.errors:{}})},unregister:O,setError:R,setFocus:(e,t={})=>{const r=Ln(a,e),n=r&&r._f;if(n){const e=n.refs?n.refs[0]:n.ref;e.focus&&setTimeout(()=>{e.focus(),t.shouldSelect&&Wn(e.select)&&e.select()})}},getFieldState:P};return{...W,formControl:W}}function Xa(e={}){const r=t.useRef(void 0),n=t.useRef(void 0),[a,s]=t.useState({isDirty:!1,isValidating:!1,isLoading:Wn(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:Wn(e.defaultValues)?void 0:e.defaultValues});if(!r.current)if(e.formControl)r.current={...e.formControl,formState:a},e.defaultValues&&!Wn(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:t,...n}=Ya(e);r.current={...n,formState:a}}const o=r.current.control;return o._options=e,la(()=>{const e=o._subscribe({formState:o._proxyFormState,callback:()=>s({...o._formState}),reRenderRoot:!0});return s(e=>({...e,isReady:!0})),o._formState.isReady=!0,e},[o]),t.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),t.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),t.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),t.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),t.useEffect(()=>{if(o._proxyFormState.isDirty){const e=o._getDirty();e!==a.isDirty&&o._subjects.state.next({isDirty:e})}},[o,a.isDirty]),t.useEffect(()=>{var t;e.values&&!fa(e.values,n.current)?(o._reset(e.values,{keepFieldsRef:!0,...o._options.resetOptions}),(null===(t=o._options.resetOptions)||void 0===t?void 0:t.keepIsValid)||o._setValid(),n.current=e.values,s(e=>({...e}))):o._resetDefaultValues()},[o,e.values]),t.useEffect(()=>{o._state.mount||(o._setValid(),o._state.mount=!0),o._state.watch&&(o._state.watch=!1,o._subjects.state.next({...o._formState})),o._removeUnmounted()}),r.current.formState=t.useMemo(()=>ia(a,o),[o,a]),r.current}const Qa=(e,t,r)=>{if(e&&"reportValidity"in e){const n=Ln(r,t);e.setCustomValidity(n&&n.message||""),e.reportValidity()}},es=(e,t)=>{for(const r in t.fields){const n=t.fields[r];n&&n.ref&&"reportValidity"in n.ref?Qa(n.ref,r,e):n&&n.refs&&n.refs.forEach(t=>Qa(t,r,e))}},ts=(e,t)=>{t.shouldUseNativeValidation&&es(e,t);const r={};for(const n in e){const a=Ln(t.fields,n),s=Object.assign(e[n]||{},{ref:a&&a.ref});if(rs(t.names||Object.keys(e),n)){const e=Object.assign({},Ln(r,n));Vn(e,"root",s),Vn(r,n,e)}else Vn(r,n,s)}return r},rs=(e,t)=>{const r=ns(t);return e.some(e=>ns(e).match(`^${r}\\.\\d+`))};function ns(e){return e.replace(/\]|\[/g,"")}function as(e,t,r){function n(r,n){if(r._zod||Object.defineProperty(r,"_zod",{value:{def:n,constr:o,traits:new Set},enumerable:!1}),r._zod.traits.has(e))return;r._zod.traits.add(e),t(r,n);const a=o.prototype,s=Object.keys(a);for(let e=0;e<s.length;e++){const t=s[e];t in r||(r[t]=a[t].bind(r))}}const a=r?.Parent??Object;class s extends a{}function o(e){var t;const a=r?.Parent?new s:this;n(a,e),(t=a._zod).deferred??(t.deferred=[]);for(const e of a._zod.deferred)e();return a}return Object.defineProperty(s,"name",{value:e}),Object.defineProperty(o,"init",{value:n}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>!!(r?.Parent&&t instanceof r.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}class ss extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class os extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}}const is={};function ls(e){return is}function cs(e){const t=Object.values(e).filter(e=>"number"==typeof e),r=Object.entries(e).filter(([e,r])=>-1===t.indexOf(+e)).map(([e,t])=>t);return r}function ds(e,t){return"bigint"==typeof t?t.toString():t}function us(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function fs(e){return null==e}function ms(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}const ps=Symbol("evaluating");function hs(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==ps)return void 0===n&&(n=ps,n=r()),n},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function gs(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function bs(...e){const t={};for(const r of e){const e=Object.getOwnPropertyDescriptors(r);Object.assign(t,e)}return Object.defineProperties({},t)}function xs(e){return JSON.stringify(e)}const ys="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function vs(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}const ws=us(()=>{if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function Ss(e){if(!1===vs(e))return!1;const t=e.constructor;if(void 0===t)return!0;if("function"!=typeof t)return!0;const r=t.prototype;return!1!==vs(r)&&!1!==Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")}function ks(e){return Ss(e)?{...e}:Array.isArray(e)?[...e]:e}const js=new Set(["string","number","symbol"]);function Ns(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Cs(e,t,r){const n=new e._zod.constr(t??e._zod.def);return t&&!r?.parent||(n._zod.parent=e),n}function Es(e){const t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}function As(e,t=0){if(!0===e.aborted)return!0;for(let r=t;r<e.issues.length;r++)if(!0!==e.issues[r]?.continue)return!0;return!1}function _s(e,t){return t.map(t=>{var r;return(r=t).path??(r.path=[]),t.path.unshift(e),t})}function Ts(e){return"string"==typeof e?e:e?.message}function Ps(e,t,r){const n={...e,path:e.path??[]};if(!e.message){const a=Ts(e.inst?._zod.def?.error?.(e))??Ts(t?.error?.(e))??Ts(r.customError?.(e))??Ts(r.localeError?.(e))??"Invalid input";n.message=a}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function Rs(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function Is(...e){const[t,r,n]=e;return"string"==typeof t?{message:t,code:"custom",input:r,inst:n}:{...t}}const Os=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,ds,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ms=as("$ZodError",Os),Ds=as("$ZodError",Os,{Parent:Error});const Us=e=>(t,r,n,a)=>{const s=n?Object.assign(n,{async:!1}):{async:!1},o=t._zod.run({value:r,issues:[]},s);if(o instanceof Promise)throw new ss;if(o.issues.length){const t=new(a?.Err??e)(o.issues.map(e=>Ps(e,s,ls())));throw ys(t,a?.callee),t}return o.value},zs=Us(Ds),Fs=e=>async(t,r,n,a)=>{const s=n?Object.assign(n,{async:!0}):{async:!0};let o=t._zod.run({value:r,issues:[]},s);if(o instanceof Promise&&(o=await o),o.issues.length){const t=new(a?.Err??e)(o.issues.map(e=>Ps(e,s,ls())));throw ys(t,a?.callee),t}return o.value},Ls=Fs(Ds),$s=e=>(t,r,n)=>{const a=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},a);if(s instanceof Promise)throw new ss;return s.issues.length?{success:!1,error:new(e??Ms)(s.issues.map(e=>Ps(e,a,ls())))}:{success:!0,data:s.value}},Ws=$s(Ds),Vs=e=>async(t,r,n)=>{const a=n?Object.assign(n,{async:!0}):{async:!0};let s=t._zod.run({value:r,issues:[]},a);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(e=>Ps(e,a,ls())))}:{success:!0,data:s.value}},Bs=Vs(Ds),Gs=e=>(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Us(e)(t,r,a)},Ks=e=>(t,r,n)=>Us(e)(t,r,n),Hs=e=>async(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Fs(e)(t,r,a)},Zs=e=>async(t,r,n)=>Fs(e)(t,r,n),qs=e=>(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return $s(e)(t,r,a)},Js=e=>(t,r,n)=>$s(e)(t,r,n),Ys=e=>async(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Vs(e)(t,r,a)},Xs=e=>async(t,r,n)=>Vs(e)(t,r,n),Qs=/^[cC][^\s-]{8,}$/,eo=/^[0-9a-z]+$/,to=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ro=/^[0-9a-vA-V]{20}$/,no=/^[A-Za-z0-9]{27}$/,ao=/^[a-zA-Z0-9_-]{21}$/,so=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,oo=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,io=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,lo=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;const co=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,uo=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,fo=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,mo=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,po=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,ho=/^[A-Za-z0-9_-]*$/,go=/^\+[1-9]\d{6,14}$/,bo="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",xo=new RegExp(`^${bo}$`);function yo(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof e.precision?-1===e.precision?`${t}`:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}const vo=/^[^A-Z]*$/,wo=/^[^a-z]*$/,So=as("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),ko=as("$ZodCheckMaxLength",(e,t)=>{var r;So.init(e,t),(r=e._zod.def).when??(r.when=e=>{const t=e.value;return!fs(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const r=e._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<r&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{const n=r.value;if(n.length<=t.maximum)return;const a=Rs(n);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),jo=as("$ZodCheckMinLength",(e,t)=>{var r;So.init(e,t),(r=e._zod.def).when??(r.when=e=>{const t=e.value;return!fs(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const r=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>r&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{const n=r.value;if(n.length>=t.minimum)return;const a=Rs(n);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),No=as("$ZodCheckLengthEquals",(e,t)=>{var r;So.init(e,t),(r=e._zod.def).when??(r.when=e=>{const t=e.value;return!fs(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const r=e._zod.bag;r.minimum=t.length,r.maximum=t.length,r.length=t.length}),e._zod.check=r=>{const n=r.value,a=n.length;if(a===t.length)return;const s=Rs(n),o=a>t.length;r.issues.push({origin:s,...o?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Co=as("$ZodCheckStringFormat",(e,t)=>{var r,n;So.init(e,t),e._zod.onattach.push(e=>{const r=e._zod.bag;r.format=t.format,t.pattern&&(r.patterns??(r.patterns=new Set),r.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=r=>{t.pattern.lastIndex=0,t.pattern.test(r.value)||r.issues.push({origin:"string",code:"invalid_format",format:t.format,input:r.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Eo=as("$ZodCheckRegex",(e,t)=>{Co.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,t.pattern.test(r.value)||r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Ao=as("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=vo),Co.init(e,t)}),_o=as("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=wo),Co.init(e,t)}),To=as("$ZodCheckIncludes",(e,t)=>{So.init(e,t);const r=Ns(t.includes),n=new RegExp("number"==typeof t.position?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(n)}),e._zod.check=r=>{r.value.includes(t.includes,t.position)||r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:r.value,inst:e,continue:!t.abort})}}),Po=as("$ZodCheckStartsWith",(e,t)=>{So.init(e,t);const r=new RegExp(`^${Ns(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(r)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Ro=as("$ZodCheckEndsWith",(e,t)=>{So.init(e,t);const r=new RegExp(`.*${Ns(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(r)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),Io=as("$ZodCheckOverwrite",(e,t)=>{So.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});class Oo{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{execution:"async"});const t=e.split("\n").filter(e=>e),r=Math.min(...t.map(e=>e.length-e.trimStart().length)),n=t.map(e=>e.slice(r)).map(e=>" ".repeat(2*this.indent)+e);for(const e of n)this.content.push(e)}compile(){const e=Function,t=this?.args;return new e(...t,[...(this?.content??[""]).map(e=>` ${e}`)].join("\n"))}}const Mo={major:4,minor:3,patch:6},Do=as("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Mo;const n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(const t of n)for(const r of t._zod.onattach)r(e);if(0===n.length)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const t=(e,t,r)=>{let n,a=As(e);for(const s of t){if(s._zod.def.when){if(!s._zod.def.when(e))continue}else if(a)continue;const t=e.issues.length,o=s._zod.check(e);if(o instanceof Promise&&!1===r?.async)throw new ss;if(n||o instanceof Promise)n=(n??Promise.resolve()).then(async()=>{await o;e.issues.length!==t&&(a||(a=As(e,t)))});else{if(e.issues.length===t)continue;a||(a=As(e,t))}}return n?n.then(()=>e):e},r=(r,a,s)=>{if(As(r))return r.aborted=!0,r;const o=t(a,n,s);if(o instanceof Promise){if(!1===s.async)throw new ss;return o.then(t=>e._zod.parse(t,s))}return e._zod.parse(o,s)};e._zod.run=(a,s)=>{if(s.skipChecks)return e._zod.parse(a,s);if("backward"===s.direction){const t=e._zod.parse({value:a.value,issues:[]},{...s,skipChecks:!0});return t instanceof Promise?t.then(e=>r(e,a,s)):r(t,a,s)}const o=e._zod.parse(a,s);if(o instanceof Promise){if(!1===s.async)throw new ss;return o.then(e=>t(e,n,s))}return t(o,n,s)}}hs(e,"~standard",()=>({validate:t=>{try{const r=Ws(e,t);return r.success?{value:r.data}:{issues:r.error?.issues}}catch(r){return Bs(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}))}),Uo=as("$ZodString",(e,t)=>{var r;Do.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??(r=e._zod.bag,new RegExp(`^${r?`[\\s\\S]{${r?.minimum??0},${r?.maximum??""}}`:"[\\s\\S]*"}$`)),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch(n){}return"string"==typeof r.value||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),zo=as("$ZodStringFormat",(e,t)=>{Co.init(e,t),Uo.init(e,t)}),Fo=as("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=oo),zo.init(e,t)}),Lo=as("$ZodUUID",(e,t)=>{if(t.version){const e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(void 0===e)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=io(e))}else t.pattern??(t.pattern=io());zo.init(e,t)}),$o=as("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=lo),zo.init(e,t)}),Wo=as("$ZodURL",(e,t)=>{zo.init(e,t),e._zod.check=r=>{try{const n=r.value.trim(),a=new URL(n);return t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(a.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(a.protocol.endsWith(":")?a.protocol.slice(0,-1):a.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),void(t.normalize?r.value=a.href:r.value=n)}catch(n){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Vo=as("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),zo.init(e,t)}),Bo=as("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=ao),zo.init(e,t)}),Go=as("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Qs),zo.init(e,t)}),Ko=as("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=eo),zo.init(e,t)}),Ho=as("$ZodULID",(e,t)=>{t.pattern??(t.pattern=to),zo.init(e,t)}),Zo=as("$ZodXID",(e,t)=>{t.pattern??(t.pattern=ro),zo.init(e,t)}),qo=as("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=no),zo.init(e,t)}),Jo=as("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=function(e){const t=yo({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const n=`${t}(?:${r.join("|")})`;return new RegExp(`^${bo}T(?:${n})$`)}(t)),zo.init(e,t)}),Yo=as("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=xo),zo.init(e,t)}),Xo=as("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=new RegExp(`^${yo(t)}$`)),zo.init(e,t)}),Qo=as("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=so),zo.init(e,t)}),ei=as("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=co),zo.init(e,t),e._zod.bag.format="ipv4"}),ti=as("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=uo),zo.init(e,t),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),ri=as("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=fo),zo.init(e,t)}),ni=as("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=mo),zo.init(e,t),e._zod.check=r=>{const n=r.value.split("/");try{if(2!==n.length)throw new Error;const[e,t]=n;if(!t)throw new Error;const r=Number(t);if(`${r}`!==t)throw new Error;if(r<0||r>128)throw new Error;new URL(`http://[${e}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function ai(e){if(""===e)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const si=as("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=po),zo.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{ai(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});const oi=as("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=ho),zo.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{(function(e){if(!ho.test(e))return!1;const t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return ai(t.padEnd(4*Math.ceil(t.length/4),"="))})(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),ii=as("$ZodE164",(e,t)=>{t.pattern??(t.pattern=go),zo.init(e,t)});const li=as("$ZodJWT",(e,t)=>{zo.init(e,t),e._zod.check=r=>{(function(e,t=null){try{const r=e.split(".");if(3!==r.length)return!1;const[n]=r;if(!n)return!1;const a=JSON.parse(atob(n));return!("typ"in a&&"JWT"!==a?.typ||!a.alg||t&&(!("alg"in a)||a.alg!==t))}catch{return!1}})(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),ci=as("$ZodUnknown",(e,t)=>{Do.init(e,t),e._zod.parse=e=>e}),di=as("$ZodNever",(e,t)=>{Do.init(e,t),e._zod.parse=(t,r)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)});function ui(e,t,r){e.issues.length&&t.issues.push(..._s(r,e.issues)),t.value[r]=e.value}const fi=as("$ZodArray",(e,t)=>{Do.init(e,t),e._zod.parse=(r,n)=>{const a=r.value;if(!Array.isArray(a))return r.issues.push({expected:"array",code:"invalid_type",input:a,inst:e}),r;r.value=Array(a.length);const s=[];for(let e=0;e<a.length;e++){const o=a[e],i=t.element._zod.run({value:o,issues:[]},n);i instanceof Promise?s.push(i.then(t=>ui(t,r,e))):ui(i,r,e)}return s.length?Promise.all(s).then(()=>r):r}});function mi(e,t,r,n,a){if(e.issues.length){if(a&&!(r in n))return;t.issues.push(..._s(r,e.issues))}void 0===e.value?r in n&&(t.value[r]=void 0):t.value[r]=e.value}function pi(e){const t=Object.keys(e.shape);for(const r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const r=(n=e.shape,Object.keys(n).filter(e=>"optional"===n[e]._zod.optin&&"optional"===n[e]._zod.optout));var n;return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function hi(e,t,r,n,a,s){const o=[],i=a.keySet,l=a.catchall._zod,c=l.def.type,d="optional"===l.optout;for(const a in t){if(i.has(a))continue;if("never"===c){o.push(a);continue}const s=l.run({value:t[a],issues:[]},n);s instanceof Promise?e.push(s.then(e=>mi(e,r,a,t,d))):mi(s,r,a,t,d)}return o.length&&r.issues.push({code:"unrecognized_keys",keys:o,input:t,inst:s}),e.length?Promise.all(e).then(()=>r):r}const gi=as("$ZodObject",(e,t)=>{Do.init(e,t);const r=Object.getOwnPropertyDescriptor(t,"shape");if(!r?.get){const e=t.shape;Object.defineProperty(t,"shape",{get:()=>{const r={...e};return Object.defineProperty(t,"shape",{value:r}),r}})}const n=us(()=>pi(t));hs(e._zod,"propValues",()=>{const e=t.shape,r={};for(const t in e){const n=e[t]._zod;if(n.values){r[t]??(r[t]=new Set);for(const e of n.values)r[t].add(e)}}return r});const a=vs,s=t.catchall;let o;e._zod.parse=(t,r)=>{o??(o=n.value);const i=t.value;if(!a(i))return t.issues.push({expected:"object",code:"invalid_type",input:i,inst:e}),t;t.value={};const l=[],c=o.shape;for(const e of o.keys){const n=c[e],a="optional"===n._zod.optout,s=n._zod.run({value:i[e],issues:[]},r);s instanceof Promise?l.push(s.then(r=>mi(r,t,e,i,a))):mi(s,t,e,i,a)}return s?hi(l,i,t,r,n.value,e):l.length?Promise.all(l).then(()=>t):t}}),bi=as("$ZodObjectJIT",(e,t)=>{gi.init(e,t);const r=e._zod.parse,n=us(()=>pi(t));let a;const s=vs,o=!is.jitless,i=o&&ws.value,l=t.catchall;let c;e._zod.parse=(d,u)=>{c??(c=n.value);const f=d.value;return s(f)?o&&i&&!1===u?.async&&!0!==u.jitless?(a||(a=(e=>{const t=new Oo(["shape","payload","ctx"]),r=n.value,a=e=>{const t=xs(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write("const input = payload.value;");const s=Object.create(null);let o=0;for(const e of r.keys)s[e]="key_"+o++;t.write("const newResult = {};");for(const n of r.keys){const r=s[n],o=xs(n),i=e[n],l="optional"===i?._zod?.optout;t.write(`const ${r} = ${a(n)};`),l?t.write(`\n if (${r}.issues.length) {\n if (${o} in input) {\n payload.issues = payload.issues.concat(${r}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${o}, ...iss.path] : [${o}]\n })));\n }\n }\n \n if (${r}.value === undefined) {\n if (${o} in input) {\n newResult[${o}] = undefined;\n }\n } else {\n newResult[${o}] = ${r}.value;\n }\n \n `):t.write(`\n if (${r}.issues.length) {\n payload.issues = payload.issues.concat(${r}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${o}, ...iss.path] : [${o}]\n })));\n }\n \n if (${r}.value === undefined) {\n if (${o} in input) {\n newResult[${o}] = undefined;\n }\n } else {\n newResult[${o}] = ${r}.value;\n }\n \n `)}t.write("payload.value = newResult;"),t.write("return payload;");const i=t.compile();return(t,r)=>i(e,t,r)})(t.shape)),d=a(d,u),l?hi([],f,d,u,c,e):d):r(d,u):(d.issues.push({expected:"object",code:"invalid_type",input:f,inst:e}),d)}});function xi(e,t,r,n){for(const r of e)if(0===r.issues.length)return t.value=r.value,t;const a=e.filter(e=>!As(e));return 1===a.length?(t.value=a[0].value,a[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(e=>e.issues.map(e=>Ps(e,n,ls())))}),t)}const yi=as("$ZodUnion",(e,t)=>{Do.init(e,t),hs(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),hs(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),hs(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),hs(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){const e=t.options.map(e=>e._zod.pattern);return new RegExp(`^(${e.map(e=>ms(e.source)).join("|")})$`)}});const r=1===t.options.length,n=t.options[0]._zod.run;e._zod.parse=(a,s)=>{if(r)return n(a,s);let o=!1;const i=[];for(const e of t.options){const t=e._zod.run({value:a.value,issues:[]},s);if(t instanceof Promise)i.push(t),o=!0;else{if(0===t.issues.length)return t;i.push(t)}}return o?Promise.all(i).then(t=>xi(t,a,e,s)):xi(i,a,e,s)}}),vi=as("$ZodIntersection",(e,t)=>{Do.init(e,t),e._zod.parse=(e,r)=>{const n=e.value,a=t.left._zod.run({value:n,issues:[]},r),s=t.right._zod.run({value:n,issues:[]},r);return a instanceof Promise||s instanceof Promise?Promise.all([a,s]).then(([t,r])=>Si(e,t,r)):Si(e,a,s)}});function wi(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(Ss(e)&&Ss(t)){const r=Object.keys(t),n=Object.keys(e).filter(e=>-1!==r.indexOf(e)),a={...e,...t};for(const r of n){const n=wi(e[r],t[r]);if(!n.valid)return{valid:!1,mergeErrorPath:[r,...n.mergeErrorPath]};a[r]=n.data}return{valid:!0,data:a}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let n=0;n<e.length;n++){const a=wi(e[n],t[n]);if(!a.valid)return{valid:!1,mergeErrorPath:[n,...a.mergeErrorPath]};r.push(a.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Si(e,t,r){const n=new Map;let a;for(const r of t.issues)if("unrecognized_keys"===r.code){a??(a=r);for(const e of r.keys)n.has(e)||n.set(e,{}),n.get(e).l=!0}else e.issues.push(r);for(const t of r.issues)if("unrecognized_keys"===t.code)for(const e of t.keys)n.has(e)||n.set(e,{}),n.get(e).r=!0;else e.issues.push(t);const s=[...n].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length&&a&&e.issues.push({...a,keys:s}),As(e))return e;const o=wi(t.value,r.value);if(!o.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}const ki=as("$ZodEnum",(e,t)=>{Do.init(e,t);const r=cs(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter(e=>js.has(typeof e)).map(e=>"string"==typeof e?Ns(e):e.toString()).join("|")})$`),e._zod.parse=(t,a)=>{const s=t.value;return n.has(s)||t.issues.push({code:"invalid_value",values:r,input:s,inst:e}),t}}),ji=as("$ZodTransform",(e,t)=>{Do.init(e,t),e._zod.parse=(r,n)=>{if("backward"===n.direction)throw new os(e.constructor.name);const a=t.transform(r.value,r);if(n.async){return(a instanceof Promise?a:Promise.resolve(a)).then(e=>(r.value=e,r))}if(a instanceof Promise)throw new ss;return r.value=a,r}});function Ni(e,t){return e.issues.length&&void 0===t?{issues:[],value:void 0}:e}const Ci=as("$ZodOptional",(e,t)=>{Do.init(e,t),e._zod.optin="optional",e._zod.optout="optional",hs(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),hs(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${ms(e.source)})?$`):void 0}),e._zod.parse=(e,r)=>{if("optional"===t.innerType._zod.optin){const n=t.innerType._zod.run(e,r);return n instanceof Promise?n.then(t=>Ni(t,e.value)):Ni(n,e.value)}return void 0===e.value?e:t.innerType._zod.run(e,r)}}),Ei=as("$ZodExactOptional",(e,t)=>{Ci.init(e,t),hs(e._zod,"values",()=>t.innerType._zod.values),hs(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(e,r)=>t.innerType._zod.run(e,r)}),Ai=as("$ZodNullable",(e,t)=>{Do.init(e,t),hs(e._zod,"optin",()=>t.innerType._zod.optin),hs(e._zod,"optout",()=>t.innerType._zod.optout),hs(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${ms(e.source)}|null)$`):void 0}),hs(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,r)=>null===e.value?e:t.innerType._zod.run(e,r)}),_i=as("$ZodDefault",(e,t)=>{Do.init(e,t),e._zod.optin="optional",hs(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,r)=>{if("backward"===r.direction)return t.innerType._zod.run(e,r);if(void 0===e.value)return e.value=t.defaultValue,e;const n=t.innerType._zod.run(e,r);return n instanceof Promise?n.then(e=>Ti(e,t)):Ti(n,t)}});function Ti(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}const Pi=as("$ZodPrefault",(e,t)=>{Do.init(e,t),e._zod.optin="optional",hs(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,r)=>("backward"===r.direction||void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,r))}),Ri=as("$ZodNonOptional",(e,t)=>{Do.init(e,t),hs(e._zod,"values",()=>{const e=t.innerType._zod.values;return e?new Set([...e].filter(e=>void 0!==e)):void 0}),e._zod.parse=(r,n)=>{const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(t=>Ii(t,e)):Ii(a,e)}});function Ii(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Oi=as("$ZodCatch",(e,t)=>{Do.init(e,t),hs(e._zod,"optin",()=>t.innerType._zod.optin),hs(e._zod,"optout",()=>t.innerType._zod.optout),hs(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,r)=>{if("backward"===r.direction)return t.innerType._zod.run(e,r);const n=t.innerType._zod.run(e,r);return n instanceof Promise?n.then(n=>(e.value=n.value,n.issues.length&&(e.value=t.catchValue({...e,error:{issues:n.issues.map(e=>Ps(e,r,ls()))},input:e.value}),e.issues=[]),e)):(e.value=n.value,n.issues.length&&(e.value=t.catchValue({...e,error:{issues:n.issues.map(e=>Ps(e,r,ls()))},input:e.value}),e.issues=[]),e)}}),Mi=as("$ZodPipe",(e,t)=>{Do.init(e,t),hs(e._zod,"values",()=>t.in._zod.values),hs(e._zod,"optin",()=>t.in._zod.optin),hs(e._zod,"optout",()=>t.out._zod.optout),hs(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(e,r)=>{if("backward"===r.direction){const n=t.out._zod.run(e,r);return n instanceof Promise?n.then(e=>Di(e,t.in,r)):Di(n,t.in,r)}const n=t.in._zod.run(e,r);return n instanceof Promise?n.then(e=>Di(e,t.out,r)):Di(n,t.out,r)}});function Di(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const Ui=as("$ZodReadonly",(e,t)=>{Do.init(e,t),hs(e._zod,"propValues",()=>t.innerType._zod.propValues),hs(e._zod,"values",()=>t.innerType._zod.values),hs(e._zod,"optin",()=>t.innerType?._zod?.optin),hs(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(e,r)=>{if("backward"===r.direction)return t.innerType._zod.run(e,r);const n=t.innerType._zod.run(e,r);return n instanceof Promise?n.then(zi):zi(n)}});function zi(e){return e.value=Object.freeze(e.value),e}const Fi=as("$ZodCustom",(e,t)=>{So.init(e,t),Do.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=r=>{const n=r.value,a=t.fn(n);if(a instanceof Promise)return a.then(t=>Li(t,r,n,e));Li(a,r,n,e)}});function Li(e,t,r,n){if(!e){const e={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(e.params=n._zod.def.params),t.issues.push(Is(e))}}var $i;class Wi{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){const r=t[0];return this._map.set(e,r),r&&"object"==typeof r&&"id"in r&&this._idmap.set(r.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){const t=this._map.get(e);return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const r={...this.get(t)??{}};delete r.id;const n={...r,...this._map.get(e)};return Object.keys(n).length?n:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}($i=globalThis).__zod_globalRegistry??($i.__zod_globalRegistry=new Wi);const Vi=globalThis.__zod_globalRegistry;function Bi(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Es(t)})}function Gi(e,t){return new ko({check:"max_length",...Es(t),maximum:e})}function Ki(e,t){return new jo({check:"min_length",...Es(t),minimum:e})}function Hi(e,t){return new No({check:"length_equals",...Es(t),length:e})}function Zi(e){return new Io({check:"overwrite",tx:e})}function qi(e){const t=function(e,t){const r=new So({check:"custom",...Es(t)});return r._zod.check=e,r}(r=>(r.addIssue=e=>{if("string"==typeof e)r.issues.push(Is(e,r.value,t._zod.def));else{const n=e;n.fatal&&(n.continue=!1),n.code??(n.code="custom"),n.input??(n.input=r.value),n.inst??(n.inst=t),n.continue??(n.continue=!t._zod.def.abort),r.issues.push(Is(n))}},e(r.value,r)));return t}function Ji(e){let t=e?.target??"draft-2020-12";return"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Vi,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function Yi(e,t,r={path:[],schemaPath:[]}){var n;const a=e._zod.def,s=t.seen.get(e);if(s){s.count++;return r.schemaPath.includes(e)&&(s.cycle=r.path),s.schema}const o={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,o);const i=e._zod.toJSONSchema?.();if(i)o.schema=i;else{const n={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,n);else{const r=o.schema,s=t.processors[a.type];if(!s)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${a.type}`);s(e,t,r,n)}const s=e._zod.parent;s&&(o.ref||(o.ref=s),Yi(s,t,n),t.seen.get(s).isParent=!0)}const l=t.metadataRegistry.get(e);l&&Object.assign(o.schema,l),"input"===t.io&&el(e)&&(delete o.schema.examples,delete o.schema.default),"input"===t.io&&o.schema._prefault&&((n=o.schema).default??(n.default=o.schema._prefault)),delete o.schema._prefault;return t.seen.get(e).schema}function Xi(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=new Map;for(const t of e.seen.entries()){const r=e.metadataRegistry.get(t[0])?.id;if(r){const e=n.get(r);if(e&&e!==t[0])throw new Error(`Duplicate schema id "${r}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(r,t[0])}}const a=t=>{if(t[1].schema.$ref)return;const n=t[1],{ref:a,defId:s}=(t=>{const n="draft-2020-12"===e.target?"$defs":"definitions";if(e.external){const r=e.external.registry.get(t[0])?.id,a=e.external.uri??(e=>e);if(r)return{ref:a(r)};const s=t[1].defId??t[1].schema.id??"schema"+e.counter++;return t[1].defId=s,{defId:s,ref:`${a("__shared")}#/${n}/${s}`}}if(t[1]===r)return{ref:"#"};const a=`#/${n}/`,s=t[1].schema.id??"__schema"+e.counter++;return{defId:s,ref:a+s}})(t);n.def={...n.schema},s&&(n.defId=s);const o=n.schema;for(const e in o)delete o[e];o.$ref=a};if("throw"===e.cycles)for(const t of e.seen.entries()){const e=t[1];if(e.cycle)throw new Error(`Cycle detected: #/${e.cycle?.join("/")}/<root>\n\nSet the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const r of e.seen.entries()){const n=r[1];if(t===r[0]){a(r);continue}if(e.external){const n=e.external.registry.get(r[0])?.id;if(t!==r[0]&&n){a(r);continue}}const s=e.metadataRegistry.get(r[0])?.id;s?a(r):(n.cycle||n.count>1&&"ref"===e.reused)&&a(r)}}function Qi(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=t=>{const r=e.seen.get(t);if(null===r.ref)return;const a=r.def??r.schema,s={...a},o=r.ref;if(r.ref=null,o){n(o);const r=e.seen.get(o),i=r.schema;!i.$ref||"draft-07"!==e.target&&"draft-04"!==e.target&&"openapi-3.0"!==e.target?Object.assign(a,i):(a.allOf=a.allOf??[],a.allOf.push(i)),Object.assign(a,s);if(t._zod.parent===o)for(const e in a)"$ref"!==e&&"allOf"!==e&&(e in s||delete a[e]);if(i.$ref&&r.def)for(const e in a)"$ref"!==e&&"allOf"!==e&&e in r.def&&JSON.stringify(a[e])===JSON.stringify(r.def[e])&&delete a[e]}const i=t._zod.parent;if(i&&i!==o){n(i);const t=e.seen.get(i);if(t?.schema.$ref&&(a.$ref=t.schema.$ref,t.def))for(const e in a)"$ref"!==e&&"allOf"!==e&&e in t.def&&JSON.stringify(a[e])===JSON.stringify(t.def[e])&&delete a[e]}e.override({zodSchema:t,jsonSchema:a,path:r.path??[]})};for(const t of[...e.seen.entries()].reverse())n(t[0]);const a={};if("draft-2020-12"===e.target?a.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===e.target?a.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===e.target?a.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const r=e.external.registry.get(t)?.id;if(!r)throw new Error("Schema is missing an `id` property");a.$id=e.external.uri(r)}Object.assign(a,r.def??r.schema);const s=e.external?.defs??{};for(const t of e.seen.entries()){const e=t[1];e.def&&e.defId&&(s[e.defId]=e.def)}e.external||Object.keys(s).length>0&&("draft-2020-12"===e.target?a.$defs=s:a.definitions=s);try{const r=JSON.parse(JSON.stringify(a));return Object.defineProperty(r,"~standard",{value:{...t["~standard"],jsonSchema:{input:tl(t,"input",e.processors),output:tl(t,"output",e.processors)}},enumerable:!1,writable:!1}),r}catch(e){throw new Error("Error converting schema to JSON.")}}function el(e,t){const r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const n=e._zod.def;if("transform"===n.type)return!0;if("array"===n.type)return el(n.element,r);if("set"===n.type)return el(n.valueType,r);if("lazy"===n.type)return el(n.getter(),r);if("promise"===n.type||"optional"===n.type||"nonoptional"===n.type||"nullable"===n.type||"readonly"===n.type||"default"===n.type||"prefault"===n.type)return el(n.innerType,r);if("intersection"===n.type)return el(n.left,r)||el(n.right,r);if("record"===n.type||"map"===n.type)return el(n.keyType,r)||el(n.valueType,r);if("pipe"===n.type)return el(n.in,r)||el(n.out,r);if("object"===n.type){for(const e in n.shape)if(el(n.shape[e],r))return!0;return!1}if("union"===n.type){for(const e of n.options)if(el(e,r))return!0;return!1}if("tuple"===n.type){for(const e of n.items)if(el(e,r))return!0;return!(!n.rest||!el(n.rest,r))}return!1}const tl=(e,t,r={})=>n=>{const{libraryOptions:a,target:s}=n??{},o=Ji({...a??{},target:s,io:t,processors:r});return Yi(e,o),Xi(o,e),Qi(o,e)},rl={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},nl=(e,t,r,n)=>{const a=e._zod.def;Yi(a.innerType,t,n);t.seen.get(e).ref=a.innerType};function al(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}function sl(e,t){for(var r={};e.length;){var n=e[0],a=n.code,s=n.message,o=n.path.join(".");if(!r[o])if("unionErrors"in n){var i=n.unionErrors[0].errors[0];r[o]={message:i.message,type:i.code}}else r[o]={message:s,type:a};if("unionErrors"in n&&n.unionErrors.forEach(function(t){return t.errors.forEach(function(t){return e.push(t)})}),t){var l=r[o].types,c=l&&l[n.code];r[o]=ba(o,t,r,a,c?[].concat(c,n.message):n.message)}e.shift()}return r}function ol(e,t){for(var r={};e.length;){var n=e[0],a=n.code,s=n.message,o=n.path.join(".");if(!r[o])if("invalid_union"===n.code&&n.errors.length>0){var i=n.errors[0][0];r[o]={message:i.message,type:i.code}}else r[o]={message:s,type:a};if("invalid_union"===n.code&&n.errors.forEach(function(t){return t.forEach(function(t){return e.push(t)})}),t){var l=r[o].types,c=l&&l[n.code];r[o]=ba(o,t,r,a,c?[].concat(c,n.message):n.message)}e.shift()}return r}function il(e,t,r){if(void 0===r&&(r={}),function(e){return"_def"in e&&"object"==typeof e._def&&"typeName"in e._def}(e))return function(n,a,s){try{return Promise.resolve(al(function(){return Promise.resolve(e["sync"===r.mode?"parse":"parseAsync"](n,t)).then(function(e){return s.shouldUseNativeValidation&&es({},s),{errors:{},values:r.raw?Object.assign({},n):e}})},function(e){if(function(e){return Array.isArray(null==e?void 0:e.issues)}(e))return{values:{},errors:ts(sl(e.errors,!s.shouldUseNativeValidation&&"all"===s.criteriaMode),s)};throw e}))}catch(e){return Promise.reject(e)}};if(function(e){return"_zod"in e&&"object"==typeof e._zod}(e))return function(n,a,s){try{return Promise.resolve(al(function(){return Promise.resolve(("sync"===r.mode?zs:Ls)(e,n,t)).then(function(e){return s.shouldUseNativeValidation&&es({},s),{errors:{},values:r.raw?Object.assign({},n):e}})},function(e){if(function(e){return e instanceof Ms}(e))return{values:{},errors:ts(ol(e.issues,!s.shouldUseNativeValidation&&"all"===s.criteriaMode),s)};throw e}))}catch(e){return Promise.reject(e)}};throw new Error("Invalid input: not a Zod schema")}
2
+ "use strict";var e=require("react/jsx-runtime"),t=require("react"),r=require("react-dom");function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var a=n(t),s=n(r);function o(e){var t,r,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=o(e[t]))&&(n&&(n+=" "),n+=r)}else for(r in e)e[r]&&(n&&(n+=" "),n+=r);return n}function i(){for(var e,t,r=0,n="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=o(e))&&(n&&(n+=" "),n+=t);return n}const l=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),c="-",d=[],u=e=>{const t=p(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]"))return m(e);const r=e.split(c),n=""===r[0]&&r.length>1?1:0;return f(r,n,t)},getConflictingClassGroupIds:(e,t)=>{if(t){const t=n[e],a=r[e];return t?a?((e,t)=>{const r=new Array(e.length+t.length);for(let t=0;t<e.length;t++)r[t]=e[t];for(let n=0;n<t.length;n++)r[e.length+n]=t[n];return r})(a,t):t:a||d}return r[e]||d}}},f=(e,t,r)=>{if(0===e.length-t)return r.classGroupId;const n=e[t],a=r.nextPart.get(n);if(a){const r=f(e,t+1,a);if(r)return r}const s=r.validators;if(null===s)return;const o=0===t?e.join(c):e.slice(t).join(c),i=s.length;for(let e=0;e<i;e++){const t=s[e];if(t.validator(o))return t.classGroupId}},m=e=>-1===e.slice(1,-1).indexOf(":")?void 0:(()=>{const t=e.slice(1,-1),r=t.indexOf(":"),n=t.slice(0,r);return n?"arbitrary.."+n:void 0})(),p=e=>{const{theme:t,classGroups:r}=e;return h(r,t)},h=(e,t)=>{const r=l();for(const n in e){const a=e[n];g(a,r,n,t)}return r},g=(e,t,r,n)=>{const a=e.length;for(let s=0;s<a;s++){const a=e[s];b(a,t,r,n)}},b=(e,t,r,n)=>{"string"!=typeof e?"function"!=typeof e?v(e,t,r,n):y(e,t,r,n):x(e,t,r)},x=(e,t,r)=>{(""===e?t:w(t,e)).classGroupId=r},y=(e,t,r,n)=>{S(e)?g(e(n),t,r,n):(null===t.validators&&(t.validators=[]),t.validators.push(((e,t)=>({classGroupId:e,validator:t}))(r,e)))},v=(e,t,r,n)=>{const a=Object.entries(e),s=a.length;for(let e=0;e<s;e++){const[s,o]=a[e];g(o,w(t,s),r,n)}},w=(e,t)=>{let r=e;const n=t.split(c),a=n.length;for(let e=0;e<a;e++){const t=n[e];let a=r.nextPart.get(t);a||(a=l(),r.nextPart.set(t,a)),r=a}return r},S=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,k=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=Object.create(null),n=Object.create(null);const a=(a,s)=>{r[a]=s,t++,t>e&&(t=0,n=r,r=Object.create(null))};return{get(e){let t=r[e];return void 0!==t?t:void 0!==(t=n[e])?(a(e,t),t):void 0},set(e,t){e in r?r[e]=t:a(e,t)}}},j=[],N=(e,t,r,n,a)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:n,isExternal:a}),C=e=>{const{prefix:t,experimentalParseClassName:r}=e;let n=e=>{const t=[];let r,n=0,a=0,s=0;const o=e.length;for(let i=0;i<o;i++){const o=e[i];if(0===n&&0===a){if(":"===o){t.push(e.slice(s,i)),s=i+1;continue}if("/"===o){r=i;continue}}"["===o?n++:"]"===o?n--:"("===o?a++:")"===o&&a--}const i=0===t.length?e:e.slice(s);let l=i,c=!1;i.endsWith("!")?(l=i.slice(0,-1),c=!0):i.startsWith("!")&&(l=i.slice(1),c=!0);return N(t,c,l,r&&r>s?r-s:void 0)};if(t){const e=t+":",r=n;n=t=>t.startsWith(e)?r(t.slice(e.length)):N(j,!1,t,void 0,!0)}if(r){const e=n;n=t=>r({className:t,parseClassName:e})}return n},E=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((e,r)=>{t.set(e,1e6+r)}),e=>{const r=[];let n=[];for(let a=0;a<e.length;a++){const s=e[a],o="["===s[0],i=t.has(s);o||i?(n.length>0&&(n.sort(),r.push(...n),n=[]),r.push(s)):n.push(s)}return n.length>0&&(n.sort(),r.push(...n)),r}},A=/\s+/,_=e=>{if("string"==typeof e)return e;let t,r="";for(let n=0;n<e.length;n++)e[n]&&(t=_(e[n]))&&(r&&(r+=" "),r+=t);return r},T=(e,...t)=>{let r,n,a,s;const o=e=>{const t=n(e);if(t)return t;const s=((e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:a,sortModifiers:s}=t,o=[],i=e.trim().split(A);let l="";for(let e=i.length-1;e>=0;e-=1){const t=i[e],{isExternal:c,modifiers:d,hasImportantModifier:u,baseClassName:f,maybePostfixModifierPosition:m}=r(t);if(c){l=t+(l.length>0?" "+l:l);continue}let p=!!m,h=n(p?f.substring(0,m):f);if(!h){if(!p){l=t+(l.length>0?" "+l:l);continue}if(h=n(f),!h){l=t+(l.length>0?" "+l:l);continue}p=!1}const g=0===d.length?"":1===d.length?d[0]:s(d).join(":"),b=u?g+"!":g,x=b+h;if(o.indexOf(x)>-1)continue;o.push(x);const y=a(h,p);for(let e=0;e<y.length;++e){const t=y[e];o.push(b+t)}l=t+(l.length>0?" "+l:l)}return l})(e,r);return a(e,s),s};return s=i=>{const l=t.reduce((e,t)=>t(e),e());return r=(e=>({cache:k(e.cacheSize),parseClassName:C(e),sortModifiers:E(e),...u(e)}))(l),n=r.cache.get,a=r.cache.set,s=o,o(i)},(...e)=>s(((...e)=>{let t,r,n=0,a="";for(;n<e.length;)(t=e[n++])&&(r=_(t))&&(a&&(a+=" "),a+=r);return a})(...e))},P=[],R=e=>{const t=t=>t[e]||P;return t.isThemeGetter=!0,t},I=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,O=/^\((?:(\w[\w-]*):)?(.+)\)$/i,M=/^\d+\/\d+$/,D=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,U=/\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$/,z=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,F=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,L=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,$=e=>M.test(e),W=e=>!!e&&!Number.isNaN(Number(e)),V=e=>!!e&&Number.isInteger(Number(e)),B=e=>e.endsWith("%")&&W(e.slice(0,-1)),G=e=>D.test(e),K=()=>!0,H=e=>U.test(e)&&!z.test(e),Z=()=>!1,q=e=>F.test(e),J=e=>L.test(e),Y=e=>!Q(e)&&!se(e),X=e=>fe(e,ge,Z),Q=e=>I.test(e),ee=e=>fe(e,be,H),te=e=>fe(e,xe,W),re=e=>fe(e,pe,Z),ne=e=>fe(e,he,J),ae=e=>fe(e,ve,q),se=e=>O.test(e),oe=e=>me(e,be),ie=e=>me(e,ye),le=e=>me(e,pe),ce=e=>me(e,ge),de=e=>me(e,he),ue=e=>me(e,ve,!0),fe=(e,t,r)=>{const n=I.exec(e);return!!n&&(n[1]?t(n[1]):r(n[2]))},me=(e,t,r=!1)=>{const n=O.exec(e);return!!n&&(n[1]?t(n[1]):r)},pe=e=>"position"===e||"percentage"===e,he=e=>"image"===e||"url"===e,ge=e=>"length"===e||"size"===e||"bg-size"===e,be=e=>"length"===e,xe=e=>"number"===e,ye=e=>"family-name"===e,ve=e=>"shadow"===e,we=T(()=>{const e=R("color"),t=R("font"),r=R("text"),n=R("font-weight"),a=R("tracking"),s=R("leading"),o=R("breakpoint"),i=R("container"),l=R("spacing"),c=R("radius"),d=R("shadow"),u=R("inset-shadow"),f=R("text-shadow"),m=R("drop-shadow"),p=R("blur"),h=R("perspective"),g=R("aspect"),b=R("ease"),x=R("animate"),y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",se,Q],v=()=>[se,Q,l],w=()=>[$,"full","auto",...v()],S=()=>[V,"none","subgrid",se,Q],k=()=>["auto",{span:["full",V,se,Q]},V,se,Q],j=()=>[V,"auto",se,Q],N=()=>["auto","min","max","fr",se,Q],C=()=>["auto",...v()],E=()=>[$,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...v()],A=()=>[e,se,Q],_=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",le,re,{position:[se,Q]}],T=()=>["auto","cover","contain",ce,X,{size:[se,Q]}],P=()=>[B,oe,ee],I=()=>["","none","full",c,se,Q],O=()=>["",W,oe,ee],M=()=>[W,B,le,re],D=()=>["","none",p,se,Q],U=()=>["none",W,se,Q],z=()=>["none",W,se,Q],F=()=>[W,se,Q],L=()=>[$,"full",...v()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[G],breakpoint:[G],color:[K],container:[G],"drop-shadow":[G],ease:["in","out","in-out"],font:[Y],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[G],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[G],shadow:[G],spacing:["px",W],text:[G],"text-shadow":[G],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",$,Q,se,g]}],container:["container"],columns:[{columns:[W,Q,se,i]}],"break-after":[{"break-after":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-before":[{"break-before":["auto","avoid","all","avoid-page","page","left","right","column"]}],"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"],sr:["sr-only","not-sr-only"],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:y()}],overflow:[{overflow:["auto","hidden","clip","visible","scroll"]}],"overflow-x":[{"overflow-x":["auto","hidden","clip","visible","scroll"]}],"overflow-y":[{"overflow-y":["auto","hidden","clip","visible","scroll"]}],overscroll:[{overscroll:["auto","contain","none"]}],"overscroll-x":[{"overscroll-x":["auto","contain","none"]}],"overscroll-y":[{"overscroll-y":["auto","contain","none"]}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:w()}],"inset-x":[{"inset-x":w()}],"inset-y":[{"inset-y":w()}],start:[{start:w()}],end:[{end:w()}],top:[{top:w()}],right:[{right:w()}],bottom:[{bottom:w()}],left:[{left:w()}],visibility:["visible","invisible","collapse"],z:[{z:[V,"auto",se,Q]}],basis:[{basis:[$,"full","auto",i,...v()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[W,$,"auto","initial","none",Q]}],grow:[{grow:["",W,se,Q]}],shrink:[{shrink:["",W,se,Q]}],order:[{order:[V,"first","last","none",se,Q]}],"grid-cols":[{"grid-cols":S()}],"col-start-end":[{col:k()}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":S()}],"row-start-end":[{row:k()}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":N()}],"auto-rows":[{"auto-rows":N()}],gap:[{gap:v()}],"gap-x":[{"gap-x":v()}],"gap-y":[{"gap-y":v()}],"justify-content":[{justify:["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe","normal"]}],"justify-items":[{"justify-items":["start","end","center","stretch","center-safe","end-safe","normal"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],"align-content":[{content:["normal","start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"align-items":[{items:["start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"align-self":[{self:["auto","start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"place-content":[{"place-content":["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"place-items":[{"place-items":["start","end","center","stretch","center-safe","end-safe","baseline"]}],"place-self":[{"place-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],p:[{p:v()}],px:[{px:v()}],py:[{py:v()}],ps:[{ps:v()}],pe:[{pe:v()}],pt:[{pt:v()}],pr:[{pr:v()}],pb:[{pb:v()}],pl:[{pl:v()}],m:[{m:C()}],mx:[{mx:C()}],my:[{my:C()}],ms:[{ms:C()}],me:[{me:C()}],mt:[{mt:C()}],mr:[{mr:C()}],mb:[{mb:C()}],ml:[{ml:C()}],"space-x":[{"space-x":v()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":v()}],"space-y-reverse":["space-y-reverse"],size:[{size:E()}],w:[{w:[i,"screen",...E()]}],"min-w":[{"min-w":[i,"screen","none",...E()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[o]},...E()]}],h:[{h:["screen","lh",...E()]}],"min-h":[{"min-h":["screen","lh","none",...E()]}],"max-h":[{"max-h":["screen","lh",...E()]}],"font-size":[{text:["base",r,oe,ee]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,se,te]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",B,Q]}],"font-family":[{font:[ie,Q,t]}],"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:[a,se,Q]}],"line-clamp":[{"line-clamp":[W,"none",se,te]}],leading:[{leading:[s,...v()]}],"list-image":[{"list-image":["none",se,Q]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",se,Q]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:A()}],"text-color":[{text:A()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:["solid","dashed","dotted","double","wavy"]}],"text-decoration-thickness":[{decoration:[W,"from-font","auto",se,ee]}],"text-decoration-color":[{decoration:A()}],"underline-offset":[{"underline-offset":[W,"auto",se,Q]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:v()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",se,Q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",se,Q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:_()}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}],"bg-size":[{bg:T()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},V,se,Q],radial:["",se,Q],conic:[V,se,Q]},de,ne]}],"bg-color":[{bg:A()}],"gradient-from-pos":[{from:P()}],"gradient-via-pos":[{via:P()}],"gradient-to-pos":[{to:P()}],"gradient-from":[{from:A()}],"gradient-via":[{via:A()}],"gradient-to":[{to:A()}],rounded:[{rounded:I()}],"rounded-s":[{"rounded-s":I()}],"rounded-e":[{"rounded-e":I()}],"rounded-t":[{"rounded-t":I()}],"rounded-r":[{"rounded-r":I()}],"rounded-b":[{"rounded-b":I()}],"rounded-l":[{"rounded-l":I()}],"rounded-ss":[{"rounded-ss":I()}],"rounded-se":[{"rounded-se":I()}],"rounded-ee":[{"rounded-ee":I()}],"rounded-es":[{"rounded-es":I()}],"rounded-tl":[{"rounded-tl":I()}],"rounded-tr":[{"rounded-tr":I()}],"rounded-br":[{"rounded-br":I()}],"rounded-bl":[{"rounded-bl":I()}],"border-w":[{border:O()}],"border-w-x":[{"border-x":O()}],"border-w-y":[{"border-y":O()}],"border-w-s":[{"border-s":O()}],"border-w-e":[{"border-e":O()}],"border-w-t":[{"border-t":O()}],"border-w-r":[{"border-r":O()}],"border-w-b":[{"border-b":O()}],"border-w-l":[{"border-l":O()}],"divide-x":[{"divide-x":O()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":O()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:["solid","dashed","dotted","double","hidden","none"]}],"divide-style":[{divide:["solid","dashed","dotted","double","hidden","none"]}],"border-color":[{border:A()}],"border-color-x":[{"border-x":A()}],"border-color-y":[{"border-y":A()}],"border-color-s":[{"border-s":A()}],"border-color-e":[{"border-e":A()}],"border-color-t":[{"border-t":A()}],"border-color-r":[{"border-r":A()}],"border-color-b":[{"border-b":A()}],"border-color-l":[{"border-l":A()}],"divide-color":[{divide:A()}],"outline-style":[{outline:["solid","dashed","dotted","double","none","hidden"]}],"outline-offset":[{"outline-offset":[W,se,Q]}],"outline-w":[{outline:["",W,oe,ee]}],"outline-color":[{outline:A()}],shadow:[{shadow:["","none",d,ue,ae]}],"shadow-color":[{shadow:A()}],"inset-shadow":[{"inset-shadow":["none",u,ue,ae]}],"inset-shadow-color":[{"inset-shadow":A()}],"ring-w":[{ring:O()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:A()}],"ring-offset-w":[{"ring-offset":[W,ee]}],"ring-offset-color":[{"ring-offset":A()}],"inset-ring-w":[{"inset-ring":O()}],"inset-ring-color":[{"inset-ring":A()}],"text-shadow":[{"text-shadow":["none",f,ue,ae]}],"text-shadow-color":[{"text-shadow":A()}],opacity:[{opacity:[W,se,Q]}],"mix-blend":[{"mix-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[W]}],"mask-image-linear-from-pos":[{"mask-linear-from":M()}],"mask-image-linear-to-pos":[{"mask-linear-to":M()}],"mask-image-linear-from-color":[{"mask-linear-from":A()}],"mask-image-linear-to-color":[{"mask-linear-to":A()}],"mask-image-t-from-pos":[{"mask-t-from":M()}],"mask-image-t-to-pos":[{"mask-t-to":M()}],"mask-image-t-from-color":[{"mask-t-from":A()}],"mask-image-t-to-color":[{"mask-t-to":A()}],"mask-image-r-from-pos":[{"mask-r-from":M()}],"mask-image-r-to-pos":[{"mask-r-to":M()}],"mask-image-r-from-color":[{"mask-r-from":A()}],"mask-image-r-to-color":[{"mask-r-to":A()}],"mask-image-b-from-pos":[{"mask-b-from":M()}],"mask-image-b-to-pos":[{"mask-b-to":M()}],"mask-image-b-from-color":[{"mask-b-from":A()}],"mask-image-b-to-color":[{"mask-b-to":A()}],"mask-image-l-from-pos":[{"mask-l-from":M()}],"mask-image-l-to-pos":[{"mask-l-to":M()}],"mask-image-l-from-color":[{"mask-l-from":A()}],"mask-image-l-to-color":[{"mask-l-to":A()}],"mask-image-x-from-pos":[{"mask-x-from":M()}],"mask-image-x-to-pos":[{"mask-x-to":M()}],"mask-image-x-from-color":[{"mask-x-from":A()}],"mask-image-x-to-color":[{"mask-x-to":A()}],"mask-image-y-from-pos":[{"mask-y-from":M()}],"mask-image-y-to-pos":[{"mask-y-to":M()}],"mask-image-y-from-color":[{"mask-y-from":A()}],"mask-image-y-to-color":[{"mask-y-to":A()}],"mask-image-radial":[{"mask-radial":[se,Q]}],"mask-image-radial-from-pos":[{"mask-radial-from":M()}],"mask-image-radial-to-pos":[{"mask-radial-to":M()}],"mask-image-radial-from-color":[{"mask-radial-from":A()}],"mask-image-radial-to-color":[{"mask-radial-to":A()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"]}],"mask-image-conic-pos":[{"mask-conic":[W]}],"mask-image-conic-from-pos":[{"mask-conic-from":M()}],"mask-image-conic-to-pos":[{"mask-conic-to":M()}],"mask-image-conic-from-color":[{"mask-conic-from":A()}],"mask-image-conic-to-color":[{"mask-conic-to":A()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:_()}],"mask-repeat":[{mask:["no-repeat",{repeat:["","x","y","space","round"]}]}],"mask-size":[{mask:T()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",se,Q]}],filter:[{filter:["","none",se,Q]}],blur:[{blur:D()}],brightness:[{brightness:[W,se,Q]}],contrast:[{contrast:[W,se,Q]}],"drop-shadow":[{"drop-shadow":["","none",m,ue,ae]}],"drop-shadow-color":[{"drop-shadow":A()}],grayscale:[{grayscale:["",W,se,Q]}],"hue-rotate":[{"hue-rotate":[W,se,Q]}],invert:[{invert:["",W,se,Q]}],saturate:[{saturate:[W,se,Q]}],sepia:[{sepia:["",W,se,Q]}],"backdrop-filter":[{"backdrop-filter":["","none",se,Q]}],"backdrop-blur":[{"backdrop-blur":D()}],"backdrop-brightness":[{"backdrop-brightness":[W,se,Q]}],"backdrop-contrast":[{"backdrop-contrast":[W,se,Q]}],"backdrop-grayscale":[{"backdrop-grayscale":["",W,se,Q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[W,se,Q]}],"backdrop-invert":[{"backdrop-invert":["",W,se,Q]}],"backdrop-opacity":[{"backdrop-opacity":[W,se,Q]}],"backdrop-saturate":[{"backdrop-saturate":[W,se,Q]}],"backdrop-sepia":[{"backdrop-sepia":["",W,se,Q]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":v()}],"border-spacing-x":[{"border-spacing-x":v()}],"border-spacing-y":[{"border-spacing-y":v()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",se,Q]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[W,"initial",se,Q]}],ease:[{ease:["linear","initial",b,se,Q]}],delay:[{delay:[W,se,Q]}],animate:[{animate:["none",x,se,Q]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[h,se,Q]}],"perspective-origin":[{"perspective-origin":y()}],rotate:[{rotate:U()}],"rotate-x":[{"rotate-x":U()}],"rotate-y":[{"rotate-y":U()}],"rotate-z":[{"rotate-z":U()}],scale:[{scale:z()}],"scale-x":[{"scale-x":z()}],"scale-y":[{"scale-y":z()}],"scale-z":[{"scale-z":z()}],"scale-3d":["scale-3d"],skew:[{skew:F()}],"skew-x":[{"skew-x":F()}],"skew-y":[{"skew-y":F()}],transform:[{transform:[se,Q,"","none","gpu","cpu"]}],"transform-origin":[{origin:y()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:L()}],"translate-x":[{"translate-x":L()}],"translate-y":[{"translate-y":L()}],"translate-z":[{"translate-z":L()}],"translate-none":["translate-none"],accent:[{accent:A()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:A()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],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",se,Q]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":v()}],"scroll-mx":[{"scroll-mx":v()}],"scroll-my":[{"scroll-my":v()}],"scroll-ms":[{"scroll-ms":v()}],"scroll-me":[{"scroll-me":v()}],"scroll-mt":[{"scroll-mt":v()}],"scroll-mr":[{"scroll-mr":v()}],"scroll-mb":[{"scroll-mb":v()}],"scroll-ml":[{"scroll-ml":v()}],"scroll-p":[{"scroll-p":v()}],"scroll-px":[{"scroll-px":v()}],"scroll-py":[{"scroll-py":v()}],"scroll-ps":[{"scroll-ps":v()}],"scroll-pe":[{"scroll-pe":v()}],"scroll-pt":[{"scroll-pt":v()}],"scroll-pr":[{"scroll-pr":v()}],"scroll-pb":[{"scroll-pb":v()}],"scroll-pl":[{"scroll-pl":v()}],"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",se,Q]}],fill:[{fill:["none",...A()]}],"stroke-w":[{stroke:[W,oe,ee,te]}],stroke:[{stroke:["none",...A()]}],"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-x","border-w-y","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-x","border-color-y","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"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"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"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function Se(...e){return we(i(e))}let ke=!0;function je(e,...t){ke&&function(){try{const e="undefined"!=typeof globalThis?globalThis:null;return"development"===e?.process?.env?.NODE_ENV}catch{return!1}}()&&console.error(e,...t)}function Ne(e,...t){console.error(e,...t)}function Ce(e){return e instanceof Error&&("AbortError"===e.name||"ERR_CANCELED"===e.code)}async function Ee(e,t){try{const r=await e.json();return r?.message||r?.error||t}catch{return t}}async function Ae(e){const t=await e.text();if(!t)throw new Error("Empty response body");try{return JSON.parse(t)}catch(e){throw new Error(`Invalid JSON response: ${t.substring(0,100)}${t.length>100?"...":""}`)}}async function _e(e,t="Request failed"){if(!e.ok){let r=t;try{const t=await Ae(e);r=t.message||t.error||r}catch{r=function(e,t){const r={400:"Bad Request",401:"Unauthorized - Please check your session",403:"Forbidden - You do not have permission",404:"Resource not found",500:"Internal server error",502:"Bad Gateway",503:"Service unavailable"}[e.status]||e.statusText||t;return new Error(`${t} (${e.status}: ${r})`)}(e,t).message}throw new Error(r)}try{return await Ae(e)}catch(e){if(e instanceof Error&&e.message.includes("Invalid JSON"))throw e;throw new Error("Failed to parse response as JSON")}}class Te extends Error{constructor(e,t,r,n){super(e),this.code=t,this.context=r,this.originalError=n,this.name="SDKError","undefined"!=typeof Error&&"captureStackTrace"in Error&&Error.captureStackTrace(this,Te)}}const Pe=new class{constructor(){this.config={enableConsoleLogging:!0,showUserNotifications:!1}}configure(e){this.config={...this.config,...e},void 0!==e.enableConsoleLogging&&function(e){void 0!==e.enableLogging&&(ke=e.enableLogging)}({enableLogging:e.enableConsoleLogging})}handleError(e,t={}){if(Ce(e))return;const r=e instanceof Error?e:new Te("string"==typeof e?e:"An unknown error occurred","UNKNOWN_ERROR",t),n=r instanceof Te?r:new Te(r.message,"SDK_ERROR",t,r);if(this.config.enableConsoleLogging&&je(`[SDK Error] ${t.component||"Unknown"}:`,{message:n.message,code:n.code,context:n.context,originalError:n.originalError,stack:n.stack}),this.config.onError)try{this.config.onError(n,t)}catch(e){Ne("[SDK Error Handler] Error in custom error callback:",e)}this.config.showUserNotifications&&this.notifyUser(n,t)}notifyUser(e,t){"undefined"!=typeof window&&window.dispatchEvent&&window.dispatchEvent(new CustomEvent("sdk-error",{detail:{error:e,context:t}}))}wrapAsync(e,t){return(...r)=>e(...r).catch(e=>{throw this.handleError(e,t),e})}wrapSync(e,t){return(...r)=>{try{return e(...r)}catch(e){throw this.handleError(e,t),e}}}};function Re(e,t={}){Pe.handleError(e,t)}function Ie(e,t={}){return!Ce(e)&&(Pe.handleError(e,t),!0)}class Oe extends t.Component{constructor(e){super(e),this.resetError=()=>{this.setState({hasError:!1,error:null})},this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){if(Re(e,{component:"ErrorBoundary",action:"componentDidCatch",metadata:{componentStack:t.componentStack,errorBoundary:this.constructor.name}}),this.props.onError)try{this.props.onError(e,t)}catch(e){Ne("[SDK ErrorBoundary] Error in onError callback:",e)}}componentDidUpdate(e){this.state.hasError&&!1!==this.props.resetOnPropsChange&&e.children!==this.props.children&&this.resetError()}render(){return this.state.hasError&&this.state.error?this.props.fallback?"function"==typeof this.props.fallback?this.props.fallback(this.state.error,this.resetError):this.props.fallback:e.jsxs("div",{style:{padding:"1rem",border:"1px solid #ef4444",borderRadius:"0.5rem",backgroundColor:"#fef2f2",color:"#991b1b"},children:[e.jsx("h3",{style:{margin:"0 0 0.5rem 0",fontSize:"1rem",fontWeight:600},children:"Something went wrong"}),e.jsx("p",{style:{margin:"0 0 1rem 0",fontSize:"0.875rem"},children:this.state.error.message||"An unexpected error occurred"}),e.jsx("button",{onClick:this.resetError,style:{padding:"0.5rem 1rem",backgroundColor:"#ef4444",color:"white",border:"none",borderRadius:"0.25rem",cursor:"pointer",fontSize:"0.875rem"},children:"Try again"})]}):this.props.children}}const Me=()=>({type:"AUTHENTICATION_STARTED"}),De=()=>({type:"AUTHENTICATION_PROCESSING"}),Ue=()=>({type:"AUTHENTICATION_FAILED"}),ze=e=>({type:"SET_SESSION",payload:e}),Fe=()=>({type:"REMOVE_SESSION"});function Le(e,r,n){const a=t.useRef(r),s=t.useRef(n),o=t.useRef(void 0),i=t.useRef(!1);return a.current=r,s.current=n,t.useMemo(()=>{const t=a.current(e);if(i.current){if(s.current?s.current(o.current,t):Object.is(o.current,t))return o.current}return o.current=t,i.current=!0,t},[e])}function $e({name:r,initialState:n,reducer:a,initializer:s}){const o=t.createContext(null),i=t.createContext(null),l=t.createContext(null),c=t.memo(({children:r})=>{const[c,d]=t.useReducer(a,n,s||(e=>e)),u=t.useMemo(()=>({state:c,dispatch:d}),[c,d]);return e.jsx(l.Provider,{value:u,children:e.jsx(o.Provider,{value:c,children:e.jsx(i.Provider,{value:d,children:r})})})});c.displayName=`${r}Provider`;const d=e=>new Error(`use${r}${e} must be used within a ${r}Provider. Make sure SaaSOSProvider is wrapping your application.`),u=()=>{const e=t.useContext(o);if(null===e)throw d("State");return e};return{Provider:c,useContext:()=>{const e=t.useContext(l);if(!e)throw d("Context");return e},useState:u,useDispatch:()=>{const e=t.useContext(i);if(null===e)throw d("Dispatch");return e},useSelector:(e,t)=>{const r=e||(e=>e);return Le(u(),r,t)}}}var We;function Ve(e){return{isAuthenticated:e===We.authenticated,isLoading:e===We.loading||e===We.redirecting||e===We.authenticating,isRedirecting:e===We.redirecting}}function Be(e,t,r){return{...e,[t]:r}}function Ge(e,t){return{...e,...t}}!function(e){e.loading="loading",e.redirecting="redirecting",e.authenticated="authenticated",e.unauthenticated="unauthenticated",e.authenticating="authenticating"}(We||(We={}));const Ke=()=>({session:null,status:We.loading}),{Provider:He,useState:Ze,useDispatch:qe}=$e({name:"Auth",initialState:Ke(),reducer:(e,t)=>{switch(t.type){case"AUTHENTICATION_STARTED":return Be(e,"status",We.redirecting);case"AUTHENTICATION_PROCESSING":return Be(e,"status",We.authenticating);case"AUTHENTICATION_FAILED":case"REMOVE_SESSION":return Ge(e,{session:null,status:We.unauthenticated});case"SET_SESSION":return Ge(e,{session:t.payload,status:We.authenticated});default:return e}},initializer:Ke}),Je=He,Ye=Ze,Xe=qe,Qe=e=>({type:"SET_SAAS_OS_CONFIG",payload:e}),et=e=>({type:"SET_SETTINGS",payload:e});var tt;function rt(e){return Boolean(e?.serverUrl&&e?.version&&e?.orgId)}!function(e){e.V1="v1"}(tt||(tt={}));const nt=()=>({serverUrl:"",version:tt.V1,orgId:"",settings:null}),{Provider:at,useState:st,useDispatch:ot}=$e({name:"OS",initialState:nt(),reducer:(e,t)=>{switch(t.type){case"SET_SAAS_OS_CONFIG":return Ge(e,t.payload);case"REMOVE_SAAS_OS_CONFIG":return nt();case"SET_SETTINGS":return Be(e,"settings",t.payload);default:return e}}}),it=at,lt=st,ct=ot,dt=e=>({type:"SET_WORKSPACES",payload:e}),ut=e=>({type:"ADD_WORKSPACE",payload:e}),ft=e=>({type:"UPDATE_WORKSPACE",payload:e}),mt=e=>({type:"REMOVE_WORKSPACE",payload:e}),pt=e=>({type:"SET_ALL_FEATURES",payload:e}),ht=e=>({type:"SET_CURRENT_WORKSPACE",payload:e}),gt=()=>({type:"RESET_CURRENT_WORKSPACE"}),bt=e=>({type:"SET_IS_INITIALIZED",payload:e}),xt=e=>({type:"SET_LOADING",payload:e}),yt=e=>({type:"SET_ERROR",payload:e}),vt=e=>({type:"SET_REFRESHING",payload:e}),wt=e=>({type:"SET_SWITCHING_TO_ID",payload:e}),{Provider:St,useState:kt,useDispatch:jt}=$e({name:"Workspace",initialState:{workspaces:[],loading:!1,error:null,currentWorkspace:null,refreshing:!1,switchingToId:null,isInitialized:!1,allFeatures:[]},reducer:(e,t)=>{switch(t.type){case"SET_WORKSPACES":return Be(e,"workspaces",t.payload);case"ADD_WORKSPACE":return Be(e,"workspaces",[...e.workspaces,t.payload]);case"UPDATE_WORKSPACE":return Be(e,"workspaces",e.workspaces.map(e=>e._id===t.payload._id?t.payload:e));case"REMOVE_WORKSPACE":return Be(e,"workspaces",e.workspaces.filter(e=>e._id!==t.payload));case"SET_ALL_FEATURES":return Be(e,"allFeatures",t.payload);case"SET_CURRENT_WORKSPACE":return Be(e,"currentWorkspace",t.payload);case"RESET_CURRENT_WORKSPACE":return Be(e,"currentWorkspace",null);case"SET_IS_INITIALIZED":return Be(e,"isInitialized",t.payload);case"SET_LOADING":return Be(e,"loading",t.payload);case"SET_ERROR":return Be(e,"error",t.payload);case"SET_REFRESHING":return Be(e,"refreshing",t.payload);case"SET_SWITCHING_TO_ID":return Be(e,"switchingToId",t.payload);default:return e}}}),Nt=St,Ct=kt,Et=jt,At=t.memo(({children:t})=>e.jsx(it,{children:e.jsx(Je,{children:e.jsx(Nt,{children:t})})}));function _t(e,t){const r=e.pricingVariants;if(!r?.length)return null;const n=t.toLowerCase();return r.find(e=>e.currency?.toLowerCase()===n)??null}function Tt(e,t,r){const n=_t(e,t);if(!n?.basePricing)return null;const a=n.basePricing[r];return null!=a?a:null}function Pt(e,t,r,n){const a=_t(e,t),s=a?.quotaOverages?.[r];if(s)return s[n]}function Rt(e,t,r,n){const a=e.quotas?.[r];if(null==a)return null;const s=a[n];if(!s)return null;const o=Pt(e,t,r,n);return{included:s.included,...void 0!==s.unitSize&&{unitSize:s.unitSize},...void 0!==o&&{overage:o}}}function It(e,t){if(!e)return null;for(const r of t){const t=r.pricingVariants;if(t?.length)for(const r of t){const t=r.stripePrices;if(t){if(t.monthlyPriceId===e||t.monthly===e)return{interval:"monthly",currency:r.currency};if(t.yearlyPriceId===e||t.yearly===e)return{interval:"yearly",currency:r.currency};if(t.quarterlyPriceId===e)return{interval:"quarterly",currency:r.currency}}}}return null}function Ot(e,t){const r=_t(e,t);return r?.seatPricing?.enabled?r.seatPricing:null}function Mt(e,t,r){const n=Ot(e,t);return n?.perSeat?n.perSeat[r]??null:null}function Dt(e){const{planVersion:t,currency:r="usd",settingsMaxUsers:n}=e;if(t){const e=Ot(t,r);if(e)return{maxUsers:e.maxSeats??0,source:"seat_pricing",includedSeats:e.includedSeats??0,hasSeatPricing:!0}}return null!=n&&n>0?{maxUsers:n,source:"settings",includedSeats:0,hasSeatPricing:!1}:{maxUsers:0,source:"none",includedSeats:0,hasSeatPricing:!1}}function Ut(e){const{memberCount:t,maxUsersConfig:r,hasSubscription:n=!0,requireSubscription:a=!1}=e;if(a&&!n)return{canInvite:!1,blockReason:"no_subscription",blockMessage:"A subscription is required to invite members."};const{maxUsers:s,source:o}=r;if(s<=0)return{canInvite:!0,blockReason:null,blockMessage:null};if(t>=s){return{canInvite:!1,blockReason:{seat_pricing:"seat_limit_reached",settings:"settings_user_limit_reached"}[o]??"seat_limit_reached",blockMessage:{seat_pricing:`Your plan allows up to ${s} members. Upgrade for more seats.`,settings:`This workspace allows up to ${s} members.`}[o]??`Member limit of ${s} reached.`}}return{canInvite:!0,blockReason:null,blockMessage:null}}At.displayName="SDKContextProvider";const zt=new Set;function Ft(){zt.forEach(e=>e())}const Lt=new class{constructor(){this.callbacks=null}setCallbacks(e){this.callbacks=e}getCallbacks(){return this.callbacks}async emit(e,t){if(this.callbacks?.handleEvent)try{await this.callbacks.handleEvent(e,t)}catch(t){Re(t,{component:"EventEmitter",action:"emit",metadata:{eventType:e}})}}async emitUserCreated(e){await this.emit("user:created",{user:e})}async emitUserUpdated(e,t){await this.emit("user:updated",{user:e,previousUser:t})}async emitWorkspaceChanged(e,t){await this.emit("workspace:changed",{workspace:e,previousWorkspace:t})}async emitWorkspaceUpdated(e){await this.emit("workspace:updated",{workspace:e})}async emitWorkspaceUserAdded(e,t,r){await this.emit("workspace:user-added",{userId:e,workspace:t,role:r})}async emitWorkspaceUserRemoved(e,t,r){await this.emit("workspace:user-removed",{userId:e,workspace:t,role:r})}async emitWorkspaceUserRoleChanged(e,t,r,n){await this.emit("workspace:user-role-changed",{userId:e,workspace:t,previousRole:r,newRole:n})}async emitWorkspaceCreated(e){await this.emit("workspace:created",{workspace:e})}async emitWorkspaceDeleted(e){await this.emit("workspace:deleted",{workspace:e})}};function $t(e,r,n){t.useEffect(()=>{const t=new AbortController;return e(t.signal).catch(e=>{Ce(e)||(n?.onError?n.onError(e):Re(e,{component:"useAsyncEffect",action:"effect",metadata:{note:"Unhandled rejection - consider passing onError"}}))}),()=>t.abort()},r)}function Wt(e){if("undefined"==typeof window)return null;try{return localStorage.getItem(e)}catch(t){return Re(t,{component:"storage",action:"getStorageItem",metadata:{key:e}}),null}}function Vt(e,t){if("undefined"!=typeof window)try{localStorage.setItem(e,t)}catch(t){Re(t,{component:"storage",action:"setStorageItem",metadata:{key:e}})}}function Bt(e){if("undefined"!=typeof window)try{localStorage.removeItem(e)}catch(t){Re(t,{component:"storage",action:"removeStorageItem",metadata:{key:e}})}}const Gt="saas-session-id",Kt="code";function Ht(e){Vt(Gt,e)}function Zt(){return function(){if("undefined"==typeof window)return null;try{return Wt(Gt)}catch(e){return Re(e,{component:"auth-utils",action:"getSessionId",metadata:{key:Gt}}),null}}()}function qt(){if("undefined"==typeof window)return null;try{return new URLSearchParams(window.location.search).get(Kt)}catch(e){return Re(e,{component:"auth-utils",action:"getTokenFromUrl",metadata:{param:Kt}}),null}}const Jt="SDK is not ready (missing serverUrl, version, or orgId)";class Yt{constructor(e){this.serverUrl=e.serverUrl,this.version=e.version,this.orgId=e.orgId,this.requireOrgId=e.requireOrgId??!1,this.basePath=e.basePath??"public",this._sessionId=e.sessionId,this._timeout=e.timeout??3e4,this._maxRetries=e.maxRetries??0,this._debug=e.debug??!1,this._customHeaders=e.headers??{},this._onError=e.onError,this._fetch=e.fetch??globalThis.fetch}ensureReady(){if(!this.serverUrl?.trim()||!this.version)throw new Error(Jt);if(this.requireOrgId&&!this.orgId?.trim())throw new Error(Jt)}get baseUrl(){return this.ensureReady(),`${this.serverUrl}/api/${this.version}/${this.basePath}`}getAuthHeaders(){return this._sessionId?{"x-session-id":this._sessionId}:function(){const e=Zt(),t={};return e&&(t["x-session-id"]=e),t}()}url(e){const t=e.startsWith("/")?e.slice(1):e;return`${this.baseUrl.endsWith("/")?this.baseUrl.slice(0,-1):this.baseUrl}/${t}`}buildHeaders(e){const t={...this._customHeaders,...this.getAuthHeaders()};return e.headers&&Object.assign(t,e.headers),null==e.body||t["Content-Type"]||(t["Content-Type"]="application/json"),t}async executeFetch(e,t){const r=this.url(e),n=(t.method??"GET").toUpperCase(),a=this.buildHeaders(t),s={...t,headers:a};let o;if(this._timeout>0){const e=new AbortController;o=setTimeout(()=>e.abort(),this._timeout),s.signal=t.signal?AbortSignal.any([t.signal,e.signal]):e.signal}const i=async t=>{try{const e=this._fetch.bind(globalThis),a=await e(r,s);if(this._debug&&console.log(`[BuildBase] ${n} ${r} → ${a.status}`),a.status>=500&&t<this._maxRetries){const e=Math.min(1e3*Math.pow(2,t),1e4);return this._debug&&console.log(`[BuildBase] Retrying in ${e}ms (attempt ${t+1}/${this._maxRetries})`),await new Promise(t=>setTimeout(t,e)),i(t+1)}return a}catch(r){if(r instanceof Error&&"AbortError"===r.name){if(void 0!==o){const t=new Error(`Request timeout after ${this._timeout}ms: ${n} ${e}`);throw this._onError?.(t,{method:n,path:e}),t}throw r}if(t<this._maxRetries){const e=Math.min(1e3*Math.pow(2,t),1e4);return this._debug&&console.log(`[BuildBase] Network error, retrying in ${e}ms (attempt ${t+1}/${this._maxRetries})`),await new Promise(t=>setTimeout(t,e)),i(t+1)}throw r instanceof Error&&this._onError?.(r,{method:n,path:e}),r}};try{return await i(0)}finally{void 0!==o&&clearTimeout(o)}}async fetchJson(e,t={},r="Request failed"){this.ensureReady();try{const n=await this.executeFetch(e,t);return await _e(n,r)}catch(r){throw r instanceof Error&&this._onError?.(r,{method:(t.method??"GET").toUpperCase(),path:e}),r}}async fetchResponse(e,t={}){return this.ensureReady(),this.executeFetch(e,t)}}class Xt extends Yt{constructor(e){super({...e,requireOrgId:!0})}async getSettings(e){return this.fetchJson(`${this.orgId}/settings`,{signal:e},"Failed to fetch settings")}}function Qt(){return _r(e=>e.os)}let er=null;function tr(){const e=Tr(),r=Qt(),{serverUrl:n,version:a,orgId:s,settings:o}=r,i=t.useMemo(()=>rt(r)?new Xt({serverUrl:n,version:a,orgId:s}):null,[n,a,s]),l=t.useCallback(async t=>i?er||(er=(async()=>{try{const r=await i.getSettings(t);return e.os(et(r)),r}catch(e){return Ie(e,{component:"useSaaSSettings",action:"getSettings",metadata:{serverUrl:n,version:a,orgId:s}}),null}finally{er=null}})(),er):null,[i,e,n,a,s]);return $t(async e=>{o||rt(r)&&await l(e)},[n,a,s],{onError:e=>Ie(e,{component:"useSaaSSettings",action:"fetchSettings",metadata:{serverUrl:n,version:a,orgId:s}})}),t.useMemo(()=>({settings:o,getSettings:l}),[o,l])}class rr extends Yt{constructor(e){super({...e,requireOrgId:!0})}async getWorkspaces(){return this.fetchJson("workspaces",{},"Failed to fetch workspaces")}async createWorkspace(e){return this.fetchJson("workspaces",{method:"POST",body:JSON.stringify(e)},"Failed to create workspace")}async updateWorkspace(e,t){return this.fetchJson(`workspaces/${e}`,{method:"PUT",body:JSON.stringify(t)},"Failed to update workspace")}async deleteWorkspace(e){return this.fetchJson(`workspaces/${e}`,{method:"DELETE"},"Failed to delete workspace")}async getWorkspaceUsers(e){return this.fetchJson(`workspaces/${e}/users`,{},"Failed to fetch workspace users")}async addUser(e,t){return this.fetchJson(`workspaces/${e}/users/add`,{method:"POST",body:JSON.stringify(t)},"Failed to invite member")}async removeUser(e,t){return this.fetchJson(`workspaces/${e}/users/${t}`,{method:"DELETE"},"Failed to remove user")}async updateUser(e,t,r){return this.fetchJson(`workspaces/${e}/users/${t}`,{method:"PATCH",body:JSON.stringify(r)},"Failed to update user")}async getFeatures(){return this.fetchJson("workspaces/features",{},"Failed to fetch features")}async updateFeature(e,t,r){return this.fetchJson(`workspaces/${e}/features`,{method:"PATCH",body:JSON.stringify({features:{[t]:r}})},"Failed to update feature")}async getWorkspace(e){return this.fetchJson(`workspaces/${e}`,{},"Failed to fetch workspace")}async getProfile(){return this.fetchJson("profile",{},"Failed to fetch profile")}async updateUserProfile(e){return this.fetchJson("profile",{method:"PATCH",body:JSON.stringify(e)},"Failed to update user profile")}async getCurrentSubscription(e){const t=await this.fetchResponse(`workspaces/${e}/subscription`);if(!t.ok){let e="Failed to fetch subscription";try{e=(await t.json()).message||e}catch{e=404===t.status?"Workspace not found or no subscription available":401===t.status?"Unauthorized - Please check your session":`Failed to fetch subscription (${t.status}: ${t.statusText})`}throw new Error(e)}const r=await t.json();if(void 0!==r.success){if(!r.success)throw new Error(r.message||"Failed to fetch subscription");return r.data||r}return r}async getPlanGroup(e){const t=await this.fetchResponse(`workspaces/${e}/subscription/plan-group`);if(!t.ok){let e="Failed to fetch plan group";try{e=(await t.json()).message||e}catch{e=404===t.status?"No plan group found for this workspace":401===t.status?"Unauthorized - Please check your session":`Failed to fetch plan group (${t.status}: ${t.statusText})`}throw new Error(e)}const r=await t.json();if(void 0!==r.success){if(!r.success)throw new Error(r.message||"Failed to fetch plan group");return r.data||r}return r}async getPlanGroupByVersion(e,t){const r=await this.fetchResponse(`workspaces/${e}/subscription/plan-group?groupVersionId=${t}`);if(!r.ok){let e="Failed to fetch plan group version";try{e=(await r.json()).message||e}catch{e=404===r.status?"Plan group version not found":401===r.status?"Unauthorized - Please check your session":`Failed to fetch plan group version (${r.status}: ${r.statusText})`}throw new Error(e)}const n=await r.json();if(void 0!==n.success){if(!n.success)throw new Error(n.message||"Failed to fetch plan group version");return n.data||n}return n}async getPlanGroupVersions(e){const t=await this.fetchResponse(`workspaces/${e}/subscription/plan-group/versions`);if(!t.ok){let e="Failed to fetch plan group versions";try{e=(await t.json()).message||e}catch{e=404===t.status?"No plan group versions found":401===t.status?"Unauthorized - Please check your session":`Failed to fetch plan group versions (${t.status}: ${t.statusText})`}throw new Error(e)}const r=await t.json();if(void 0!==r.success){if(!r.success)throw new Error(r.message||"Failed to fetch plan group versions");return r.data||r}return r}async getPublicPlans(e){if(!this.orgId)throw new Error("orgId is required for getPublicPlans");const t=await this.fetchResponse(`${this.orgId}/plans/${encodeURIComponent(e)}`);if(!t.ok){let r="Failed to fetch plans";try{r=(await t.json()).message||r}catch{r=404===t.status?`Plans "${e}" not found`:`Failed to fetch plans (${t.status}: ${t.statusText})`}throw new Error(r)}const r=await t.json();if(void 0!==r.success&&!r.success)throw new Error(r.message||"Failed to fetch plans");return r.data??r}async getPlanGroupVersion(e){const t=await this.fetchResponse(`plan-group-versions/${e}`);if(!t.ok){let e="Failed to fetch plan group version";try{e=(await t.json()).message||e}catch{e=404===t.status?"Plan group version not found":401===t.status?"Unauthorized - Please check your session":`Failed to fetch plan group version (${t.status}: ${t.statusText})`}throw new Error(e)}const r=await t.json();if(void 0!==r.success){if(!r.success)throw new Error(r.message||"Failed to fetch plan group version");return r.data||r}return r}async createCheckoutSession(e,t){const r=await this.fetchResponse(`workspaces/${e}/subscription/checkout`,{method:"POST",body:JSON.stringify(t)});if(!r.ok){let e="Failed to create checkout session";try{e=(await r.json()).message||e}catch{e=`Failed to create checkout session (${r.status}: ${r.statusText})`}throw new Error(e)}const n=await r.json();if(void 0!==n.success){if(!n.success)throw new Error(n.message||"Failed to create checkout session");return n.data||n}return n}async updateSubscription(e,t){const r=await this.fetchResponse(`workspaces/${e}/subscription`,{method:"PATCH",body:JSON.stringify(t)});if(!r.ok){let e="Failed to update subscription";try{e=(await r.json()).message||e}catch{e=`Failed to update subscription (${r.status}: ${r.statusText})`}throw new Error(e)}const n=await r.json();if(void 0!==n.success){if(!n.success)throw new Error(n.message||"Failed to update subscription");return n.data?.checkoutUrl||n.checkoutUrl,n.data||n}return n.checkoutUrl,n}async createBillingPortalSession(e,t){return this.fetchJson(`workspaces/${e}/subscription/billing-portal`,{method:"POST",body:JSON.stringify(t?{returnUrl:t}:{})})}async listInvoices(e,t=10,r){const n=new URLSearchParams;n.append("limit",t.toString()),r&&n.append("starting_after",r);const a=await this.fetchResponse(`workspaces/${e}/subscription/invoices?${n.toString()}`,{});if(!a.ok){let e="Failed to fetch invoices";try{e=(await a.json()).message||e}catch{e=404===a.status?"Workspace not found or no invoices available":401===a.status?"Unauthorized - Please check your session":`Failed to fetch invoices (${a.status}: ${a.statusText})`}throw new Error(e)}const s=await a.json();if(void 0!==s.success){if(!s.success)throw new Error(s.message||"Failed to fetch invoices");return s}return s}async getInvoice(e,t){const r=await this.fetchResponse(`workspaces/${e}/subscription/invoices/${t}`,{});if(!r.ok){let e="Failed to fetch invoice";try{e=(await r.json()).message||e}catch{e=404===r.status?"Invoice not found":401===r.status?"Unauthorized - Please check your session":`Failed to fetch invoice (${r.status}: ${r.statusText})`}throw new Error(e)}const n=await r.json();if(void 0!==n.success){if(!n.success)throw new Error(n.message||"Failed to fetch invoice");return n}return n}async cancelSubscriptionAtPeriodEnd(e){const t=await this.fetchResponse(`workspaces/${e}/subscription/cancel-at-period-end`,{method:"POST"});if(!t.ok){let e="Failed to cancel subscription";try{e=(await t.json()).message||e}catch{e=404===t.status?"Subscription not found":401===t.status?"Unauthorized - Please check your session":`Failed to cancel subscription (${t.status}: ${t.statusText})`}throw new Error(e)}const r=await t.json();if(void 0!==r.success){if(!r.success)throw new Error(r.message||"Failed to cancel subscription");return r.data||r}return r}async resumeSubscription(e){const t=await this.fetchResponse(`workspaces/${e}/subscription/resume`,{method:"POST"});if(!t.ok){let e="Failed to resume subscription";try{e=(await t.json()).message||e}catch{e=404===t.status?"Subscription not found":401===t.status?"Unauthorized - Please check your session":`Failed to resume subscription (${t.status}: ${t.statusText})`}throw new Error(e)}const r=await t.json();if(void 0!==r.success){if(!r.success)throw new Error(r.message||"Failed to resume subscription");return r.data||r}return r}async recordUsage(e,t){const r=await this.fetchResponse(`workspaces/${e}/subscription/usage`,{method:"POST",body:JSON.stringify(t)});if(!r.ok){let e="Failed to record usage";try{e=(await r.json()).message||e}catch{e=`Failed to record usage (${r.status}: ${r.statusText})`}throw new Error(e)}const n=await r.json();if(void 0!==n.success){if(!n.success)throw new Error(n.message||"Failed to record usage");return n.data||n}return n}async getQuotaUsageStatus(e,t){const r=await this.fetchResponse(`workspaces/${e}/subscription/usage/status?quotaSlug=${encodeURIComponent(t)}`);if(!r.ok){let e="Failed to fetch quota usage status";try{e=(await r.json()).message||e}catch{e=404===r.status?"Workspace not found or no subscription available":401===r.status?"Unauthorized - Please check your session":`Failed to fetch quota usage status (${r.status}: ${r.statusText})`}throw new Error(e)}const n=await r.json();if(void 0!==n.success){if(!n.success)throw new Error(n.message||"Failed to fetch quota usage status");return n.data||n}return n}async getAllQuotaUsage(e){const t=await this.fetchResponse(`workspaces/${e}/subscription/usage/all`);if(!t.ok){let e="Failed to fetch all quota usage";try{e=(await t.json()).message||e}catch{e=404===t.status?"Workspace not found or no subscription available":401===t.status?"Unauthorized - Please check your session":`Failed to fetch all quota usage (${t.status}: ${t.statusText})`}throw new Error(e)}const r=await t.json();if(void 0!==r.success){if(!r.success)throw new Error(r.message||"Failed to fetch all quota usage");return r.data||r}return r}async getUsageLogs(e,t){const r=new URLSearchParams;t?.quotaSlug&&r.append("quotaSlug",t.quotaSlug),t?.from&&r.append("from",t.from),t?.to&&r.append("to",t.to),t?.source&&r.append("source",t.source),t?.page&&r.append("page",t.page.toString()),t?.limit&&r.append("limit",t.limit.toString());const n=r.toString(),a=`workspaces/${e}/subscription/usage/logs${n?`?${n}`:""}`,s=await this.fetchResponse(a);if(!s.ok){let e="Failed to fetch usage logs";try{e=(await s.json()).message||e}catch{e=404===s.status?"Workspace not found":401===s.status?"Unauthorized - Please check your session":`Failed to fetch usage logs (${s.status}: ${s.statusText})`}throw new Error(e)}const o=await s.json();if(void 0!==o.success){if(!o.success)throw new Error(o.message||"Failed to fetch usage logs");return o.data||o}return o}}const nr="saas-workspace-current",ar=e=>{e?Vt(nr,e._id):Bt(nr)},sr=()=>Wt(nr),or=()=>{Bt(nr)},ir=(e,t)=>!!e&&t.some(t=>t._id===e);function lr(e,t){if(!t)return!1;const r=(n=e.createdBy)?"string"==typeof n?n:"object"==typeof n&&"_id"in n&&"string"==typeof n._id?n._id:null:null;var n;return null!==r&&r===t}function cr(e,t){if(!t||!e.users||!Array.isArray(e.users))return null;const r=e.users.find(e=>"string"==typeof e?e===t:"object"==typeof e&&null!==e&&"_id"in e&&e._id===t);return r&&"object"==typeof r&&"role"in r&&"string"==typeof r.role?r.role:null}function dr(){const e=Qt(),r=function(e){return t.useMemo(()=>new rr(e),[e.serverUrl,e.version,e.orgId])}(e);return t.useMemo(()=>({os:e,api:r}),[e,r])}const ur=()=>{const e=Tr(),{os:r,api:n}=dr(),{settings:a}=tr(),s=_r(e=>e.workspaces),o=_r(e=>e.auth.session?.user),i=t.useCallback((t,r)=>{if((!(t._id===s.currentWorkspace?._id)||r?.forceEmit)&&t){const r=s.currentWorkspace;ar(t),e.workspaces(ht(t)),Lt.emitWorkspaceChanged(t,r).catch(e=>{Re(e,{component:"useSaaSWorkspaces",action:"emitWorkspaceChanged",metadata:{workspaceId:t._id}})})}},[s.currentWorkspace,e]),l=t.useCallback(async(t,n)=>{const a=++f.current;e.workspaces(wt(t._id));try{const e=r.auth?.callbacks?.onWorkspaceChange;if(e){const r=cr(t,o?.id);try{await e({workspace:t,user:o??null,role:r})}catch(e){throw Re(e,{component:"useSaaSWorkspaces",action:"onWorkspaceChange",metadata:{workspaceId:t._id}}),e}if(a!==f.current)return}i(t,n)}finally{a===f.current&&e.workspaces(wt(null))}},[e,r.auth?.callbacks?.onWorkspaceChange,i,o]);t.useEffect(()=>{if(!s.isInitialized){const t=sr();if(e.workspaces(bt(!0)),t){const e=s.workspaces.find(e=>e._id===t);e&&l(e,{forceEmit:!0}).catch(()=>{})}}},[s.isInitialized,s.workspaces,s.currentWorkspace,e,l]);const c=t.useCallback(()=>{or(),e.workspaces(gt())},[e]),d=t.useRef(!1),u=t.useRef(!1),f=t.useRef(0),m=t.useCallback(async()=>{if(!s.loading&&!d.current){d.current=!0,e.workspaces(xt(!0)),e.workspaces(yt(null));try{const t=await n.getWorkspaces();if(e.workspaces(dt(t)),t.length>0){const e=sr();if(e&&ir(e,t)){const r=t.find(t=>t._id===e);if(r)try{await l(r,{forceEmit:!0})}catch{}}else{const e=t[0];try{await l(e,{forceEmit:!0})}catch{}}}}catch(t){e.workspaces(yt(t instanceof Error?t.message:"Failed to fetch workspaces"))}finally{e.workspaces(xt(!1)),d.current=!1}}},[n,s.loading,e,l]),p=t.useCallback(async()=>{if(!s.refreshing&&!d.current){d.current=!0,e.workspaces(vt(!0));try{const t=await n.getWorkspaces();e.workspaces(dt(t))}catch(e){}finally{e.workspaces(vt(!1)),d.current=!1}}},[n,s.refreshing,e]),h=t.useCallback(async(t,r)=>{const a=await n.createWorkspace({name:t,image:r});e.workspaces(ut(a)),Lt.emitWorkspaceCreated(a).catch(e=>{Re(e,{component:"useSaaSWorkspaces",action:"emitWorkspaceCreated",metadata:{workspaceId:a._id}})})},[n,e]),g=t.useCallback(async(t,r)=>{const a=await n.updateWorkspace(t._id,r);e.workspaces(ft(a)),Lt.emitWorkspaceUpdated(a).catch(e=>{Re(e,{component:"useSaaSWorkspaces",action:"emitWorkspaceUpdated",metadata:{workspaceId:a._id}})})},[n,e]),b=t.useCallback(async()=>{if(u.current)return s.allFeatures.length>0?s.allFeatures:null;if(s.allFeatures.length>0)return s.allFeatures;u.current=!0;try{const t=await n.getFeatures();return e.workspaces(pt(t)),t}catch(e){return Re(e,{component:"useSaaSWorkspaces",action:"getFeatures"}),null}finally{u.current=!1}},[n,e,s.allFeatures]),x=t.useCallback(async(e,t,r)=>await n.updateFeature(e,t,r),[n]);t.useEffect(()=>{if(!s.currentWorkspace?._id||0===s.workspaces.length)return;const t=s.currentWorkspace._id,r=s.workspaces.find(e=>e._id===t);if(r)r!==s.currentWorkspace&&(ar(r),e.workspaces(ht(r)));else if(s.workspaces.length>0){const e=s.workspaces[0];e._id!==t&&l(e).catch(()=>{})}},[s.workspaces,s.currentWorkspace,e,l]);const y=t.useCallback(async e=>await n.getWorkspaceUsers(e),[n]),v=t.useCallback(async(e,t,r)=>{const o=s.workspaces.find(t=>t._id===e);if(o){const e=Dt({settingsMaxUsers:a?.workspace?.maxWorkspaceUsers}),t=Ut({memberCount:o.users?.length??0,maxUsersConfig:e});if(!t.canInvite)throw new Error(t.blockMessage||"Member limit reached")}const i=await n.addUser(e,{email:t,role:r});return o&&Lt.emitWorkspaceUserAdded(i.userId,o,r).catch(t=>{Re(t,{component:"useSaaSWorkspaces",action:"emitWorkspaceUserAdded",metadata:{workspaceId:e,userId:i.userId,role:r}})}),p().catch(()=>{}),Ft(),i},[n,s.workspaces,p,a]),w=t.useCallback(async(e,t)=>{const r=s.workspaces.find(t=>t._id===e);if(r&&lr(r,t))throw new Error("Cannot remove the workspace owner");const a=(await n.getWorkspaceUsers(e).catch(()=>[])).find(e=>("string"==typeof e.user?e.user:e.user._id)===t),o=await n.removeUser(e,t);if(r&&a){const t=a.role;Lt.emitWorkspaceUserRemoved(o.userId,r,t).catch(r=>{Re(r,{component:"useSaaSWorkspaces",action:"emitWorkspaceUserRemoved",metadata:{workspaceId:e,userId:o.userId,role:t}})})}return p().catch(()=>{}),Ft(),o},[n,s.workspaces,p]),S=t.useCallback(async(e,t,r)=>{if(r.role){const r=s.workspaces.find(t=>t._id===e);if(r&&lr(r,t))throw new Error("Cannot change the role of the workspace owner")}let a;if(r.role){const r=(await n.getWorkspaceUsers(e).catch(()=>[])).find(e=>("string"==typeof e.user?e.user:e.user._id)===t);a=r?.role}const o=await n.updateUser(e,t,r);return r.role&&a&&a!==r.role&&Lt.emitWorkspaceUserRoleChanged(o.userId,o.workspace,a,r.role).catch(n=>{Re(n,{component:"useSaaSWorkspaces",action:"emitWorkspaceUserRoleChanged",metadata:{workspaceId:e,userId:t,previousRole:a,newRole:r.role}})}),o},[n,s.workspaces]),k=t.useCallback(async e=>{const t=await n.getProfile().catch(()=>null),r=await n.updateUserProfile(e);return Lt.emitUserUpdated(r,t||void 0).catch(e=>{Re(e,{component:"useSaaSWorkspaces",action:"emitUserUpdated",metadata:{userId:r._id}})}),r},[n]),j=t.useCallback(async()=>await n.getProfile(),[n]),N=t.useCallback(async e=>await n.getWorkspace(e),[n]),C=t.useCallback(async t=>{if(!o)throw new Error("User must be authenticated to delete a workspace");const r=s.workspaces.find(e=>e._id===t);if(!r)throw new Error("Workspace not found");if(!lr(r,o.id))throw new Error("Only the workspace creator can delete the workspace");const a=await n.deleteWorkspace(t);return e.workspaces(mt(t)),s.currentWorkspace?._id===t&&(or(),e.workspaces(gt())),r&&Lt.emitWorkspaceDeleted(r).catch(e=>{Re(e,{component:"useSaaSWorkspaces",action:"emitWorkspaceDeleted",metadata:{workspaceId:t}})}),a},[n,s.workspaces,s.currentWorkspace,e,o]);return{workspaces:s.workspaces,loading:s.loading,error:s.error,fetchWorkspaces:m,refreshWorkspaces:p,refreshing:s.refreshing,currentWorkspace:s.currentWorkspace,setCurrentWorkspace:i,switchToWorkspace:l,resetCurrentWorkspace:c,createWorkspace:h,allFeatures:s.allFeatures,getFeatures:b,updateFeature:x,getWorkspace:N,updateWorkspace:g,getUsers:y,addUser:v,removeUser:w,updateUser:S,getProfile:j,updateUserProfile:k,deleteWorkspace:C,switching:null!==s.switchingToId,switchingToId:s.switchingToId}},fr=new Set;function mr(){fr.forEach(e=>e())}const pr=e=>{const{os:r,api:n}=dr(),a=rt(r),[s,o]=t.useState(null),[i,l]=t.useState(!1),[c,d]=t.useState(null),u=t.useCallback(async()=>{if(e&&a){l(!0),d(null);try{const t=await n.getPublicPlans(e);o(t)}catch(t){const r=t instanceof Error?t.message:"Failed to fetch plans";d(r),Re(t,{component:"usePublicPlans",action:"fetchPlans",metadata:{slug:e}})}finally{l(!1)}}else o(null)},[n,e,a]);t.useEffect(()=>{u()},[u]);const f=e&&!a||i;return{items:s?.items??[],plans:s?.plans??[],notes:s?.notes,loading:f,error:c,refetch:u}},hr=e=>{const{api:r}=dr(),[n,a]=t.useState(null),[s,o]=t.useState(!1),[i,l]=t.useState(null),c=t.useCallback(async()=>{if(e){o(!0),l(null);try{const t=await r.getCurrentSubscription(e);a(t)}catch(t){const r=t instanceof Error?t.message:"Failed to fetch subscription";l(r),Re(t,{component:"useSubscription",action:"fetchSubscription",metadata:{workspaceId:e}})}finally{o(!1)}}else a(null)},[r,e]);return t.useEffect(()=>{c()},[c]),{subscription:n,loading:s,error:i,refetch:c}},gr=(e,r)=>{const{api:n}=dr(),[a,s]=t.useState(null),[o,i]=t.useState(!1),[l,c]=t.useState(null),d=t.useCallback(async()=>{if(e){i(!0),c(null);try{const t=r?await n.getPlanGroupByVersion(e,r):await n.getPlanGroup(e);s(t)}catch(t){const n=t instanceof Error?t.message:"Failed to fetch plan group";c(n),Re(t,{component:"usePlanGroup",action:"fetchPlanGroup",metadata:{workspaceId:e,groupVersionId:r}})}finally{i(!1)}}else s(null)},[n,e,r]);return t.useEffect(()=>{d()},[d]),{planGroup:a,loading:o,error:l,refetch:d}},br=e=>{const{api:r}=dr(),[n,a]=t.useState(null),[s,o]=t.useState(!1),[i,l]=t.useState(null),c=t.useCallback(async()=>{if(e){o(!0),l(null);try{const t=await r.getPlanGroupVersions(e);a(t)}catch(t){const r=t instanceof Error?t.message:"Failed to fetch plan group versions";l(r),Re(t,{component:"usePlanGroupVersions",action:"fetchVersions",metadata:{workspaceId:e}})}finally{o(!1)}}else a(null)},[r,e]);return t.useEffect(()=>{c()},[c]),{versions:n,loading:s,error:i,refetch:c}},xr=e=>{const{api:r}=dr(),[n,a]=t.useState(!1),[s,o]=t.useState(null);return{createCheckoutSession:t.useCallback(async t=>{if(!e)throw new Error("Workspace ID is required");a(!0),o(null);try{const n=await r.createCheckoutSession(e,t);return"trial_started"===n.type&&(Ft(),mr()),n}catch(r){const n=r instanceof Error?r.message:"Failed to create checkout session";throw o(n),Re(r,{component:"useCreateCheckoutSession",action:"createCheckoutSession",metadata:{workspaceId:e,request:t}}),r}finally{a(!1)}},[r,e]),loading:n,error:s}},yr=e=>{const{api:r}=dr(),[n,a]=t.useState(!1),[s,o]=t.useState(null),i=t.useCallback(async(t,n)=>{if(!e)throw new Error("Workspace ID is required");a(!0),o(null);try{const a={planVersionId:t,...n?.billingInterval&&{billingInterval:n.billingInterval},...n?.successUrl&&{successUrl:n.successUrl},...n?.cancelUrl&&{cancelUrl:n.cancelUrl}},s=await r.updateSubscription(e,a);return Ft(),s}catch(r){const a=r instanceof Error?r.message:"Failed to update subscription";throw o(a),Re(r,{component:"useUpdateSubscription",action:"updateSubscription",metadata:{workspaceId:e,planVersionId:t,options:n}}),r}finally{a(!1)}},[r,e]);return{updateSubscription:i,loading:n,error:s}},vr=(e,r)=>{const n=hr(e),a=gr(e,r),s=yr(e),o=t.useCallback(async()=>{await Promise.all([n.refetch(),a.refetch()])},[n.refetch,a.refetch]);return{subscription:n.subscription,planGroup:a.planGroup,loading:n.loading||a.loading||s.loading,error:n.error||a.error||s.error,updateSubscription:s.updateSubscription,refetch:o}},wr=(e,r=10,n)=>{const{api:a}=dr(),[s,o]=t.useState([]),[i,l]=t.useState(!1),[c,d]=t.useState(!1),[u,f]=t.useState(null),m=t.useCallback(async()=>{if(!e)return o([]),void l(!1);d(!0),f(null);try{const t=await a.listInvoices(e,r,n);o(t.invoices||[]),l(t.has_more||!1)}catch(t){const a=t instanceof Error?t.message:"Failed to fetch invoices";f(a),Re(t,{component:"useInvoices",action:"fetchInvoices",metadata:{workspaceId:e,limit:r,startingAfter:n}})}finally{d(!1)}},[a,e,r,n]);return t.useEffect(()=>{m()},[m]),{invoices:s,hasMore:i,loading:c,error:u,refetch:m}},Sr=e=>{const{api:r}=dr(),[n,a]=t.useState(!1),[s,o]=t.useState(null);return{openBillingPortal:t.useCallback(async t=>{if(!e)throw new Error("Workspace ID is required");a(!0),o(null);try{const n=t||window.location.href,a=await r.createBillingPortalSession(e,n);return a.url&&window.open(a.url,"_blank","noopener,noreferrer"),a}catch(t){const r=t instanceof Error?t.message:"Failed to open billing portal";throw o(r),Re(t,{component:"useBillingPortal",action:"openBillingPortal",metadata:{workspaceId:e}}),t}finally{a(!1)}},[e,r]),loading:n,error:s}},kr=e=>{const{api:r}=dr(),[n,a]=t.useState(!1),[s,o]=t.useState(null);return{cancelSubscription:t.useCallback(async()=>{if(!e)throw new Error("Workspace ID is required");a(!0),o(null);try{const t=await r.cancelSubscriptionAtPeriodEnd(e);return Ft(),t}catch(t){const r=t instanceof Error?t.message:"Failed to cancel subscription";throw o(r),Re(t,{component:"useCancelSubscription",action:"cancelSubscription",metadata:{workspaceId:e}}),t}finally{a(!1)}},[r,e]),loading:n,error:s}},jr=e=>{const{api:r}=dr(),[n,a]=t.useState(!1),[s,o]=t.useState(null);return{resumeSubscription:t.useCallback(async()=>{if(!e)throw new Error("Workspace ID is required");a(!0),o(null);try{const t=await r.resumeSubscription(e);return Ft(),t}catch(t){const r=t instanceof Error?t.message:"Failed to resume subscription";throw o(r),Re(t,{component:"useResumeSubscription",action:"resumeSubscription",metadata:{workspaceId:e}}),t}finally{a(!1)}},[r,e]),loading:n,error:s}},Nr=e=>{const{api:r}=dr(),[n,a]=t.useState(null),[s,o]=t.useState(!1),[i,l]=t.useState(null),c=t.useCallback(async()=>{if(e){o(!0),l(null);try{const t=await r.getAllQuotaUsage(e);a(t.quotas)}catch(t){const r=t instanceof Error?t.message:"Failed to fetch all quota usage";l(r),Re(t,{component:"useAllQuotaUsage",action:"fetchAllUsage",metadata:{workspaceId:e}})}finally{o(!1)}}else a(null)},[r,e]);return t.useEffect(()=>{c()},[c]),{quotas:n,loading:s,error:i,refetch:c}},Cr=t.createContext(null);Cr.displayName="SubscriptionContext";const Er=t.memo(function({children:r}){const{currentWorkspace:n}=ur(),{subscription:a,loading:s,error:o,refetch:i}=hr(n?._id);t.useEffect(()=>{return e=i,zt.add(e),()=>{zt.delete(e)};var e},[i]);const l=t.useMemo(()=>({response:a,loading:s,error:o,refetch:i}),[a,s,o,i]);return e.jsx(Cr.Provider,{value:l,children:r})});function Ar(){const e=t.useContext(Cr);if(null===e)throw new Error("useSubscriptionContext must be used within SubscriptionContextProvider. Make sure SubscriptionContextProvider is wrapping your application (or the tree that uses subscription gates).");return e}function _r(e,r){const n=lt(),a=Ye(),s=Ct(),o=e||(e=>e);return Le(t.useMemo(()=>({os:n,auth:a,workspaces:s}),[n,a,s]),o,r)}function Tr(){const e=Xe(),r=ct(),n=Et();return t.useMemo(()=>({auth:e,os:r,workspaces:n}),[e,r,n])}Er.displayName="SubscriptionContextProvider";const Pr=t.createContext(null);Pr.displayName="QuotaUsageContext";const Rr=t.memo(function({children:r}){const{currentWorkspace:n}=ur(),{quotas:a,loading:s,error:o,refetch:i}=Nr(n?._id);t.useEffect(()=>{return e=i,fr.add(e),()=>{fr.delete(e)};var e},[i]);const l=t.useMemo(()=>({quotas:a,loading:s,error:o,refetch:i}),[a,s,o,i]);return e.jsx(Pr.Provider,{value:l,children:r})});function Ir(){const e=t.useContext(Pr);if(null===e)throw new Error("useQuotaUsageContext must be used within QuotaUsageContextProvider. Make sure QuotaUsageContextProvider is wrapping your application (or the tree that uses quota gates).");return e}Rr.displayName="QuotaUsageContextProvider";class Or extends Yt{constructor(e){super(e)}async requestAuth(e){const t=`${this.serverUrl}/api/${this.version}/auth/request`,r=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!r.ok){let e="Failed to initiate authentication";try{e=(await r.json()).message||e}catch{e=`Failed to initiate authentication (${r.status}: ${r.statusText})`}throw new Error(e)}return r.json()}async getProfile(e,t){return this.fetchJson("profile",{headers:{"x-session-id":e},signal:t},"Failed to fetch user profile")}}const Mr=new class{constructor(){this.listeners=new Set,this.currentState={open:!1,section:"profile"}}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}getState(){return{...this.currentState}}openWorkspaceSettings(e){this.currentState={open:!0,section:e||"profile"},this.notifyListeners()}closeSettings(){this.currentState={...this.currentState,open:!1},this.notifyListeners()}setSection(e){this.currentState={...this.currentState,section:e},this.notifyListeners()}notifyListeners(){this.listeners.forEach(e=>{e(this.currentState.open,this.currentState.section)})}};function Dr(e,t,r){const n=e._id||e.id;if(!n||"string"!=typeof n)throw new Error("User data missing required ID field");if(!e.email||"string"!=typeof e.email)throw new Error("User data missing required email field");return{id:n,name:e.name||"",org:t,email:e.email,emailVerified:!0,clientId:r,role:e.role||"",image:e.image}}function Ur(e,t){return{user:e,sessionId:t,expires:new Date(Date.now()+864e5).toISOString()}}function zr(){return _r(e=>e.auth)}function Fr(){const e=Tr(),r=zr(),n=Qt(),{serverUrl:a,orgId:s,auth:o}=n,{resetCurrentWorkspace:i,currentWorkspace:l}=ur(),c=t.useMemo(()=>new Or({serverUrl:a,version:n.version}),[a,n.version]),d=t.useCallback(async()=>{e.auth(Me());try{const t=await c.requestAuth({orgId:s,clientId:o?.clientId??"",redirect:{success:o?.redirectUrl||window.location.href,error:o?.redirectUrl||window.location.href}});if(!t.success)throw e.auth(Ue()),new Error(t.message||"Authentication failed");window.location.href=t.data.redirectUrl}catch(t){throw e.auth(Ue()),Re(t,{component:"useSaaSAuth",action:"signIn"}),t}},[c,s,o,e]),u=t.useCallback(async()=>{try{o?.callbacks?.onSignOut&&"function"==typeof o.callbacks.onSignOut&&await o.callbacks.onSignOut()}catch(e){Re(e,{component:"useSaaSAuth",action:"signOut"})}finally{Bt(Gt),e.auth(Fe()),i()}},[e,i,o?.callbacks?.onSignOut]),f=t.useCallback(e=>{l?Mr.openWorkspaceSettings(e):Re(new Error("Cannot open settings: No current workspace"),{component:"useSaaSAuth",action:"openWorkspaceSettings"})},[l]),m=t.useMemo(()=>Ve(r.status),[r.status]);return t.useMemo(()=>({user:r.session?.user,session:r.session,status:r.status,...m,signIn:d,signOut:u,openWorkspaceSettings:f}),[r.session,r.status,m,d,u,f])}class Lr extends Yt{constructor(e){super({...e,requireOrgId:!0})}async getVapidPublicKey(){return this.fetchJson("push/vapid-public-key")}async subscribe(e,t){await this.fetchJson("push/subscribe",{method:"POST",body:JSON.stringify({endpoint:e.endpoint,keys:e.keys,userAgent:t})})}async unsubscribe(e){await this.fetchJson("push/unsubscribe",{method:"DELETE",body:JSON.stringify({endpoint:e})})}}const $r=t.createContext(null);function Wr(e){const t=(e+"=".repeat((4-e.length%4)%4)).replace(/-/g,"+").replace(/_/g,"/"),r=atob(t),n=new Uint8Array(r.length);for(let e=0;e<r.length;e++)n[e]=r.charCodeAt(e);return n}const Vr=t.memo(function({children:r,serviceWorkerPath:n="/push-sw.js",autoSubscribe:a=!1}){const s=Qt(),{isAuthenticated:o}=Fr(),i="undefined"!=typeof window&&"serviceWorker"in navigator&&"PushManager"in window&&"Notification"in window,l=t.useMemo(()=>new Lr({serverUrl:s.serverUrl,version:s.version,orgId:s.orgId}),[s.serverUrl,s.version,s.orgId]),[c,d]=t.useState({permission:i?Notification.permission:"default",isSubscribed:!1,isSupported:i,loading:!1,error:null});t.useEffect(()=>{o&&i&&async function(){try{const e=await navigator.serviceWorker.getRegistration(n);if(!e)return void d(e=>({...e,isSubscribed:!1}));const t=await e.pushManager.getSubscription();d(e=>({...e,isSubscribed:!!t,permission:Notification.permission}))}catch{d(e=>({...e,isSubscribed:!1}))}}()},[o,i]);const u=t.useCallback(async()=>{if(!i)return!1;const e=await Notification.requestPermission();return d(t=>({...t,permission:e})),"granted"===e},[i]),f=t.useCallback(async()=>{if(i&&o){d(e=>({...e,loading:!0,error:null}));try{if(!await u())return void d(e=>({...e,loading:!1,error:"Notification permission denied"}));const{publicKey:e}=await l.getVapidPublicKey(),t=await navigator.serviceWorker.register(n);await navigator.serviceWorker.ready;const r=(await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:Wr(e)})).toJSON();await l.subscribe({endpoint:r.endpoint,keys:{p256dh:r.keys.p256dh,auth:r.keys.auth}},navigator.userAgent),d(e=>({...e,isSubscribed:!0,loading:!1}))}catch(e){const t=e instanceof Error?e.message:"Failed to subscribe to push notifications";d(e=>({...e,loading:!1,error:t})),Re(e,{component:"PushNotificationProvider",action:"subscribe"})}}},[i,o,l,n,u]),m=t.useCallback(async()=>{if(i){d(e=>({...e,loading:!0,error:null}));try{const e=await navigator.serviceWorker.getRegistration(n);if(e){const t=await e.pushManager.getSubscription();if(t){const e=t.endpoint;await t.unsubscribe(),await l.unsubscribe(e)}}d(e=>({...e,isSubscribed:!1,loading:!1}))}catch(e){const t=e instanceof Error?e.message:"Failed to unsubscribe";d(e=>({...e,loading:!1,error:t})),Re(e,{component:"PushNotificationProvider",action:"unsubscribe"})}}},[i,l,n]),p=t.useMemo(()=>({...c,requestPermission:u,subscribe:f,unsubscribe:m}),[c,u,f,m]);return e.jsx($r.Provider,{value:p,children:r})});function Br(){const e=t.useContext($r);if(!e)throw new Error("usePushNotifications must be used within PushNotificationProvider");return e}let Gr=!1,Kr=null;const Hr=t.memo(({children:r,callbacks:n})=>{const a=Tr(),s=zr(),o=Qt(),i=Ve(s.status).isAuthenticated,l=t.useRef(!1),c=t.useRef(null);t.useEffect(()=>{i||(Gr=!1,Kr=null)},[]);const d=t.useMemo(()=>n,[n]),u=t.useCallback(async e=>{try{if(d?.handleAuthentication){const{sessionId:t}=await d.handleAuthentication(e);if(!t||"string"!=typeof t||""===t.trim())throw new Error("Invalid sessionId received from authentication callback");const r=o;if(!rt(r))throw new Error("OS configuration is not available");const{serverUrl:n,version:s,orgId:i}=r,l=new Or({serverUrl:n,version:s}),c=await l.getProfile(t),u=Ur(Dr(c,i,r.auth?.clientId||""),t);Ht(u.sessionId),a.auth(ze(u)),function(){if("undefined"!=typeof window)try{const e=new URL(window.location.href);e.searchParams.delete(Kt),window.history.replaceState({},"",e.toString())}catch(e){Re(e,{component:"auth-utils",action:"removeTokenFromUrl",metadata:{param:Kt}})}}()}}catch(t){throw Re(t,{component:"AuthProviderWrapper",action:"handleAuthRedirect",metadata:{hasCode:!!e}}),a.auth(Ue()),t}},[a,d,o]);return t.useEffect(()=>{if("undefined"==typeof window)return;if(i)return;if(Gr)return;if(Kr)return;if(!rt(o))return;if(qt())return;if(!d?.getSession)return Gr=!0,void a.auth(Ue());const e=d.getSession,{serverUrl:t,version:r,orgId:n}=o,s=o.auth?.clientId||"";Kr=(async()=>{let o=null;try{o=await e()}catch(e){Re(e,{component:"AuthProviderWrapper",action:"getSession"})}if(!o)return Gr=!0,void a.auth(Ue());try{const e=new Or({serverUrl:t,version:r}),i=await e.getProfile(o),l=Ur(Dr(i,n,s),o);Ht(l.sessionId),Gr=!0,a.auth(ze(l))}catch(e){Re(e,{component:"AuthProviderWrapper",action:"fetchUserProfile"}),Gr=!0,a.auth(Ue())}finally{Kr=null}})()},[i,a,o,d]),t.useEffect(()=>{const e=qt();if(!e)return;if(l.current||c.current===e)return;if(!rt(o))return;l.current=!0,c.current=e;let t=!1;return a.auth(De()),u(e).then(()=>{t||(c.current=null)}).catch(e=>{t||(Re(e,{component:"AuthProviderWrapper",action:"handleAuthRedirectEffect",metadata:{hasCode:!0}}),c.current=null)}).finally(()=>{l.current=!1}),()=>{t=!0}},[u,o.serverUrl,o.version,o.orgId]),e.jsx(e.Fragment,{children:r})});Hr.displayName="AuthProviderWrapper";const Zr=t.memo(({config:r,auth:n,children:a})=>{const s=Tr(),o=Qt(),i=t.useMemo(()=>({clientId:n?.clientId||"",redirectUrl:n?.redirectUrl||"",callbacks:n?.callbacks}),[n?.clientId,n?.redirectUrl,n?.callbacks]);t.useEffect(()=>{s.os(Qe({...r,auth:i}))},[r,i,s]);const l=t.useMemo(()=>rt(o)?new Xt(o):null,[o.serverUrl,o.version,o.orgId]);return $t(async e=>{if(!l||o.settings)return;const t=await l.getSettings(e);s.os(et(t))},[l,o.settings,s],{onError:e=>Re(e,{component:"ContextConfigProvider",action:"fetchSettings",metadata:{serverUrl:o.serverUrl,version:o.version,orgId:o.orgId}})}),e.jsx(e.Fragment,{children:a})});Zr.displayName="ContextConfigProvider";const qr=t.createContext({container:null,setContainer:()=>{}}),Jr=t.memo(({children:r})=>{const[n,a]=t.useState(null),s=t.useMemo(()=>({container:n,setContainer:a}),[n]),o=t.useMemo(()=>r,[r]);return e.jsxs(qr.Provider,{value:s,children:[o,e.jsx("div",{ref:a,id:"saas-os-portal",className:"saas-os-ui",style:{width:"100%",height:"100%"}})]})});Jr.displayName="PortalProvider";class Yr extends Yt{constructor(e){super(e)}async getAttributes(e){const t=await this.fetchResponse("users/attributes",{signal:e});if(!t.ok)throw new Error(await Ee(t,"Failed to fetch user attributes"));const r=await t.json();return r&&"object"==typeof r&&!Array.isArray(r)?r:{}}async updateAttributes(e){return this.fetchJson("users/attributes",{method:"PATCH",body:JSON.stringify({attributes:e})},"Failed to update user attributes")}async updateAttribute(e,t){return this.fetchJson(`users/attributes/${e}`,{method:"PATCH",body:JSON.stringify({value:t})},"Failed to update user attribute")}async getFeatures(e){const t=await this.fetchResponse("users/features",{signal:e});if(!t.ok)throw new Error(await Ee(t,"Failed to fetch user features"));const r=await t.json();return"object"==typeof r&&null!==r?r:{}}}const Xr=t.createContext(void 0),Qr=t.memo(({children:r})=>{const n=Qt(),a=function(){const e=Qt();return t.useMemo(()=>new Yr(e),[e.serverUrl,e.version])}(),{isAuthenticated:s}=Fr(),{serverUrl:o,version:i}=n,[l,c]=t.useState({}),[d,u]=t.useState({}),[f,m]=t.useState(!1),[p,h]=t.useState(null),g=t.useCallback(async e=>{if(o&&i&&s)try{const t=await a.getAttributes(e);c(t)}catch(e){if(Ce(e))return;const t=e instanceof Error?e:new Error("Failed to fetch user attributes");h(t),Re(e,{component:"UserProvider",action:"fetchAttributes"})}else c({})},[a,o,i,s]),b=t.useCallback(async()=>{if(o&&i&&s){m(!0),h(null);try{await g()}finally{m(!1)}}},[o,i,s,g]),x=t.useCallback(async e=>{m(!0),h(null);try{const t=await a.updateAttributes(e);return await g(),t}catch(t){const r=t instanceof Error?t:new Error("Failed to update user attributes");throw h(r),Re(t,{component:"UserProvider",action:"updateAttributes",metadata:{updates:e}}),t}finally{m(!1)}},[a,g]),y=t.useCallback(async(e,t)=>{m(!0),h(null);try{const r=await a.updateAttribute(e,t);return await g(),r}catch(r){const n=r instanceof Error?r:new Error("Failed to update user attribute");throw h(n),Re(r,{component:"UserProvider",action:"updateAttribute",metadata:{attributeKey:e,value:t}}),r}finally{m(!1)}},[a,g]),v=t.useCallback(async e=>{if(o&&i&&s)try{const t=await a.getFeatures(e);u(t)}catch(e){if(Ce(e))return;const t=e instanceof Error?e:new Error("Failed to fetch user features");h(t),Re(e,{component:"UserProvider",action:"fetchFeatures"})}else u({})},[a,o,i,s]),w=t.useCallback(async()=>{if(o&&i&&s){m(!0),h(null);try{await v()}finally{m(!1)}}},[o,i,s,v]);$t(async e=>{if(!s||!o||!i)return c({}),void u({});m(!0),h(null);try{await Promise.all([g(e),v(e)])}finally{m(!1)}},[s,o,i,g,v],{onError:e=>Re(e,{component:"UserProvider",action:"initialFetch",metadata:{step:"fetchAttributesAndFeatures"}})});const S=t.useMemo(()=>({attributes:l,features:d,isLoading:f,error:p,updateAttributes:x,updateAttribute:y,refreshAttributes:b,refreshFeatures:w}),[l,d,f,p,x,y,b,w]);return e.jsx(Xr.Provider,{value:S,children:r})});Qr.displayName="UserProvider";const en=t.lazy(()=>Promise.resolve().then(function(){return NS}).then(e=>({default:e.default}))),tn=({children:r})=>{const{currentWorkspace:n}=ur(),[a,s]=t.useState(!1),[o,i]=t.useState("profile");return t.useEffect(()=>{const e=Mr.getState();s(e.open),i(e.section);return Mr.subscribe((e,t)=>{s(e),i(t)})},[]),e.jsxs(e.Fragment,{children:[r,n&&a&&e.jsx(t.Suspense,{fallback:null,children:e.jsx(en,{workspace:n,open:a,onOpenChange:e=>{e||Mr.closeSettings()},section:o,onSectionChange:e=>{Mr.setSection(e)},showTrigger:!1})})]})},rn=(e,t,r)=>{if(t!==tt.V1)throw new Error(`Invalid version: "${t}". Only "${tt.V1}" is currently supported.`);if(!e||"string"!=typeof e)throw new Error("serverUrl is required and must be a string");if(!(e=>{try{return new URL(e),!0}catch{return!1}})(e))throw new Error(`Invalid serverUrl: "${e}". Must be a valid URL.`);if(!r||"string"!=typeof r)throw new Error("orgId is required and must be a string");if(!/^[0-9a-fA-F]{24}$/.test(r))throw new Error(`Invalid orgId: "${r}". Must be a valid MongoDB ObjectId (24 hexadecimal characters).`)},nn=t.memo(({serverUrl:r,version:n,orgId:a,auth:s,children:o})=>{rn(r,n,a);const i=t.useMemo(()=>({serverUrl:r,version:n,orgId:a}),[r,n,a]),l=t.useMemo(()=>s?.callbacks,[s?.callbacks?.handleAuthentication,s?.callbacks?.onSignOut,s?.callbacks?.handleEvent,s?.callbacks?.onWorkspaceChange]),c=s?.callbacks?.handleEvent;return t.useEffect(()=>(Lt.setCallbacks(c?{handleEvent:c}:null),()=>{Lt.setCallbacks(null)}),[c]),e.jsx(At,{children:e.jsx(Hr,{callbacks:l,children:e.jsx(Jr,{children:e.jsx(Zr,{config:i,auth:s,children:e.jsx(Qr,{children:e.jsx(Er,{children:e.jsx(Rr,{children:e.jsx(Vr,{children:e.jsx(tn,{children:o})})})})})})})})})});nn.displayName="SaaSOSProviderInner";const an=({children:t,...r})=>e.jsx(Oe,{children:e.jsx(nn,{...r,children:t})});an.displayName="SaaSOSProvider";const sn=e=>{const{children:t}=e,{status:r}=Fr();return r!==We.authenticated?null:t},on=e=>{const{children:t}=e,{status:r}=Fr();return r!==We.unauthenticated?null:t};sn.displayName="WhenAuthenticated",on.displayName="WhenUnauthenticated";const ln=e=>{const{children:t,fallback:r,roles:n}=e,{user:a}=Fr();return n.includes(a?.role??"")?t:r||null},cn=e=>{const{children:t,fallback:r,roles:n}=e,{user:a}=Fr(),{currentWorkspace:s}=ur(),o=s?.users.find(e=>e._id===a?.id);return o&&n.includes(o?.role??"")?t:r||null};function dn(){const e=t.useContext(Xr);if(void 0===e)throw new Error("useUserFeatures must be used within a UserProvider");return{features:e.features,isLoading:e.isLoading,error:e.error,refreshFeatures:e.refreshFeatures,isFeatureEnabled:t=>Boolean(e.features[t])}}ln.displayName="WhenRoles",cn.displayName="WhenWorkspaceRoles";const un=e=>{const{children:t,slug:r}=e,{currentWorkspace:n}=ur(),a=n?.features?.[r];return a?t:null},fn=e=>{const{children:t,slug:r}=e,{currentWorkspace:n}=ur(),a=n?.features?.[r];return a?null:t},mn=e=>{const{children:t,slug:r}=e,{isFeatureEnabled:n}=dn();return n(r)?t:null},pn=e=>{const{children:t,slug:r}=e,{isFeatureEnabled:n}=dn();return n(r)?null:t};un.displayName="WhenWorkspaceFeatureEnabled",fn.displayName="WhenWorkspaceFeatureDisabled",mn.displayName="WhenUserFeatureEnabled",pn.displayName="WhenUserFeatureDisabled";const hn=e=>{const{children:t,loadingComponent:r,fallbackComponent:n}=e,{response:a,loading:s}=Ar();return s?r??null:a?.subscription?t:n??null},gn=e=>{const{children:t,loadingComponent:r,fallbackComponent:n}=e,{response:a,loading:s}=Ar();return s?r??null:a?.subscription?n??null:t},bn=e=>{const{children:t,plans:r,loadingComponent:n,fallbackComponent:a}=e,{response:s,loading:o}=Ar();if(o)return n??null;if(!s?.subscription)return a??null;const i=s.plan??s.subscription?.plan;if(!i)return a??null;const l=r.map(e=>e.trim().toLowerCase()),c=(i.slug??"").toLowerCase();return l.includes(c)?t:a??null},xn=e=>{const{children:t,loadingComponent:r,fallbackComponent:n}=e,{response:a,loading:s}=Ar();return s?r??null:"trialing"!==a?.subscription?.subscriptionStatus?n??null:t},yn=e=>{const{children:t,loadingComponent:r,fallbackComponent:n}=e,{response:a,loading:s}=Ar();return s?r??null:"trialing"===a?.subscription?.subscriptionStatus?n??null:t},vn=e=>{const{children:t,loadingComponent:r,fallbackComponent:n,daysThreshold:a=3}=e,{response:s,loading:o}=Ar();if(o)return r??null;const i=s?.subscription;if(!i||"trialing"!==i.subscriptionStatus)return n??null;const l=i.trialEnd||i.stripeCurrentPeriodEnd;if(!l)return n??null;const c=new Date(l);if(isNaN(c.getTime()))return n??null;return Math.max(0,Math.ceil((c.getTime()-Date.now())/864e5))>a?n??null:t};hn.displayName="WhenSubscription",gn.displayName="WhenNoSubscription",bn.displayName="WhenSubscriptionToPlans",xn.displayName="WhenTrialing",yn.displayName="WhenNotTrialing",vn.displayName="WhenTrialEnding";const wn=e=>{const{slug:t,children:r,loadingComponent:n,fallbackComponent:a}=e,{quotas:s,loading:o}=Ir();if(o)return n??null;const i=s?.[t];return i?i.available<=0?a??null:r:a??null},Sn=e=>{const{slug:t,children:r,loadingComponent:n,fallbackComponent:a}=e,{quotas:s,loading:o}=Ir();if(o)return n??null;const i=s?.[t];return i?i.available>0?a??null:r:a??null},kn=e=>{const{slug:t,children:r,loadingComponent:n,fallbackComponent:a}=e,{quotas:s,loading:o}=Ir();if(o)return n??null;const i=s?.[t];return i&&i.hasOverage?r:a??null},jn=e=>{const{slug:t,threshold:r,children:n,loadingComponent:a,fallbackComponent:s}=e,{quotas:o,loading:i}=Ir();if(i)return a??null;const l=o?.[t];if(!l)return s??null;return(l.included>0?l.consumed/l.included*100:l.consumed>0?100:0)<r?s??null:n};function Nn(e){if(!e)return null;const t=new Date(e);return isNaN(t.getTime())?null:t}function Cn(e,r){const{response:n}=Ar();return t.useMemo(()=>{if(!e)return{hasSeatPricing:!1,memberCount:0,includedSeats:0,maxUsers:0,maxSeats:0,limitSource:"none",billableSeats:0,availableSeats:1/0,isAtMax:!1,isNearMax:!1,perSeatPriceCents:null,currency:"",canInvite:!0,inviteBlockReason:null,inviteBlockMessage:null};const t=e.users?.length??0,a=n?.planVersion,s=n?.subscription,o=e.billingCurrency||"usd",i=Dt({planVersion:a,currency:o,settingsMaxUsers:r?.settingsMaxUsers}),{maxUsers:l,hasSeatPricing:c,includedSeats:d}=i,u=c?Math.max(0,t-d):0,f=l>0?Math.max(0,l-t):1/0,m=l>0&&t>=l,p=l>0&&t>=.8*l&&!m,h=c&&a?Mt(a,o,s?.billingInterval??"monthly"):null,g=Ut({memberCount:t,maxUsersConfig:i});return{hasSeatPricing:c,memberCount:t,includedSeats:d,maxUsers:l,maxSeats:l,limitSource:i.source,billableSeats:u,availableSeats:f,isAtMax:m,isNearMax:p,perSeatPriceCents:h,currency:o,canInvite:g.canInvite,inviteBlockReason:g.blockReason,inviteBlockMessage:g.blockMessage}},[n,e,r?.settingsMaxUsers])}wn.displayName="WhenQuotaAvailable",Sn.displayName="WhenQuotaExhausted",kn.displayName="WhenQuotaOverage",jn.displayName="WhenQuotaThreshold";var En=e=>"checkbox"===e.type,An=e=>e instanceof Date,_n=e=>null==e;const Tn=e=>"object"==typeof e;var Pn=e=>!_n(e)&&!Array.isArray(e)&&Tn(e)&&!An(e),Rn=e=>Pn(e)&&e.target?En(e.target)?e.target.checked:e.target.value:e,In=(e,t)=>e.has((e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e)(t)),On="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function Mn(e){if(e instanceof Date)return new Date(e);const t="undefined"!=typeof FileList&&e instanceof FileList;if(On&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!(r||Pn(e)&&(e=>{const t=e.constructor&&e.constructor.prototype;return Pn(t)&&t.hasOwnProperty("isPrototypeOf")})(e)))return e;const n=r?[]:Object.create(Object.getPrototypeOf(e));for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=Mn(e[t]));return n}var Dn=e=>/^\w*$/.test(e),Un=e=>void 0===e,zn=e=>Array.isArray(e)?e.filter(Boolean):[],Fn=e=>zn(e.replace(/["|']|\]/g,"").split(/\.|\[/)),Ln=(e,t,r)=>{if(!t||!Pn(e))return r;const n=(Dn(t)?[t]:Fn(t)).reduce((e,t)=>_n(e)?e:e[t],e);return Un(n)||n===e?Un(e[t])?r:e[t]:n},$n=e=>"boolean"==typeof e,Wn=e=>"function"==typeof e,Vn=(e,t,r)=>{let n=-1;const a=Dn(t)?[t]:Fn(t),s=a.length,o=s-1;for(;++n<s;){const t=a[n];let s=r;if(n!==o){const r=e[t];s=Pn(r)||Array.isArray(r)?r:isNaN(+a[n+1])?{}:[]}if("__proto__"===t||"constructor"===t||"prototype"===t)return;e[t]=s,e=e[t]}};const Bn="blur",Gn="focusout",Kn="change",Hn="onBlur",Zn="onChange",qn="onSubmit",Jn="onTouched",Yn="all",Xn="max",Qn="min",ea="maxLength",ta="minLength",ra="pattern",na="required",aa="validate",sa=t.createContext(null);sa.displayName="HookFormControlContext";const oa=()=>t.useContext(sa);var ia=(e,t,r,n=!0)=>{const a={defaultValues:t._defaultValues};for(const s in e)Object.defineProperty(a,s,{get:()=>{const a=s;return t._proxyFormState[a]!==Yn&&(t._proxyFormState[a]=!n||Yn),r&&(r[a]=!0),e[a]}});return a};const la="undefined"!=typeof window?t.useLayoutEffect:t.useEffect;var ca=e=>"string"==typeof e,da=(e,t,r,n,a)=>ca(e)?(n&&t.watch.add(e),Ln(r,e,a)):Array.isArray(e)?e.map(e=>(n&&t.watch.add(e),Ln(r,e))):(n&&(t.watchAll=!0),r),ua=e=>_n(e)||!Tn(e);function fa(e,t,r=new WeakSet){if(ua(e)||ua(t))return Object.is(e,t);if(An(e)&&An(t))return Object.is(e.getTime(),t.getTime());const n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;if(r.has(e)||r.has(t))return!0;r.add(e),r.add(t);for(const s of n){const n=e[s];if(!a.includes(s))return!1;if("ref"!==s){const e=t[s];if(An(n)&&An(e)||Pn(n)&&Pn(e)||Array.isArray(n)&&Array.isArray(e)?!fa(n,e,r):!Object.is(n,e))return!1}}return!0}function ma(e){const r=oa(),{name:n,disabled:a,control:s=r,shouldUnregister:o,defaultValue:i,exact:l=!0}=e,c=In(s._names.array,n),d=t.useMemo(()=>Ln(s._formValues,n,Ln(s._defaultValues,n,i)),[s,n,i]),u=function(e){const r=oa(),{control:n=r,name:a,defaultValue:s,disabled:o,exact:i,compute:l}=e||{},c=t.useRef(s),d=t.useRef(l),u=t.useRef(void 0),f=t.useRef(n),m=t.useRef(a);d.current=l;const[p,h]=t.useState(()=>{const e=n._getWatch(a,c.current);return d.current?d.current(e):e}),g=t.useCallback(e=>{const t=da(a,n._names,e||n._formValues,!1,c.current);return d.current?d.current(t):t},[n._formValues,n._names,a]),b=t.useCallback(e=>{if(!o){const t=da(a,n._names,e||n._formValues,!1,c.current);if(d.current){const e=d.current(t);fa(e,u.current)||(h(e),u.current=e)}else h(t)}},[n._formValues,n._names,o,a]);la(()=>(f.current===n&&fa(m.current,a)||(f.current=n,m.current=a,b()),n._subscribe({name:a,formState:{values:!0},exact:i,callback:e=>{b(e.values)}})),[n,i,a,b]),t.useEffect(()=>n._removeUnmounted());const x=f.current!==n,y=m.current,v=t.useMemo(()=>{if(o)return null;const e=!x&&!fa(y,a);return x||e?g():null},[o,x,a,y,g]);return null!==v?v:p}({control:s,name:n,defaultValue:d,exact:l}),f=function(e){const r=oa(),{control:n=r,disabled:a,name:s,exact:o}=e||{},[i,l]=t.useState(n._formState),c=t.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return la(()=>n._subscribe({name:s,formState:c.current,exact:o,callback:e=>{!a&&l({...n._formState,...e})}}),[s,a,o]),t.useEffect(()=>{c.current.isValid&&n._setValid(!0)},[n]),t.useMemo(()=>ia(i,n,c.current,!1),[i,n])}({control:s,name:n,exact:l}),m=t.useRef(e),p=t.useRef(void 0),h=t.useRef(s.register(n,{...e.rules,value:u,...$n(e.disabled)?{disabled:e.disabled}:{}}));m.current=e;const g=t.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!Ln(f.errors,n)},isDirty:{enumerable:!0,get:()=>!!Ln(f.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!Ln(f.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!Ln(f.validatingFields,n)},error:{enumerable:!0,get:()=>Ln(f.errors,n)}}),[f,n]),b=t.useCallback(e=>h.current.onChange({target:{value:Rn(e),name:n},type:Kn}),[n]),x=t.useCallback(()=>h.current.onBlur({target:{value:Ln(s._formValues,n),name:n},type:Bn}),[n,s._formValues]),y=t.useCallback(e=>{const t=Ln(s._fields,n);t&&t._f&&e&&(t._f.ref={focus:()=>Wn(e.focus)&&e.focus(),select:()=>Wn(e.select)&&e.select(),setCustomValidity:t=>Wn(e.setCustomValidity)&&e.setCustomValidity(t),reportValidity:()=>Wn(e.reportValidity)&&e.reportValidity()})},[s._fields,n]),v=t.useMemo(()=>({name:n,value:u,...$n(a)||f.disabled?{disabled:f.disabled||a}:{},onChange:b,onBlur:x,ref:y}),[n,a,f.disabled,b,x,y,u]);return t.useEffect(()=>{const e=s._options.shouldUnregister||o,t=p.current;t&&t!==n&&!c&&s.unregister(t),s.register(n,{...m.current.rules,...$n(m.current.disabled)?{disabled:m.current.disabled}:{}});const r=(e,t)=>{const r=Ln(s._fields,e);r&&r._f&&(r._f.mount=t)};if(r(n,!0),e){const e=Mn(Ln(s._options.defaultValues,n,m.current.defaultValue));Vn(s._defaultValues,n,e),Un(Ln(s._formValues,n))&&Vn(s._formValues,n,e)}return!c&&s.register(n),p.current=n,()=>{(c?e&&!s._state.action:e)?s.unregister(n):r(n,!1)}},[n,s,c,o]),t.useEffect(()=>{s._setDisabledField({disabled:a,name:n})},[a,n,s]),t.useMemo(()=>({field:v,formState:f,fieldState:g}),[v,f,g])}const pa=e=>e.render(ma(e)),ha=t.createContext(null);ha.displayName="HookFormContext";const ga=e=>{const{children:r,watch:n,getValues:a,getFieldState:s,setError:o,clearErrors:i,setValue:l,trigger:c,formState:d,resetField:u,reset:f,handleSubmit:m,unregister:p,control:h,register:g,setFocus:b,subscribe:x}=e;return t.createElement(ha.Provider,{value:t.useMemo(()=>({watch:n,getValues:a,getFieldState:s,setError:o,clearErrors:i,setValue:l,trigger:c,formState:d,resetField:u,reset:f,handleSubmit:m,unregister:p,control:h,register:g,setFocus:b,subscribe:x}),[i,h,d,s,a,m,g,f,u,o,b,l,x,c,p,n])},t.createElement(sa.Provider,{value:h},r))};var ba=(e,t,r,n,a)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:a||!0}}:{},xa=e=>Array.isArray(e)?e:[e],ya=()=>{let e=[];return{get observers(){return e},next:t=>{for(const r of e)r.next&&r.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}};function va(e,t){const r={};for(const n in e)if(e.hasOwnProperty(n)){const a=e[n],s=t[n];if(a&&Pn(a)&&s){const e=va(a,s);Pn(e)&&(r[n]=e)}else e[n]&&(r[n]=s)}return r}var wa=e=>Pn(e)&&!Object.keys(e).length,Sa=e=>"file"===e.type,ka=e=>{if(!On)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},ja=e=>"select-multiple"===e.type,Na=e=>"radio"===e.type,Ca=e=>ka(e)&&e.isConnected;function Ea(e,t){const r=Array.isArray(t)?t:Dn(t)?[t]:Fn(t),n=1===r.length?e:function(e,t){const r=t.slice(0,-1).length;let n=0;for(;n<r;)e=Un(e)?n++:e[t[n++]];return e}(e,r),a=r.length-1,s=r[a];return n&&delete n[s],0!==a&&(Pn(n)&&wa(n)||Array.isArray(n)&&function(e){for(const t in e)if(e.hasOwnProperty(t)&&!Un(e[t]))return!1;return!0}(n))&&Ea(e,r.slice(0,-1)),e}function Aa(e){return Array.isArray(e)||Pn(e)&&!(e=>{for(const t in e)if(Wn(e[t]))return!0;return!1})(e)}function _a(e,t={}){for(const r in e){const n=e[r];Aa(n)?(t[r]=Array.isArray(n)?[]:{},_a(n,t[r])):Un(n)||(t[r]=!0)}return t}function Ta(e,t,r){r||(r=_a(t));for(const n in e){const a=e[n];if(Aa(a))Un(t)||ua(r[n])?r[n]=_a(a,Array.isArray(a)?[]:{}):Ta(a,_n(t)?{}:t[n],r[n]);else{const e=t[n];r[n]=!fa(a,e)}}return r}const Pa={value:!1,isValid:!1},Ra={value:!0,isValid:!0};var Ia=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!Un(e[0].attributes.value)?Un(e[0].value)||""===e[0].value?Ra:{value:e[0].value,isValid:!0}:Ra:Pa}return Pa},Oa=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>Un(e)?e:t?""===e?NaN:e?+e:e:r&&ca(e)?new Date(e):n?n(e):e;const Ma={isValid:!1,value:null};var Da=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,Ma):Ma;function Ua(e){const t=e.ref;return Sa(t)?t.files:Na(t)?Da(e.refs).value:ja(t)?[...t.selectedOptions].map(({value:e})=>e):En(t)?Ia(e.refs).value:Oa(Un(t.value)?e.ref.value:t.value,e)}var za=e=>e instanceof RegExp,Fa=e=>Un(e)?e:za(e)?e.source:Pn(e)?za(e.value)?e.value.source:e.value:e,La=e=>({isOnSubmit:!e||e===qn,isOnBlur:e===Hn,isOnChange:e===Zn,isOnAll:e===Yn,isOnTouch:e===Jn});const $a="AsyncFunction";var Wa=e=>!!e&&!!e.validate&&!!(Wn(e.validate)&&e.validate.constructor.name===$a||Pn(e.validate)&&Object.values(e.validate).find(e=>e.constructor.name===$a)),Va=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length))));const Ba=(e,t,r,n)=>{for(const a of r||Object.keys(e)){const r=Ln(e,a);if(r){const{_f:e,...s}=r;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],a)&&!n)return!0;if(e.ref&&t(e.ref,e.name)&&!n)return!0;if(Ba(s,t))break}else if(Pn(s)&&Ba(s,t))break}}};function Ga(e,t,r){const n=Ln(e,r);if(n||Dn(r))return{error:n,name:r};const a=r.split(".");for(;a.length;){const n=a.join("."),s=Ln(t,n),o=Ln(e,n);if(s&&!Array.isArray(s)&&r!==n)return{name:r};if(o&&o.type)return{name:n,error:o};if(o&&o.root&&o.root.type)return{name:`${n}.root`,error:o.root};a.pop()}return{name:r}}var Ka=(e,t,r)=>{const n=xa(Ln(e,r));return Vn(n,"root",t[r]),Vn(e,r,n),e};function Ha(e,t,r="validate"){if(ca(e)||Array.isArray(e)&&e.every(ca)||$n(e)&&!e)return{type:r,message:ca(e)?e:"",ref:t}}var Za=e=>Pn(e)&&!za(e)?e:{value:e,message:""},qa=async(e,t,r,n,a,s)=>{const{ref:o,refs:i,required:l,maxLength:c,minLength:d,min:u,max:f,pattern:m,validate:p,name:h,valueAsNumber:g,mount:b}=e._f,x=Ln(r,h);if(!b||t.has(h))return{};const y=i?i[0]:o,v=e=>{a&&y.reportValidity&&(y.setCustomValidity($n(e)?"":e||""),y.reportValidity())},w={},S=Na(o),k=En(o),j=S||k,N=(g||Sa(o))&&Un(o.value)&&Un(x)||ka(o)&&""===o.value||""===x||Array.isArray(x)&&!x.length,C=ba.bind(null,h,n,w),E=(e,t,r,n=ea,a=ta)=>{const s=e?t:r;w[h]={type:e?n:a,message:s,ref:o,...C(e?n:a,s)}};if(s?!Array.isArray(x)||!x.length:l&&(!j&&(N||_n(x))||$n(x)&&!x||k&&!Ia(i).isValid||S&&!Da(i).isValid)){const{value:e,message:t}=ca(l)?{value:!!l,message:l}:Za(l);if(e&&(w[h]={type:na,message:t,ref:y,...C(na,t)},!n))return v(t),w}if(!(N||_n(u)&&_n(f))){let e,t;const r=Za(f),a=Za(u);if(_n(x)||isNaN(x)){const n=o.valueAsDate||new Date(x),s=e=>new Date((new Date).toDateString()+" "+e),i="time"==o.type,l="week"==o.type;ca(r.value)&&x&&(e=i?s(x)>s(r.value):l?x>r.value:n>new Date(r.value)),ca(a.value)&&x&&(t=i?s(x)<s(a.value):l?x<a.value:n<new Date(a.value))}else{const n=o.valueAsNumber||(x?+x:x);_n(r.value)||(e=n>r.value),_n(a.value)||(t=n<a.value)}if((e||t)&&(E(!!e,r.message,a.message,Xn,Qn),!n))return v(w[h].message),w}if((c||d)&&!N&&(ca(x)||s&&Array.isArray(x))){const e=Za(c),t=Za(d),r=!_n(e.value)&&x.length>+e.value,a=!_n(t.value)&&x.length<+t.value;if((r||a)&&(E(r,e.message,t.message),!n))return v(w[h].message),w}if(m&&!N&&ca(x)){const{value:e,message:t}=Za(m);if(za(e)&&!x.match(e)&&(w[h]={type:ra,message:t,ref:o,...C(ra,t)},!n))return v(t),w}if(p)if(Wn(p)){const e=Ha(await p(x,r),y);if(e&&(w[h]={...e,...C(aa,e.message)},!n))return v(e.message),w}else if(Pn(p)){let e={};for(const t in p){if(!wa(e)&&!n)break;const a=Ha(await p[t](x,r),y,t);a&&(e={...a,...C(t,a.message)},v(a.message),n&&(w[h]=e))}if(!wa(e)&&(w[h]={ref:y,...e},!n))return w}return v(!0),w};const Ja={mode:qn,reValidateMode:Zn,shouldFocusError:!0};function Ya(e={}){let t,r={...Ja,...e},n={submitCount:0,isDirty:!1,isReady:!1,isLoading:Wn(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},a={},s=(Pn(r.defaultValues)||Pn(r.values))&&Mn(r.defaultValues||r.values)||{},o=r.shouldUnregister?{}:Mn(s),i={action:!1,mount:!1,watch:!1,keepIsValid:!1},l={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},c=0;const d={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},u={...d};let f={...u};const m={array:ya(),state:ya()},p=r.criteriaMode===Yn,h=async e=>{if(!i.keepIsValid&&!r.disabled&&(u.isValid||f.isValid||e)){let e;r.resolver?(e=wa((await v()).errors),g()):e=await w(a,!0),e!==n.isValid&&m.state.next({isValid:e})}},g=(e,t)=>{!r.disabled&&(u.isValidating||u.validatingFields||f.isValidating||f.validatingFields)&&((e||Array.from(l.mount)).forEach(e=>{e&&(t?Vn(n.validatingFields,e,t):Ea(n.validatingFields,e))}),m.state.next({validatingFields:n.validatingFields,isValidating:!wa(n.validatingFields)}))},b=(e,t,r,n)=>{const l=Ln(a,e);if(l){const a=Ln(o,e,Un(r)?Ln(s,e):r);Un(a)||n&&n.defaultChecked||t?Vn(o,e,t?a:Ua(l._f)):j(e,a),i.mount&&!i.action&&h()}},x=(e,t,a,o,i)=>{let l=!1,c=!1;const d={name:e};if(!r.disabled){if(!a||o){(u.isDirty||f.isDirty)&&(c=n.isDirty,n.isDirty=d.isDirty=S(),l=c!==d.isDirty);const r=fa(Ln(s,e),t);c=!!Ln(n.dirtyFields,e),r?Ea(n.dirtyFields,e):Vn(n.dirtyFields,e,!0),d.dirtyFields=n.dirtyFields,l=l||(u.dirtyFields||f.dirtyFields)&&c!==!r}if(a){const t=Ln(n.touchedFields,e);t||(Vn(n.touchedFields,e,a),d.touchedFields=n.touchedFields,l=l||(u.touchedFields||f.touchedFields)&&t!==a)}l&&i&&m.state.next(d)}return l?d:{}},y=(e,a,s,o)=>{const i=Ln(n.errors,e),l=(u.isValid||f.isValid)&&$n(a)&&n.isValid!==a;var d;if(r.delayError&&s?(d=()=>((e,t)=>{Vn(n.errors,e,t),m.state.next({errors:n.errors})})(e,s),t=e=>{clearTimeout(c),c=setTimeout(d,e)},t(r.delayError)):(clearTimeout(c),t=null,s?Vn(n.errors,e,s):Ea(n.errors,e)),(s?!fa(i,s):i)||!wa(o)||l){const t={...o,...l&&$n(a)?{isValid:a}:{},errors:n.errors,name:e};n={...n,...t},m.state.next(t)}},v=async e=>{g(e,!0);const t=await r.resolver(o,r.context,((e,t,r,n)=>{const a={};for(const r of e){const e=Ln(t,r);e&&Vn(a,r,e._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:n}})(e||l.mount,a,r.criteriaMode,r.shouldUseNativeValidation));return t},w=async(t,a,s={valid:!0})=>{for(const i in t){const c=t[i];if(c){const{_f:t,...i}=c;if(t){const i=l.array.has(t.name),d=c._f&&Wa(c._f);d&&u.validatingFields&&g([t.name],!0);const f=await qa(c,l.disabled,o,p,r.shouldUseNativeValidation&&!a,i);if(d&&u.validatingFields&&g([t.name]),f[t.name]&&(s.valid=!1,a||e.shouldUseNativeValidation))break;!a&&(Ln(f,t.name)?i?Ka(n.errors,f,t.name):Vn(n.errors,t.name,f[t.name]):Ea(n.errors,t.name))}!wa(i)&&await w(i,a,s)}}return s.valid},S=(e,t)=>!r.disabled&&(e&&t&&Vn(o,e,t),!fa(T(),s)),k=(e,t,r)=>da(e,l,{...i.mount?o:Un(t)?s:ca(e)?{[e]:t}:t},r,t),j=(e,t,r={})=>{const n=Ln(a,e);let s=t;if(n){const r=n._f;r&&(!r.disabled&&Vn(o,e,Oa(t,r)),s=ka(r.ref)&&_n(t)?"":t,ja(r.ref)?[...r.ref.options].forEach(e=>e.selected=s.includes(e.value)):r.refs?En(r.ref)?r.refs.forEach(e=>{e.defaultChecked&&e.disabled||(Array.isArray(s)?e.checked=!!s.find(t=>t===e.value):e.checked=s===e.value||!!s)}):r.refs.forEach(e=>e.checked=e.value===s):Sa(r.ref)?r.ref.value="":(r.ref.value=s,r.ref.type||m.state.next({name:e,values:Mn(o)})))}(r.shouldDirty||r.shouldTouch)&&x(e,s,r.shouldTouch,r.shouldDirty,!0),r.shouldValidate&&_(e)},N=(e,t,r)=>{for(const n in t){if(!t.hasOwnProperty(n))return;const s=t[n],o=e+"."+n,i=Ln(a,o);(l.array.has(e)||Pn(s)||i&&!i._f)&&!An(s)?N(o,s,r):j(o,s,r)}},C=(e,t,r={})=>{const c=Ln(a,e),d=l.array.has(e),p=Mn(t);Vn(o,e,p),d?(m.array.next({name:e,values:Mn(o)}),(u.isDirty||u.dirtyFields||f.isDirty||f.dirtyFields)&&r.shouldDirty&&m.state.next({name:e,dirtyFields:Ta(s,o),isDirty:S(e,p)})):!c||c._f||_n(p)?j(e,p,r):N(e,p,r),Va(e,l)?m.state.next({...n,name:e,values:Mn(o)}):m.state.next({name:i.mount?e:void 0,values:Mn(o)})},E=async e=>{i.mount=!0;const s=e.target;let c=s.name,d=!0;const b=Ln(a,c),S=e=>{d=Number.isNaN(e)||An(e)&&isNaN(e.getTime())||fa(e,Ln(o,c,e))},k=La(r.mode),j=La(r.reValidateMode);if(b){let i,N;const C=s.type?Ua(b._f):Rn(e),E=e.type===Bn||e.type===Gn,A=!(e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate))(b._f)&&!r.resolver&&!Ln(n.errors,c)&&!b._f.deps||((e,t,r,n,a)=>!a.isOnAll&&(!r&&a.isOnTouch?!(t||e):(r?n.isOnBlur:a.isOnBlur)?!e:!(r?n.isOnChange:a.isOnChange)||e))(E,Ln(n.touchedFields,c),n.isSubmitted,j,k),T=Va(c,l,E);Vn(o,c,C),E?s&&s.readOnly||(b._f.onBlur&&b._f.onBlur(e),t&&t(0)):b._f.onChange&&b._f.onChange(e);const P=x(c,C,E),R=!wa(P)||T;if(!E&&m.state.next({name:c,type:e.type,values:Mn(o)}),A)return(u.isValid||f.isValid)&&("onBlur"===r.mode?E&&h():E||h()),R&&m.state.next({name:c,...T?{}:P});if(!E&&T&&m.state.next({...n}),r.resolver){const{errors:e}=await v([c]);if(g([c]),S(C),d){const t=Ga(n.errors,a,c),r=Ga(e,a,t.name||c);i=r.error,c=r.name,N=wa(e)}}else g([c],!0),i=(await qa(b,l.disabled,o,p,r.shouldUseNativeValidation))[c],g([c]),S(C),d&&(i?N=!1:(u.isValid||f.isValid)&&(N=await w(a,!0)));d&&(b._f.deps&&(!Array.isArray(b._f.deps)||b._f.deps.length>0)&&_(b._f.deps),y(c,N,i,P))}},A=(e,t)=>{if(Ln(n.errors,t)&&e.focus)return e.focus(),1},_=async(e,t={})=>{let s,o;const i=xa(e);if(r.resolver){const t=await(async e=>{const{errors:t}=await v(e);if(g(e),e)for(const r of e){const e=Ln(t,r);e?Vn(n.errors,r,e):Ea(n.errors,r)}else n.errors=t;return t})(Un(e)?e:i);s=wa(t),o=e?!i.some(e=>Ln(t,e)):s}else e?(o=(await Promise.all(i.map(async e=>{const t=Ln(a,e);return await w(t&&t._f?{[e]:t}:t)}))).every(Boolean),(o||n.isValid)&&h()):o=s=await w(a);return m.state.next({...!ca(e)||(u.isValid||f.isValid)&&s!==n.isValid?{}:{name:e},...r.resolver||!e?{isValid:s}:{},errors:n.errors}),t.shouldFocus&&!o&&Ba(a,A,e?i:l.mount),o},T=(e,t)=>{let r={...i.mount?o:s};return t&&(r=va(t.dirtyFields?n.dirtyFields:n.touchedFields,r)),Un(e)?r:ca(e)?Ln(r,e):e.map(e=>Ln(r,e))},P=(e,t)=>({invalid:!!Ln((t||n).errors,e),isDirty:!!Ln((t||n).dirtyFields,e),error:Ln((t||n).errors,e),isValidating:!!Ln(n.validatingFields,e),isTouched:!!Ln((t||n).touchedFields,e)}),R=(e,t,r)=>{const s=(Ln(a,e,{_f:{}})._f||{}).ref,o=Ln(n.errors,e)||{},{ref:i,message:l,type:c,...d}=o;Vn(n.errors,e,{...d,...t,ref:s}),m.state.next({name:e,errors:n.errors,isValid:!1}),r&&r.shouldFocus&&s&&s.focus&&s.focus()},I=e=>m.state.subscribe({next:t=>{var r,a,i;r=e.name,a=t.name,i=e.exact,r&&a&&r!==a&&!xa(r).some(e=>e&&(i?e===a:e.startsWith(a)||a.startsWith(e)))||!((e,t,r,n)=>{r(e);const{name:a,...s}=e;return wa(s)||Object.keys(s).length>=Object.keys(t).length||Object.keys(s).find(e=>t[e]===(!n||Yn))})(t,e.formState||u,$,e.reRenderRoot)||e.callback({values:{...o},...n,...t,defaultValues:s})}}).unsubscribe,O=(e,t={})=>{for(const i of e?xa(e):l.mount)l.mount.delete(i),l.array.delete(i),t.keepValue||(Ea(a,i),Ea(o,i)),!t.keepError&&Ea(n.errors,i),!t.keepDirty&&Ea(n.dirtyFields,i),!t.keepTouched&&Ea(n.touchedFields,i),!t.keepIsValidating&&Ea(n.validatingFields,i),!r.shouldUnregister&&!t.keepDefaultValue&&Ea(s,i);m.state.next({values:Mn(o)}),m.state.next({...n,...t.keepDirty?{isDirty:S()}:{}}),!t.keepIsValid&&h()},M=({disabled:e,name:t})=>{if($n(e)&&i.mount||e||l.disabled.has(t)){const r=l.disabled.has(t)!==!!e;e?l.disabled.add(t):l.disabled.delete(t),r&&i.mount&&!i.action&&h()}},D=(e,t={})=>{let n=Ln(a,e);const o=$n(t.disabled)||$n(r.disabled);return Vn(a,e,{...n||{},_f:{...n&&n._f?n._f:{ref:{name:e}},name:e,mount:!0,...t}}),l.mount.add(e),n?M({disabled:$n(t.disabled)?t.disabled:r.disabled,name:e}):b(e,!0,t.value),{...o?{disabled:t.disabled||r.disabled}:{},...r.progressive?{required:!!t.required,min:Fa(t.min),max:Fa(t.max),minLength:Fa(t.minLength),maxLength:Fa(t.maxLength),pattern:Fa(t.pattern)}:{},name:e,onChange:E,onBlur:E,ref:o=>{if(o){D(e,t),n=Ln(a,e);const r=Un(o.value)&&o.querySelectorAll&&o.querySelectorAll("input,select,textarea")[0]||o,i=(e=>Na(e)||En(e))(r),l=n._f.refs||[];if(i?l.find(e=>e===r):r===n._f.ref)return;Vn(a,e,{_f:{...n._f,...i?{refs:[...l.filter(Ca),r,...Array.isArray(Ln(s,e))?[{}]:[]],ref:{type:r.type,name:e}}:{ref:r}}}),b(e,!1,void 0,r)}else n=Ln(a,e,{}),n._f&&(n._f.mount=!1),(r.shouldUnregister||t.shouldUnregister)&&(!In(l.array,e)||!i.action)&&l.unMount.add(e)}}},U=()=>r.shouldFocusError&&Ba(a,A,l.mount),z=(e,t)=>async s=>{let i;s&&(s.preventDefault&&s.preventDefault(),s.persist&&s.persist());let c=Mn(o);if(m.state.next({isSubmitting:!0}),r.resolver){const{errors:e,values:t}=await v();g(),n.errors=e,c=Mn(t)}else await w(a);if(l.disabled.size)for(const e of l.disabled)Ea(c,e);if(Ea(n.errors,"root"),wa(n.errors)){m.state.next({errors:{}});try{await e(c,s)}catch(e){i=e}}else t&&await t({...n.errors},s),U(),setTimeout(U);if(m.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:wa(n.errors)&&!i,submitCount:n.submitCount+1,errors:n.errors}),i)throw i},F=(e,t={})=>{const c=e?Mn(e):s,d=Mn(c),f=wa(e),p=f?s:d;if(t.keepDefaultValues||(s=c),!t.keepValues){if(t.keepDirtyValues){const e=new Set([...l.mount,...Object.keys(Ta(s,o))]);for(const t of Array.from(e)){const e=Ln(n.dirtyFields,t),r=Ln(o,t),a=Ln(p,t);e&&!Un(r)?Vn(p,t,r):e||Un(a)||C(t,a)}}else{if(On&&Un(e))for(const e of l.mount){const t=Ln(a,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(ka(e)){const t=e.closest("form");if(t){t.reset();break}}}}if(t.keepFieldsRef)for(const e of l.mount)C(e,Ln(p,e));else a={}}o=r.shouldUnregister?t.keepDefaultValues?Mn(s):{}:Mn(p),m.array.next({values:{...p}}),m.state.next({values:{...p}})}l={mount:t.keepDirtyValues?l.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},i.mount=!u.isValid||!!t.keepIsValid||!!t.keepDirtyValues||!r.shouldUnregister&&!wa(p),i.watch=!!r.shouldUnregister,i.keepIsValid=!!t.keepIsValid,i.action=!1,t.keepErrors||(n.errors={}),m.state.next({submitCount:t.keepSubmitCount?n.submitCount:0,isDirty:!f&&(t.keepDirty?n.isDirty:!(!t.keepDefaultValues||fa(e,s))),isSubmitted:!!t.keepIsSubmitted&&n.isSubmitted,dirtyFields:f?{}:t.keepDirtyValues?t.keepDefaultValues&&o?Ta(s,o):n.dirtyFields:t.keepDefaultValues&&e?Ta(s,e):t.keepDirty?n.dirtyFields:{},touchedFields:t.keepTouched?n.touchedFields:{},errors:t.keepErrors?n.errors:{},isSubmitSuccessful:!!t.keepIsSubmitSuccessful&&n.isSubmitSuccessful,isSubmitting:!1,defaultValues:s})},L=(e,t)=>F(Wn(e)?e(o):e,{...r.resetOptions,...t}),$=e=>{n={...n,...e}},W={control:{register:D,unregister:O,getFieldState:P,handleSubmit:z,setError:R,_subscribe:I,_runSchema:v,_updateIsValidating:g,_focusError:U,_getWatch:k,_getDirty:S,_setValid:h,_setFieldArray:(e,t=[],l,c,d=!0,p=!0)=>{if(c&&l&&!r.disabled){if(i.action=!0,p&&Array.isArray(Ln(a,e))){const t=l(Ln(a,e),c.argA,c.argB);d&&Vn(a,e,t)}if(p&&Array.isArray(Ln(n.errors,e))){const t=l(Ln(n.errors,e),c.argA,c.argB);d&&Vn(n.errors,e,t),((e,t)=>{!zn(Ln(e,t)).length&&Ea(e,t)})(n.errors,e)}if((u.touchedFields||f.touchedFields)&&p&&Array.isArray(Ln(n.touchedFields,e))){const t=l(Ln(n.touchedFields,e),c.argA,c.argB);d&&Vn(n.touchedFields,e,t)}(u.dirtyFields||f.dirtyFields)&&(n.dirtyFields=Ta(s,o)),m.state.next({name:e,isDirty:S(e,t),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else Vn(o,e,t)},_setDisabledField:M,_setErrors:e=>{n.errors=e,m.state.next({errors:n.errors,isValid:!1})},_getFieldArray:e=>zn(Ln(i.mount?o:s,e,r.shouldUnregister?Ln(s,e,[]):[])),_reset:F,_resetDefaultValues:()=>Wn(r.defaultValues)&&r.defaultValues().then(e=>{L(e,r.resetOptions),m.state.next({isLoading:!1})}),_removeUnmounted:()=>{for(const e of l.unMount){const t=Ln(a,e);t&&(t._f.refs?t._f.refs.every(e=>!Ca(e)):!Ca(t._f.ref))&&O(e)}l.unMount=new Set},_disableForm:e=>{$n(e)&&(m.state.next({disabled:e}),Ba(a,(t,r)=>{const n=Ln(a,r);n&&(t.disabled=n._f.disabled||e,Array.isArray(n._f.refs)&&n._f.refs.forEach(t=>{t.disabled=n._f.disabled||e}))},0,!1))},_subjects:m,_proxyFormState:u,get _fields(){return a},get _formValues(){return o},get _state(){return i},set _state(e){i=e},get _defaultValues(){return s},get _names(){return l},set _names(e){l=e},get _formState(){return n},get _options(){return r},set _options(e){r={...r,...e}}},subscribe:e=>(i.mount=!0,f={...f,...e.formState},I({...e,formState:{...d,...e.formState}})),trigger:_,register:D,handleSubmit:z,watch:(e,t)=>Wn(e)?m.state.subscribe({next:r=>"values"in r&&e(k(void 0,t),r)}):k(e,t,!0),setValue:C,getValues:T,reset:L,resetField:(e,t={})=>{Ln(a,e)&&(Un(t.defaultValue)?C(e,Mn(Ln(s,e))):(C(e,t.defaultValue),Vn(s,e,Mn(t.defaultValue))),t.keepTouched||Ea(n.touchedFields,e),t.keepDirty||(Ea(n.dirtyFields,e),n.isDirty=t.defaultValue?S(e,Mn(Ln(s,e))):S()),t.keepError||(Ea(n.errors,e),u.isValid&&h()),m.state.next({...n}))},clearErrors:e=>{e&&xa(e).forEach(e=>Ea(n.errors,e)),m.state.next({errors:e?n.errors:{}})},unregister:O,setError:R,setFocus:(e,t={})=>{const r=Ln(a,e),n=r&&r._f;if(n){const e=n.refs?n.refs[0]:n.ref;e.focus&&setTimeout(()=>{e.focus(),t.shouldSelect&&Wn(e.select)&&e.select()})}},getFieldState:P};return{...W,formControl:W}}function Xa(e={}){const r=t.useRef(void 0),n=t.useRef(void 0),[a,s]=t.useState({isDirty:!1,isValidating:!1,isLoading:Wn(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:Wn(e.defaultValues)?void 0:e.defaultValues});if(!r.current)if(e.formControl)r.current={...e.formControl,formState:a},e.defaultValues&&!Wn(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:t,...n}=Ya(e);r.current={...n,formState:a}}const o=r.current.control;return o._options=e,la(()=>{const e=o._subscribe({formState:o._proxyFormState,callback:()=>s({...o._formState}),reRenderRoot:!0});return s(e=>({...e,isReady:!0})),o._formState.isReady=!0,e},[o]),t.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),t.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),t.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),t.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),t.useEffect(()=>{if(o._proxyFormState.isDirty){const e=o._getDirty();e!==a.isDirty&&o._subjects.state.next({isDirty:e})}},[o,a.isDirty]),t.useEffect(()=>{var t;e.values&&!fa(e.values,n.current)?(o._reset(e.values,{keepFieldsRef:!0,...o._options.resetOptions}),(null===(t=o._options.resetOptions)||void 0===t?void 0:t.keepIsValid)||o._setValid(),n.current=e.values,s(e=>({...e}))):o._resetDefaultValues()},[o,e.values]),t.useEffect(()=>{o._state.mount||(o._setValid(),o._state.mount=!0),o._state.watch&&(o._state.watch=!1,o._subjects.state.next({...o._formState})),o._removeUnmounted()}),r.current.formState=t.useMemo(()=>ia(a,o),[o,a]),r.current}const Qa=(e,t,r)=>{if(e&&"reportValidity"in e){const n=Ln(r,t);e.setCustomValidity(n&&n.message||""),e.reportValidity()}},es=(e,t)=>{for(const r in t.fields){const n=t.fields[r];n&&n.ref&&"reportValidity"in n.ref?Qa(n.ref,r,e):n&&n.refs&&n.refs.forEach(t=>Qa(t,r,e))}},ts=(e,t)=>{t.shouldUseNativeValidation&&es(e,t);const r={};for(const n in e){const a=Ln(t.fields,n),s=Object.assign(e[n]||{},{ref:a&&a.ref});if(rs(t.names||Object.keys(e),n)){const e=Object.assign({},Ln(r,n));Vn(e,"root",s),Vn(r,n,e)}else Vn(r,n,s)}return r},rs=(e,t)=>{const r=ns(t);return e.some(e=>ns(e).match(`^${r}\\.\\d+`))};function ns(e){return e.replace(/\]|\[/g,"")}function as(e,t,r){function n(r,n){if(r._zod||Object.defineProperty(r,"_zod",{value:{def:n,constr:o,traits:new Set},enumerable:!1}),r._zod.traits.has(e))return;r._zod.traits.add(e),t(r,n);const a=o.prototype,s=Object.keys(a);for(let e=0;e<s.length;e++){const t=s[e];t in r||(r[t]=a[t].bind(r))}}const a=r?.Parent??Object;class s extends a{}function o(e){var t;const a=r?.Parent?new s:this;n(a,e),(t=a._zod).deferred??(t.deferred=[]);for(const e of a._zod.deferred)e();return a}return Object.defineProperty(s,"name",{value:e}),Object.defineProperty(o,"init",{value:n}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>!!(r?.Parent&&t instanceof r.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}class ss extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class os extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}}const is={};function ls(e){return is}function cs(e){const t=Object.values(e).filter(e=>"number"==typeof e),r=Object.entries(e).filter(([e,r])=>-1===t.indexOf(+e)).map(([e,t])=>t);return r}function ds(e,t){return"bigint"==typeof t?t.toString():t}function us(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function fs(e){return null==e}function ms(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}const ps=Symbol("evaluating");function hs(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==ps)return void 0===n&&(n=ps,n=r()),n},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function gs(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function bs(...e){const t={};for(const r of e){const e=Object.getOwnPropertyDescriptors(r);Object.assign(t,e)}return Object.defineProperties({},t)}function xs(e){return JSON.stringify(e)}const ys="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function vs(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}const ws=us(()=>{if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function Ss(e){if(!1===vs(e))return!1;const t=e.constructor;if(void 0===t)return!0;if("function"!=typeof t)return!0;const r=t.prototype;return!1!==vs(r)&&!1!==Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")}function ks(e){return Ss(e)?{...e}:Array.isArray(e)?[...e]:e}const js=new Set(["string","number","symbol"]);function Ns(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Cs(e,t,r){const n=new e._zod.constr(t??e._zod.def);return t&&!r?.parent||(n._zod.parent=e),n}function Es(e){const t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}function As(e,t=0){if(!0===e.aborted)return!0;for(let r=t;r<e.issues.length;r++)if(!0!==e.issues[r]?.continue)return!0;return!1}function _s(e,t){return t.map(t=>{var r;return(r=t).path??(r.path=[]),t.path.unshift(e),t})}function Ts(e){return"string"==typeof e?e:e?.message}function Ps(e,t,r){const n={...e,path:e.path??[]};if(!e.message){const a=Ts(e.inst?._zod.def?.error?.(e))??Ts(t?.error?.(e))??Ts(r.customError?.(e))??Ts(r.localeError?.(e))??"Invalid input";n.message=a}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function Rs(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function Is(...e){const[t,r,n]=e;return"string"==typeof t?{message:t,code:"custom",input:r,inst:n}:{...t}}const Os=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,ds,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ms=as("$ZodError",Os),Ds=as("$ZodError",Os,{Parent:Error});const Us=e=>(t,r,n,a)=>{const s=n?Object.assign(n,{async:!1}):{async:!1},o=t._zod.run({value:r,issues:[]},s);if(o instanceof Promise)throw new ss;if(o.issues.length){const t=new(a?.Err??e)(o.issues.map(e=>Ps(e,s,ls())));throw ys(t,a?.callee),t}return o.value},zs=Us(Ds),Fs=e=>async(t,r,n,a)=>{const s=n?Object.assign(n,{async:!0}):{async:!0};let o=t._zod.run({value:r,issues:[]},s);if(o instanceof Promise&&(o=await o),o.issues.length){const t=new(a?.Err??e)(o.issues.map(e=>Ps(e,s,ls())));throw ys(t,a?.callee),t}return o.value},Ls=Fs(Ds),$s=e=>(t,r,n)=>{const a=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},a);if(s instanceof Promise)throw new ss;return s.issues.length?{success:!1,error:new(e??Ms)(s.issues.map(e=>Ps(e,a,ls())))}:{success:!0,data:s.value}},Ws=$s(Ds),Vs=e=>async(t,r,n)=>{const a=n?Object.assign(n,{async:!0}):{async:!0};let s=t._zod.run({value:r,issues:[]},a);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(e=>Ps(e,a,ls())))}:{success:!0,data:s.value}},Bs=Vs(Ds),Gs=e=>(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Us(e)(t,r,a)},Ks=e=>(t,r,n)=>Us(e)(t,r,n),Hs=e=>async(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Fs(e)(t,r,a)},Zs=e=>async(t,r,n)=>Fs(e)(t,r,n),qs=e=>(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return $s(e)(t,r,a)},Js=e=>(t,r,n)=>$s(e)(t,r,n),Ys=e=>async(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Vs(e)(t,r,a)},Xs=e=>async(t,r,n)=>Vs(e)(t,r,n),Qs=/^[cC][^\s-]{8,}$/,eo=/^[0-9a-z]+$/,to=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ro=/^[0-9a-vA-V]{20}$/,no=/^[A-Za-z0-9]{27}$/,ao=/^[a-zA-Z0-9_-]{21}$/,so=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,oo=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,io=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,lo=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;const co=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,uo=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,fo=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,mo=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,po=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,ho=/^[A-Za-z0-9_-]*$/,go=/^\+[1-9]\d{6,14}$/,bo="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",xo=new RegExp(`^${bo}$`);function yo(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof e.precision?-1===e.precision?`${t}`:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}const vo=/^[^A-Z]*$/,wo=/^[^a-z]*$/,So=as("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),ko=as("$ZodCheckMaxLength",(e,t)=>{var r;So.init(e,t),(r=e._zod.def).when??(r.when=e=>{const t=e.value;return!fs(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const r=e._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<r&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{const n=r.value;if(n.length<=t.maximum)return;const a=Rs(n);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),jo=as("$ZodCheckMinLength",(e,t)=>{var r;So.init(e,t),(r=e._zod.def).when??(r.when=e=>{const t=e.value;return!fs(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const r=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>r&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{const n=r.value;if(n.length>=t.minimum)return;const a=Rs(n);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),No=as("$ZodCheckLengthEquals",(e,t)=>{var r;So.init(e,t),(r=e._zod.def).when??(r.when=e=>{const t=e.value;return!fs(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const r=e._zod.bag;r.minimum=t.length,r.maximum=t.length,r.length=t.length}),e._zod.check=r=>{const n=r.value,a=n.length;if(a===t.length)return;const s=Rs(n),o=a>t.length;r.issues.push({origin:s,...o?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Co=as("$ZodCheckStringFormat",(e,t)=>{var r,n;So.init(e,t),e._zod.onattach.push(e=>{const r=e._zod.bag;r.format=t.format,t.pattern&&(r.patterns??(r.patterns=new Set),r.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=r=>{t.pattern.lastIndex=0,t.pattern.test(r.value)||r.issues.push({origin:"string",code:"invalid_format",format:t.format,input:r.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Eo=as("$ZodCheckRegex",(e,t)=>{Co.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,t.pattern.test(r.value)||r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Ao=as("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=vo),Co.init(e,t)}),_o=as("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=wo),Co.init(e,t)}),To=as("$ZodCheckIncludes",(e,t)=>{So.init(e,t);const r=Ns(t.includes),n=new RegExp("number"==typeof t.position?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(n)}),e._zod.check=r=>{r.value.includes(t.includes,t.position)||r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:r.value,inst:e,continue:!t.abort})}}),Po=as("$ZodCheckStartsWith",(e,t)=>{So.init(e,t);const r=new RegExp(`^${Ns(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(r)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Ro=as("$ZodCheckEndsWith",(e,t)=>{So.init(e,t);const r=new RegExp(`.*${Ns(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(r)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),Io=as("$ZodCheckOverwrite",(e,t)=>{So.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});class Oo{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{execution:"async"});const t=e.split("\n").filter(e=>e),r=Math.min(...t.map(e=>e.length-e.trimStart().length)),n=t.map(e=>e.slice(r)).map(e=>" ".repeat(2*this.indent)+e);for(const e of n)this.content.push(e)}compile(){const e=Function,t=this?.args;return new e(...t,[...(this?.content??[""]).map(e=>` ${e}`)].join("\n"))}}const Mo={major:4,minor:3,patch:6},Do=as("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Mo;const n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(const t of n)for(const r of t._zod.onattach)r(e);if(0===n.length)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const t=(e,t,r)=>{let n,a=As(e);for(const s of t){if(s._zod.def.when){if(!s._zod.def.when(e))continue}else if(a)continue;const t=e.issues.length,o=s._zod.check(e);if(o instanceof Promise&&!1===r?.async)throw new ss;if(n||o instanceof Promise)n=(n??Promise.resolve()).then(async()=>{await o;e.issues.length!==t&&(a||(a=As(e,t)))});else{if(e.issues.length===t)continue;a||(a=As(e,t))}}return n?n.then(()=>e):e},r=(r,a,s)=>{if(As(r))return r.aborted=!0,r;const o=t(a,n,s);if(o instanceof Promise){if(!1===s.async)throw new ss;return o.then(t=>e._zod.parse(t,s))}return e._zod.parse(o,s)};e._zod.run=(a,s)=>{if(s.skipChecks)return e._zod.parse(a,s);if("backward"===s.direction){const t=e._zod.parse({value:a.value,issues:[]},{...s,skipChecks:!0});return t instanceof Promise?t.then(e=>r(e,a,s)):r(t,a,s)}const o=e._zod.parse(a,s);if(o instanceof Promise){if(!1===s.async)throw new ss;return o.then(e=>t(e,n,s))}return t(o,n,s)}}hs(e,"~standard",()=>({validate:t=>{try{const r=Ws(e,t);return r.success?{value:r.data}:{issues:r.error?.issues}}catch(r){return Bs(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}))}),Uo=as("$ZodString",(e,t)=>{var r;Do.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??(r=e._zod.bag,new RegExp(`^${r?`[\\s\\S]{${r?.minimum??0},${r?.maximum??""}}`:"[\\s\\S]*"}$`)),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch(n){}return"string"==typeof r.value||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),zo=as("$ZodStringFormat",(e,t)=>{Co.init(e,t),Uo.init(e,t)}),Fo=as("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=oo),zo.init(e,t)}),Lo=as("$ZodUUID",(e,t)=>{if(t.version){const e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(void 0===e)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=io(e))}else t.pattern??(t.pattern=io());zo.init(e,t)}),$o=as("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=lo),zo.init(e,t)}),Wo=as("$ZodURL",(e,t)=>{zo.init(e,t),e._zod.check=r=>{try{const n=r.value.trim(),a=new URL(n);return t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(a.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(a.protocol.endsWith(":")?a.protocol.slice(0,-1):a.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),void(t.normalize?r.value=a.href:r.value=n)}catch(n){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Vo=as("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),zo.init(e,t)}),Bo=as("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=ao),zo.init(e,t)}),Go=as("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Qs),zo.init(e,t)}),Ko=as("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=eo),zo.init(e,t)}),Ho=as("$ZodULID",(e,t)=>{t.pattern??(t.pattern=to),zo.init(e,t)}),Zo=as("$ZodXID",(e,t)=>{t.pattern??(t.pattern=ro),zo.init(e,t)}),qo=as("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=no),zo.init(e,t)}),Jo=as("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=function(e){const t=yo({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const n=`${t}(?:${r.join("|")})`;return new RegExp(`^${bo}T(?:${n})$`)}(t)),zo.init(e,t)}),Yo=as("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=xo),zo.init(e,t)}),Xo=as("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=new RegExp(`^${yo(t)}$`)),zo.init(e,t)}),Qo=as("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=so),zo.init(e,t)}),ei=as("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=co),zo.init(e,t),e._zod.bag.format="ipv4"}),ti=as("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=uo),zo.init(e,t),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),ri=as("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=fo),zo.init(e,t)}),ni=as("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=mo),zo.init(e,t),e._zod.check=r=>{const n=r.value.split("/");try{if(2!==n.length)throw new Error;const[e,t]=n;if(!t)throw new Error;const r=Number(t);if(`${r}`!==t)throw new Error;if(r<0||r>128)throw new Error;new URL(`http://[${e}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function ai(e){if(""===e)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const si=as("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=po),zo.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{ai(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});const oi=as("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=ho),zo.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{(function(e){if(!ho.test(e))return!1;const t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return ai(t.padEnd(4*Math.ceil(t.length/4),"="))})(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),ii=as("$ZodE164",(e,t)=>{t.pattern??(t.pattern=go),zo.init(e,t)});const li=as("$ZodJWT",(e,t)=>{zo.init(e,t),e._zod.check=r=>{(function(e,t=null){try{const r=e.split(".");if(3!==r.length)return!1;const[n]=r;if(!n)return!1;const a=JSON.parse(atob(n));return!("typ"in a&&"JWT"!==a?.typ||!a.alg||t&&(!("alg"in a)||a.alg!==t))}catch{return!1}})(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),ci=as("$ZodUnknown",(e,t)=>{Do.init(e,t),e._zod.parse=e=>e}),di=as("$ZodNever",(e,t)=>{Do.init(e,t),e._zod.parse=(t,r)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)});function ui(e,t,r){e.issues.length&&t.issues.push(..._s(r,e.issues)),t.value[r]=e.value}const fi=as("$ZodArray",(e,t)=>{Do.init(e,t),e._zod.parse=(r,n)=>{const a=r.value;if(!Array.isArray(a))return r.issues.push({expected:"array",code:"invalid_type",input:a,inst:e}),r;r.value=Array(a.length);const s=[];for(let e=0;e<a.length;e++){const o=a[e],i=t.element._zod.run({value:o,issues:[]},n);i instanceof Promise?s.push(i.then(t=>ui(t,r,e))):ui(i,r,e)}return s.length?Promise.all(s).then(()=>r):r}});function mi(e,t,r,n,a){if(e.issues.length){if(a&&!(r in n))return;t.issues.push(..._s(r,e.issues))}void 0===e.value?r in n&&(t.value[r]=void 0):t.value[r]=e.value}function pi(e){const t=Object.keys(e.shape);for(const r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const r=(n=e.shape,Object.keys(n).filter(e=>"optional"===n[e]._zod.optin&&"optional"===n[e]._zod.optout));var n;return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function hi(e,t,r,n,a,s){const o=[],i=a.keySet,l=a.catchall._zod,c=l.def.type,d="optional"===l.optout;for(const a in t){if(i.has(a))continue;if("never"===c){o.push(a);continue}const s=l.run({value:t[a],issues:[]},n);s instanceof Promise?e.push(s.then(e=>mi(e,r,a,t,d))):mi(s,r,a,t,d)}return o.length&&r.issues.push({code:"unrecognized_keys",keys:o,input:t,inst:s}),e.length?Promise.all(e).then(()=>r):r}const gi=as("$ZodObject",(e,t)=>{Do.init(e,t);const r=Object.getOwnPropertyDescriptor(t,"shape");if(!r?.get){const e=t.shape;Object.defineProperty(t,"shape",{get:()=>{const r={...e};return Object.defineProperty(t,"shape",{value:r}),r}})}const n=us(()=>pi(t));hs(e._zod,"propValues",()=>{const e=t.shape,r={};for(const t in e){const n=e[t]._zod;if(n.values){r[t]??(r[t]=new Set);for(const e of n.values)r[t].add(e)}}return r});const a=vs,s=t.catchall;let o;e._zod.parse=(t,r)=>{o??(o=n.value);const i=t.value;if(!a(i))return t.issues.push({expected:"object",code:"invalid_type",input:i,inst:e}),t;t.value={};const l=[],c=o.shape;for(const e of o.keys){const n=c[e],a="optional"===n._zod.optout,s=n._zod.run({value:i[e],issues:[]},r);s instanceof Promise?l.push(s.then(r=>mi(r,t,e,i,a))):mi(s,t,e,i,a)}return s?hi(l,i,t,r,n.value,e):l.length?Promise.all(l).then(()=>t):t}}),bi=as("$ZodObjectJIT",(e,t)=>{gi.init(e,t);const r=e._zod.parse,n=us(()=>pi(t));let a;const s=vs,o=!is.jitless,i=o&&ws.value,l=t.catchall;let c;e._zod.parse=(d,u)=>{c??(c=n.value);const f=d.value;return s(f)?o&&i&&!1===u?.async&&!0!==u.jitless?(a||(a=(e=>{const t=new Oo(["shape","payload","ctx"]),r=n.value,a=e=>{const t=xs(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write("const input = payload.value;");const s=Object.create(null);let o=0;for(const e of r.keys)s[e]="key_"+o++;t.write("const newResult = {};");for(const n of r.keys){const r=s[n],o=xs(n),i=e[n],l="optional"===i?._zod?.optout;t.write(`const ${r} = ${a(n)};`),l?t.write(`\n if (${r}.issues.length) {\n if (${o} in input) {\n payload.issues = payload.issues.concat(${r}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${o}, ...iss.path] : [${o}]\n })));\n }\n }\n \n if (${r}.value === undefined) {\n if (${o} in input) {\n newResult[${o}] = undefined;\n }\n } else {\n newResult[${o}] = ${r}.value;\n }\n \n `):t.write(`\n if (${r}.issues.length) {\n payload.issues = payload.issues.concat(${r}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${o}, ...iss.path] : [${o}]\n })));\n }\n \n if (${r}.value === undefined) {\n if (${o} in input) {\n newResult[${o}] = undefined;\n }\n } else {\n newResult[${o}] = ${r}.value;\n }\n \n `)}t.write("payload.value = newResult;"),t.write("return payload;");const i=t.compile();return(t,r)=>i(e,t,r)})(t.shape)),d=a(d,u),l?hi([],f,d,u,c,e):d):r(d,u):(d.issues.push({expected:"object",code:"invalid_type",input:f,inst:e}),d)}});function xi(e,t,r,n){for(const r of e)if(0===r.issues.length)return t.value=r.value,t;const a=e.filter(e=>!As(e));return 1===a.length?(t.value=a[0].value,a[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(e=>e.issues.map(e=>Ps(e,n,ls())))}),t)}const yi=as("$ZodUnion",(e,t)=>{Do.init(e,t),hs(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),hs(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),hs(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),hs(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){const e=t.options.map(e=>e._zod.pattern);return new RegExp(`^(${e.map(e=>ms(e.source)).join("|")})$`)}});const r=1===t.options.length,n=t.options[0]._zod.run;e._zod.parse=(a,s)=>{if(r)return n(a,s);let o=!1;const i=[];for(const e of t.options){const t=e._zod.run({value:a.value,issues:[]},s);if(t instanceof Promise)i.push(t),o=!0;else{if(0===t.issues.length)return t;i.push(t)}}return o?Promise.all(i).then(t=>xi(t,a,e,s)):xi(i,a,e,s)}}),vi=as("$ZodIntersection",(e,t)=>{Do.init(e,t),e._zod.parse=(e,r)=>{const n=e.value,a=t.left._zod.run({value:n,issues:[]},r),s=t.right._zod.run({value:n,issues:[]},r);return a instanceof Promise||s instanceof Promise?Promise.all([a,s]).then(([t,r])=>Si(e,t,r)):Si(e,a,s)}});function wi(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(Ss(e)&&Ss(t)){const r=Object.keys(t),n=Object.keys(e).filter(e=>-1!==r.indexOf(e)),a={...e,...t};for(const r of n){const n=wi(e[r],t[r]);if(!n.valid)return{valid:!1,mergeErrorPath:[r,...n.mergeErrorPath]};a[r]=n.data}return{valid:!0,data:a}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let n=0;n<e.length;n++){const a=wi(e[n],t[n]);if(!a.valid)return{valid:!1,mergeErrorPath:[n,...a.mergeErrorPath]};r.push(a.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Si(e,t,r){const n=new Map;let a;for(const r of t.issues)if("unrecognized_keys"===r.code){a??(a=r);for(const e of r.keys)n.has(e)||n.set(e,{}),n.get(e).l=!0}else e.issues.push(r);for(const t of r.issues)if("unrecognized_keys"===t.code)for(const e of t.keys)n.has(e)||n.set(e,{}),n.get(e).r=!0;else e.issues.push(t);const s=[...n].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length&&a&&e.issues.push({...a,keys:s}),As(e))return e;const o=wi(t.value,r.value);if(!o.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}const ki=as("$ZodEnum",(e,t)=>{Do.init(e,t);const r=cs(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter(e=>js.has(typeof e)).map(e=>"string"==typeof e?Ns(e):e.toString()).join("|")})$`),e._zod.parse=(t,a)=>{const s=t.value;return n.has(s)||t.issues.push({code:"invalid_value",values:r,input:s,inst:e}),t}}),ji=as("$ZodTransform",(e,t)=>{Do.init(e,t),e._zod.parse=(r,n)=>{if("backward"===n.direction)throw new os(e.constructor.name);const a=t.transform(r.value,r);if(n.async){return(a instanceof Promise?a:Promise.resolve(a)).then(e=>(r.value=e,r))}if(a instanceof Promise)throw new ss;return r.value=a,r}});function Ni(e,t){return e.issues.length&&void 0===t?{issues:[],value:void 0}:e}const Ci=as("$ZodOptional",(e,t)=>{Do.init(e,t),e._zod.optin="optional",e._zod.optout="optional",hs(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),hs(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${ms(e.source)})?$`):void 0}),e._zod.parse=(e,r)=>{if("optional"===t.innerType._zod.optin){const n=t.innerType._zod.run(e,r);return n instanceof Promise?n.then(t=>Ni(t,e.value)):Ni(n,e.value)}return void 0===e.value?e:t.innerType._zod.run(e,r)}}),Ei=as("$ZodExactOptional",(e,t)=>{Ci.init(e,t),hs(e._zod,"values",()=>t.innerType._zod.values),hs(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(e,r)=>t.innerType._zod.run(e,r)}),Ai=as("$ZodNullable",(e,t)=>{Do.init(e,t),hs(e._zod,"optin",()=>t.innerType._zod.optin),hs(e._zod,"optout",()=>t.innerType._zod.optout),hs(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${ms(e.source)}|null)$`):void 0}),hs(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,r)=>null===e.value?e:t.innerType._zod.run(e,r)}),_i=as("$ZodDefault",(e,t)=>{Do.init(e,t),e._zod.optin="optional",hs(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,r)=>{if("backward"===r.direction)return t.innerType._zod.run(e,r);if(void 0===e.value)return e.value=t.defaultValue,e;const n=t.innerType._zod.run(e,r);return n instanceof Promise?n.then(e=>Ti(e,t)):Ti(n,t)}});function Ti(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}const Pi=as("$ZodPrefault",(e,t)=>{Do.init(e,t),e._zod.optin="optional",hs(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,r)=>("backward"===r.direction||void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,r))}),Ri=as("$ZodNonOptional",(e,t)=>{Do.init(e,t),hs(e._zod,"values",()=>{const e=t.innerType._zod.values;return e?new Set([...e].filter(e=>void 0!==e)):void 0}),e._zod.parse=(r,n)=>{const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(t=>Ii(t,e)):Ii(a,e)}});function Ii(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Oi=as("$ZodCatch",(e,t)=>{Do.init(e,t),hs(e._zod,"optin",()=>t.innerType._zod.optin),hs(e._zod,"optout",()=>t.innerType._zod.optout),hs(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,r)=>{if("backward"===r.direction)return t.innerType._zod.run(e,r);const n=t.innerType._zod.run(e,r);return n instanceof Promise?n.then(n=>(e.value=n.value,n.issues.length&&(e.value=t.catchValue({...e,error:{issues:n.issues.map(e=>Ps(e,r,ls()))},input:e.value}),e.issues=[]),e)):(e.value=n.value,n.issues.length&&(e.value=t.catchValue({...e,error:{issues:n.issues.map(e=>Ps(e,r,ls()))},input:e.value}),e.issues=[]),e)}}),Mi=as("$ZodPipe",(e,t)=>{Do.init(e,t),hs(e._zod,"values",()=>t.in._zod.values),hs(e._zod,"optin",()=>t.in._zod.optin),hs(e._zod,"optout",()=>t.out._zod.optout),hs(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(e,r)=>{if("backward"===r.direction){const n=t.out._zod.run(e,r);return n instanceof Promise?n.then(e=>Di(e,t.in,r)):Di(n,t.in,r)}const n=t.in._zod.run(e,r);return n instanceof Promise?n.then(e=>Di(e,t.out,r)):Di(n,t.out,r)}});function Di(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const Ui=as("$ZodReadonly",(e,t)=>{Do.init(e,t),hs(e._zod,"propValues",()=>t.innerType._zod.propValues),hs(e._zod,"values",()=>t.innerType._zod.values),hs(e._zod,"optin",()=>t.innerType?._zod?.optin),hs(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(e,r)=>{if("backward"===r.direction)return t.innerType._zod.run(e,r);const n=t.innerType._zod.run(e,r);return n instanceof Promise?n.then(zi):zi(n)}});function zi(e){return e.value=Object.freeze(e.value),e}const Fi=as("$ZodCustom",(e,t)=>{So.init(e,t),Do.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=r=>{const n=r.value,a=t.fn(n);if(a instanceof Promise)return a.then(t=>Li(t,r,n,e));Li(a,r,n,e)}});function Li(e,t,r,n){if(!e){const e={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(e.params=n._zod.def.params),t.issues.push(Is(e))}}var $i;class Wi{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){const r=t[0];return this._map.set(e,r),r&&"object"==typeof r&&"id"in r&&this._idmap.set(r.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){const t=this._map.get(e);return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const r={...this.get(t)??{}};delete r.id;const n={...r,...this._map.get(e)};return Object.keys(n).length?n:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}($i=globalThis).__zod_globalRegistry??($i.__zod_globalRegistry=new Wi);const Vi=globalThis.__zod_globalRegistry;function Bi(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Es(t)})}function Gi(e,t){return new ko({check:"max_length",...Es(t),maximum:e})}function Ki(e,t){return new jo({check:"min_length",...Es(t),minimum:e})}function Hi(e,t){return new No({check:"length_equals",...Es(t),length:e})}function Zi(e){return new Io({check:"overwrite",tx:e})}function qi(e){const t=function(e,t){const r=new So({check:"custom",...Es(t)});return r._zod.check=e,r}(r=>(r.addIssue=e=>{if("string"==typeof e)r.issues.push(Is(e,r.value,t._zod.def));else{const n=e;n.fatal&&(n.continue=!1),n.code??(n.code="custom"),n.input??(n.input=r.value),n.inst??(n.inst=t),n.continue??(n.continue=!t._zod.def.abort),r.issues.push(Is(n))}},e(r.value,r)));return t}function Ji(e){let t=e?.target??"draft-2020-12";return"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Vi,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function Yi(e,t,r={path:[],schemaPath:[]}){var n;const a=e._zod.def,s=t.seen.get(e);if(s){s.count++;return r.schemaPath.includes(e)&&(s.cycle=r.path),s.schema}const o={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,o);const i=e._zod.toJSONSchema?.();if(i)o.schema=i;else{const n={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,n);else{const r=o.schema,s=t.processors[a.type];if(!s)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${a.type}`);s(e,t,r,n)}const s=e._zod.parent;s&&(o.ref||(o.ref=s),Yi(s,t,n),t.seen.get(s).isParent=!0)}const l=t.metadataRegistry.get(e);l&&Object.assign(o.schema,l),"input"===t.io&&el(e)&&(delete o.schema.examples,delete o.schema.default),"input"===t.io&&o.schema._prefault&&((n=o.schema).default??(n.default=o.schema._prefault)),delete o.schema._prefault;return t.seen.get(e).schema}function Xi(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=new Map;for(const t of e.seen.entries()){const r=e.metadataRegistry.get(t[0])?.id;if(r){const e=n.get(r);if(e&&e!==t[0])throw new Error(`Duplicate schema id "${r}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(r,t[0])}}const a=t=>{if(t[1].schema.$ref)return;const n=t[1],{ref:a,defId:s}=(t=>{const n="draft-2020-12"===e.target?"$defs":"definitions";if(e.external){const r=e.external.registry.get(t[0])?.id,a=e.external.uri??(e=>e);if(r)return{ref:a(r)};const s=t[1].defId??t[1].schema.id??"schema"+e.counter++;return t[1].defId=s,{defId:s,ref:`${a("__shared")}#/${n}/${s}`}}if(t[1]===r)return{ref:"#"};const a=`#/${n}/`,s=t[1].schema.id??"__schema"+e.counter++;return{defId:s,ref:a+s}})(t);n.def={...n.schema},s&&(n.defId=s);const o=n.schema;for(const e in o)delete o[e];o.$ref=a};if("throw"===e.cycles)for(const t of e.seen.entries()){const e=t[1];if(e.cycle)throw new Error(`Cycle detected: #/${e.cycle?.join("/")}/<root>\n\nSet the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const r of e.seen.entries()){const n=r[1];if(t===r[0]){a(r);continue}if(e.external){const n=e.external.registry.get(r[0])?.id;if(t!==r[0]&&n){a(r);continue}}const s=e.metadataRegistry.get(r[0])?.id;s?a(r):(n.cycle||n.count>1&&"ref"===e.reused)&&a(r)}}function Qi(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=t=>{const r=e.seen.get(t);if(null===r.ref)return;const a=r.def??r.schema,s={...a},o=r.ref;if(r.ref=null,o){n(o);const r=e.seen.get(o),i=r.schema;!i.$ref||"draft-07"!==e.target&&"draft-04"!==e.target&&"openapi-3.0"!==e.target?Object.assign(a,i):(a.allOf=a.allOf??[],a.allOf.push(i)),Object.assign(a,s);if(t._zod.parent===o)for(const e in a)"$ref"!==e&&"allOf"!==e&&(e in s||delete a[e]);if(i.$ref&&r.def)for(const e in a)"$ref"!==e&&"allOf"!==e&&e in r.def&&JSON.stringify(a[e])===JSON.stringify(r.def[e])&&delete a[e]}const i=t._zod.parent;if(i&&i!==o){n(i);const t=e.seen.get(i);if(t?.schema.$ref&&(a.$ref=t.schema.$ref,t.def))for(const e in a)"$ref"!==e&&"allOf"!==e&&e in t.def&&JSON.stringify(a[e])===JSON.stringify(t.def[e])&&delete a[e]}e.override({zodSchema:t,jsonSchema:a,path:r.path??[]})};for(const t of[...e.seen.entries()].reverse())n(t[0]);const a={};if("draft-2020-12"===e.target?a.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===e.target?a.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===e.target?a.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const r=e.external.registry.get(t)?.id;if(!r)throw new Error("Schema is missing an `id` property");a.$id=e.external.uri(r)}Object.assign(a,r.def??r.schema);const s=e.external?.defs??{};for(const t of e.seen.entries()){const e=t[1];e.def&&e.defId&&(s[e.defId]=e.def)}e.external||Object.keys(s).length>0&&("draft-2020-12"===e.target?a.$defs=s:a.definitions=s);try{const r=JSON.parse(JSON.stringify(a));return Object.defineProperty(r,"~standard",{value:{...t["~standard"],jsonSchema:{input:tl(t,"input",e.processors),output:tl(t,"output",e.processors)}},enumerable:!1,writable:!1}),r}catch(e){throw new Error("Error converting schema to JSON.")}}function el(e,t){const r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const n=e._zod.def;if("transform"===n.type)return!0;if("array"===n.type)return el(n.element,r);if("set"===n.type)return el(n.valueType,r);if("lazy"===n.type)return el(n.getter(),r);if("promise"===n.type||"optional"===n.type||"nonoptional"===n.type||"nullable"===n.type||"readonly"===n.type||"default"===n.type||"prefault"===n.type)return el(n.innerType,r);if("intersection"===n.type)return el(n.left,r)||el(n.right,r);if("record"===n.type||"map"===n.type)return el(n.keyType,r)||el(n.valueType,r);if("pipe"===n.type)return el(n.in,r)||el(n.out,r);if("object"===n.type){for(const e in n.shape)if(el(n.shape[e],r))return!0;return!1}if("union"===n.type){for(const e of n.options)if(el(e,r))return!0;return!1}if("tuple"===n.type){for(const e of n.items)if(el(e,r))return!0;return!(!n.rest||!el(n.rest,r))}return!1}const tl=(e,t,r={})=>n=>{const{libraryOptions:a,target:s}=n??{},o=Ji({...a??{},target:s,io:t,processors:r});return Yi(e,o),Xi(o,e),Qi(o,e)},rl={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},nl=(e,t,r,n)=>{const a=e._zod.def;Yi(a.innerType,t,n);t.seen.get(e).ref=a.innerType};function al(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}function sl(e,t){for(var r={};e.length;){var n=e[0],a=n.code,s=n.message,o=n.path.join(".");if(!r[o])if("unionErrors"in n){var i=n.unionErrors[0].errors[0];r[o]={message:i.message,type:i.code}}else r[o]={message:s,type:a};if("unionErrors"in n&&n.unionErrors.forEach(function(t){return t.errors.forEach(function(t){return e.push(t)})}),t){var l=r[o].types,c=l&&l[n.code];r[o]=ba(o,t,r,a,c?[].concat(c,n.message):n.message)}e.shift()}return r}function ol(e,t){for(var r={};e.length;){var n=e[0],a=n.code,s=n.message,o=n.path.join(".");if(!r[o])if("invalid_union"===n.code&&n.errors.length>0){var i=n.errors[0][0];r[o]={message:i.message,type:i.code}}else r[o]={message:s,type:a};if("invalid_union"===n.code&&n.errors.forEach(function(t){return t.forEach(function(t){return e.push(t)})}),t){var l=r[o].types,c=l&&l[n.code];r[o]=ba(o,t,r,a,c?[].concat(c,n.message):n.message)}e.shift()}return r}function il(e,t,r){if(void 0===r&&(r={}),function(e){return"_def"in e&&"object"==typeof e._def&&"typeName"in e._def}(e))return function(n,a,s){try{return Promise.resolve(al(function(){return Promise.resolve(e["sync"===r.mode?"parse":"parseAsync"](n,t)).then(function(e){return s.shouldUseNativeValidation&&es({},s),{errors:{},values:r.raw?Object.assign({},n):e}})},function(e){if(function(e){return Array.isArray(null==e?void 0:e.issues)}(e))return{values:{},errors:ts(sl(e.errors,!s.shouldUseNativeValidation&&"all"===s.criteriaMode),s)};throw e}))}catch(e){return Promise.reject(e)}};if(function(e){return"_zod"in e&&"object"==typeof e._zod}(e))return function(n,a,s){try{return Promise.resolve(al(function(){return Promise.resolve(("sync"===r.mode?zs:Ls)(e,n,t)).then(function(e){return s.shouldUseNativeValidation&&es({},s),{errors:{},values:r.raw?Object.assign({},n):e}})},function(e){if(function(e){return e instanceof Ms}(e))return{values:{},errors:ts(ol(e.issues,!s.shouldUseNativeValidation&&"all"===s.criteriaMode),s)};throw e}))}catch(e){return Promise.reject(e)}};throw new Error("Invalid input: not a Zod schema")}
3
3
  /**
4
4
  * @license lucide-react v0.544.0 - ISC
5
5
  *